Files
transcribe/AGENTS.md
T
ddidderr 5dd1b5811b fix: keep chunk details out of speaker headers
Render transcript-wide speaker numbers instead of exposing upload chunks in
reader-facing headers. Reconcile adjacent requests using at least two
unambiguous word-and-time matches in their shared audio, including when
provider speaker IDs change between requests. Reject conflicting mappings
and never treat matching numeric provider IDs as identity evidence.

Assign fresh IDs where continuity cannot be established and report that
uncertainty on stderr. Number only speakers retained after overlap trimming.
Document that overlap matching cannot identify a returning speaker who was
absent from the overlap, and add the reader-facing boundary to AGENTS.md.

Test Plan:
- python3 -B -m unittest -v: all 46 tests passed, including swapped IDs,
  ambiguous evidence, continuity across three requests, and plain headers.
- git diff --cached --check: passed.
- Tests use synthetic speaker labels; live diarization accuracy was not
  verified because provider credentials are unavailable in this environment.
2026-09-12 09:30:46 +02:00

1.8 KiB

Repository instructions

Automatic commits are mandatory

  • Automatically commit each completed, validated change before finishing a task. Do not wait for the user to ask for a commit or request confirmation.
  • Keep commits focused. Include the implementation, regression tests, and relevant documentation together; commit independent changes separately.
  • Inspect staged and unstaged changes before committing. Stage only files that belong to the task. Do not commit user recordings, generated transcripts, credentials, or unrelated changes.
  • Use Conventional Commit subjects and explain the change and validation in the commit body, including a Test Plan: section.
  • Run the relevant checks, including python3 -B -m unittest -v, bash -n transcribe for shell changes, and git diff --cached --check. Report any validation that could not be completed; never claim a mocked provider test proves live API behavior.
  • After committing, inspect the commit and working tree, and report the commit hash with any remaining work. Do not push unless requested.

Project layout

  • transcribe: CLI options, audio preparation, and transcription requests.
  • chunks.py: upload boundaries and ordered overlap stitching.
  • subtitles.py: timestamp validation and SRT cue formatting.
  • transcript.py: readable text paragraphs and speaker markers.
  • test_*.py and tests/fake_provider.py: local regression tests without real credentials or provider requests.

Keep the CLI and its three Python helpers together. Preserve transcript order and emit stdout only after all chunks and output conversion succeed. Provider speaker IDs are request-local; reuse transcript IDs across requests only with supporting overlap evidence. Keep chunk details out of the final transcript. Progress, processing details, and errors belong on stderr.