Files

5.5 KiB

1. Voice-vector persistence

  • 1.1 Add a failing database behavior test for versioned, deduplicated voice vectors and cascade deletion
  • 1.2 Add the voice-vector entity, EF mapping, and additive SQLite schema migration

2. Local Resemblyzer encoding

  • 2.1 Add a failing encoder behavior test for batching WAV samples into validated 256-value vectors
  • 2.2 Implement the bounded local Resemblyzer encoder and non-blocking feature-gated warm-up
  • 2.3 Add behavior coverage for malformed, wrong-dimension, non-finite, and failed encoder results

3. Tunable cluster matching

  • 3.1 Add a failing behavior test for accepting a coherent, similar, unambiguous five-vector cluster
  • 3.2 Implement normalized-centroid, median-cosine, cohesion, threshold, and runner-up-margin scoring
  • 3.3 Add behavior coverage for insufficient, incoherent, below-threshold, and ambiguous clusters

4. Resemblyzer identity lifecycle

  • 4.1 Add a failing service behavior test proving a live vector match relabels the speaker and persists five vectors without WAV snippets
  • 4.2 Implement the separate Resemblyzer identification service with existing candidate ordering, naming, attendee, reference, and transcript outcomes
  • 4.3 Add and pass behavior tests for summary overrides with fewer than five vectors, unmatched learning, deduplication, and the 1,000-vector cap

5. Recording and merge integration

  • 5.1 Add behavior tests and implement non-overlapping Resemblyzer sample collection with at least the configured required count
  • 5.2 Add behavior tests and implement application-level feature selection without Azure/pyannote identity fallback
  • 5.3 Add behavior tests and implement two-cluster Resemblyzer diagnostic merging plus bounded vector retention in manual merges
  • 5.4 Expose vector counts in identity-management tools while keeping WAV playback operations separate

6. Configuration and verification

  • 6.1 Add the disabled-by-default canonical configuration and document runtime, persistence, and tuning behavior
  • 6.2 Run focused speaker, schema, encoder, matching, merge, recording, and workflow-tool tests
  • 6.3 Run the full solution test suite and validate the OpenSpec change strictly

7. Local virtual-environment correction

  • 7.1 Add a failing behavior test for provisioning a versioned venv with CPU-only PyTorch and no Docker command
  • 7.2 Replace the Docker encoder with managed-venv provisioning and direct venv Python batch encoding
  • 7.3 Replace Docker-specific Resemblyzer configuration and documentation with Python/venv settings
  • 7.4 Run focused and full tests, validate OpenSpec strictly, and verify enabled application warm-up through logs

8. Sample-duration tuning

  • 8.1 Add a failing configuration-default test for a 10-second minimum speaker sample
  • 8.2 Change the sample-duration default and canonical configuration to 10 seconds and update documentation
  • 8.3 Run focused tests, validate OpenSpec strictly, restart the enabled application, and verify health

9. STT segment aggregation and sample cap

  • 9.1 Add a failing live-collector behavior test proving consecutive same-speaker STT lines survive provider-created pauses
  • 9.2 Implement same-speaker aggregation for live and finalized samples while excluding provider pauses from the minimum speech duration
  • 9.3 Add a failing behavior test proving recognition WAVs never exceed the configurable 60-second default
  • 9.4 Implement and document the maximum sample duration across live and finalized collection
  • 9.5 Run focused and full tests, refactor, validate OpenSpec strictly, and verify operational readiness without interrupting active work

10. Complete evidence retention and outlier pruning

  • 10.1 Add a failing service behavior test proving five vectors unlock a decision without capping all qualifying current-run evidence
  • 10.2 Retain, encode, and persist all qualifying current-run vectors up to the configured identity limit, including evidence collected after a live match
  • 10.3 Add failing behavior tests for dominant density-cluster pruning and fail-safe ambiguous-cluster retention at the 20-vector floor
  • 10.4 Implement configurable cosine-density outlier pruning after vector additions and identity merges
  • 10.5 Document tuning settings, run focused/full tests and sequential refactor passes, validate OpenSpec strictly, and verify the enabled application without interrupting active work

11. Release verification corrections

  • 11.1 Reproduce and fix final evidence retention after live transcript relabeling
  • 11.2 Reproduce and fix live matching when an existing speaker reaches the required sample count
  • 11.3 Run focused/full tests, strictly validate OpenSpec, and verify operational readiness
  • 11.4 Split evidence-loading queries to avoid multiplying stored WAV blobs across vector, reference, and name rows

Release verification (2026-09-11): 128 initial focused tests passed. Both lifecycle regressions were reproduced and fixed; the full suite passed all 519 tests with compilation complete after two timing-sensitive audio tests failed during the concurrent Windows build and passed in isolation. The Windows target built successfully and strict OpenSpec validation passed. Local /health returned ok, recording status was idle, and application logs showed successful Resemblyzer warm-up, local encoding, and vector pruning. The release corrections were verified through behavior tests; the running workstation process was not restarted.