Summary
Every PR that changes semantics (canonical fields, role constraints, execution contracts, verification checks, cross-layer boundaries) should answer a standardized checklist. This prevents semantic drift between prose, math, code, and tests (mitigates RA-2).
Checklist template
Every semantic PR must answer:
- What claim changes? — which invariant, property, or semantic contract is affected
- Where is it formally stated? — link to check-specifications.md, design doc, or docstring
- What code enforces or computes it? — module + function/class
- What tests trace to it? — test file +
@pytest.mark.requirement() marker
- What examples demonstrate it? — which exemplar model exercises the changed behavior
- What migration impact? — do existing DSLs, specs, or downstream consumers break
Implementation options
Option A: PR template — .github/PULL_REQUEST_TEMPLATE/semantic.md with the checklist as a markdown checkbox list. Contributors select this template for semantic PRs.
Option B: CI label check — when a PR carries a semantic label, a CI step verifies all checklist items are addressed in the PR body (lightweight regex check).
Option C: Just document it — add the checklist to CONTRIBUTING.md and rely on review discipline.
Acceptance criteria
Source
Cross-cutting mitigation program CMP-1 from improvement-plans/gds_core_risk_register_and_doctrines.md. Mitigates risks RA-1 (verification language outruns guarantees) and RA-2 (semantic drift).
Summary
Every PR that changes semantics (canonical fields, role constraints, execution contracts, verification checks, cross-layer boundaries) should answer a standardized checklist. This prevents semantic drift between prose, math, code, and tests (mitigates RA-2).
Checklist template
Every semantic PR must answer:
@pytest.mark.requirement()markerImplementation options
Option A: PR template —
.github/PULL_REQUEST_TEMPLATE/semantic.mdwith the checklist as a markdown checkbox list. Contributors select this template for semantic PRs.Option B: CI label check — when a PR carries a
semanticlabel, a CI step verifies all checklist items are addressed in the PR body (lightweight regex check).Option C: Just document it — add the checklist to CONTRIBUTING.md and rely on review discipline.
Acceptance criteria
Source
Cross-cutting mitigation program CMP-1 from
improvement-plans/gds_core_risk_register_and_doctrines.md. Mitigates risks RA-1 (verification language outruns guarantees) and RA-2 (semantic drift).