You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
on their lineage is that `prompt_id`. Each `-p` process produced exactly one
155
+
`SessionEnd` (rows 103, 130, 135, 141), while `Stop` follows the prompt
156
+
path: twice in turn 1 (row 34 before the re-prompt, row 102 after), once in
157
+
turns 2 and 4 (rows 129, 140), never in the `/compact` turn; resuming
156
158
re-registers nothing new — the root node stays the same and every resumed
157
159
root-side hook still resolves `depth 0, resolution: native`.
158
160
-**MCP correlation held at every depth.** The five `probe` calls (rows 29,
@@ -382,7 +384,7 @@ header table. What changed and what did not:
382
384
|`PostToolUseFailure` "not observed" | Emitted by 2.1.259 for a failed MCP tool call, at the root and inside subagents, with the same `session_id`/`agent_id` carrier as `PostToolUse` (orchestration rows 77, 94, 116) | Corrected: observed; the registry already closed windows on `tool/failure`|
383
385
|`PreCompact`/`PostCompact` "not observed" | Fired by a manual `/compact` sent as a resumed `-p` prompt, bracketing a `SessionStart source: compact`; root-only, no `agent_id`, own `prompt_id` (orchestration rows 132–134) | Corrected: inducible on demand |
384
386
| Two spawns in one message would leave the registry's `toolCallId` uncertain (`siblingsUncertain`) | The host serialised them: `SubagentStart` for the first fired before the second `Agent``PreToolUse` opened, so both claims were certain and agree with `tool_response.agentId` and the stream's `task_started`| Held stronger than assumed |
385
-
| Single-turn `-p` sessions only | Four `-p` turns resumed into one `session_id`; `SessionStart source: resume`, one `Stop`/`SessionEnd` per turn, root-side lineage unchanged across turns | New coverage; no framework impact |
387
+
| Single-turn `-p` sessions only | Four `-p` turns resumed into one `session_id`; `SessionStart source: resume`, one `SessionEnd` per invocation while `Stop` follows the prompt path (two in turn 1 around the `<task-notification>` re-prompt, none in the `/compact`turn), root-side lineage unchanged across turns | New coverage; no framework impact |
386
388
387
389
No lineage or projection code change was needed: the registry replay test
388
390
(`packages/rsc-runtime/tests/lineage-registry.test.ts`) now runs against all
Copy file name to clipboardExpand all lines: website/docs/en/examples/index.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ walked through here:
23
23
| --- | --- |
24
24
|[Worktree Proximity](https://github.com/ScriptedAlchemy/agent-bundle/tree/main/examples/worktree-proximity)| One root task and two child agents in linked worktrees, coordinated through durable notices. |
25
25
|[RSC Agent Runtime](https://github.com/ScriptedAlchemy/agent-bundle/tree/main/examples/rsc-agent-runtime)| An opt-in architecture experiment: one RSC runtime shared by hooks, MCP tools, and an MCP App timeline. Not a public API. |
26
-
|[Host Test](https://github.com/ScriptedAlchemy/agent-bundle/tree/main/examples/host-test)| A probe plugin that records every hook payload and MCP call a host delivers, with the `request.lineage` each one resolved to. Its `probe:install` / `probe:capture` / `probe:uninstall` scripts drive a real host in an isolated home; `probe:capture <host> --scenario <file.json>` runs an ordered list of prompts as one multi-turn session (Claude: `claude -p --output-format stream-json`, later turns `--resume`d), saving the model's own tool-use stream beside the hook log. The Workbench walkthrough needs no signed-in host; the probe lifecycle does. |
26
+
|[Host Test](https://github.com/ScriptedAlchemy/agent-bundle/tree/main/examples/host-test)| A probe plugin that records every hook payload and MCP call a host delivers, with the `request.lineage` each one resolved to. Its `probe:install` / `probe:capture` / `probe:uninstall` scripts drive a real host in an isolated home; `probe:capture <host> --scenario <file.json>` runs an ordered list of prompts as one multi-turn session (Claude: `claude -p --output-format stream-json`, later turns `--resume`d), saving the model's own tool-use stream beside the hook log. The plugin's `dump` MCP tool returns the newest 50 matching records unless `limit` is given (`matched` counts the whole log). The Workbench walkthrough needs no signed-in host; the probe lifecycle does. |
0 commit comments