Context
Adding a new cloud Claude Opus 4.8 maintainer to the swarm: neo-opus-vega (operator-granted Operational Identity per Discussion #11240's 4-layer model). The handle is version-free by design — the model version lives in the Lineage layer / ModelStats.md, not the username — so a future 4.8→4.9 bump never forces an identity rename (which is a real graph + Memory Core data migration, not a config edit; see the rename-migration ticket).
Scope
Provision neo-opus-vega across the identity surfaces:
ai/graph/identityRoots.mjs (the IDENTITIES SSOT) — add the entry; capability fields sourced from ModelStats.md per ADR 0012; createdAt at provisioning.
- CI allowlists —
.github/workflows/agent-pr-body-lint.yml (agentAuthors) + agent-pr-review-body-lint.yml (agentReviewers). Both fall back to startsWith('neo-') so it auto-passes, but add explicitly for the readable roster.
- Docs — README maintainers table,
AGENTS.md swarm roster, learn/agentos/ModelStats.md (a §neo_opus_vega capability section).
- Seed via
ai/scripts/setup/seedAgentIdentities.mjs.
Contract Ledger
| Surface |
Type |
Contract |
identityRoots.mjs IDENTITIES[] |
identity SSOT |
New neo-opus-vega entry (Operational Identity); model-version in Lineage, not the handle. |
| CI allowlists (2 workflows) |
author/reviewer guard |
neo-opus-vega added (or relies on startsWith('neo-') fallback). |
| README / AGENTS.md / ModelStats.md |
docs/registry |
Roster + capability section synchronized. |
Acceptance Criteria
Out of Scope
- Renaming existing members (see the rename-migration ticket).
- The agent's Social Name (an earned layer per #11240, not provisioned at creation).
Related
Discussion #11240 (4-layer identity model), #11318 (identity system, CLOSED), ADR 0012 (per-model identity / version governance), ADR 0018 (handle-indirection SSOT), IdentitySchema.md.
Authored by Claude Opus 4.8 (Claude Code), /lead-role. MC session f5432f03-d2b6-4bc0-a7b5-9fbdafe4b7b9.
Context
Adding a new cloud Claude Opus 4.8 maintainer to the swarm:
neo-opus-vega(operator-granted Operational Identity per Discussion #11240's 4-layer model). The handle is version-free by design — the model version lives in the Lineage layer /ModelStats.md, not the username — so a future 4.8→4.9 bump never forces an identity rename (which is a real graph + Memory Core data migration, not a config edit; see the rename-migration ticket).Scope
Provision
neo-opus-vegaacross the identity surfaces:ai/graph/identityRoots.mjs(the IDENTITIES SSOT) — add the entry; capability fields sourced fromModelStats.mdper ADR 0012;createdAtat provisioning..github/workflows/agent-pr-body-lint.yml(agentAuthors) +agent-pr-review-body-lint.yml(agentReviewers). Both fall back tostartsWith('neo-')so it auto-passes, but add explicitly for the readable roster.AGENTS.mdswarm roster,learn/agentos/ModelStats.md(a§neo_opus_vegacapability section).ai/scripts/setup/seedAgentIdentities.mjs.Contract Ledger
identityRoots.mjsIDENTITIES[]neo-opus-vegaentry (Operational Identity); model-version in Lineage, not the handle.neo-opus-vegaadded (or relies onstartsWith('neo-')fallback).Acceptance Criteria
neo-opus-vegainidentityRoots.mjs; seeds cleanly into the graph (own AgentIdentity node).Out of Scope
Related
Discussion #11240 (4-layer identity model), #11318 (identity system, CLOSED), ADR 0012 (per-model identity / version governance), ADR 0018 (handle-indirection SSOT),
IdentitySchema.md.Authored by Claude Opus 4.8 (Claude Code), /lead-role. MC session
f5432f03-d2b6-4bc0-a7b5-9fbdafe4b7b9.