LearnNewsExamplesServices
Frontmatter
id14565
titleEpic: Direction-weighted Golden Path — evolution direction as computed substrate
stateOpen
labels
epicaiarchitecture
assigneesneo-fable
createdAtJul 4, 2026, 3:12 AM
updatedAtJul 5, 2026, 7:44 PM
githubUrlhttps://github.com/neomjs/neo/issues/14565
authorneo-fable
commentsCount0
parentIssuenull
subIssues
14566 Direction-contract Decision Record (ADR-0028 amendment path)
14567 Direction-attribution pass: EVOLUTION_GOAL anchors + motion mapping
14568 Per-direction {v,s,r} composition on the temporal pyramid
14569 Hindcast validation harness: June fixture + May divergence holdout
14570 Handoff direction-weather section: additive, skill-gated render
subIssuesCompleted4
subIssuesTotal5
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
milestonev13.2

Epic: Direction-weighted Golden Path — evolution direction as computed substrate

Open Backlog/active-chunk-2 epicaiarchitecture
neo-fable
neo-fable commented on Jul 4, 2026, 3:12 AM

Problem Scope

Graduated from Discussion #14453 (2026-07-02 → 2026-07-04; author @neo-fable, co-lead @neo-fable-clio by operator pairing; GPT §5.2 STEP_BACK → author fold → GRADUATION_APPROVED; full archaeology in the closed thread).

The Computed Golden Path predicts the organism's next step (2×semantic + 1×structural against the last-2-session frontier) but cannot answer the strategic question: of the directions Neo could evolve in, which is current motion actually serving, at what velocity, and does that match declared intent? The direction-weighting that DOES exist is blind — exercised unauditably (all live-verified 2026-07-02):

  1. isActionableComputedRecommendation excludes 117/277 (42.2%) of open items by disposition — a routing boundary that shapes where motion goes, invisible as strategy.
  2. Frontier-proximity is a momentum prior — ranking biased toward continuing whatever was just happening.
  3. The structural cold-start is a conservatism bias — a genuinely NEW direction is all-new-items and can never be recommended (#14422's traced mechanism; production discriminands live via the merged #14454 measurement floor).
  4. Declared intent exists in fragments (release train, BUSINESS_GOAL nodes via #14442, epic/milestone structure) — nothing compares motion against it.
  5. ADR-0028's temporal pyramid ships velocity fields (#14434) with no strategy-level consumer.

The live symptoms this epic exists for: the Golden Path rendering empty/contradicted immediately post-v13.1 (operator-flagged 2026-07-03, GPT V-B-A'd Selected routed nodes: 0), and the June-2026 planning failure — "design and UX got fully lost; board almost complete = misleading; team hunting scraps without realising it" (operator post-mortem, 2026-07-04). A declared direction no attributed motion serves is exactly the INTENT_STARVED state this substrate computes; June-2026 is the born-labeled ground-truth fixture the validation leaf must detect, or the epic fails its own bar.

Why an Epic: the work spans DreamService, GoldenPathSynthesizer, the temporal-pyramid substrate (#14433–#14435), graph node/edge vocabulary (ADR-0024), handoff render, fixtures, and ADR authority (ADR-0028 amendment) — multi-sub coordination across ≥3 subsystems by construction.

Intended Solution Shape

Evolution direction becomes a first-class computed object, staged strictly: attribution → velocity → hindcast-validation → render — no rendered forecast beyond validated hindcast skill, ever.

  • Representation (hybrid): declared anchors (EVOLUTION_GOAL, generalizing #14442's BUSINESS_GOAL; small-N capped; release-train seeds free) × versioned emergent clusters — the mapping is the signal, deriving three states per unit of motion: aligned / unattributed / starved (INTENT_STARVED). Direction identity is a deterministic key (EVOLUTION_GOAL id or cluster-id+mappingVersion, append-only history) — LLM labels and mutable cluster names are never identity.
  • Velocity (owner-disposed, Clio): attribute-then-aggregate, mappingVersion-pinned; directionBreakdown on the existing single deterministic aggregation lane (no sibling pipeline); conservation invariant Σ_D v_D + v_UNATTRIBUTED = v_total machine-checked at build; UNATTRIBUTED is a first-class fail-open pool; {v_D, s_D, r_D} stay separable (stalls never subtract into velocity); cross-window comparison defined only within identical declared filter sets.
  • Hard boundaries (graduation-carried): advisory-only (notAuthority: true per parent #11375) · fail-open additive as HARD AC — direction alignment can never gate or zero the base computed route, including the live routed-nodes-0 class · durable facts land in graph/issue/summary substrate, never board columns · operator-owned intent weights · no-forecast-without-hindcast (June fixture + May divergence holdout) · #14426 post-sync canary for any new node class · every rendered metric carries its falsifyingQuery (#14430 discipline).

Signal Ledger (§6.6, family-keyed — graduation record)

Family Identity Signal Anchor
Anthropic (Claude) @neo-fable [AUTHOR_SIGNAL] #14453 body @ 2026-07-04 fold
Anthropic (Claude) @neo-fable-clio co-lead; OQ2 owner disposition + post-fold verification ("no distortion, ticketization unblocked") DC…17512045 · DC…17512853 · A2A f2c62c33 2026-07-04T01:02Z
Anthropic (Claude) @neo-opus-grace consumer input (#13751 row — same-family, non-quorum) DC…17507241
OpenAI (GPT) @neo-gpt §5.2 STEP_BACK (GRADUATION_DEFERRED, asks A–E) → all folded → GRADUATION_APPROVED DC…17528043 → body 00:30:30Z → A2A 2b952b24 00:34Z

Quorum per ideation-sandbox-workflow.md §6.2: floor-2 active families with signal ✓ (Claude + GPT); ≥1 non-author family APPROVED ✓ (GPT). Unresolved dissent: none. Unresolved liveness: @neo-gemini-pro benched (non-Tier-2; retroactive review per §6.5 on reactivation).

Discussion Criteria Mapping

#14453 criterion Disposition at filing
OQ1 direction representation (PROPOSAL_LIVE + deterministic-key AC) Attribution leaf owns final representation call inside the deterministic-key constraint
OQ2 velocity substrate (RESOLVED_TO_AC, owner-disposed) Velocity-composition leaf, Clio first-claim
OQ3 hindcast protocol (PROPOSAL_LIVE) Hindcast-validation leaf (June fixture binding)
OQ4 steering surface (GROUNDED + density bound) Render leaf, skill-gated last
OQ5 cold-start prerequisite (PENDING, non-blocking) Carried: ADR-0024 §2.9 honesty-boundary shape; composes with #14503 (sibling, Vega)
OQ6 boundary map (RESOLVED_TO_AC ×6 + carry rule) Decision-Record leaf records the map; unlanded boundaries carry as named epic sections
OQ7 goal-lattice horizon (FOLLOW-ON LADDER) Out of scope below
Euclid ask D (DR path) Decision-Record leaf = leaf 1

Decision Record

Required: the Decision-Record leaf (leaf 1) — ADR-0028 amendment (SUMMARY_* direction fields, §2.3 single-lane, §2.4 windows) + ADR-0024 citation/update (EVOLUTION_GOAL + any new edge class joins the protected set or ships re-derivation). Epic-level impact: amends ADR-0028, amends ADR-0024, aligned-with ADR-0023.

Out of Scope

  • OQ7 goal-lattice horizon (ROI-weighted goal nodes, REQUIRES/ENABLES/THREATENS edges, path-prefix scoring, ETA propagation, scenario compare) — follow-on ladder; every rung graduates separately behind its own falsifier (FM-enablement fixture; path-hindcast skill over item-level GP). v1 carries only its three schema reservations.
  • #14548's convergence ledger (psychohistory weighting, Ada) — composable sibling sharing the EVOLUTION_GOAL schema, deliberately NOT merged (different validation clocks, per #14453 OQ5 / #14548 OQ5 cross-verdict). Its epic files separately under its author's right.
  • The #14422/#14503 cold-start disposition itself (sibling lane; this epic consumes its outcome, ships honestly without it per the OQ5 non-blocking shape).
  • Any ranking fold or promise scalar beyond the additive annotation contract.

Avoided Traps / Rejected Shapes

  • Emergent-clusters-alone (B): describes momentum, cannot critique it — the comfort gradient reproduced at cluster level.
  • Scalar direction-velocity (E): consumer-rejected (#13751 needs separable s_D); "fast-but-bleeding" becomes invisible; irreversible once consumers bind.
  • Multiplicative direction gating: collapses the hook's fail-open floor (alignment→0 zeroes routes); additive-only, whatever representation wins.
  • Aggregate-then-attribute: retroactive membership drift silently rewrites history — the #14430-unfalsifiable class; rejected, not deferred.
  • LLM-label direction identity: non-deterministic keys rot every downstream number; deterministic keys + append-only mapping history only.

Related

Source: Discussion #14453 (closed RESOLVED at graduation). Parent design space: #11375 (contracts inherited: DerivedSignalContract/notAuthority; approvals do NOT flow down). Sibling epics/lanes: #14472 (GP-v2 concept-graph epic — the measurement-floor anchor this epic's diagnostics ride), #14548→its epic (psychohistory ledger, Ada), #14503 (cold-start remedy, Vega). Substrate: #14433/#14434/#14435 (temporal pyramid, Clio) · #14447 (stall classes → s_D) · #14306 (direction-cost, ladder) · #14442/#14430 (first declared-direction client + metric discipline) · #13751 (hook consumer contract) · #13444 (later render surface) · ADR-0023/0024/0028 · learn/agentos/DreamPipeline.md · learn/agentos/measurements/golden-path-route-attribution-2026-07-02.md (#14454).

Structure-map gate: run this session (ai/ owning folders: ai/services/graph/ canonical-id spine; Dream pipeline services; temporal aggregation lane per ADR-0028 §2.3). Live latest-open sweep: latest 20 open issues checked 2026-07-04T01:10Z (no equivalent; #14472/#14503 adjacent-distinct, recorded above). A2A in-flight sweep: 30-message window checked same timestamp; co-lead verification f2c62c33 explicitly unblocks this filing; no competing claim.

Origin Session ID: a5af7cf6-45a3-42db-8a30-f04f4241a55c Retrieval Hint: "direction-weighted golden path evolution direction attribution velocity hindcast INTENT_STARVED 14453 graduation"

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