LearnNewsExamplesServices
Frontmatter
id14508
titleConcept anchoring: OQ1 disposition from the measurement floor + implementation
stateOpen
labels
enhancementaiarchitecture
assignees[]
createdAtJul 2, 2026, 9:43 PM
updatedAt3:04 PM
githubUrlhttps://github.com/neomjs/neo/issues/14508
authorneo-opus-vega
commentsCount0
parentIssue14472
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]

Concept anchoring: OQ1 disposition from the measurement floor + implementation

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

Context

The epic's gating leaf: #14472's measurement floor decides the anchoring architecture (Matrix-1: A graph-native edges at add_memory time / C derived nightly index / D candidate-now-promote-later), and this leaf executes that decision — data first, disposition recorded, implementation follows in the same PR chain. Filed in the operator-directed full-fledging pass; live latest-open sweep 2026-07-02T19:37:34Z: no equivalent ticket.

This is the ONE leaf whose outcome may amend an ADR: the graduation's Decision-Record ruling is ADR-0024 amendment iff the disposition lands on A (graph-native); recorded either way.

The Problem

Concept anchoring is the epic's foundation question and it is deliberately undecided: the graduation refused to pick A/C/D from ambition after two independent probes disagreed on live edge state within minutes (frontier churn). The decision inputs now exist or are accumulating: the #14454 route-attribution ledger emits per production handoff (durability/churn evidence), and the #14474 probe artifact supplies neighborhood reachability + axis-presence reality. Until this leaf lands, consumers 1/3/4 run over UNANCHORED memory-concept linkage (TAGGED_CONCEPT only) — workable, but the multi-hop walks the graduation designed for (concept → sibling → attached memories → decisions) stay shallow.

The Architectural Reality

  • Option A (graph-native): MEMORY→CONCEPT edges written at add_memory time. Falsifier: measurable degradation of the never-fail write contract (the #12972 hardening arc) — benchmark before adopting. Durability disposition is part of A (from Matrix-1): (i) re-derive neighborhoods from source truth per cycle, OR (ii) amend ADR 0023/0024 to protect PROMOTED concept edges — ai/services/memory-core/GraphService.mjs:73 PROTECTED_EDGE_TYPES (decay exclusion applied at :642-651), OR (iii) keep decaying-scent semantics and accept re-derivation.
  • Option C (derived nightly): Dream-window consolidation computes concept↔memory mappings; zero write-path risk (ADR 0023 role-consistent). Falsifier: consumer-4's re-derivation detection needs intra-day freshness — test against actual wake cadence data.
  • Option D (candidate→promote, the GPT-family cycle-1 shape): cheap candidate tags at write time; durable graph edges only on promotion. Falsifier: promotion latency starving same-day consumers degrades D to C's staleness.
  • The flagged hypothesis with falsifier (Matrix-1/A, from the graduation): "durable structural weight lives on type-gated-out concepts" holds only if decay actually preserves concept-edge weight through a cycle — existence ≠ durability. TRUE → the type-gate blocks a second consumer class; FALSE → concepts are invisible AND decaying (urgency upgrade). The ledger emissions answer this.

The Fix

One PR chain, decision-then-implementation:

  1. Disposition artifact (learn/agentos/measurements/): aggregate ≥5 production ledger emissions (edge-weight persistence across cycles → the durability hypothesis verdict) + the #14474 reachability/axis data + an add_memory write-path micro-benchmark (A's falsifier, measured not assumed). Apply each option's falsifier; record the disposition ON THE EPIC with data cites.
  2. Implement the surviving option: A → edge writes behind the never-fail contract (write-through with isolation: an edge failure never fails the memory write) + the chosen durability disposition (i/ii/iii); C → Dream-window derivation pass; D → candidate tags + promotion rules into the existing curation tiers.
  3. ADR text: iff A, the ADR-0024 amendment (protected-types change or re-derivation policy) rides in the same PR; iff C/D, a decision note on the epic records why no amendment.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback / Edge Case Docs Evidence
add_memory write path (iff A) #12972 never-fail contract Anchor-edge write isolated; memory write never fails on edge failure Edge-write error → logged, memory committed, edge queued for repair Service JSDoc Micro-benchmark + fault-injection spec
PROTECTED_EDGE_TYPES (GraphService.mjs:73, iff A+ii) ADR 0024 PROMOTED concept edges protected from decay Non-promoted stay decaying (scent preserved) ADR amendment Decay-cycle spec
Dream window (iff C) ADR 0023 consolidation role Nightly concept↔memory derivation Missed window → previous mapping serves, staleness stamped DreamService JSDoc Cadence spec

Decision Record impact

conditional: amends ADR 0024 iff disposition = A (+possibly ADR 0023); aligned-with otherwise, with the disposition note recorded on the epic either way. This line is the leaf's defining property — flag it in review routing.

Acceptance Criteria

  • Disposition artifact: durability-hypothesis verdict from ≥5 ledger emissions + probe data + write-path benchmark; all three falsifiers explicitly applied
  • Disposition recorded on epic #14472 with data cites BEFORE implementation commits
  • Surviving option implemented with its falsifier-derived guards (isolation / staleness stamps / promotion rules per the branch taken)
  • ADR amendment or no-amendment note delivered per the conditional ruling
  • Consumers upgraded transparently: #14504's walks and #14505's slices consume anchoring without interface change (spec-checked)
  • PR(s) Resolves this leaf, Refs #14472

Out of Scope

  • Retrieval/render consumption (consumer leaves own it).
  • Re-anchoring historical memories beyond what the chosen option's backfill defines (backfill scope stated in the disposition artifact, not assumed).

Avoided Traps

  • Deciding from ambition — the graduation re-opened its own criterion twice for exactly this; the falsifiers run against DATA or the leaf does not proceed.
  • Write-path heroism — under A, the memory write's never-fail contract outranks anchoring completeness, permanently.
  • Silent ADR bypass — an A-implementation without the amendment (or a C/D without the no-amendment note) fails the Decision-Record ruling carried from graduation.

Sequencing

Hard-gated on: the #14474 measurements artifact + ≥5 production ledger emissions (count at claim time: ls learn/agentos/measurements/ + the handoff cadence since 1666a3de4). The falsifier data, not the calendar, opens this leaf.

Related: #14472 (parent epic), #14454 + #14474 (decision inputs), #14502 (spine unification — anchor to canonical ids), ADR 0023 / ADR 0024, Discussion #14422 (Matrix-1 + OQ1)

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

Retrieval Hint: OQ1 anchoring disposition graph-native derived candidate-promote falsifiers protected edge types