Skip to content

P1: Roadmap: from contextgraph/1.0-draft to a frozen 1.0 with an ecosystem #22

Description

@macanderson

This is the steering roadmap for Context Graph Protocol: from contextgraph/1.0-draft to a frozen contextgraph/1.0 with a real ecosystem around it. It came out of a full read of the crates, the docs, the schema, and GOVERNANCE.md. Each item below is its own issue with the analysis, options, and acceptance criteria; this issue is the map.

Re-trued 2026-07-26 against the live issue list and origin/main @ 1ee9b1c. Checked boxes are closed issues; open boxes carry a one-line note on what has already landed against them, so the map states residue rather than original scope.

The organizing idea

The protocol's identity is "enforced by contract, not convention". The roadmap is therefore ordered around closing every gap where the repo claims more than it enforces — because each one is a place where the project's own critique of the blob-pipe applies to itself.

Two things have changed since this map was first drawn, and both change its shape:


Milestone: v0.2 — protocol completeness

Every declared capability gets specified semantics or is dropped, and every documented contract gets an enforcement path — before the freeze, because the family-compatibility rule makes additions cheap after 1.0 but removals impossible.

Decided — the spec-or-drop set, now fully resolved:

Still open:

Milestone: contextgraph/1.0 freeze

Milestone: Ecosystem

Unmilestoned: release plumbing, distribution, and correctness

Two clusters filed after this map was first drawn, neither previously on it.

Release, distribution, and the public surface

Correctness and content


How this maps to the GOVERNANCE.md freeze criteria

Freeze criterion Unlocked by
≥2 independent implementations pass conformance #17 lowered the barrier and #59 finishes distribution; #28 is the leading candidate second implementation; #18/#19 create further occasions; #3 made it possible without reading Rust
60-day stabilization window Driving the v0.2 list to zero starts the clock — every open normative issue resets it
No blocking normative issues #7, #9, #12, #13, #49
Conformance fully enforces the documented requirements #12, #51 (provider side); #14 (host side); #54 (schema ↔ serializer agreement)

Current ranking

From the pre-freeze triage of 2026-07-23 (five-way audit: freeze-criteria mapping, wire breaking-change analysis, conformance/CI enforcement audit, downstream pressure scan, and a completeness pass), re-trued 2026-07-26. Ranked by "breaking or impossible if deferred past the freeze" first, then by which GOVERNANCE criterion it unblocks.

Two of the top three have since closed: rank 1 (#48, extensibility) — the only item that genuinely could not be retrofitted post-freeze — and rank 3 (#50), decided in PR #60. Positions are kept so the ranking stays comparable.

# Issue Why this rank
1 #48 extensibility / unknown-field rules Closed. The only item that could not be retrofitted post-freeze.
2 #49 SPEC.md completeness Now the top live item. The single normative home still contains a §9 verify example that fails the repo's own schema, a U1 anchor collision, and no usage-report text at all. Freezing an incomplete normative home freezes ambiguity.
3 #50 decide context/resolve; B3 Closed. Decided in PR #60 as a scoped Option B.
4 #13 HTTP transport security The normative paragraph landed, so the flip-conformant-deployments-to-non-conformant risk is gone; the implementation is still absent everywhere, including the reference host. Gates the oxagen CGEP provider — the leading candidate second implementation.
5 #14 host-side conformance Freeze criterion 4 is unsatisfiable without it. Six checks exist; the two hardest scenarios and the self-declared C4/C7/C8 do not.
6 #51 enforcement residue Criterion 4's remaining provider-side holes, now down to four items after PR #60.
7 #12 host digest verification, end to end SECURITY.md promises forgery detection; the host half exists, the fixture half does not, so no negative case proves it.
8 #52 goldens + attested bundle Regenerated and manifested — but with no tag for downstreams to pin, which makes it a #30 problem now.
9 #16 crates.io 0.1.0, with #30 as the immediate stopgap tag Criterion 1 has "nothing to build against" until it ships; #30 is one command and should go first.
10 #28 (+#27) Context Exchange Provider profile The concrete path to a genuine second implementation. The oxagen CGEP spec is written and explicitly waiting on the protocol.

Below the cut — cheap, do during the stabilization window: branch protection on main (#2's residue — context-reuse §3 was destroyed by an unprotected merge, and the 60-day clock deserves a guarded trunk); #29 canary CI, which would have flagged both current downstream drifts automatically; the schema $id domain (#58, handed over from #21) — context-graph-protocol.org has no DNS at all, so third parties dereferencing $id hit a dead host; #7's anchored-query probe, which rides #51's fixture work, with context/neighbors staying a 1.x extension; #54's one-line ContextQuery fix; and the additive-by-design pair #15 / #31, which should not block the freeze.

Metadata

Metadata

Assignees

No one assigned

    Labels

    roadmapPart of the steering roadmap

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions