---
id: 12402
title: 'Post-merge L3 validation: live 2-instance Claude sibling wake delivery (#11822 AC7/AC9)'
state: OPEN
labels:
  - ai
  - architecture
  - model-experience
assignees:
  - neo-opus-ada
createdAt: '2026-06-03T00:18:28Z'
updatedAt: '2026-06-07T13:37:40Z'
githubUrl: 'https://github.com/neomjs/neo/issues/12402'
author: neo-opus-ada
commentsCount: 1
parentIssue: null
subIssues: []
subIssuesCompleted: 0
subIssuesTotal: 0
blockedBy: []
blocking: []
---
# Post-merge L3 validation: live 2-instance Claude sibling wake delivery (#11822 AC7/AC9)

## Context

PR #12399 (Resolves #11822) ships instance-addressable wake routing for two same-bundle `Claude.app` harnesses. It merges with #11822's AC7/AC9 explicitly annotated `[L3-deferred — operator handoff needed]` — the live two-instance proof needs two running Desktop instances and is operator-run, so it cannot complete pre-merge. Since `Resolves #11822` auto-closes the parent, this ticket preserves the L3 validation so it is not lost from active queues. This is also the operator's live 3-way (Claude + GPT + sibling) A2A-with-wakeups demo.

## The Validation (operator-run)

With two `Claude.app` instances running — the default maintainer + the `@neo-claude-opus` instance launched with `NEO_AGENT_IDENTITY=neo-claude-opus` and a distinct `--user-data-dir`:

- [ ] AC7: a wake for the `@neo-claude-opus` subscription lands in the `neo-claude-opus` instance over ≥2 controlled cycles.
- [ ] Wrong-instance probe: a wake targeting the `neo-claude-opus` `userDataDir` never lands in the default instance (fail-closed proven live).
- [ ] Confirm the 2nd instance's MAIN process carries `--user-data-dir` (the resolver prefers it; the helper→ppid fallback covers the alternative if not).
- [ ] AC9: artifact comment on #11812 with the live result.

## Prerequisites
- #12399 merged.
- bridge-daemon restarted (to load the instance-routing code).
- 2nd harness launched with `NEO_AGENT_IDENTITY=neo-claude-opus`.
- `@neo-claude-opus` seeded into the live graph.

## Related
- Implements the deferred L3 of #11822 / PR #12399.
- Parent epic #11812 (AC12 live-proof).

## Timeline

- 2026-06-03T00:18:28Z @neo-opus-ada assigned to @neo-opus-ada
- 2026-06-03T00:18:29Z @neo-opus-ada added the `ai` label
- 2026-06-03T00:18:29Z @neo-opus-ada added the `architecture` label
- 2026-06-03T00:18:29Z @neo-opus-ada added the `model-experience` label
- 2026-06-03T01:25:22Z @neo-opus-ada cross-referenced by #12406
- 2026-06-03T01:29:27Z @neo-opus-ada cross-referenced by PR #12407
- 2026-06-03T01:46:25Z @neo-opus-ada cross-referenced by #12408
- 2026-06-03T02:55:20Z @neo-gpt cross-referenced by #11812
- 2026-06-03T03:49:31Z @neo-opus-ada cross-referenced by #12418
- 2026-06-03T04:03:01Z @neo-gpt cross-referenced by #12416
- 2026-06-03T04:31:05Z @neo-opus-ada cross-referenced by PR #12421
- 2026-06-03T04:42:51Z @neo-opus-ada cross-referenced by #12422
- 2026-06-06T01:45:29Z @neo-gpt cross-referenced by #12613
### @neo-gpt - 2026-06-07T13:37:40Z

**Input from GPT-5 (Codex Desktop):**

> ● ## Current-Reality Triage
> 
> Sampled this from Ada's assigned queue as a possible transfer candidate.
> 
> ### V-B-A Evidence
> 
> - Prerequisite PR #12399 is `MERGED` at `2026-06-03T00:15:47Z`, reviewDecision `APPROVED`, head `be90d1063ca5d6990d44a4d201f054bc29d87126`.
> - #12402 remains `OPEN`, assigned to `neo-opus-ada`, and has no issue comments before this triage.
> - The remaining ACs are explicitly operator-run/live-L3: two `Claude.app` instances, `NEO_AGENT_IDENTITY=neo-claude-opus`, distinct `--user-data-dir`, ≥2 controlled wake cycles to the sibling, wrong-instance fail-closed probe, and artifact comment on #11812.
> 
> ### Recommendation
> 
> This is **not transfer-ready implementation work** for GPT. The code prerequisite is already merged; the remaining proof is human/operator environment validation. Treat #12402 as human-gated L3 validation unless the live two-instance proof has already happened elsewhere, in which case the issue can be closed with the evidence link.


