A human-curated forward view. The authoritative status of in-flight work is the
derived dashboard and the work/ ledger; this file
adds editorial intent (what we mean to do next and why) that is not derivable.
RepoPact 2.0 changed the record language itself; the releases since have hardened it and the surfaces around it:
- Mandatory preflight (decision
0021, v2.0.0; generalizing the opt-in marker of decision0018): a work item must exist before implementation begins. Existing adopters are grandfathered through a preflight epoch and adoctormigration path. - Provenance-typed records (decision
0021): every record carriesconcrete | provisional | inferredprovenance. This resolves the brownfield adoption trilemma —adoptnow emits provisional work items backed by inferred evidence, so migration is total, faithful, and closed, while completion stays gated on concrete evidence.doctorratchetsprovisional → concretewhen the proof exists. - Published conformance suite (
CONFORMANCE.md,conformance/, work item019): a versioned fixture corpus plus runner so third-party implementations can test acceptance/rejection against the standard, not against our Python. - PactBench relocated to RepoPact Proving Ground (v2.0.1):
RepoPact keeps the benchmark protocol; the runnable suite lives in
repopact-proving-groundand consumes RepoPact from PyPI. proposedlifecycle state (decision0023, shipped v2.1.0): candidate work can be captured durably without granting implementation authority;active/completeditems may not depend onproposedones. Driven by a real downstream adopter.- Canonical dashboard integrity (decision
0025, v2.2.0): the committed dashboard is compared against freshly generated output, so a stale derived artifact fails validation instead of quietly misreporting the ledger. - Optional
RELEASE_LABEL(decision0026, v2.3.0):VERSIONstays a clean totally-ordered triple that adopter equality keys off, while pre-release maturity (rc.1,beta.2) gets a declared home whose core is pinned to it. - Complete conformance rule coverage (work item
030) and deterministic adopter fleet verification (029): every published rule has a fixture, and declared public adopters are verified reproducibly rather than by assertion. - Single-package execution boundary (decision
0029, v3.0.0): installing RepoPact claims only therepopactimport name; schemas and templates are package resources, seeded repositories no longer vendor tooling, and operators use the installedrepopactCLI. This intentionally breaks the documented pre-3.0python scripts/validate_repo.pyadopter interface. - Semantic claim freshness (work item
033): human-authored audit and research claims carry review deadlines, and expired contracts fail validation rather than hiding behind an exact generated projection.
032Restore remote governance enforcement (blocked, and the most consequential item here): GitHub Actions is billing-locked, so the gates run on a maintainer workstation rather than a public checkpoint. Until an operator clears the lock or provisions an alternative, every enforcement claim rests on local discipline. Blocked on a human decision, not on engineering.034Independent reproduction: third-party adoption evidence that does not originate from this maintainer.020PactBench ↔ Proving Ground integration: finish the repo split so the benchmark suite runs entirely against the packaged product.021Public launch: arXiv preprint (cs.SE), launch release on PyPI, Show HN. Operator-gated — account, endorsement, and posting are human steps.022Comparative benchmark suite (S2–S6 / H9–H13): one matched-arm harness for recovery, coordination, token economy, drift, and security studies. Real cross-model results are gated on compute/model access.
- Canonical Rust engine with a versioned local JSON protocol, proving the SPEC is implementation-independent while retaining an explicit Python compatibility/comparator surface.
- GitHub Action that runs the gates as a reusable workflow.
- External ingestion at L5: tracker exports and design documents as first-class, evidence-bearing records with provenance.
- Mechanized temporal/relational invariants: trace semantics for INV-4 over git history; a refinement order for nested contracts (INV-5).
- v1.x: 1.0 declared on proving-ground evidence (decision
0007); brownfieldadopt(0008); PyPI trusted publishing (0009);import-plan(0010);doctorupgrade/repair (0011);takeoverfor legacy planning trees (0012); inbound-reference drift fixes (0015,0016). - v0.1.0-alpha: governance core, adoption surface, specification and docs
(work items
001–004).
Open a task issue or start a discussion. Scoped contributions are welcome — see CONTRIBUTING.md.