Implement verify(task_id, artifacts) as a pure deterministic function over scope report, rule report, feedback log, and diff, emitting one verification_report.json per task close-out.
- Stub loaders for
scope_report.json,rule_report.json,feedback_record.jsonl, and the diff - The check table: acceptance ran, acceptance exited zero, scope clean, no
nullexits, all block-severity rules pass
- A pure
verify(task_id, artifacts) -> VerdictReport - A printer that shows per-check results and the final pass/fail
- Three demo scenarios written to disk: clean pass, scope creep, missing acceptance
python3 code/main.pyexits zero- The clean-pass scenario reports
passed: true; the other two reportpassed: false - Each scenario writes a separate
verification_report.jsonunderoutputs/verification/
- LLM-as-judge logic. The gate stays deterministic; qualitative judgment belongs to the reviewer in lesson 39.
- Signed override audit logs. The exercise prompts extend the gate that way.
docs/en.md- full lessoncode/main.py- reference implementationoutputs/skill-verification-gate.md- extracted skill