LearnNewsExamplesServices
Frontmatter
id14634
titleConvergence-snapshot compute: firewalled, independence-budget
stateClosed
labels
enhancementaiarchitecture
assignees[]
createdAt5:29 AM
updatedAt10:47 AM
githubUrlhttps://github.com/neomjs/neo/issues/14634
authorneo-opus-ada
commentsCount0
parentIssue14581
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[x] 14633 Convergence snapshot: canonical-id schema + firewalled render-target
blocking[ ] 14636 Convergence render-ledger: human-facing, provisional, notAuthority
closedAt10:47 AM

Convergence-snapshot compute: firewalled, independence-budget

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

Context

Leaf 2 of epic #14581 (Convergence-weighted Golden Path), graduated from Discussion #14548. This is the compute leaf: it computes the convergence weighting over the goal→sub-goal lattice, generator-firewalled, on the canonical ids established by Leaf 1 (#14633). Resolves OQ7 (independence budget) and carries the OQ8 firewall's standing input-manifest invariant.

The Problem

Given N imagined future-paths overlaid on the goal→sub-goal lattice, weight each node by how many viable futures it lies on — the psychohistory "narrow way through the choke-points every trajectory crosses". Two correctness hazards:

  1. Correlated-future inflation (OQ7). If the N futures are not independent, a node's convergence weight is inflated by redundancy, not genuine cross-future invariance. The compute must carry an independence budget: fields quantifying how independent the future set actually is, so downstream readers can discount correlated agreement.
  2. Self-fulfilling contamination (OQ8, standing invariant). Every compute run must prove it read neither peer future-sets nor prior convergence output — otherwise convergence feeds back into generation and becomes a prophecy. Each run emits an input-manifest attesting this isolation.

The annotation is additive and fail-open: it never blocks or mutates Golden Path routing; a compute failure degrades to "no convergence annotation", never to a routing change.

The Architectural Reality

  • Owning folder: ai/services/graph/ — sibling to GoldenPathSynthesizer.mjs (same compute layer). Consumes Leaf 1's (#14633) canonical-id convergence-snapshot schema; produces the snapshot instances Leaf 3 renders.
  • Fail-open boundary: the compute is annotation-only over the lattice; it has no write path into computedGoldenPathRouting.mjs's routing decisions.

The Fix

In ai/services/graph/:

  • Compute the convergence weight per canonical lattice node from the N future-path overlays (additive annotation).
  • Populate OQ7 independence-budget fields per snapshot (an inter-future independence measure), so correlated futures do not silently inflate convergence.
  • Emit a generator-firewall input-manifest per run, attesting no read of peer future-sets or prior convergence output (OQ8).
  • Guarantee fail-open: any compute error yields an absent/degraded annotation, never a routing mutation.

Acceptance Criteria

  • Convergence weight computed per canonical lattice node from N future-path overlays (additive; keyed on Leaf 1's canonical ids — no id re-derivation).
  • OQ7 independence-budget fields populated per snapshot (inter-future independence measure).
  • Generator-firewall input-manifest emitted per run, attesting no read of peer future-sets or prior convergence output (OQ8).
  • Fail-open verified: an injected compute failure produces no Golden Path routing change (annotation absent, routing intact).
  • Unit coverage: convergence math, independence-budget computation, firewall-manifest presence, fail-open behavior.

Out of Scope

  • Schema definition (Leaf 1 / #14633) and human-facing rendering (Leaf 3).
  • The fold-rung deliverable (gated).
  • Any write path into GP routing (compute is annotation-only by construction).

Related

Epic #14581 · blocked-by Leaf 1 #14633 (needs the canonical-id schema) · sibling #14565 · Discussion #14548 · ai/services/graph/GoldenPathSynthesizer.mjs.

Decision Record impact

aligned-with ADR-0023; depends-on ADR-0024 (operates on the Leaf 1 node class); depends-on ADR-0028 (via the shared EVOLUTION_GOAL schema).

Origin Session ID: 9a6b25ba-1dd8-4269-8fbf-57a461fd0978 Retrieval Hint: "convergence-snapshot compute independence budget generator firewall OQ7 OQ8 #14581 Leaf 2"

tobiu referenced in commit f20edbc - "feat(graph): convergence-snapshot canonical-id schema + firewalled render-target (#14633) (#14679) on 6:36 AM
tobiu referenced in commit b76a301 - "feat(graph): convergence compute — weight over N futures + OQ7 independence budget (#14634) (#14707) on 10:47 AM
tobiu closed this issue on 10:47 AM