Frontmatter
| id | 10144 |
| title | AgentIdentity node type + GitHub account binding for model identities |
| state | Closed |
| labels | enhancementaiarchitecturecore |
| assignees | tobiu |
| createdAt | Apr 21, 2026, 11:28 AM |
| updatedAt | May 15, 2026, 2:42 PM |
| githubUrl | https://github.com/neomjs/neo/issues/10144 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | 10016 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [ ] 10139 Extend Memory Core with Explicit A2A Primitive, [x] 10146 Cross-tenant permission edges + multi-tenant validation test suite, [x] 10145 OAuth2 authentication layer for Memory Core MCP connections |
| closedAt | Apr 21, 2026, 6:51 PM |
AgentIdentity node type + GitHub account binding for model identities
Closedenhancementaiarchitecturecore
tobiu added parent issue #10016 on Apr 21, 2026, 11:32 AM
tobiu marked this issue as blocking #10145 on Apr 21, 2026, 11:33 AM
tobiu marked this issue as blocking #10146 on Apr 21, 2026, 11:33 AM
tobiu marked this issue as blocking #10139 on Apr 21, 2026, 11:33 AM
tobiu cross-referenced by #10016 on Apr 21, 2026, 4:28 PM
tobiu assigned to @tobiu on Apr 21, 2026, 4:30 PM
tobiu cross-referenced by PR #10161 on Apr 21, 2026, 4:36 PM
tobiu cross-referenced by PR #10162 on Apr 21, 2026, 4:37 PM
tobiu closed this issue on Apr 21, 2026, 6:51 PM
tobiu cross-referenced by #9999 on Apr 21, 2026, 7:03 PM
tobiu cross-referenced by #10145 on Apr 21, 2026, 8:43 PM
tobiu cross-referenced by PR #10166 on Apr 21, 2026, 9:06 PM
tobiu cross-referenced by #10147 on Apr 21, 2026, 10:30 PM
tobiu cross-referenced by #10146 on Apr 21, 2026, 10:30 PM
tobiu cross-referenced by #10139 on Apr 21, 2026, 11:02 PM
tobiu cross-referenced by PR #10167 on Apr 21, 2026, 11:18 PM
tobiu cross-referenced by PR #10170 on Apr 22, 2026, 12:30 AM
tobiu cross-referenced by #10172 on Apr 22, 2026, 1:19 AM
AgentIdentity node type + GitHub account binding for model identities
Context
#10016 scope today treats identity as a
userIdmetadata tag. This ticket extends scope with a first-classAgentIdentitygraph node type, bindable to per-model GitHub accounts (precedent: AI Village's@claude-opus-4-5,@claudehaiku45,@claude-opus-4-6on #9535). @tobiu is provisioning per-model accounts this session; this ticket creates the graph substrate.The Problem
Scalar-metadata identity means no edges from memories/sessions to identity nodes; ownership relies on metadata filter, not structural traversal. Cross-session reasoning ("what has @neo-opus-4-7 authored across all sessions?") scans metadata instead of traversing one edge. Mailbox (#10139) can't address persistent model identity — only session-scoped.
The Architectural Reality
userIdingestion via reverse-proxy headers; #10000 complete.@neo-opus-4-7,@neo-gemini-3-1-pro, etc. Decision from session brainstorm: per-model persistent, not per-version (less account churn, version lives in node properties).The Fix
AgentIdentitynode type:{id, githubLogin, displayName, modelFamily, accountType: 'agent'|'human', createdAt}AUTHORED_BY(Memory | Session | Message → AgentIdentity)OWNED_BY(Session → AgentIdentity)— tenancyHARNESSED_VIA(Memory → HarnessNode)— optionalai/scripts/seedAgentIdentities.mjs— provisions initial identity nodes; idempotentmodelVersionproperty (e.g.opus-4.7) — accounts stable, versions driftAcceptance Criteria
AgentIdentitynode type in graph schema with properties + indices@tobiu) has live identity node bound to GitHub loginMATCH AgentIdentity WHERE githubLogin = '@neo-opus-4-7'resolves to exactly one nodeOut of Scope
AUTHORED_BYedges on historical memories (handled via lazy back-fill)Avoided Traps
@neo-opus-4-7-1,@neo-opus-4-7-2). Rejected. AI Village uses per-version; session consensus: churn is real, version-in-properties wins. Cross-version session continuity benefits at account level.Related
Origin Session ID: 71dc3cd8-d39d-48e1-ac62-e240ca67d1a5