Now that council/council.py exists and emits the same JSON schema as the reviews under cohort-phase-0/council-reviews/, a CI gate would catch malformed reviews before they hit main.
What to do:
- Add
.github/workflows/validate-reviews.yml
- On every PR touching
cohort-*/council-reviews/*.json: validate each changed JSON with jsonschema (Python) or ajv-cli
- Fail the check if any JSON deviates from the schema produced by
council/council.py
- Bonus: extract a formal JSON Schema from the committed reviews and check it in
Success looks like: a malformed council JSON is caught at PR time, not after merge.
Now that
council/council.pyexists and emits the same JSON schema as the reviews undercohort-phase-0/council-reviews/, a CI gate would catch malformed reviews before they hitmain.What to do:
.github/workflows/validate-reviews.ymlcohort-*/council-reviews/*.json: validate each changed JSON withjsonschema(Python) orajv-clicouncil/council.pySuccess looks like: a malformed council JSON is caught at PR time, not after merge.