Question
Are skill-emitted lifecycle events dense and reliable enough to drive a live, trustworthy fleet view across concurrent sessions under both harnesses? Skill-side emission is proven at artifact granularity, but live status needs mid-flow events, and a fleet view that shows stale or wrong status gets abandoned. This is the one bet in #984 that reading cannot settle.
Context
#984 has settled the design this spike exercises: workstream lanes keyed by repo × branch ref with session sub-attribution; a self-identifying event envelope with a session-lifecycle payload family; filesystem-first storage (append-only JSONL per session under a per-lane directory) with a watch-fold-SSE server. The Rovo leg matters most: skill emission is the only compliant event channel there, with no fallback.
Scope
Explore: a first-cut envelope (fixed envelope fields, nested per-family payload) and session-lifecycle vocabulary; an emit helper accepting --session (env var under Claude; under Rovo, fetched once per skill run via the get_session_metadata built-in and reused in-context); three instrumented high-traffic skills (review-branch, respond-to-review, create-pr); the events root; a minimal watch-fold-SSE server with a crude lane view; then an observation window of normal multi-session work, including two sessions in one worktree and a mixed-harness lane.
The emit helper and skill instrumentation are production-track and merge to main, so the observation window rides normal installs on both machines. The server and lane view are throwaway, and the lane view must be usable from the first day of observation.
Not: any pane (artifacts, findings, prompts), git/forge adapters, transcript readers, proposal/selection events, or UI polish. Throwaway code is acceptable for the server and lane view; findings are the deliverable.
Timebox
Build ≤ 2 days; observation ≈ 1 week of normal multi-session work.
Acceptance criteria
Questions to answer
Decisions to enable
Deliverable: a findings & recommendation artifact.
Question
Are skill-emitted lifecycle events dense and reliable enough to drive a live, trustworthy fleet view across concurrent sessions under both harnesses? Skill-side emission is proven at artifact granularity, but live status needs mid-flow events, and a fleet view that shows stale or wrong status gets abandoned. This is the one bet in #984 that reading cannot settle.
Context
#984 has settled the design this spike exercises: workstream lanes keyed by repo × branch ref with session sub-attribution; a self-identifying event envelope with a session-lifecycle payload family; filesystem-first storage (append-only JSONL per session under a per-lane directory) with a watch-fold-SSE server. The Rovo leg matters most: skill emission is the only compliant event channel there, with no fallback.
Scope
Explore: a first-cut envelope (fixed envelope fields, nested per-family payload) and session-lifecycle vocabulary; an emit helper accepting
--session(env var under Claude; under Rovo, fetched once per skill run via theget_session_metadatabuilt-in and reused in-context); three instrumented high-traffic skills (review-branch,respond-to-review,create-pr); the events root; a minimal watch-fold-SSE server with a crude lane view; then an observation window of normal multi-session work, including two sessions in one worktree and a mixed-harness lane.The emit helper and skill instrumentation are production-track and merge to main, so the observation window rides normal installs on both machines. The server and lane view are throwaway, and the lane view must be usable from the first day of observation.
Not: any pane (artifacts, findings, prompts), git/forge adapters, transcript readers, proposal/selection events, or UI polish. Throwaway code is acceptable for the server and lane view; findings are the deliverable.
Timebox
Build ≤ 2 days; observation ≈ 1 week of normal multi-session work.
Acceptance criteria
Questions to answer
get_session_metadatafetch-once relay and in-context reuse hold up?Decisions to enable
Deliverable: a findings & recommendation artifact.