diff --git a/AGENTS.md b/AGENTS.md index 16e5dbe..c7d1307 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -13,7 +13,7 @@ Install: `bun install --frozen-lockfile` Dev: `bun dev` Test one file: `bun test tests/export.test.ts` | One case: `bun test tests/models.test.ts -t "dtype"` Test (fast, ~6 s): `bun test --path-ignore-patterns='tests/live-real-model.test.ts'` -Test all: `bun test` — ~19 min: `tests/live-real-model.test.ts` downloads and runs real Whisper +Test all: `bun test` — ~22 min: `tests/live-real-model.test.ts` downloads and runs real Whisper weights whenever huggingface.co is reachable. Run it when touching the live pipeline or decoding. Build: `bun run build` (rewrites `dist/`) Opt-in real sidecar test (needs `pip install -r server-py/requirements.txt`): `FW_INTEGRATION=1 bun test tests/transcribe.test.ts` diff --git a/docs/PERMISSIONS.md b/docs/PERMISSIONS.md index 1ec622d..af1a4db 100644 --- a/docs/PERMISSIONS.md +++ b/docs/PERMISSIONS.md @@ -6,19 +6,22 @@ Change this page and every tool file in the same commit. (No Cursor/Copilot file ## Verified commands -Run on 2026-10-29 (Bun 1.3.14). Only `worked` rows may appear in a tier, a tool file, or `AGENTS.md` Commands. +Run on 2026-10-29, updated 2026-10-30 (Bun 1.3.14). Only `worked` rows may appear in a tier, a tool file, or `AGENTS.md` Commands. | Command | Result | |---|---| | `bun install --frozen-lockfile` | worked | | `bun test tests/export.test.ts` | worked — 28 pass | | `bun test tests/models.test.ts -t "dtype"` | worked — 5 pass, 14 filtered | -| `bun test --path-ignore-patterns='tests/live-real-model.test.ts'` | worked — 239 pass, 1 skip, ~6 s | -| `bun test` | worked — 243 pass, 1 skip (opt-in `FW_INTEGRATION`), ~19 min (after D-039) | +| `bun test --path-ignore-patterns='tests/live-real-model.test.ts'` | worked — 414 pass, 11 skip, ~6 s (2026-10-30) | +| `bun test` | worked — 422 pass, 11 skip (opt-in suites), ~22 min (2026-10-30, after spec 001) | | `bun run build` | worked | | `bun run icons` | worked | | `bun dev` | worked — HTTP 200 on `/` | -| `FW_INTEGRATION=1 bun test tests/transcribe.test.ts` | not run — faster-whisper not installed here | +| `FW_INTEGRATION=1 bun test tests/transcribe.test.ts` | worked — 34 pass with `SIDECAR_PYTHON=/home/user/venvs/faster-whisper/bin/python` (2026-10-30) | +| `MT_INTEGRATION=1 bun test tests/translate-real-model.test.ts` | worked — run by the spec 001 translate workstream (2026-10-30); not re-run in the integration session | +| `PARAKEET_REAL=1 bun test tests/parakeet-real-model.test.ts` | worked — run by the spec 001 Parakeet workstream (2026-10-30); not re-run in the integration session | +| `bun scripts/bench-translate.ts 1 8` | worked (2026-10-30) | | `bun start` | not run — documented in README | | `bun run typecheck` | worked — 0 errors (tsc 7.0.2, 57 files); exits 1 on a planted type error | | `google-chrome --headless=new --no-sandbox --disable-gpu --screenshot=… ` | worked (UI screenshots; not in any tier — ad hoc) | diff --git a/docs/WorkBreakdown.md b/docs/WorkBreakdown.md index 3323afa..91faf32 100644 --- a/docs/WorkBreakdown.md +++ b/docs/WorkBreakdown.md @@ -439,13 +439,16 @@ Found while building transcript translation (D-045), 2026-10-29: live WebSocket answer 400 via `translateNotSupported` (src/server/transcribe.ts). Found in spec 001 workstream 6 (D-046), open: -- [ ] Transformers.js 4.2 has no beam search: `num_beams > 1` in a model's +- [x] Transformers.js 4.2 has no beam search: `num_beams > 1` in a model's `generation_config.json` (edda-v0.2 ships 5) silently decodes greedily and does a full-vocabulary top-k per step (D-046). Not fixed: it would - mean overriding `num_beams: 1` in the worker, or a patch. -- [ ] On `da_festuge`, neither Danish turbo fine-tune beats the stock turbo + mean overriding `num_beams: 1` in the worker, or a patch. — Moot: edda-v0.2 + was not published or added to the catalog (D-046, owner 2026-10-30). +- [x] On `da_festuge`, neither Danish turbo fine-tune beats the stock turbo (D-046). Judging them needs a longer, harder Danish reference clip than - this repo has. + this repo has. — Closed: the owner kept only whisper-small-danish (D-046); + revisit the turbo conversions (kept in /home/user/hf-publish) only with + a harder Danish clip. Found while building the long-form pipeline (spec 001 Goal 3, D-049), 2026-10-29: - [x] "Auto-detect" on the default (chunked) file path does not detect: with no @@ -453,9 +456,11 @@ Found while building the long-form pipeline (spec 001 Goal 3, D-049), 2026-10-29 English" and decodes Danish audio as an English translation (da_festuge WER 0.94 vs 0.14 with `da`). Long-form ("Skip silence") detects once and pins the language; the chunked path is unchanged. -- [ ] Spec 001's measurement fallback mentions a hint list of the names in +- [x] Spec 001's measurement fallback mentions a hint list of the names in `en_alien`'s reference; `tests/meetingFixture.ts` returns audio + reference - only. Add the list when the vocabulary hint (workstream 2) lands. + only. Add the list when the vocabulary hint (workstream 2) lands. — Superseded: + D-048 measured hints directly on en_alien with short and realistic name + lists; the synthetic fixture adds nothing there. — Fixed for file passes: detect once on the first 30 s and pin (D-053). - [ ] "Auto-detect" on **live** passes (browser engine) still decodes as English: each live pass would need its own detection (an extra encoder run per