Skip to content

Latest commit

 

History

History
92 lines (80 loc) · 5.25 KB

File metadata and controls

92 lines (80 loc) · 5.25 KB

Roadmap

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.

Now — shipped through v3.0.0

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 decision 0018): a work item must exist before implementation begins. Existing adopters are grandfathered through a preflight epoch and a doctor migration path.
  • Provenance-typed records (decision 0021): every record carries concrete | provisional | inferred provenance. This resolves the brownfield adoption trilemma — adopt now emits provisional work items backed by inferred evidence, so migration is total, faithful, and closed, while completion stays gated on concrete evidence. doctor ratchets provisional → concrete when the proof exists.
  • Published conformance suite (CONFORMANCE.md, conformance/, work item 019): 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-ground and consumes RepoPact from PyPI.
  • proposed lifecycle state (decision 0023, shipped v2.1.0): candidate work can be captured durably without granting implementation authority; active/completed items may not depend on proposed ones. 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 (decision 0026, v2.3.0): VERSION stays 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 the repopact import name; schemas and templates are package resources, seeded repositories no longer vendor tooling, and operators use the installed repopact CLI. This intentionally breaks the documented pre-3.0 python scripts/validate_repo.py adopter 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.

Next — the active ledger

  • 032 Restore 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.
  • 034 Independent reproduction: third-party adoption evidence that does not originate from this maintainer.
  • 020 PactBench ↔ Proving Ground integration: finish the repo split so the benchmark suite runs entirely against the packaged product.
  • 021 Public launch: arXiv preprint (cs.SE), launch release on PyPI, Show HN. Operator-gated — account, endorsement, and posting are human steps.
  • 022 Comparative 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.

Later

  • 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).

Earlier

  • v1.x: 1.0 declared on proving-ground evidence (decision 0007); brownfield adopt (0008); PyPI trusted publishing (0009); import-plan (0010); doctor upgrade/repair (0011); takeover for legacy planning trees (0012); inbound-reference drift fixes (0015, 0016).
  • v0.1.0-alpha: governance core, adoption surface, specification and docs (work items 001004).

How to influence it

Open a task issue or start a discussion. Scoped contributions are welcome — see CONTRIBUTING.md.