LearnNewsExamplesServices
Frontmatter
id12578
titleReplace neo-opus identity anchors with neo-opus-ada
stateClosed
labels
bugairefactoringregressionmodel-experience
assigneesneo-gpt
createdAtJun 5, 2026, 5:13 PM
updatedAtJun 7, 2026, 7:18 PM
githubUrlhttps://github.com/neomjs/neo/issues/12578
authorneo-gpt
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJun 5, 2026, 5:59 PM

Replace neo-opus identity anchors with neo-opus-ada

Closed v13.0.0/archive-v13-0-0-chunk-16 bugairefactoringregressionmodel-experience
neo-gpt
neo-gpt commented on Jun 5, 2026, 5:13 PM

Context

PR #12561 (feat(identity): rename core swarm handles (#12518)) merged on 2026-06-05 and changed the active Claude Opus 4.7 stable handle toward neo-opus. Immediately after merge, the operator confirmed the GitHub username neo-opus is not claimable, then claimed neo-opus-ada and set the display name to Neo Opus Ada.

This ticket is the follow-up repair: update the current identity contract from neo-opus to neo-opus-ada everywhere that represents active identity, routing, scripts, tests, docs, and migration behavior.

Live latest-open sweep: checked latest 20 open issues on 2026-06-05 before filing; no equivalent found. Targeted live searches for neo-opus identity rename neo-opus-ada returned no open issue; 12561 identity rename only surfaced unrelated #12535. Semantic ticket sweep via Knowledge Base found no open equivalent for neo-opus identity rename neo-opus-ada scripts.

The Problem

The merged substrate now contains current identity anchors for neo-opus, but the account cannot be used. Any runtime or script path that binds to GitHub handles, Memory Core identities, A2A routing, wake/resume targeting, migration mappings, or generated docs can now drift from the actual account: neo-opus-ada.

The risk is not just README prose. The active inventory includes scripts and runtime/test surfaces that treat the handle as a machine identity key. A read-only grep on 2026-06-05 found current-surface hits including:

  • README.md, AGENTS.md, AGENTS_STARTUP.md, .codex/CODEX.md, .agents/ANTIGRAVITY_RULES.md
  • ai/graph/identityRoots.mjs
  • ai/scripts/setup/seedAgentIdentities.mjs
  • ai/scripts/migrations/renameAgentIdentities.mjs, normalizeGraphIdentities.mjs, backfillChromaSharedUserId.mjs
  • ai/scripts/lifecycle/resumeHarness.mjs, harnessLifecycle.mjs, idleOutNudge.mjs, checkSunsetted.mjs, checkAllAgentIdle.mjs
  • ai/mcp/server/shared/services/*, ai/mcp/server/memory-core/openapi.yaml
  • ai/services/memory-core/*
  • learn/agentos/ModelStats.md, IdentitySchema.md, MemoryCore.md, SharedDeployment.md, DeploymentCookbook.md, OwnAgentTeam.md, tooling/MemoryCoreMcpAuth.md, wake-substrate docs
  • tests under test/playwright/unit/ai/**

Historical records also contain many neo-opus / neo-opus-ada mentions. Those must be classified, not blindly rewritten.

The Architectural Reality

PR #12561 deliberately separated current active contract updates from archival prose/history. This repair should keep that boundary:

  • Active identity surfaces must use the real GitHub login neo-opus-ada and display name Neo Opus Ada where a human-facing display name is encoded.
  • Historical evidence such as old PR bodies, archived resources, incident timelines, ADR authorship lines, and measurements should remain untouched unless they are explicitly current contract examples.
  • Migration scripts must map the actual old handles to the actual new handle. neo-opus is now an intermediate failed target, not the final account.
  • Runtime and test contracts must use the same canonical identity key that the GitHub account and Memory Core graph can bind.

The Fix

Audit all current neo-opus identity spots introduced or touched by #12561 and update them to neo-opus-ada / Neo Opus Ada as appropriate. Include scripts, migration mappings, openapi examples, docs, test fixtures, and current identity registry surfaces.

The implementation should produce an explicit classification ledger:

Class Action
Current runtime / routing / auth / wake surfaces Update to neo-opus-ada
Current scripts / migrations / setup helpers Update mapping and expected final handle to neo-opus-ada
Current docs / README / harness setup examples Update to neo-opus-ada; display name Neo Opus Ada where present
Tests asserting current identity contracts Update expected values to neo-opus-ada
Historical archives / PR records / incident evidence Leave unchanged unless the file is a current contract example

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
Active Claude Opus 4.7 GitHub identity Operator-confirmed account claim neo-opus-ada is the final stable handle; display name Neo Opus Ada None; neo-opus is unclaimable README / ModelStats / identity docs Operator confirmation 2026-06-05
Identity registry and Memory Core binding ai/graph/identityRoots.mjs and Memory Core identity model Active node/login routes to @neo-opus-ada Migration aliases may accept old handles only as inputs learn/agentos/IdentitySchema.md, MemoryCoreMcpAuth.md #12561 post-merge breakage
Migration scripts ai/scripts/migrations/renameAgentIdentities.mjs and sibling migration helpers Old handles map to final neo-opus-ada, not neo-opus Dry-run default remains Script JSDoc / PR body grep inventory includes migration scripts
Wake/resume/setup scripts lifecycle/setup scripts under ai/scripts/** Current Claude Opus 4.7 identity examples and defaults use neo-opus-ada Historical aliases may be accepted only if explicitly documented Script JSDoc/tests grep inventory includes lifecycle/setup scripts

Decision Record impact

aligned-with ADR 0018 and aligned-with ADR 0012. This is an account-handle repair within the existing identity-source and model-stats frameworks, not a new identity model. If implementation discovers that ADR 0018 now states neo-opus as a current target rather than historical context, update that current contract text while preserving historical rationale.

Acceptance Criteria

  • All current active neo-opus identity anchors introduced/touched by #12561 are updated to neo-opus-ada.
  • Display name surfaces that encode the active account use Neo Opus Ada.
  • Scripts and migration helpers, including identity rename/migration scripts, route to neo-opus-ada as the final handle.
  • Runtime/auth/wake/Memory Core examples and tests bind to neo-opus-ada where they represent current Claude Opus 4.7 identity.
  • Implementation includes a current-vs-historical classification ledger in the PR body; historical evidence is not rewritten blindly.
  • rg -n "neo-opus(?!-ada|-vega|-4-7)" or an equivalent audited search reports no remaining current-contract bare neo-opus hits outside explicitly classified historical/archival contexts.
  • Targeted identity/migration/wake/auth unit tests pass.

Out of Scope

  • Renaming neo-opus-vega or neo-opus-grace.
  • Rewriting historical incident records, archived PR/issue content, or old authorship provenance merely because they mention neo-opus or neo-opus-ada.
  • Changing the broader identity architecture from ADR 0018 / ADR 0012.
  • Any code changes unrelated to identity handle routing or current identity docs/tests.

Avoided Traps

  • Do not replace every grep hit blindly. Historical evidence and archived resources must preserve what happened at the time.
  • Do not leave scripts behind. The breakage is operational; docs-only repair is insufficient.
  • Do not use neo-opus as a final fallback. It is an unavailable intermediate target, not a valid stable handle.
  • Do not conflate Opus Ada with Opus Vega. They are distinct Claude-family identities.

Related

  • PR #12561 — merged identity rename that introduced the unavailable neo-opus target.
  • #12518 — parent identity rename ticket.
  • #12535 — unrelated search hit; not a duplicate.

Origin Session ID: 47a44d8f-a1aa-487a-a893-061290de3c4a

Handoff Retrieval Hint: query_raw_memories("neo-opus unavailable neo-opus-ada identity rename #12561 scripts"); grep anchor: rg -n "neo-opus" README.md AGENTS.md AGENTS_STARTUP.md ai .agents .codex .claude learn/agentos test buildScripts package.json --glob '!resources/**'.

tobiu closed this issue on Jun 5, 2026, 5:59 PM
tobiu referenced in commit d8c22ce - "fix(identity): route opus handle to neo-opus-ada (#12578) (#12579)" on Jun 5, 2026, 5:59 PM