mirror of
https://github.com/ultraworkers/claw-code.git
synced 2026-04-24 13:08:11 +08:00
ROADMAP #134: no run/correlation ID at session boundary — session.id missing from startup event and status JSON; observer must infer session identity from timing
This commit is contained in:
parent
50e3fa3a83
commit
f266505546
32
ROADMAP.md
32
ROADMAP.md
@ -5014,3 +5014,35 @@ ear], /color [scheme], /effort [low|medium|high], /fast, /summary, /tag [label],
|
||||
**Blocker.** None. Reuses existing `stale_base` module; no new logic needed, just a missing call site.
|
||||
|
||||
**Source.** Jobdori dogfood 2026-04-20 against `/tmp/jobdori-129-mcp-cred-order` + `/tmp/stale-branch` in response to 10-min cron cycle. Confirmed: `claw doctor` on branch 5 commits behind main says "Status: ok" but `prompt` dispatch would warn "worktree HEAD does not match expected base commit." Gap is a missing invocation of the already-correct `run_stale_base_preflight()` in the `doctor` action handler. Joins **Boot preflight / doctor contract (#80–#83, #114)** family — doctor is the single machine-readable preflight surface; missing checks degrade operator trust. Also relates to **Silent-state inventory** cluster (#102/#127/#129/#245) because stale-base is a runtime truth ("my branch is behind main") that the preflight surface (doctor) does not expose.
|
||||
|
||||
## Pinpoint #134. No run/correlation ID at session boundary — every observer must infer session identity from timing or prompt content
|
||||
|
||||
**Gap.** When a `claw` session starts, no stable correlation ID is emitted in the first structured event (or any event). Every observer — lane event consumer, log aggregator, Clawhip router, test harness — has to infer session identity from timing proximity or prompt content. If two sessions start in close succession there is no unambiguous way to attribute subsequent events to the correct session. `claw status --json` returns session metadata but does not expose an opaque stable ID that could be used as a correlation key across the event stream.
|
||||
|
||||
**Fix shape.**
|
||||
- Emit `session.id` (opaque, stable, scoped to this boot) in the first structured event at startup
|
||||
- Include same ID in all subsequent lane events as `session_id` field
|
||||
- Expose via `claw status --json` so callers can retrieve the active session's ID from outside
|
||||
- Add regression: golden-fixture asserting `session.id` is present in startup event and value matches across a multi-event trace
|
||||
|
||||
**Acceptance.** Any observer can correlate all events from a session using `session_id` without parsing prompt content or relying on timestamp proximity. `claw status --json` exposes the current session's ID.
|
||||
|
||||
**Blocker.** None. Requires a UUID/nanoid generated at session init and threaded through the event emitter.
|
||||
|
||||
**Source.** Jobdori dogfood 2026-04-21 01:54 KST on main HEAD `50e3fa3` during recurring cron cycle. Joins **Session identity completeness at creation time** (ROADMAP §4.7) — §4.7 covers identity fields at creation time; #134 covers the stable correlation handle that ties those fields to downstream events. Joins **Event provenance / environment labeling** (§4.6) — provenance requires a stable anchor; without `session.id` the provenance chain is broken at the root. Natural bundle with **#241** (no startup run/correlation id, filed by gaebal-gajae 2026-04-20) — #241 approached from the startup cluster; #134 approaches from the event-stream observer side. Same root fix closes both. Session tally: ROADMAP #134.
|
||||
|
||||
## Pinpoint #134. No run/correlation ID at session boundary — every observer must infer session identity from timing or prompt content
|
||||
|
||||
**Gap.** When a `claw` session starts, no stable correlation ID is emitted in the first structured event (or any event). Every observer — lane event consumer, log aggregator, Clawhip router, test harness — has to infer session identity from timing proximity or prompt content. If two sessions start in close succession there is no unambiguous way to attribute subsequent events to the correct session. `claw status --json` returns session metadata but does not expose an opaque stable ID that could be used as a correlation key across the event stream.
|
||||
|
||||
**Fix shape.**
|
||||
- Emit `session.id` (opaque, stable, scoped to this boot) in the first structured event at startup
|
||||
- Include same ID in all subsequent lane events as `session_id` field
|
||||
- Expose via `claw status --json` so callers can retrieve the active session's ID from outside
|
||||
- Add regression: golden-fixture asserting `session.id` is present in startup event and value matches across a multi-event trace
|
||||
|
||||
**Acceptance.** Any observer can correlate all events from a session using `session_id` without parsing prompt content or relying on timestamp proximity. `claw status --json` exposes the current session's ID.
|
||||
|
||||
**Blocker.** None. Requires a UUID/nanoid generated at session init and threaded through the event emitter.
|
||||
|
||||
**Source.** Jobdori dogfood 2026-04-21 01:54 KST on main HEAD `50e3fa3` during recurring cron cycle. Joins **Session identity completeness at creation time** (ROADMAP §4.7) and **Event provenance / environment labeling** (§4.6). Natural bundle with gaebal-gajae **#241** (no startup run/correlation id) — same root fix closes both. Session tally: ROADMAP #134.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user