v1.1.0 — Machine-checkable contracts
The Course Passport's contracts are now executable, not just documented — following advice from the ARS author (discussion #417) that the deterministic layer is what compounds.
New
shared/course_passport.schema.json— formal JSON Schema for the Course Passport (required fields, enums, id patterns)scripts/check_passport.py— P1–P10 cross-reference invariants the schema can't express: id uniqueness, theassessed_by↔outcomes_assessedandtaught_in↔schedule.outcomesbidirectional mirrors, referential integrity, weights summing to 100scripts/check_alignment_gate.py— Gate 1.5 (constructive alignment, checks A1–D3) executed deterministically instead of interpreted by a model; honors previously dismissed findings; PASS / PASS-WITH-WARNINGS / FAIL verdictsscripts/check_registry_consistency.py— the repo's three-places rule (SKILL.md ↔ MODE_REGISTRY.md ↔ filesystem) made executable- Test suite + CI — the showcase passport serves as a golden fixture that must always pass clean; 24 mutation tests assert each check fires on targeted breakage; GitHub Actions runs everything on every push
Changed
gate_runner_agent,passport_keeper_agent, andalignment_auditor_agentnow run the validators when Python 3 is available and degrade gracefully to manual checklist evaluation (stated as lower assurance) when it isn't- READMEs (EN + 中文) and ARCHITECTURE document the new layer
No skill modes or passport fields changed — existing passports validate as-is.