A review of 5289cb4 found the ASR report was not honest arithmetic:
- "audio s" was the last segment's end, not the media length. The real
container durations are 88.93 / 109.18 / 60.07 s, so the report understated
the audio by 48 s and every speed cell was wrong.
- Decoding was unpinned, so a rerun was a new draw: WER moved 0.242 to 0.262
and one video moved 0.278 to 0.583. Greedy single-temperature decoding with
no carry-over now answers the same way twice, and the harness runs the pass
twice to show it.
- The report claimed its WER was an upper bound. It is not a bound in either
direction: a caption that drops words also hides words the model dropped.
The denominators (201 / 296 / 36 reference words) are printed instead.
- "66 speech atoms" was bench-side arithmetic. The store now says 80 audio
atoms carrying 563 word timestamps, read back after a real ingest.
Same silent-skip bug in a second place: a text file over max_text_file_bytes
returned an empty batch with no reason. It raises FileTooLarge with its size,
and a walk records that refusal like any other.
Also fixed from the same review: the Go search tool never published the audio
modality, cli_senses carried a second json_dump, the no-audio-track branch had
a test that fed it markdown, _seconds was an empty wrapper, and the docstring
quoted a speed no report measured.
Gate root cause: bench/tests imports the bench package by name with no root
conftest, so bare pytest could not collect it at all. pythonpath in pyproject
fixes both launch styles; 212 tests pass either way.
Verification: 212 passed (bare pytest and python -m pytest), ruff clean,
mypy clean on the six touched files with a cold cache, repo-wide mypy 24/6
unchanged from HEAD, pyright 0 errors on the touched files, go build/vet/test
and gofmt clean.
29 lines
748 B
TOML
29 lines
748 B
TOML
[tool.pytest.ini_options]
|
|
# bench/tests imports the bench package by name, so the repo root must be importable
|
|
# whichever way pytest is launched (pytest, or python -m pytest).
|
|
pythonpath = ["."]
|
|
testpaths = ["backend/tests", "bench/tests"]
|
|
|
|
[tool.mypy]
|
|
python_executable = ".venv/bin/python"
|
|
mypy_path = "."
|
|
python_version = "3.12"
|
|
files = ["bench", "backend/src"]
|
|
# bench/corpus is downloaded third-party data (git clones), not our source.
|
|
exclude = "bench/corpus/"
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = "pyarrow.*"
|
|
ignore_missing_imports = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"rapidocr_onnxruntime.*",
|
|
"cv2.*",
|
|
"rank_bm25",
|
|
"sentence_transformers.*",
|
|
"onnxruntime.*",
|
|
"faster_whisper.*",
|
|
]
|
|
ignore_missing_imports = true
|