Skip to content

docs(federation): ratify graph-complete v0.29 scope - #462

Open
tcballard wants to merge 2 commits into
agent/federation-08-profile-certificationfrom
agent/federation-09-graph-decisions
Open

docs(federation): ratify graph-complete v0.29 scope#462
tcballard wants to merge 2 commits into
agent/federation-08-profile-certificationfrom
agent/federation-09-graph-decisions

Conversation

@tcballard

@tcballard tcballard commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

This is the ratified v0.29 federation graph authority stack, based on #461. It contains no engine implementation.

  • Accepts five independently reviewable ADRs:
    • ADR-144 — bounded acyclic multi-parent source graph
    • ADR-145 — strict manifest v2 and topology-binding digest v2
    • ADR-146 — global corpus.source::canonical-id resolution without precedence
    • ADR-147 — Decision-backed override chains and explicit diamond convergence
    • ADR-148 — closure-wide serving generation, freshness, and store/v3
  • Accepts the graph-composition design synthesis.
  • Marks ADR-133, ADR-136, and ADR-143 Superseded for version 2 while preserving their exact v1 compatibility behavior.
  • Records the narrow amendments and clarifications to ADR-134, ADR-135, ADR-137, ADR-138, ADR-141, and ADR-142.
  • Updates the accepted corpus-source-identity contract for graph-wide logical-node identity, same-digest diamonds, and version-2 equal-ID ambiguity.
  • Keeps the two implementation requirements Proposed until evidence is complete and the roadmap Planned.

Accepted contract

  • Up to 32 direct parents per v2 manifest; bounded transitive DAGs are supported.
  • Parents remain pre-materialised, offline, pinned, contained, and read-only.
  • Same-source/same-digest diamonds deduplicate only after every distinct physical route verifies.
  • Cycles, divergent pins, unresolved forks, path escapes, snapshot changes, and fixed-limit excesses fail before overlay.
  • Global qualification uses stable source identity; edge aliases stay source-contextual conveniences.
  • Equal canonical IDs in separate sources are legal but bare use is ambiguous unless explicit overrides converge.
  • Override chains remain same-type, local-replacement, and backed by a live local Decision at every hop.
  • Every CLI, MCP, export, routing, enforcement, cache, and freshness consumer receives one verified closure.
  • No-manifest and manifest-v1 behavior remains exact.

Ratification record

Tom explicitly accepted ADR-144 through ADR-148. This PR now records the complete authority transition:

  • ADR-144..148: Accepted
  • ADR-133, ADR-136, ADR-143: Superseded for v2
  • graph-composition design: Accepted
  • retained ADR amendments: recorded without erasing their v1 rules
  • parent-corpus-inheritance and federated-resolution-provenance: still Proposed
  • corpus-federation roadmap: still Planned

The accepted ADR set now authorizes engine work within this contract. Engine implementation is intentionally not part of this PR.

Validation

Using the released v0.28.0 engine:

  • decided validate decisions/: 468 valid, 0 invalid, 12 skipped unknown types; OKF v0.2 conformant
  • decided relationships decisions/ --validate: 3,055 checked, 0 issues
  • decided gate decisions/ --json: ok, 0 blocking, 134 advisories
  • decided review decisions/ --json: 480 artifacts; 468 valid / 0 invalid; 3,055 valid relationships / 0 broken; 75 orphaned; coverage 0.8718; health 96; 498 advisory issues — not a clean review
  • decided export decisions/ --agent-rules --check: all four managed targets in sync
  • git diff --check: passed

The contract also received independent authority, artifact-quality, consistency, security/feasibility, and final adversarial reviews.

Scope

  • 26 files changed
  • 2,115 insertions, 337 deletions
  • no Rust changes
  • no issue edits, release tag, or release action

This PR does not close #267, #270, #271, or #272.

@tcballard tcballard changed the title docs(federation): propose graph-complete v0.29 scope docs(federation): ratify graph-complete v0.29 scope Aug 10, 2026
@tcballard
tcballard marked this pull request as ready for review August 12, 2026 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant