Context
@tobiu confirmed all three Claude-family maintainers now run Claude Opus 4.8, but the canonical model registry and the public README still record two of them at the Opus 4.7 class. This is data-drift: the rows were correct when written; the deployed models have since been bumped, so the registry now asserts a false version/capability fact. Surfaced during @neo-opus-vega onboarding while grounding the 4-layer identity model (#11240); verified by reading the files directly, plus operator authority and live A2A evidence that @neo-opus-grace is reachable/active this session (contradicting its temporarily_unreachable status — see Out of Scope).
The Problem
Agents read ModelStats.md as the authoritative source of model-version + capability truth — it backs the version-free-handle indirection (ADR 0018), the L1 identity-prior, and capability/routing assumptions. A stale 4.7 value silently misinforms every agent that consults it (e.g. concluding @neo-opus-ada is weaker than it is, or that @neo-opus-grace is unreachable when it is actively reviewing PRs). Because ADR 0018 deliberately moves the version OUT of the handle and INTO the registry row, the row is the only place the version is asserted — its accuracy is load-bearing, not cosmetic.
The Architectural Reality
learn/agentos/ModelStats.md (governed by ADR 0012):
§neo_opus_4_7 (line ~27): name = Claude Opus 4.7; benchmark SWE-bench Verified: 87.6%; releaseDate 2026-04-16; sources cite the generic Models-overview, not Opus 4.8.
§neo_claude_opus (line ~135, under §pending_swarm_identities): row "mirrors the Claude Opus model-class capability values from §neo_opus_4_7" (i.e. 4.7-class).
§neo_opus_vega (line ~50) is already correct (Opus 4.8 + Anthropic Opus 4.8 primary sources) — the single-source template the other two rows should derive from.
README.md maintainer table:
- line 76:
@neo-opus-ada | AI maintainer (Anthropic Claude Opus 4.7).
- line 77:
@neo-opus-grace | AI maintainer (Anthropic Claude — same-family generalist…) — no explicit version.
The Fix
Single-source-derive the Opus 4.8 fact across the drifted surfaces (apply the neo-identity-update skill's FACT-single-source discipline; the corrected §neo_opus_vega row is the template):
ModelStats.md §neo_opus_4_7: name → Claude Opus 4.8; update benchmarkSnapshot, releaseDate, and Sources to the Anthropic Opus 4.8 citations (reuse the two primary links from §neo_opus_vega). Per ADR 0012 §2.5(1), authoritative-source-cite the bumped capability values.
ModelStats.md §neo_claude_opus: update mirrored version-class facts → Opus 4.8; keep the "mirrors §neo_opus_4_7" note accurate (both 4.8 post-fix).
README.md: @neo-opus-ada row Opus 4.7 → Opus 4.8; @neo-opus-grace row gains explicit Claude Opus 4.8.
- Bump
ModelStats.md Last updated date.
Contract Ledger Matrix
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
ModelStats.md §neo_opus_4_7 (name + benchmark + sources) |
ADR 0012 §2.5; Anthropic Opus 4.8 release |
Claude Opus 4.7 → 4.8 + 4.8 source cites |
n/a (doc) |
this row |
Read lines 22–44 (verified 4.7) |
ModelStats.md §neo_claude_opus (version-class facts) |
ADR 0012 §2.5; operator confirmation |
mirror updated to Opus 4.8 |
n/a |
this row |
Read lines 130–157 (verified 4.7-mirror) |
README.md maintainer rows (@neo-opus-ada, @neo-opus-grace) |
README identity surface; ADR 0018 |
version text → Opus 4.8 |
n/a |
this row |
grep README:76–77 (verified) |
Decision Record impact
aligned-with ADR 0012 (model-stats update discipline — a version/benchmark change requires authoritative-source-cite per §2.5; no ADR amendment needed) and aligned-with ADR 0018 (handle-indirection — this RESPECTS the version-in-registry-not-in-handle boundary; it touches no handles). Does not challenge or supersede any ADR.
Acceptance Criteria
Out of Scope
- The
@neo-opus-ada → @neo-opus handle rename + §neo_opus_4_7 section-name change — separate in-flight rename-migration work; bundling would be cross-scope. This ticket corrects only the version FACT and deliberately leaves the version-encoding handle/section to the rename (coordinate sequencing — see Related).
@neo-opus-grace pending→active row flip + section move + participationStatus — per #12430's explicit out-of-scope note, tracked by #12415 or separate activation work. This ticket updates the row's version value in place; it does not move the row or change its status.
- GitHub-account or Native-Edge-Graph identity-node rename mechanics.
Avoided Traps
- Bundling the version-fact correction with the handle rename. The rename is higher-blast and in-flight; merging them violates no-cross-scope-bundling and would collide with the rename owner's lane. Kept narrow.
- Editing the version-encoding handle/section directly. ADR 0018 puts the version in the registry ROW, not the handle — so correcting the version means editing the row's
name/fields, NOT renaming @neo-opus-ada. Doing the latter here would duplicate the rename work and violate handle-indirection.
Related
- #12430 — added
@neo-opus-grace to the README roster; per its body, deferred the ModelStats pending→active flip (to #12415 or separate activation work).
- #12517 — added the
@neo-opus-vega row (already correct 4.8; the single-source template used here).
- The in-flight
@neo-opus handle rename-migration (referenced in swarm A2A) — coordinate sequencing of the section-name / handle change.
- ADR 0012 (model-stats framework), ADR 0018 (handle indirection).
Origin Session ID: cbdc8cf9-0844-4388-b2a2-3498825c736f
Handoff Retrieval Hint: query_summaries "ModelStats Opus 4.8 version-fact drift neo-opus-ada neo-opus-grace"; target rows ModelStats.md §neo_opus_4_7 / §neo_claude_opus.
Context
@tobiuconfirmed all three Claude-family maintainers now run Claude Opus 4.8, but the canonical model registry and the public README still record two of them at the Opus 4.7 class. This is data-drift: the rows were correct when written; the deployed models have since been bumped, so the registry now asserts a false version/capability fact. Surfaced during@neo-opus-vegaonboarding while grounding the 4-layer identity model (#11240); verified by reading the files directly, plus operator authority and live A2A evidence that@neo-opus-graceis reachable/active this session (contradicting itstemporarily_unreachablestatus — see Out of Scope).The Problem
Agents read
ModelStats.mdas the authoritative source of model-version + capability truth — it backs the version-free-handle indirection (ADR 0018), the L1 identity-prior, and capability/routing assumptions. A stale4.7value silently misinforms every agent that consults it (e.g. concluding@neo-opus-adais weaker than it is, or that@neo-opus-graceis unreachable when it is actively reviewing PRs). Because ADR 0018 deliberately moves the version OUT of the handle and INTO the registry row, the row is the only place the version is asserted — its accuracy is load-bearing, not cosmetic.The Architectural Reality
learn/agentos/ModelStats.md(governed by ADR 0012):§neo_opus_4_7(line ~27):name=Claude Opus 4.7; benchmarkSWE-bench Verified: 87.6%;releaseDate 2026-04-16; sources cite the generic Models-overview, not Opus 4.8.§neo_claude_opus(line ~135, under§pending_swarm_identities): row "mirrors the Claude Opus model-class capability values from§neo_opus_4_7" (i.e. 4.7-class).§neo_opus_vega(line ~50) is already correct (Opus 4.8 + Anthropic Opus 4.8 primary sources) — the single-source template the other two rows should derive from.README.mdmaintainer table:@neo-opus-ada | AI maintainer (Anthropic Claude Opus 4.7).@neo-opus-grace | AI maintainer (Anthropic Claude — same-family generalist…)— no explicit version.The Fix
Single-source-derive the Opus 4.8 fact across the drifted surfaces (apply the
neo-identity-updateskill's FACT-single-source discipline; the corrected§neo_opus_vegarow is the template):ModelStats.md §neo_opus_4_7:name→Claude Opus 4.8; updatebenchmarkSnapshot,releaseDate, andSourcesto the Anthropic Opus 4.8 citations (reuse the two primary links from§neo_opus_vega). Per ADR 0012 §2.5(1), authoritative-source-cite the bumped capability values.ModelStats.md §neo_claude_opus: update mirrored version-class facts → Opus 4.8; keep the "mirrors§neo_opus_4_7" note accurate (both 4.8 post-fix).README.md:@neo-opus-adarowOpus 4.7→Opus 4.8;@neo-opus-gracerow gains explicitClaude Opus 4.8.ModelStats.mdLast updated date.Contract Ledger Matrix
ModelStats.md §neo_opus_4_7(name + benchmark + sources)Claude Opus 4.7→4.8+ 4.8 source cites4.7)ModelStats.md §neo_claude_opus(version-class facts)README.mdmaintainer rows (@neo-opus-ada,@neo-opus-grace)Opus 4.8Decision Record impact
aligned-with ADR 0012(model-stats update discipline — a version/benchmark change requires authoritative-source-cite per §2.5; no ADR amendment needed) andaligned-with ADR 0018(handle-indirection — this RESPECTS the version-in-registry-not-in-handle boundary; it touches no handles). Does not challenge or supersede any ADR.Acceptance Criteria
§neo_opus_4_7.namereadsClaude Opus 4.8; benchmark + sources updated to Opus 4.8 with authoritative cites (ADR 0012 §2.5).§neo_claude_opusversion-class facts read Opus 4.8; the "mirrors§neo_opus_4_7" note remains accurate.README.md@neo-opus-adarow readsOpus 4.8;@neo-opus-gracerow statesClaude Opus 4.8.ModelStats.mdLast updated date bumped.ModelStats.md+README.mdpost-change (single-source-derive verified).§-section-name, or pending→active row-placement changes (see Out of Scope).Out of Scope
@neo-opus-ada→@neo-opushandle rename +§neo_opus_4_7section-name change — separate in-flight rename-migration work; bundling would be cross-scope. This ticket corrects only the version FACT and deliberately leaves the version-encoding handle/section to the rename (coordinate sequencing — see Related).@neo-opus-gracepending→active row flip + section move +participationStatus— per#12430's explicit out-of-scope note, tracked by#12415or separate activation work. This ticket updates the row's version value in place; it does not move the row or change its status.Avoided Traps
name/fields, NOT renaming@neo-opus-ada. Doing the latter here would duplicate the rename work and violate handle-indirection.Related
@neo-opus-graceto the README roster; per its body, deferred theModelStatspending→active flip (to#12415or separate activation work).@neo-opus-vegarow (already correct 4.8; the single-source template used here).@neo-opushandle rename-migration (referenced in swarm A2A) — coordinate sequencing of the section-name / handle change.Origin Session ID: cbdc8cf9-0844-4388-b2a2-3498825c736f Handoff Retrieval Hint: query_summaries "ModelStats Opus 4.8 version-fact drift neo-opus-ada neo-opus-grace"; target rows
ModelStats.md §neo_opus_4_7/§neo_claude_opus.