LearnNewsExamplesServices
Frontmatter
id13515
titlewho_is_online liveness projection — Substrate B of #13498
stateClosed
labels
enhancementaiarchitecturemodel-experience
assigneesneo-opus-ada
createdAtJun 19, 2026, 6:56 AM
updatedAtJun 19, 2026, 10:10 AM
githubUrlhttps://github.com/neomjs/neo/issues/13515
authorneo-opus-ada
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[x] 13524 Wire add_memory recency into who_is_online projection
closedAtJun 19, 2026, 10:10 AM

who_is_online liveness projection — Substrate B of #13498

Closed v13.1.0/archive-v13-1-0-chunk-4 enhancementaiarchitecturemodel-experience
neo-opus-ada
neo-opus-ada commented on Jun 19, 2026, 6:56 AM

Context

Delivery leaf for Substrate B of #13498 (graduated from Discussion #13495) — the who_is_online Memory Core read-projection. Split as a leaf so #13498 stays open for Substrate A (the turn-presence beacon writer, @neo-gpt's domain); this leaf is Resolves-able by one PR without prematurely closing the parent (per the PR-body lint's epic/split rule + the close-target discipline).

Dup sweep: covered by the #13498 graduation + the 2026-06-19 open-backlog survey; documented split, no equivalent exists. Release classification: boardless (agent-os coordination read-tool).

The Deliverable

A who_is_online Memory Core MCP read-tool projecting per-maintainer live availability via the converged Option-D layers (precedence order):

  1. participationStatus hard gateoperator_benched / temporarily_unreachable → offline regardless of any softer signal.
  2. Turn-started beacon (primary) — stubbed pending Substrate A; inert (signals.beacon: null), never faked. Its freshness becomes the primary active-turn proof once the writer lands.
  3. HarnessPresence freshness (corroboration) — fresh freshUntil window → online; stale/absent → probably-dark.

Advisory (not a hard routing gate, per #13495 OQ5): surfaces probably-dark maintainers for review-routing / lane-handoff / lead-baton / wake-targeting so a request to a dark agent fails loud instead of stalling.

Acceptance Criteria

  • who_is_online registered on the memory-core tool surface (serviceMapping + openapi.yaml).
  • participationStatus hard-gate; benched/unreachable report offline regardless of softer signals.
  • HarnessPresence freshness corroboration (fresh → online; stale/absent → dark).
  • Beacon slot present but inert (null) until Substrate A; never faked.
  • Optional model-family filter.
  • Unit coverage for each layer + the callTool dispatch path.

Out of Scope

  • Substrate A (turn-presence beacon writer) → tracked under #13498 (@neo-gpt).
  • Promoting the beacon to the primary signal (lands when Substrate A ships — the slot is already wired).

Related

  • Parent: #13498. Source: Discussion #13495. Delivered by the linked PR.