LearnNewsExamplesServices
Frontmatter
id14633
titleConvergence snapshot: canonical-id schema + firewalled render-target
stateClosed
labels
enhancementaiarchitecture
assigneesneo-opus-ada
createdAt5:29 AM
updatedAt6:36 AM
githubUrlhttps://github.com/neomjs/neo/issues/14633
authorneo-opus-ada
commentsCount0
parentIssue14581
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[ ] 14634 Convergence-snapshot compute: firewalled, independence-budget
closedAt6:36 AM

Convergence snapshot: canonical-id schema + firewalled render-target

Closed Backlog/active-chunk-3 enhancementaiarchitecture
neo-opus-ada
neo-opus-ada commented on 5:29 AM

Context

Leaf 1 of epic #14581 (Convergence-weighted Golden Path), graduated from Discussion #14548 with cross-family [GRADUATION_APPROVED]. This is the foundation leaf: it lays the convergence-snapshot node schema, resolves the self-fulfilling firewall render-target (OQ8), fixes canonical-id provenance (OQ1), and seeds the born-scheduled longitudinal falsifier + risk-node annotation. Leaves 2 (compute) and 3 (render-ledger) build on this substrate. Composable sibling of #14565 (Direction-weighted GP), sharing the EVOLUTION_GOAL schema.

The Problem

Convergence-weighting annotates the goal→sub-goal lattice with how invariant a sub-goal is across imagined futures ("structure not events" — the sub-goals worth doing regardless of which future wins). Before any compute can run, two hazards must be closed at the schema layer:

  1. Node-identity drift (OQ1). A convergence annotation is meaningless if it floats free of a stable, provenance-carrying canonical id for the goal/sub-goal it annotates. The schema must key every snapshot on a canonical id and record that id's provenance.
  2. Self-fulfilling contamination (OQ8). If convergence output re-enters the agent future-generation context, convergence becomes a prophecy that fulfils itself. The render-target must resolve to a surface no agent boot-path consumes — decision-support for humans, invisible to generation.

The Architectural Reality

  • Owning folder: ai/services/graph/ — sibling to GoldenPathSynthesizer.mjs, computedGoldenPathRouting.mjs, goldenPathTimestamp.mjs (the existing computed-GP substrate). Joins the established GP compute layer; no new folder.
  • New node class: the convergence-snapshot node is a new Native Edge Graph class, so per epic it MUST carry a named ADR-0024 (native-edge-graph-model) decay/protection disposition — as #14565 does for its direction nodes.
  • Shared schema: depends-on #14565's ADR-0024 / ADR-0028 amendments for the shared EVOLUTION_GOAL schema (materializing via #14626 / #14567); aligned-with ADR-0023 (DreamService organism-map fidelity). If those amendments have not merged, this leaf binds against the epic's schema contract and reconciles when they land.

The Fix

In ai/services/graph/:

  • Define the convergence-snapshot node schema keyed on canonical goal/sub-goal ids; each node records the annotated canonical id and that id's provenance (OQ1).
  • Resolve the render-target (OQ8) to a standalone ledger artifact consumed by no agent boot-path — long-run home a terrain panel in the FM cockpit (a surface agents never boot from); the redaction-filter branch is the reserved fallback, documented not built.
  • Carry born-scheduled longitudinal-falsifier metadata on the schema (a re-measurement schedule field, so the convergence claim is falsifiable over time, not a one-shot assertion).
  • Carry a risk-node annotation field.

Acceptance Criteria

  • Convergence-snapshot node schema defined in ai/services/graph/, keyed on canonical goal/sub-goal ids; each node records the annotated canonical id + its provenance (OQ1).
  • The new node class carries a named ADR-0024 decay/protection disposition, documented in the schema and an ADR-0024 note.
  • Render-target resolves to a standalone ledger artifact consumed by no agent boot-path (OQ8 firewall); the FM-cockpit terrain panel is named as the long-run home; the redaction-filter branch is documented as the reserved fallback.
  • Schema carries born-scheduled longitudinal-falsifier metadata (a re-measurement schedule field).
  • Schema carries a risk-node annotation field.
  • Unit coverage: schema shape, canonical-id keying + provenance, firewall render-target selection.
  • EVOLUTION_GOAL binding declared against #14565's amendments; if unmerged, stubbed against the epic schema contract with a reconciliation note.

Out of Scope

  • Convergence compute (Leaf 2) and the human-facing render-ledger rendering (Leaf 3).
  • The fold-rung deliverable (deliberately gated in the epic).
  • FM-cockpit terrain-panel UI (named as home; built with the FM cockpit lane).

Related

Epic #14581 · sibling #14565 (+ its leaf #14626 / #14567 shipping EVOLUTION_GOAL) · source Discussion #14548 · ADR-0023 / ADR-0024 / ADR-0028 · GP substrate ai/services/graph/GoldenPathSynthesizer.mjs.

Decision Record impact

aligned-with ADR-0023; depends-on ADR-0024 (new node class → named decay/protection disposition); depends-on ADR-0028 (via #14565's EVOLUTION_GOAL amendment).

Origin Session ID: 9a6b25ba-1dd8-4269-8fbf-57a461fd0978 Retrieval Hint: "convergence-snapshot canonical-id schema render-target firewall OQ1 OQ8 #14581 Leaf 1"

tobiu referenced in commit f20edbc - "feat(graph): convergence-snapshot canonical-id schema + firewalled render-target (#14633) (#14679) on 6:36 AM
tobiu closed this issue on 6:36 AM