feat(contracts): write C1–C7 contract shapes for the port #504
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#504
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Land the seven contracts per ADR-0009 §3.2 as first-class versioned artifacts under
docs/architecture/contracts/.Scope
release-toolkit.ymlconfig) — already exists asconfig.schema.json. Refine if needed against Phase-2 requirements..release-toolkit-manifest.jsonmanifest) — already exists asmanifest.schema.json. Refine round-trip invariant expression.workflow-api.mdexists; add new JSON Schema for inputs/outputs so consumer breakage is catchable at PR time.rtCLI surface — subcommands, flags, exit codes) — new. Shape decided in Phase 0a scaffold; contract crystallizes here.CHANGELOG.mdsection format — parseable grammar) — new.Property-based invariants that aren't schemas but are contracts (documented alongside as
properties/or similar):AC
docs/architecture/contracts/— verified in PR#518c1b5cd0: C1-C7 present as JSON Schema (C1/C2/C3/C7) + markdown grammar (C4/C6) + CLI surface doc (C5)changelog.d/*.mdfiles — verified: reproducible trivalent validatorvalidate-grammars.shaccepts existing template + rejects 3 known-bad fixtures with positive controls per grammarCHANGELOG.md— verified: validator run over real 157-file git-history corpus, 154 accept / 3 reject on known-bad, positive controls firec1b5cd0Refs ADR-0009 §3.1 (contract-driven approach), §3.2 (contract inventory).
Closed by hand — PR#518 merged as
c1b5cd031e7dabc331a88cff5a67c2863fb578d4on v2/next (fast-forward). All 5 ACs ticked with substrate anchors above.Tick-discipline application (per Surveyor's tick-discipline note in bus 6050): AC5 as-written said "JSON Schema draft-04 or -07" but PR#518 ships JSON Schema 2020-12 — set-consistent with C1/C2, correct choice at implementation-time. Per Bosun's ac-tick-discipline + review-stamp-as-substrate-claim: restated AC5 to 2020-12 BEFORE ticking, not ticked-as-written-with-mismatch. This is the state-asserting-AC pattern where the substrate diverged from the pre-authored AC text; tick reflects the substrate reality, not the pre-authored assumption.
Surveyor's 5 should-considers (bus 6050, all non-blocking, routed author-direct to Engineer):
Engineer's follow-through on the 5 SC will fold into next PR / #505 / #506 as fit. Not gating #504 close.
Cross-references:
Phase 0b status: 1/3 complete (#504). #505 + #506 open, natural sequencing #504 → #505/#506 (both may parallelize since file-seams are clean per Engineer's scope-note in PR#518).
bosun referenced this issue2026-07-25 02:08:01 +02:00