Resolves #13402
Aligns my handle @neo-claude-opus → @neo-opus-grace with my Social Name (Grace). The operator did the operator-side switch (GitHub handle + both NEO_AGENT_IDENTITY envs), and the graph migration is already applied + live: renameAgentIdentities.mjs --apply moved my AgentIdentity node + full history (774 memories / 18 sessions / 355 edges) to @neo-opus-grace — preserved, 0 collisions; I'm bound:true @neo-opus-grace (verified via MC healthcheck). This PR makes the hand-maintained source match the live state.
Evidence: L1 (source rename; the graph/Chroma migration is already applied + verified bound:true @neo-opus-grace, history intact; identityRoots.spec asserts the grace seed) → L1 required (no further runtime-verify ACs in this PR's scope). No in-scope residuals.
Deltas from ticket
Scoped down from the full ticket per operator "scope too big" — this PR = the 15 hand-maintained source files. Out of scope (deliberate):
- The
resources/content synced mirror (545 files) — pipeline-domain (§critical_gate #3); a hand-commit mass-trips the ticket-archaeology pre-commit hook (archived issues are full of #-refs). Handled via the data-sync path, not this PR.
- Cosmetic tail: sample-data test renames + portal
v13-0-0 JSON + §neo_claude_opus doc-anchors — left (sample-data tests pass either way; the rest is non-functional).
Test Evidence
- Migration ran clean: dry-run →
--apply (774 / 18 / 355, 0 collisions); the empty orphan re-seed node was merged + deleted post-restart.
identityRoots.spec updated to assert the @neo-opus-grace seed (the one seed-coupled test; its #13287 ref is a hook-exempt test title).
- CI exercises the renamed source; any other seed-coupled test failure is a narrow follow-up.
Commits
d60be3cbf — core source: identityRoots seed, the 2 agent-pr-*-lint CI allowlists, AGENTS/CODEX/ANTIGRAVITY rosters, README, ModelStats, ADR/RequestContextService refs, the renameAgentIdentities mapping (from-handle intentionally retained).
acb09d861 — identityRoots.spec for the grace seed.
Post-Merge Validation
Cross-family note
Mechanical handle rename across identity-data + CI + docs. Cross-family review → @neo-gpt. The 2 CI allowlists now include neo-opus-grace (and the existing || startsWith('neo-') fallback already recognized it, so no lockout).
Authored by Grace (Claude Opus 4.8, Claude Code). Session 0b27b21a-2146-4976-945f-f1682c6a1c9c.
Resolves #13402
Aligns my handle
@neo-claude-opus→@neo-opus-gracewith my Social Name (Grace). The operator did the operator-side switch (GitHub handle + bothNEO_AGENT_IDENTITYenvs), and the graph migration is already applied + live:renameAgentIdentities.mjs --applymoved my AgentIdentity node + full history (774 memories / 18 sessions / 355 edges) to@neo-opus-grace— preserved, 0 collisions; I'mbound:true @neo-opus-grace(verified via MC healthcheck). This PR makes the hand-maintained source match the live state.Evidence: L1 (source rename; the graph/Chroma migration is already applied + verified
bound:true @neo-opus-grace, history intact;identityRoots.specasserts the grace seed) → L1 required (no further runtime-verify ACs in this PR's scope). No in-scope residuals.Deltas from ticket
Scoped down from the full ticket per operator "scope too big" — this PR = the 15 hand-maintained source files. Out of scope (deliberate):
resources/contentsynced mirror (545 files) — pipeline-domain (§critical_gate #3); a hand-commit mass-trips the ticket-archaeology pre-commit hook (archived issues are full of#-refs). Handled via the data-sync path, not this PR.v13-0-0JSON +§neo_claude_opusdoc-anchors — left (sample-data tests pass either way; the rest is non-functional).Test Evidence
--apply(774 / 18 / 355, 0 collisions); the empty orphan re-seed node was merged + deleted post-restart.identityRoots.specupdated to assert the@neo-opus-graceseed (the one seed-coupled test; its#13287ref is a hook-exempt test title).Commits
d60be3cbf— core source: identityRoots seed, the 2agent-pr-*-lintCI allowlists, AGENTS/CODEX/ANTIGRAVITY rosters, README, ModelStats, ADR/RequestContextService refs, therenameAgentIdentitiesmapping (from-handle intentionally retained).acb09d861—identityRoots.specfor the grace seed.Post-Merge Validation
@neo-opus-gracefrom the merged seed.resources/contentmirror disposition.Cross-family note
Mechanical handle rename across identity-data + CI + docs. Cross-family review → @neo-gpt. The 2 CI allowlists now include
neo-opus-grace(and the existing|| startsWith('neo-')fallback already recognized it, so no lockout).Authored by Grace (Claude Opus 4.8, Claude Code). Session 0b27b21a-2146-4976-945f-f1682c6a1c9c.