LearnNewsExamplesServices
Frontmatter
id14503
titleGolden Path ranking reach: type-gate disposition + cold-start remedy
stateClosed
labels
enhancementaiarchitecture
assigneesneo-opus-vega
createdAtJul 2, 2026, 9:39 PM
updatedAt3:09 PM
githubUrlhttps://github.com/neomjs/neo/issues/14503
authorneo-opus-vega
commentsCount4
parentIssue14472
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 4, 2026, 4:18 PM

Golden Path ranking reach: type-gate disposition + cold-start remedy

Closed Backlog/active-chunk-2 enhancementaiarchitecture
neo-opus-vega
neo-opus-vega commented on Jul 2, 2026, 9:39 PM

Context

Consumer-5 leaf of epic #14472 (Golden Path v2) — "reach + read-ordering, not resurrection" — filed in the operator-directed full-fledging pass. Live latest-open sweep at 2026-07-02T19:37:34Z: no equivalent ticket.

The #14454 same-run route-attribution ledger (merged 1666a3de4, dataset in learn/agentos/measurements/golden-path-route-attribution-2026-07-02.md) resolved the acceptance fork non-zero structural in the hermetic scenario — the dead-write hypothesis was NOT confirmed. What remains live from the #14422 OQ4 decomposition: structural cold-start (new/unlinked nodes carry ≈0.00 structural weight, penalized precisely for being new) and the type-gate/structural-mass disjointness (durable structural weight concentrates on node types the ranking never reaches). Every production handoff now emits the ledger — the discriminating data accumulates automatically.

The Problem

The Computed Golden Path ranks with structural weight it largely cannot reach: both independent probes in the graduation record observed the durable structural mass (35,443 CONTAINS, thousands of IMPLEMENTS/RESOLVES) living on file/concept/PR node types — disjoint from what the router admits. Meanwhile genuinely-new work is structurally invisible (cold-start), so the router systematically under-ranks exactly the items an operator most wants surfaced: fresh, unlinked, high-intent tickets. Result observed live: rendered Structural: 0.00 intermittency and the original operator question — "why do new items that should reach golden path not yet?"

The Architectural Reality

  • Type-gate (designed routing boundary): ai/services/graph/computedGoldenPathRouting.mjs:72-73 — only ISSUE/DISCUSSION route ("execution-steerable"); the 42.2% label/actionability exclusion on OPEN items is likewise DESIGNED (per the graduation's entry-gate decomposition). This leaf must not widen what ROUTES.
  • Candidate pool: verify composition at claim time — the semantic candidate query on current dev constrains types at the Chroma where level (per the 2026-07-02 intake V-B-A), which may retire the older all-types crowding premise; the capture runs settle it with data.
  • Structural scoring: GoldenPathSynthesizer.mjs:749-750 (getInboundStructuralComponentsstruct_score), post-selection reinforcement at :872 (GraphService.linkNodes('frontier', id, 'GUIDES', score)).
  • Ledger instrument: ai/services/graph/goldenPathRouteLedger.mjs — per-candidate rejection buckets + pre-ranking components + GUIDES writes in one pass.
  • Cold-start remedies matrix (from the graduation, explicitly "matrix material for the epic, not AC material"): bootstrap weight · graduation-edge seeding · time-decayed novelty bonus · #14447 stall-rescue nudge (gated on its own OQ2).

The Fix

Data-first, one PR:

  1. Capture-run analysis artifact — aggregate ≥5 opt-in capture runs against the live store (diagnostics-runner pattern, the #14513 sibling; the recording library revives from pre-#14518 git history — anchor: goldenPathRouteLedger.mjs @ 085dd2339^ lineage) covering: structural-score distribution over rendered items, cold-start incidence (age vs structural), pool composition (how much of top-20 the type-gate rejects), GUIDES reinforcement loop shape. Committed under learn/agentos/measurements/.
  2. One cold-start remedy implemented, chosen FROM that artifact (not from preference): the matrix's four candidates each carry a falsifier — e.g. a time-decayed novelty bonus is rejected if the data shows cold-start items already reach render via semantic weight alone; graduation-edge seeding is rejected if graduated items show no systematic disadvantage.
  3. Structural REACH extension (visibility, not routing): ranking may consume structural mass THROUGH concept-adjacent hops (e.g., an ISSUE inherits bounded weight from concepts it IMPLEMENTS/is RESOLVES-linked to) — while computedGoldenPathRouting.mjs:72 continues to gate what ROUTES. The visibility-vs-routing boundary from the graduation stays intact and is asserted in the spec.
  4. Same-run proof: the ledger (already emitting per handoff) shows the before/after — a cold-start fixture candidate carries non-zero structural via the remedy, and no non-ISSUE/DISCUSSION node renders as actionable.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback / Edge Case Docs Evidence
struct_score composition (GoldenPathSynthesizer.mjs:749) #14422 OQ4 entry-gate decomposition Adds bounded concept-hop reach + the chosen cold-start remedy Remedy weight capped so semantic ordering cannot be inverted by structure alone (cap stated in code) Module docblock + the analysis artifact Same-run ledger fixture, before/after
Route admission (computedGoldenPathRouting.mjs:72) Designed boundary (graduation record) UNCHANGED Comment already states the rationale Spec asserts non-ISSUE/DISCUSSION never routes

Decision Record impact

aligned-with ADR 0024 (consumes edge topology; no taxonomy/protection changes). The OQ1 anchoring leaf owns any ADR amendment.

Acceptance Criteria

  • Analysis artifact committed over ≥5 opt-in capture runs (live store, distinct days/store-states preferred) with the four-remedy matrix dispositioned (chosen one justified, three rejected with data cites)
  • Chosen remedy implemented; hermetic same-run ledger spec proves a cold-start fixture reaches non-zero structural
  • Concept-hop reach implemented with an explicit weight cap; spec asserts semantic ordering is never inverted by reach alone
  • Spec asserts the routing boundary: no non-ISSUE/DISCUSSION node rendered actionable
  • Structural: 0.00 intermittency re-measured post-merge across ≥3 production handoffs (standing-watch note on this ticket)
  • PR Resolves this leaf, Refs #14472

Out of Scope

  • Widening ROUTE admission (designed boundary).
  • Label/actionability filter changes (designed, 42.2% exclusion documented as intentional).
  • Anchoring writes (OQ1 leaf); retrieval consumption (consumer-1 leaf).

Avoided Traps

  • Resurrection framing — the goal is reaching weight that EXISTS and un-penalizing newness, not inflating scores until old items resurface.
  • Remedy-by-preference — the matrix is dispositioned from ledger data; ambition does not pre-empt the probe (the epic's standing discipline).
  • Visibility/routing conflation — concept mass informs ranking; it never makes a concept a routable work item.

Sequencing

Executable now via opt-in capture runs (the passive per-handoff emission path was removed as handoff bloat per #14517 — operator-directed; capture is on-demand by design). Independent of #14474/the defrag leaf (consumes ids as-is; benefits from both).

Related: #14472 (parent epic), #14454 (the instrument), #14447 (stall-rescue interaction, gated on its OQ2), Discussion #14422 (OQ4 decomposition)

Origin Session ID: 8cf234b7-e698-47ca-99e2-bf865196b6aa

Retrieval Hint: golden path ranking reach type-gate cold-start remedy ledger analysis visibility vs routing