Summary
tests/qa/test_08_end_to_end.py fails pytest collection with a CheckpointValidationError because the fixture's edit_decisions artifact omits the required render_runtime field.
Repro
$ python3 -m pytest --collect-only tests/qa/test_08_end_to_end.py
ERROR collecting tests/qa/test_08_end_to_end.py
lib.checkpoint.CheckpointValidationError: Artifact 'edit_decisions' failed schema validation: 'render_runtime' is a required property
Root cause
schemas/artifacts/edit_decisions.schema.json declares render_runtime in required. The test fixture constructs an edit_decisions dict with version, cuts, music, subtitles — but no render_runtime. Per AGENT_GUIDE.md the runtime is supposed to be locked at proposal and carried through edit_decisions; the test predates that hard-rule.
Impact
- All tests blocked from collecting (pytest exits with
Interrupted: 1 error during collection).
- 344 tests passing in collection but pytest exits non-zero overall.
Fix
Add 'render_runtime': 'ffmpeg' (or another valid runtime) to the test fixture's edit_decisions dict. Also worth updating downstream tests that consume this fixture if they don't already pass through the field.
Acceptance
python3 -m pytest --collect-only exits 0 with no errors
tests/qa/test_08_end_to_end.py collects without CheckpointValidationError
Summary
tests/qa/test_08_end_to_end.pyfails pytest collection with a CheckpointValidationError because the fixture'sedit_decisionsartifact omits the requiredrender_runtimefield.Repro
Root cause
schemas/artifacts/edit_decisions.schema.jsondeclaresrender_runtimeinrequired. The test fixture constructs anedit_decisionsdict withversion,cuts,music,subtitles— but norender_runtime. Per AGENT_GUIDE.md the runtime is supposed to be locked at proposal and carried through edit_decisions; the test predates that hard-rule.Impact
Interrupted: 1 error during collection).Fix
Add
'render_runtime': 'ffmpeg'(or another valid runtime) to the test fixture'sedit_decisionsdict. Also worth updating downstream tests that consume this fixture if they don't already pass through the field.Acceptance
python3 -m pytest --collect-onlyexits 0 with no errorstests/qa/test_08_end_to_end.pycollects without CheckpointValidationError