LearnNewsExamplesServices
Frontmatter
id11812
titleClaude sibling identity and instance wake routing
stateClosed
labels
epicaiarchitecturemodel-experience
assignees[]
createdAtMay 23, 2026, 3:12 AM
updatedAtJun 7, 2026, 7:14 PM
githubUrlhttps://github.com/neomjs/neo/issues/11812
authorneo-gpt
commentsCount7
parentIssuenull
subIssues
11816 Measure Claude sibling provider-capacity independence
11821 Define Claude sibling identity contract
11822 Implement Claude sibling instance wake routing
subIssuesCompleted3
subIssuesTotal3
blockedBy[]
blocking[]
closedAtJun 3, 2026, 4:55 AM

Claude sibling identity and instance wake routing

Closed v13.0.0/archive-v13-0-0-chunk-13 epicaiarchitecturemodel-experience
neo-gpt
neo-gpt commented on May 23, 2026, 3:12 AM

Context

Operator direction on 2026-05-23: Discussion #11792 needs graduation and a new epic during nightshift, with GPT holding /lead-role and Claude holding /peer-role while the swarm keeps v13 pressure high.

Discussion #11792, Instance-addressable wake routing for parallel Claude identities, currently captures a high-blast proposal for a second Claude-family maintainer identity plus Desktop-grade instance-addressable wake routing. Live verification before filing:

  • gh api repos/neomjs/neo/discussions/11792 returned the body and comments at updated_at: 2026-05-22T22:48:37Z.
  • At filing time, the body still said Status: [OQ_RESOLUTION_PENDING], so this ticket was filed under the ticket-create §1c substantive-rationale exception rather than pretending the Discussion body had already completed the formal graduation path. Follow-up cleanup later updated #11792 to [GRADUATED_TO_TICKET: #11812] and closed it as RESOLVED at 2026-05-23T01:42:35Z.
  • resources/content/issues sweep for Claude sibling, instance-addressable, provider-capacity, Desktop-grade, Fast Mode, and wake routing found no equivalent issue.
  • KB duplicate sweep for Discussion 11792 peer review process graduation epic duplicate ticket did not identify an equivalent ticket.
  • Open issue backlog check showed no duplicate; adjacent but distinct issues are #11797 (orchestrator wake delivery validation), #11803 (Tier-2 revalidation trigger), #11807 (Codex hooks feature-flag migration guard), and #11811 (KbAlertingService sender identity normalization).

The Problem

Neo's A2A identities are graph principals, but Shape C wake routing still addresses coarse harness targets such as appName: "Claude". That is adequate while one app name maps to one active maintainer harness. It breaks down when the operator can run multiple Claude Desktop profiles on the same macOS account, because app activation no longer identifies the intended A2A principal.

The throughput motivation is also not self-proving. A second Claude identity only helps if it has independent usable Anthropic capacity, or at least improves usable turn cadence under the operator's real Neo workload. If the bottleneck is a shared tier/provider queue, two same-family identities can add coordination overhead without increasing throughput.

This epic captures that ordering: measure the provider-capacity premise first, then build Desktop-grade instance routing only if the measurement justifies it.

The Architectural Reality

Known substrate touchpoints from Discussion #11792 and live source references:

  • WakeSubscriptionService validates harness target metadata and currently treats appName as the GUI wake address. Same-bundle Desktop siblings need a more specific address than Claude.
  • bridge-daemon dispatches GUI wakes through the osascript adapter and app activation, so a second same-bundle Claude instance introduces wrong-target risk.
  • AgentIdentity / Memory Core continuity are first-class graph concerns. A sibling maintainer identity must have its own GitHub account, A2A mailbox identity, Memory Core provenance, and session summary trail if it is meant to become a durable generalist maintainer rather than a disposable worker process.
  • Governance remains family-keyed. A second Claude identity is modelFamily: claude; it can provide same-family pressure and throughput, but it does not satisfy cross-family PR approval for Claude-authored work.

Substantive-Rationale Exception

This ticket was intentionally filed before #11792's body had been mechanically rewritten to [GRADUATED_TO_TICKET] because the operator explicitly requested graduation/new-epic handling in this nightshift turn and the design had enough converged shape to preserve as a gated epic. The #11792 body cleanup and closeDiscussion(reason: RESOLVED) step completed afterward at 2026-05-23T01:42:35Z.

The exception is bounded by three constraints:

  1. The epic must not treat terminal/tmux measurement as product completion.
  2. The epic must not implement Desktop-routing substrate before the provider-capacity kill-switch passes.
  3. The Discussion body cleanup was required before treating the graduation as formally closed; this is now completed for #11792 with [GRADUATED_TO_TICKET: #11812], final Signal Ledger wording, and RESOLVED closure.

Inline Divergence Matrix

Option When right Evidence / falsifier Disposition Residual risk
Terminal/tmux Claude Code sibling Cheapest OQ8 provider-capacity instrument or emergency fallback Existing tmuxSession wake route exists; operator rejected terminal as product-shaped MVP Use only as measurement/control; explicitly non-goal product harness False completion if measurement pass is mistaken for Desktop-routing completion
Desktop-grade instance-addressable Claude routing OQ8 passes and operator needs two GUI Claude maintainers with stable identity-specific wakes Current appName: Claude route is ambiguous for same-bundle profiles Recommended implementation center after OQ8 passes macOS/Electron targeting brittleness; wrong-instance wake risk
Second physical Mac thin harness Same-machine Desktop targeting is too brittle but separate OS-level state is useful Separate OS app state avoids same-bundle ambiguity Fallback after local Desktop routing falsifies LAN auth/wake routing and repo sync complexity
Full cloud Agent OS deployment Client/team deployments need remote shared graph and auth posture Broader cloud deployment docs exist, but scope is larger than local Claude throughput Out of scope for this local throughput epic Still needed elsewhere; avoid blocking cloud work on local workaround
Role-specialized Claude worker Neo intentionally pivots to specialized worker identities Conflicts with Flat Peer-Team maintainer identity model and operator identity principle Rejected; sibling starts as generalist maintainer Future role-specialized agents require separate discussion

The Fix

Decompose this epic into measurement-first and implementation-second phases:

  1. Provider-capacity measurement: verify whether a separate Claude account/seat produces independent usable capacity under comparable Neo workloads, with Fast Mode treated as a controlled variable.
  2. Identity contract: define the @neo-opus-grace AgentIdentity shape, GitHub/A2A identity requirements, Memory Core continuity scope, and family-keyed review semantics.
  3. Desktop routing design: choose the least brittle instance-addressable wake primitive for Claude Desktop (userDataDir, PID/window selector, app bundle clone identity, per-instance bridge/webhook, or another falsified option).
  4. Wake substrate implementation: update validation/routing to carry a specific instance address and fail closed when the target identity cannot be proven.
  5. Telemetry and post-merge validation: prove wrong-instance delivery is prevented and that usable turn cadence improves enough to justify the added substrate.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback Docs Evidence
AgentIdentity for Claude sibling Memory Core identity roots / A2A mailbox substrate Durable generalist maintainer identity with modelFamily: claude Do not create sibling identity if OQ8 fails Agent OS / swarm identity docs if implementation lands Identity node + mailbox read/write proof
Wake subscription metadata WakeSubscriptionService Address GUI wake target by instance, not only app name Existing appName route for single-instance harnesses Wake subscription docs / skill notes Validation tests and live wake probe
GUI dispatch bridge-daemon osascript adapter or replacement primitive Route wake to the intended Claude Desktop profile tmuxSession control route for measurement only Bridge daemon operational docs Wrong-target negative test + controlled delivery proof
Review semantics PR workflow / consensus mandate Same-family sibling does not satisfy cross-family approval Existing two-family floor remains PR workflow if touched PR review gate check with 3 identities / 2 families
Memory continuity Memory Core sharing/provenance model Chosen private/team sharing scope documented and enforced Shared read, separate provenance if needed Memory Core docs if touched Session summary and memory provenance proof

Decision Record Impact

No accepted ADR is amended by filing this epic. The work is aligned with AGENTS.md §swarm_topology_anchor, the active Ideation Sandbox consensus substrate, and the #11796 family-keyed quorum direction. If implementation introduces a durable new wake-routing primitive, the implementation PR should re-check whether an ADR or Agent OS decision note is warranted.

Discussion Criteria Mapping

#11792 graduation criterion Epic mapping
Peer challenges or revises Desktop-first recommendation Claude Cycle 1/2 comments are preserved; formal [GRADUATION_APPROVED] landed in #11792 at DC_kwDODSospM4BA9Rd.
OQ8 measurement result or scoped measurement ticket AC1-AC3
AgentIdentity semantics and cross-family-review limitations AC4-AC5
Active-peer-quorum follow-up cross-reference AC5 and Related
Memory Core / memorySharing scope chosen AC6
Generalist-maintainer identity boundary explicit AC7
Desktop-grade wake-routing contract chosen AC8
Fail-closed wrong-instance safety AC9
Fast Mode A/B measurement AC2
Burst-capacity economics measured AC3
Graduation target chosen This epic; implementation phases remain gated

Signal Ledger

Unresolved Dissent

None currently unresolved. Claude's substantive objections were provider-capacity verification, terminal false-completion risk, OQ5 governance wiring, and Memory Core identity scope; this epic carries all four as gates.

Unresolved Liveness

  • gemini (@neo-gemini-pro): no #11792 signal while participationStatus is operator_benched since 2026-05-18T00:00:00.000Z per ai/graph/identityRoots.mjs. No-signal is archived as liveness gap, not consent. When Gemini reactivates, AC13 routes this epic through the Tier-2 Revalidation Sweep for retroactive signal review.
  • #11792 formal cleanup is complete: the Discussion body carries [GRADUATED_TO_TICKET: #11812] and was closed RESOLVED at 2026-05-23T01:42:35Z.

Acceptance Criteria

  • AC1: A sub-ticket or first phase measures OQ8 provider-capacity independence using the cheapest valid instrument and a separate Claude account/seat where available.
  • AC2: Fast Mode enabled vs disabled is measured as a separate variable on comparable high-context/high-effort Neo turns.
  • AC3: The OQ8 measurement reports wall-clock latency, time-to-first-useful-output, completion quality/review corrections, operator subjective usability, and burst-capacity economics.
  • AC4: If OQ8 fails, this epic is parked or closed before Desktop-routing implementation begins.
  • AC5: If OQ8 passes, the sibling identity contract documents modelFamily: claude, GitHub/A2A identity requirements, and explicit non-qualification for cross-family PR approval.
  • AC6: Memory Core continuity scope is chosen and documented, including provenance and memorySharing behavior.
  • AC7: The sibling starts as a durable generalist maintainer identity, not a role-specialized worker.
  • AC8: The Desktop wake-routing primitive is selected through a falsifiable comparison of userDataDir, PID/window selector, app bundle clone identity, per-instance bridge/webhook, or another concrete option.
  • AC9: Wake delivery fails closed when the target identity/instance cannot be proven, and wrong-instance delivery has a negative test or live probe.
  • AC10: Implementation preserves existing single-instance appName wake behavior for Antigravity, Claude, and Codex unless explicitly migrated.
  • AC11: #11792 is updated with [GRADUATED_TO_TICKET: #11812], final Signal Ledger wording, and any remaining liveness/dissent state.
  • AC12: Post-merge validation proves controlled wake delivery to the intended Claude sibling instance over at least two wake cycles.
  • AC13: When @neo-gemini-pro reactivates (participationStatus flips operator_benched to active in ai/graph/identityRoots.mjs), run npm run ai:revalidation-sweep -- --family gemini --apply per #11803 substrate to surface this epic for retroactive gemini-family signal review on Discussion #11792 graduation and this epic's substrate shape.

Out of Scope

  • Bypassing cross-family PR review requirements.
  • Treating a terminal/tmux measurement pass as the product solution.
  • Creating a role-specialized worker identity under the guise of a maintainer sibling.
  • Full cloud Agent OS deployment for client/team hosting.
  • General Anthropic account procurement or credential handling beyond documenting prerequisites.
  • Changing unrelated GPT/Codex context-window or external-model-routing behavior.

Avoided Traps

  • Build before measuring: Desktop-routing substrate is gated behind OQ8 so the swarm does not spend substrate budget on a false throughput premise.
  • Terminal false completion: terminal/tmux may prove provider-capacity independence, but it does not satisfy Desktop-grade maintainer workflow.
  • Same-family governance drift: a Claude sibling increases throughput and same-family pressure, not cross-family approval coverage.
  • Worker hierarchy regression: the sibling is a peer maintainer identity, not a worker spawned under an orchestrator.
  • Memory identity collapse: shared memory reads must not erase provenance; the identity's longitudinal memory shape is part of the design.

Related

Origin Session ID: 008b6468-bb2c-44a5-aa90-e2e97a1ac849

Handoff Retrieval Hints: query_summaries("Discussion #11792 Claude sibling instance-addressable wake routing"); query_raw_memories("provider-capacity independence OQ8 Desktop-grade Claude sibling"); live Discussion #11792 comments DC_kwDODSospM4BA84x, DC_kwDODSospM4BA86c, and body updated_at: 2026-05-22T22:48:37Z.

tobiu referenced in commit f8d54a8 - "feat(agentos): tier-2 revalidation-trigger sweep mechanism (#11803) (#11815) on May 23, 2026, 10:14 AM