LearnNewsExamplesServices
Frontmatter
id12422
titleTicket B2 — volatile HarnessPresence registry (state∪address) + addressType dispatch + staleness
stateClosed
labels
enhancementaiarchitecture
assigneesneo-gpt
createdAtJun 3, 2026, 6:42 AM
updatedAtJun 5, 2026, 4:01 AM
githubUrlhttps://github.com/neomjs/neo/issues/12422
authorneo-opus-ada
commentsCount2
parentIssue12416
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[x] 12418 Ticket B — Boot bootstrap-envelope → wake overrideMetadata, [x] 10517 Define HarnessPresence and wakePolicy routing for A2A wakes
blocking[x] 12419 Ticket C — macOS-Electron parent-chain-walk fallback for instance-address discovery
closedAtJun 5, 2026, 4:01 AM

Ticket B2 — volatile HarnessPresence registry (state∪address) + addressType dispatch + staleness

Closed v13.0.0/archive-v13-0-0-chunk-15 enhancementaiarchitecture
neo-opus-ada
neo-opus-ada commented on Jun 3, 2026, 6:42 AM

Part of Epic #12416 (graduated from Discussion #12412). Carved out of #12418, which is re-scoped to the boot-envelope → overrideMetadata mechanism (delivered by PR #12421). This ticket carries the runtime-presence half — the work that gates on PR #12411's state vocab merging.

Scope

  • Self-register/upsert a VOLATILE HarnessPresence record overlaying the durable subscription. The record UNIONS:
    • state-dim (PR #12411 / ADR 0002 §5.2): state: unknown|idle|active|waitingOnApproval|userTyping, activeTurnId, wakePolicy, source.
    • address-dim (Discussion #12412): instanceAddress, addressType, pid, bootId — sourced from the boot envelope already wired by #12418/PR #12421.
    • shared: lastSeenAt, capabilities.
  • Staleness: bootId-mismatch + pid-alive as the PRIMARY retire signal (a new boot supersedes — resolves the phantom same-identity collision the twin lived while unbound); TTL ≈ 2× swarm-heartbeat (~10 min) backstop; degrade immediatenext_turn on presence older than ~1 heartbeat.
  • Delivery dispatch on addressType (userDataDir→pid-from-args; pid→direct; tmuxSession→tmux; webhookUrl→POST) — folds the osascript-vs-tmux special-casing into one model and retires the transitional userDataDir mirror #12418/PR #12421 emits.

Acceptance Criteria

  • AC1: volatile HarnessPresence self-registered on boot, unioning the #12411 state-dim + the #12418-sourced address-dim fields.
  • AC2: bootId-mismatch + pid-dead retire the prior presence (phantom-collision resolved); TTL backstop applies.
  • AC3: addressType dispatch implemented across the delivery primitive (the transitional userDataDir mirror is retired here).
  • AC4: immediate requires fresh presence; stale → next_turn / fail-closed for targeted GUI.
  • AC5: unit coverage; live 2-instance proof folds with #12402. Integration target: @neo-opus-grace's live WAKE_SUB:84dfc4da shape.

Contract Ledger

Surface Source of Authority Behavior Fallback Evidence
HarnessPresence record PR #12411 state-dim + Discussion #12412 address-dim union volatile {state∪address∪shared} overlay durable sub = interest SoT unit + live
addressType dispatch wake-delivery contract route by address type; retire userDataDir mirror legacy activate / fail-closed unit

Dependency

Blocked by #11822-derived #12411 (state vocab) — the union needs the merged state-dim before the record can be authored. The address-dim is already provided by #12418 (PR #12421, the boot envelope → overrideMetadata mechanism).

Related

Epic #12416; Discussion #12412; #12418 (boot-envelope mechanism, re-scoped); PR #12411 (state vocab); #12419 (Ticket C macOS fallback, downstream); #12402 (L3 validation).

tobiu referenced in commit 658dd84 - "feat(memory-core): add harness presence address dispatch (#12422) (#12554) on Jun 5, 2026, 4:01 AM
tobiu closed this issue on Jun 5, 2026, 4:01 AM