Drew Ritter 2c3c59ce3f Reject invalid chat transcripts and propagate browser cleanup failures 3 недель назад
..
fixtures 26c44ceee0 feat(movie): simplify the Windows terminal recorder to serve/run/key/watch/close 3 недель назад
README.md b206e0cbe1 docs: make proof-movie recipes preserve failures 3 недель назад
fixtures.py 5e02913144 fix(movie): make narration acceptance govern assembly 3 недель назад
run-tests.py 8e3414cdb3 fix(movie): keep subtitle timing and track selection faithful 3 недель назад
test_assembly.py 5e02913144 fix(movie): make narration acceptance govern assembly 3 недель назад
test_browser.py 5621d1d6aa fix(movie): finish native Windows media tools 3 недель назад
test_browser_contract.py 2c3c59ce3f Reject invalid chat transcripts and propagate browser cleanup failures 3 недель назад
test_checker.py b7dd0a51cb Fix inserted narration and movie audio subtitle checks 3 недель назад
test_narration.py 16167e281a fix(movie): retain narration evidence through verification 3 недель назад
test_narration_contract.py 2c3c59ce3f Reject invalid chat transcripts and propagate browser cleanup failures 3 недель назад
test_paths.py 442a48d990 fix(movie): make frame and concat inputs portable 3 недель назад
test_recorder_contract.py 2c3c59ce3f Reject invalid chat transcripts and propagate browser cleanup failures 3 недель назад
test_subtitle_contract.py e48cb57bf1 fix(movie): refine subtitle chunks using allocated durations 3 недель назад
test_subtitles.py ae559110ce Fix narration cache identity and partial subtitle offsets 3 недель назад
test_terminal.py 42486dbb6d fix(movie): own recorder cleanup and bound observation 3 недель назад

README.md

Portable movie regressions

Run a suite from the repository root:

uv run --script tests/proving-it-works-with-a-movie/run-tests.py --suite assembly
uv run --script tests/proving-it-works-with-a-movie/run-tests.py --suite checker
uv run --script tests/proving-it-works-with-a-movie/run-tests.py --suite contracts
uv run --script tests/proving-it-works-with-a-movie/run-tests.py --suite narration
uv run --script tests/proving-it-works-with-a-movie/run-tests.py --suite all

By default, unavailable external capabilities are reported as skips. Add --require-capabilities when the selected environment is required to provide them; any skip then makes the run fail.

The assembly sine wave is only a synthetic timing fixture. The narration drift inputs exercise text comparison only. Neither is speech/ASR acceptance.

The contracts suite is the safe entrypoint for mocked process/media boundaries and text fixtures. It does not run the existing media/session suites, inspect a finished movie, or replace live acceptance and the required human viewing gate.

The terminal suite starts a real ttyd session and skips where ttyd or a Chrome-family browser is missing. It films bash by default on Unix and powershell51 on Windows; set MOVIE_TEST_SHELL to powershell51, powershell7, gitbash, or bash, and MOVIE_TEST_SHELL_EXE, MOVIE_TEST_TTYD, or MOVIE_TEST_BROWSER when those executables are not on PATH.