---
id: 12531
title: ModelStats + README record Opus 4.7 for two 4.8 Claude maintainers
state: CLOSED
labels:
  - bug
  - documentation
  - ai
  - model-experience
assignees:
  - neo-opus-vega
createdAt: '2026-06-04T18:26:33Z'
updatedAt: '2026-06-07T17:18:52Z'
githubUrl: 'https://github.com/neomjs/neo/issues/12531'
author: neo-opus-vega
commentsCount: 0
parentIssue: null
subIssues: []
subIssuesCompleted: 0
subIssuesTotal: 0
blockedBy: []
blocking: []
closedAt: '2026-06-05T23:16:49Z'
---
# ModelStats + README record Opus 4.7 for two 4.8 Claude maintainers

## 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-claude-opus` 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-claude-opus` 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-claude-opus | 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):
1. `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.
2. `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).
3. `README.md`: `@neo-opus-ada` row `Opus 4.7` → `Opus 4.8`; `@neo-claude-opus` row gains explicit `Claude Opus 4.8`.
4. 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-claude-opus`) | 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
- [ ] `§neo_opus_4_7.name` reads `Claude Opus 4.8`; benchmark + sources updated to Opus 4.8 with authoritative cites (ADR 0012 §2.5).
- [ ] `§neo_claude_opus` version-class facts read Opus 4.8; the "mirrors `§neo_opus_4_7`" note remains accurate.
- [ ] `README.md` `@neo-opus-ada` row reads `Opus 4.8`; `@neo-claude-opus` row states `Claude Opus 4.8`.
- [ ] `ModelStats.md` **Last updated** date bumped.
- [ ] Version fact consistent across `ModelStats.md` + `README.md` post-change (single-source-derive verified).
- [ ] No handle, `§`-section-name, or pending→active row-placement changes (see Out of Scope).

## 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-claude-opus` 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-claude-opus` 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-claude-opus"; target rows `ModelStats.md §neo_opus_4_7` / `§neo_claude_opus`.

## Timeline

- 2026-06-04T18:26:33Z @neo-opus-vega assigned to @neo-opus-vega
- 2026-06-04T18:26:34Z @neo-opus-vega added the `bug` label
- 2026-06-04T18:26:34Z @neo-opus-vega added the `documentation` label
- 2026-06-04T18:26:34Z @neo-opus-vega added the `ai` label
- 2026-06-04T18:26:34Z @neo-opus-vega added the `model-experience` label
- 2026-06-04T19:05:03Z @neo-opus-vega cross-referenced by PR #12534
- 2026-06-04T19:24:24Z @neo-opus-vega cross-referenced by #12535
- 2026-06-05T21:10:56Z @neo-opus-vega cross-referenced by PR #12599
- 2026-06-05T21:24:40Z @neo-opus-vega referenced in commit `eb7a6d0` - "fix(agentos): record Opus 4.8 for @neo-opus-ada + @neo-claude-opus (#12531)

ModelStats `§neo_opus` + `§neo_claude_opus` and the two README maintainer rows recorded the stale Opus 4.7 class for two Claude maintainers @tobiu confirmed now run Opus 4.8. Values single-source-derived from the already-vetted `§neo_opus_vega` 4.8 row. Opened as a fresh PR superseding the CONFLICTING #12534 after the @neo-opus-4-7 -> @neo-opus-ada rename + section-rename landed on dev. identityRoots.mjs carries the same drift but is left to coordinate with @neo-claude-opus's #10271 graph-provisioning lane."
- 2026-06-05T21:24:40Z @neo-opus-vega referenced in commit `3768bfc` - "fix(agentos): extend Opus 4.8 version-fact to identityRoots.mjs seed (#12531)

Folds the third drifted surface into #12531: ai/graph/identityRoots.mjs recorded the stale 4.7 for @neo-opus-ada (description + releaseDate + sunsetTriggers) and @neo-claude-opus (releaseDate + sunsetTriggers; description gains Opus 4.8). @neo-claude-opus confirmed #10271 is GraphService-only (does not touch this seed), so the version-fact is #12531 scope, not his. Mirrors the §neo_opus_vega template."
- 2026-06-05T21:52:14Z @neo-opus-vega referenced in commit `3d19700` - "fix(agentos): sweep residual Opus 4.7 source-comment + binding rows (#12531)

Addresses @neo-gpt's #12599 review (source/comment sweep): identityRoots.mjs §neo_opus source-comment -> Anthropic Opus 4.8 (was stale models-overview + aipricing.guru); MemoryCoreMcpAuth.md:105 graph-node binding row -> Opus 4.8; .codex/CODEX.md:19 peer-roster -> version-free (per its own 'do not hard-code the active model' note + the version-free Gemini sibling). Historical author signatures + illustrative examples + reference-model rows left intact."
- 2026-06-05T23:07:37Z @neo-opus-vega referenced in commit `486b3d8` - "fix(agentos): record Opus 4.8 for @neo-opus-ada + @neo-claude-opus (#12531)

ModelStats `§neo_opus` + `§neo_claude_opus` and the two README maintainer rows recorded the stale Opus 4.7 class for two Claude maintainers @tobiu confirmed now run Opus 4.8. Values single-source-derived from the already-vetted `§neo_opus_vega` 4.8 row. Opened as a fresh PR superseding the CONFLICTING #12534 after the @neo-opus-4-7 -> @neo-opus-ada rename + section-rename landed on dev. identityRoots.mjs carries the same drift but is left to coordinate with @neo-claude-opus's #10271 graph-provisioning lane."
- 2026-06-05T23:07:37Z @neo-opus-vega referenced in commit `48f5116` - "fix(agentos): extend Opus 4.8 version-fact to identityRoots.mjs seed (#12531)

Folds the third drifted surface into #12531: ai/graph/identityRoots.mjs recorded the stale 4.7 for @neo-opus-ada (description + releaseDate + sunsetTriggers) and @neo-claude-opus (releaseDate + sunsetTriggers; description gains Opus 4.8). @neo-claude-opus confirmed #10271 is GraphService-only (does not touch this seed), so the version-fact is #12531 scope, not his. Mirrors the §neo_opus_vega template."
- 2026-06-05T23:07:38Z @neo-opus-vega referenced in commit `5443967` - "fix(agentos): sweep residual Opus 4.7 source-comment + binding rows (#12531)

Addresses @neo-gpt's #12599 review (source/comment sweep): identityRoots.mjs §neo_opus source-comment -> Anthropic Opus 4.8 (was stale models-overview + aipricing.guru); MemoryCoreMcpAuth.md:105 graph-node binding row -> Opus 4.8; .codex/CODEX.md:19 peer-roster -> version-free (per its own 'do not hard-code the active model' note + the version-free Gemini sibling). Historical author signatures + illustrative examples + reference-model rows left intact."
- 2026-06-05T23:07:38Z @neo-opus-vega referenced in commit `49dfbb0` - "fix(agentos): list all three Claude Opus peers in the CODEX A2A roster (#12531)

Operator change-request on #12599: the .codex/CODEX.md A2A-peers line listed only @neo-opus-ada, but @neo-gpt has three Claude Opus teammates — adding @neo-claude-opus and @neo-opus-vega. Completes the version-free peer-roster from the prior sweep commit."
- 2026-06-05T23:16:49Z @tobiu closed this issue
- 2026-06-05T23:16:50Z @tobiu referenced in commit `17c7285` - "fix(agentos): record Opus 4.8 for @neo-opus-ada + @neo-claude-opus (#12531) (#12599)

* fix(agentos): record Opus 4.8 for @neo-opus-ada + @neo-claude-opus (#12531)

ModelStats `§neo_opus` + `§neo_claude_opus` and the two README maintainer rows recorded the stale Opus 4.7 class for two Claude maintainers @tobiu confirmed now run Opus 4.8. Values single-source-derived from the already-vetted `§neo_opus_vega` 4.8 row. Opened as a fresh PR superseding the CONFLICTING #12534 after the @neo-opus-4-7 -> @neo-opus-ada rename + section-rename landed on dev. identityRoots.mjs carries the same drift but is left to coordinate with @neo-claude-opus's #10271 graph-provisioning lane.

* fix(agentos): extend Opus 4.8 version-fact to identityRoots.mjs seed (#12531)

Folds the third drifted surface into #12531: ai/graph/identityRoots.mjs recorded the stale 4.7 for @neo-opus-ada (description + releaseDate + sunsetTriggers) and @neo-claude-opus (releaseDate + sunsetTriggers; description gains Opus 4.8). @neo-claude-opus confirmed #10271 is GraphService-only (does not touch this seed), so the version-fact is #12531 scope, not his. Mirrors the §neo_opus_vega template.

* fix(agentos): sweep residual Opus 4.7 source-comment + binding rows (#12531)

Addresses @neo-gpt's #12599 review (source/comment sweep): identityRoots.mjs §neo_opus source-comment -> Anthropic Opus 4.8 (was stale models-overview + aipricing.guru); MemoryCoreMcpAuth.md:105 graph-node binding row -> Opus 4.8; .codex/CODEX.md:19 peer-roster -> version-free (per its own 'do not hard-code the active model' note + the version-free Gemini sibling). Historical author signatures + illustrative examples + reference-model rows left intact.

* fix(agentos): list all three Claude Opus peers in the CODEX A2A roster (#12531)

Operator change-request on #12599: the .codex/CODEX.md A2A-peers line listed only @neo-opus-ada, but @neo-gpt has three Claude Opus teammates — adding @neo-claude-opus and @neo-opus-vega. Completes the version-free peer-roster from the prior sweep commit."

