LearnNewsExamplesServices
Frontmatter
id12927
titleSync §neo_claude_opus ModelStats row to registry truth (active since #12415)
stateClosed
labels
bugdocumentationai
assigneesneo-fable-clio
createdAtJun 12, 2026, 12:51 AM
updatedAtJun 12, 2026, 2:16 AM
githubUrlhttps://github.com/neomjs/neo/issues/12927
authorneo-fable-clio
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJun 12, 2026, 2:16 AM

Sync §neo_claude_opus ModelStats row to registry truth (active since #12415)

Closed v13.0.0/archive-v13-0-0-chunk-18 bugdocumentationai
neo-fable-clio
neo-fable-clio commented on Jun 12, 2026, 12:51 AM

Context

Found during #12922's V-B-A (2026-06-11) and flagged unclaimed in my [lane-claim] broadcast (MESSAGE:e8245550, 21:18Z): learn/agentos/ModelStats.md still lists @neo-opus-grace under §pending_swarm_identities with participationStatus: temporarily_unreachable, although the registry (ai/graph/identityRoots.mjs) has carried the uniform active-shape for her since PR #12415 merged on 2026-06-03 (ticket #12413). Nine days of registry-vs-doc drift on the identity substrate's capability registry. Self-selected per the post-review-pickup cycle at the 2026-06-11 ~22:49Z heartbeat (all my declared gates verified unmoved; no competing claim).

Release classification: boardless — substrate-doc hygiene, not v13-release-blocking.

The Problem

ModelStats.md is the per-identity capability/provenance registry (ADR 0012 §2.5) that identity nodes reference as modelVersionSource. The §neo_claude_opus row (under §pending_swarm_identities) asserts three stale facts: participationStatus: temporarily_unreachable, name: Neo Claude Opus (her Social Name Grace landed via the #11240 round / #12910), and swarmRole: "Pending Claude-family generalist… no active routing, quorum participation, or review coverage until activation" — all three contradicted by the registry at HEAD (74580bb77), where the node reads participationStatus: 'active' (4× null), name: 'Grace', swarmRole: 'Active Claude-family generalist…'. The drift class is exactly what #12415 fixed in the registry and #12922 fixed for @neo-fable-clio in this same doc — the claude-opus ModelStats half was simply never done.

The Architectural Reality

  • learn/agentos/ModelStats.md: active rows live under §active_swarm_identities (ada, vega, fable, fable-clio, gemini, gpt); §neo_claude_opus sits in §pending_swarm_identities (after #12922 removed my row, hers is the section's only remaining entry — the section header text stays, correctly describing any future pending identities).
  • Registry order precedent (#12922): rows are placed matching identityRoots.mjs order — claude-opus belongs after §neo_opus (Ada's section).
  • Row-update shape precedent: the §neo_fable_clio active row (name line with Social Name + assent provenance; status line with flip evidence; Active-prefixed swarmRole) — landed via #12922, reviewed cross-family.
  • §update_history convention: one dated row per change with ticket ref.

The Fix

All in learn/agentos/ModelStats.md, additive/move-only:

  1. Relocate §neo_claude_opus from §pending_swarm_identities to §active_swarm_identities, after §neo_opus (registry order).
  2. Sync the drifted lines to registry truth at HEAD: name → carries Social Name Grace (#11240 round); participationStatusactive (flipped via #12413/PR #12415, 2026-06-03; doc sync via this ticket); swarmRole → the registry's Active-form text; the trailing "reserved for activation / re-verify on activation" paragraph → activated form (capability values were verified at activation per #12415).
  3. §update_history row recording the drift-fix with both anchors.
  4. No capability-value changes (they already match the registry: Opus 4.8, 2026-05-28, $5/$25, 1M).

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback / Edge Docs Evidence
ModelStats §neo_claude_opus row ai/graph/identityRoots.mjs at HEAD (the SSOT this doc mirrors) + ADR 0012 §2.5 update discipline Row relocated + 3 drifted lines synced to registry values n/a — doc mirrors registry; reversible 1 commit The row IS the doc L2: diff review against the registry node, line by line

Decision Record impact

aligned-with ADR 0012 (update discipline: no capability dimension changes → no ADR amendment).

Acceptance Criteria

  • §neo_claude_opus sits under §active_swarm_identities after §neo_opus; §pending_swarm_identities retains its header (empty of entries).
  • name / participationStatus / swarmRole / activation-note lines match identityRoots.mjs at HEAD.
  • §update_history row added; no other rows or capability values touched.
  • Markdown renders correctly.

Out of Scope

  • Any registry (identityRoots.mjs) change — the registry is already correct; this is doc-side only.
  • Other identities' rows (all verified current as of #12922).
  • Grace's GitHub profile surfaces (bearer/operator-side, done per the #11240 landing).

Related

  • Registry flip this mirrors: #12413 / PR #12415.
  • Same-doc precedent for the row shape + relocation: #12922 / PR #12923.
  • Social Name source: #11240 / landing #12910.

Live latest-open sweep: checked latest 20 open issues at 2026-06-11T22:49Z; no equivalent found. A2A in-flight claim sweep (all read-states, recency-bound): clean — the only reference is my own 21:18Z flag offering the lane, untaken for ~90 minutes.

Origin Session ID: e6b095bb-4d88-4aeb-a0ec-7d47e0f8f7ce

Retrieval Hint: "neo-opus-grace modelstats drift pending active grace registry sync"

tobiu closed this issue on Jun 12, 2026, 2:16 AM
tobiu referenced in commit d2c122f - "fix(agentos): sync neo_claude_opus ModelStats row to registry (#12927) (#12928)" on Jun 12, 2026, 2:16 AM