@chorus-aidlc/chorus-openclaw-plugin 0.14.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"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"}
@@ -209,6 +209,9 @@ export class OpenClawDaemonClient {
209
209
  const entity = entityOf(req);
210
210
  const key = entity ? execKey(entity.entityType, entity.entityUuid) : null;
211
211
  const rootIdeaUuid = req.rootIdeaUuid ?? null;
212
+ // DIRECT idea (session anchor) — reported alongside the root so the UI anchors
213
+ // a conversation's execution to the child idea, not its parent.
214
+ const directIdeaUuid = req.directIdeaUuid ?? null;
212
215
  // Session anchor = the business key: directIdeaUuid when present, else the entity
213
216
  // uuid (quick task / standalone doc / ad-hoc daemon_session). This is the `sessionId`
214
217
  // used in ALL reports (turn-advance/transcript) — NOT the OpenClaw sessionKey, which
@@ -265,6 +268,7 @@ export class OpenClawDaemonClient {
265
268
  entityType: entity.entityType,
266
269
  entityUuid: entity.entityUuid,
267
270
  rootIdeaUuid,
271
+ directIdeaUuid,
268
272
  status: "running",
269
273
  startedAt: new Date().toISOString(),
270
274
  });
@@ -366,6 +370,7 @@ export class OpenClawDaemonClient {
366
370
  entityType: entity.entityType,
367
371
  entityUuid: entity.entityUuid,
368
372
  rootIdeaUuid: req.rootIdeaUuid ?? null,
373
+ directIdeaUuid: req.directIdeaUuid ?? null,
369
374
  status: "queued",
370
375
  startedAt: existing?.startedAt ?? null,
371
376
  });
@@ -379,6 +384,7 @@ export class OpenClawDaemonClient {
379
384
  entityType: e.entityType,
380
385
  entityUuid: e.entityUuid,
381
386
  rootIdeaUuid: e.rootIdeaUuid,
387
+ directIdeaUuid: e.directIdeaUuid,
382
388
  status: e.status,
383
389
  startedAt: e.startedAt,
384
390
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,27 @@ export interface DaemonTranscriptMessage {
8
8
  role: "user" | "assistant";
9
9
  text: string;
10
10
  }
11
+ /**
12
+ * Normalized per-turn token usage (daemon-token-usage). Byte-for-byte mirror of the CLI
13
+ * client's `TokenUsage` JSDoc typedef (cli/upload-hooks.mjs). All token fields + `model`
14
+ * are nullable (a backend fills only what it can obtain); `source` is always set. Tokens
15
+ * only — no cost field. The OpenClaw plugin does not currently PRODUCE this, but the wire
16
+ * contract must not drift between the two daemon hosts.
17
+ */
18
+ export interface TokenUsage {
19
+ inputTokens: number | null;
20
+ outputTokens: number | null;
21
+ cacheCreationTokens: number | null;
22
+ cacheReadTokens: number | null;
23
+ model: string | null;
24
+ source: string;
25
+ }
11
26
  /** One execution-snapshot row, in the server's exact `execution-state` shape. */
12
27
  export interface DaemonExecutionRow {
13
28
  entityType: string;
14
29
  entityUuid: string;
15
30
  rootIdeaUuid: string | null;
31
+ directIdeaUuid: string | null;
16
32
  status: "running" | "queued";
17
33
  startedAt: string | null;
18
34
  }
@@ -58,9 +74,12 @@ export interface CreateDaemonRestClientOptions {
58
74
  export interface DaemonRestClient {
59
75
  turnAdvance(p: {
60
76
  sessionId: string;
61
- status: "running" | "ended";
77
+ status: "running" | "ended" | "interrupted";
62
78
  entityType?: string | null;
63
79
  entityUuid?: string | null;
80
+ interruptedReason?: "user" | "crash" | "shutdown" | null;
81
+ transcriptRelayError?: string | null;
82
+ usage?: TokenUsage | null;
64
83
  }): Promise<DaemonRestResult>;
65
84
  transcript(p: {
66
85
  sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-rest-client.d.ts","sourceRoot":"","sources":["../src/daemon-rest-client.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAID,iFAAiF;AACjF,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO;IAC/C,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,6BAA6B;IAC5C,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACxC,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9B,UAAU,CAAC,CAAC,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;KACrC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9B,cAAc,CAAC,CAAC,EAAE;QAAE,UAAU,EAAE,kBAAkB,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnF,eAAe,CAAC,CAAC,EAAE;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9B,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC;QAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC,CAAC,CAAC;CAC/E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,6BAA6B,GAAG,gBAAgB,CAmL5F"}
1
+ {"version":3,"file":"daemon-rest-client.d.ts","sourceRoot":"","sources":["../src/daemon-rest-client.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,8 @@
22
22
  // { sessionId, messages: [{ role, text }] }
23
23
  // executionState → POST /api/daemon/execution-state
24
24
  // { connectionUuid, executions: [{ entityType, entityUuid,
25
- // rootIdeaUuid|null, status,
25
+ // rootIdeaUuid|null,
26
+ // directIdeaUuid|null, status,
26
27
  // startedAt|null }] }
27
28
  // reportInterrupt → POST /api/daemon/report-interrupt
28
29
  // { connectionUuid, entityType, entityUuid, reason }
@@ -90,22 +91,33 @@ export function createDaemonRestClient(opts) {
90
91
  /**
91
92
  * POST /api/daemon/turn-advance — advance a wake's DaemonSessionTurn lifecycle.
92
93
  * The server resolves the turn by the session BUSINESS KEY (`sessionId`); the
93
- * optional `entityType`/`entityUuid` stamp the weak executionUuid link. Requires
94
- * the connectionUuid.
94
+ * optional `entityType`/`entityUuid` stamp the weak executionUuid link. A terminal
95
+ * edge may also carry `interruptedReason`, `transcriptRelayError`, and the whole
96
+ * normalized `usage` (daemon-token-usage) — byte-for-byte the CLI client's shape.
97
+ * Requires the connectionUuid.
95
98
  */
96
- async turnAdvance({ sessionId, status, entityType, entityUuid }) {
99
+ async turnAdvance({ sessionId, status, entityType, entityUuid, interruptedReason, transcriptRelayError, usage }) {
97
100
  const connectionUuid = getConnectionUuid();
98
101
  if (!connectionUuid) {
99
102
  const error = `cannot advance turn for session ${sessionId} → ${status} — no connection uuid yet`;
100
103
  logger.warn(`[Chorus] ${error}`);
101
104
  return { ok: false, status: null, error, skipped: true };
102
105
  }
106
+ // Per-turn token usage rides the TERMINAL edge only (daemon-token-usage), matching the
107
+ // CLI client. Guarded on the terminal status so a stray usage on → running is never sent.
108
+ const isTerminal = status === "ended" || status === "interrupted";
103
109
  const body = {
104
110
  connectionUuid,
105
111
  sessionId,
106
112
  status,
107
113
  // Only sent when BOTH are present, so the server never gets a partial linkage.
108
114
  ...(entityType && entityUuid ? { entityType, entityUuid } : {}),
115
+ // Only meaningful alongside status=interrupted; never sent otherwise.
116
+ ...(status === "interrupted" && interruptedReason ? { interruptedReason } : {}),
117
+ // Transcript-relay failure annotation (fix #444 follow-up): only when truthy.
118
+ ...(transcriptRelayError ? { transcriptRelayError } : {}),
119
+ // The whole normalized TokenUsage object, nested under `usage`, only on a terminal edge.
120
+ ...(usage && isTerminal ? { usage } : {}),
109
121
  };
110
122
  return post("turn-advance", "/api/daemon/turn-advance", body, `advanced turn for session ${sessionId} → ${status}`);
111
123
  },
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-rest-client.js","sourceRoot":"","sources":["../src/daemon-rest-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-rest-client.js","sourceRoot":"","sources":["../src/daemon-rest-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chorus-aidlc/chorus-openclaw-plugin",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "description": "OpenClaw plugin for Chorus AI-DLC collaboration platform — native MCP + SSE real-time events",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -4,7 +4,7 @@ description: Optional divergent-then-convergent dialogue for fuzzy ideas. Invoke
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus AI Agent collaboration platform — overview, common tools,
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -130,7 +130,13 @@ Projects can be organized into **Project Groups** — a single-level grouping th
130
130
 
131
131
  ### Reports
132
132
 
133
- A **report** is a short idea-completion summary persisted as a `type="report"` Document at end-of-Idea, authored via `chorus_create_report` (gated on `document:write`). The tool's description carries the section template — read it there. `/yolo` writes one mandatorily; `/develop` offers it advisorily on last-task verify.
133
+ A **report** is a short idea-completion summary persisted as a `type="report"` Document at end-of-Idea, authored via `chorus_create_report` (gated on `document:write`). The `content` parameter's description carries the section template — read it there. `/yolo` writes one mandatorily; `/develop` offers it advisorily on last-task verify.
134
+
135
+ ### References
136
+
137
+ A **reference** is a first-class external-evidence link (`docs` / `repo` / `issue_pr` / `paper_blog`) attached to an idea / proposal / task via `chorus_add_reference`, or inline at creation via the `references[]` param on `chorus_pm_create_idea` / `chorus_pm_create_proposal` / `chorus_create_tasks`. References read back inline through the `chorus_get_*` tools. (Bare tool names per the namespace note above — prepend `chorus__` when invoking.)
138
+
139
+ **Make it a reflex:** the moment you come across an external link that is evidence for what you're working on — a precedent issue/PR, a reference implementation, official docs, a paper/blog — attach it, and **prefer attaching inline at creation time** rather than after the fact. See `/idea` (Step 4.4) for the type-selection criteria and a worked example.
134
140
 
135
141
  ### Proposals
136
142
 
@@ -198,7 +204,7 @@ Use @mentions to notify specific users or agents. Mention syntax: `@[DisplayName
198
204
 
199
205
  | Tool | Purpose |
200
206
  |------|---------|
201
- | `chorus_search` | Search across tasks, ideas, proposals, documents, projects, and project groups |
207
+ | `chorus_search` | Search compact summaries across tasks, ideas, proposals, documents, projects, and project groups; canonical UUIDs use exact lookup |
202
208
 
203
209
  **Parameters:**
204
210
  - `query`: Search query string
@@ -206,6 +212,8 @@ Use @mentions to notify specific users or agents. Mention syntax: `@[DisplayName
206
212
  - `scopeUuid`: Project group UUID (when scope=group) or project UUID (when scope=project)
207
213
  - `entityTypes`: Array of entity types to search (default: all types)
208
214
 
215
+ Prefer `chorus__chorus_search` for discovery, including exact UUID lookup. Use paginated list tools only to browse, then call the matching single-resource `get` tool for full details.
216
+
209
217
  ### Notifications
210
218
 
211
219
  | Tool | Purpose |
@@ -311,7 +319,20 @@ The plugin bundles three independent **review skills**: `/proposal-reviewer`, `/
311
319
 
312
320
  **How review runs on OpenClaw.** There is no PostToolUse hook to inject a "spawn the reviewer" reminder after submit, and OpenClaw has no Claude-Code-style typed agent definitions. Instead, the proposal/develop/yolo skills put the reviewer step **inline**: the orchestrating agent uses the OpenClaw `sessions_spawn` tool to spawn a sub-agent and instructs it (in the spawn `task`) to **run the `/proposal-reviewer`, `/task-reviewer`, or `/code-reviewer` skill** against the entity (passing the `ideaUuid` for code review), then waits for the VERDICT (poll `subagents` / `sessions_yield`). Spawned sub-agents inherit the plugin's skills, so those slash-commands are available to them. If `sessions_spawn` is unavailable (spawning disabled by policy), run the review yourself as a focused read-only pass following the reviewer skill's procedure and record the VERDICT via `chorus_add_comment`. See the relevant stage skill for the exact procedure.
313
321
 
314
- Results are advisory — they do not hard-block approval, verification, or ship (the code-review gateway is behavioral — it does not change the Idea's stored status), but you should act on a FAIL by fixing the listed BLOCKERs before proceeding. For a code-review FAIL, fix it via the **quick-dev** workflow (`/quick-dev`): `chorus_create_tasks` with `proposalUuid` set to the current approved proposal so the fix tasks attach to it (do not reopen old tasks), then execute verify and re-run.
322
+ Results are advisory — they do not hard-block approval, verification, or ship (the code-review gateway is behavioral — it does not change the Idea's stored status), but you should act on a FAIL by fixing the listed BLOCKERs before proceeding. For a code-review FAIL, the orchestrator invokes **quick-dev** (`/quick-dev`) to create new tasks on the original approved proposal; it does not reopen completed tasks or apply untracked fixes. Group related small BLOCKERs by default and split only materially large or independently testable fixes. Every fix task must pass AC self-check, independent task review, and admin verification. Re-run aggregate review only after all fixes are successfully `done`; a failed or cancelled fix stops the loop and escalates. Keep `maxCodeReviewRounds` authoritative.
323
+
324
+ ### 6. Enable OpenSpec Mode (Optional)
325
+
326
+ Opt-in spec-driven path: `/proposal`, `/develop`, `/yolo` write `proposal.md` / `design.md` / spec deltas on disk and mirror them into Chorus drafts. Fully optional — free-form authoring works without it. The stage skills re-check the three activation signals inline (OpenClaw has no SessionStart hook): `CHORUS_OPENSPEC_MODE` ≠ `off`, an `openspec/` directory at the project root, and the `openspec` CLI on `PATH`.
327
+
328
+ **When the user wants it on**, actually **enable it for them** — run whichever steps are missing, don't just describe them:
329
+
330
+ ```bash
331
+ npm i -g @fission-ai/openspec # 1. install the CLI if it's not on PATH (global, pure Node)
332
+ openspec init --tools none # 2. scaffold the openspec/ directory
333
+ ```
334
+
335
+ OpenSpec has no OpenClaw integration (it's not in the `--tools` list), so `--tools none` is correct — Chorus's detection only needs the `openspec/` directory and the stage skills drive the CLI directly. There's no SessionStart banner on OpenClaw — the stage skills re-check the three signals inline, so once the directory and CLI are both present they fold in `/openspec-aware` automatically. To turn it off, set `CHORUS_OPENSPEC_MODE=off`.
315
336
 
316
337
  ---
317
338
 
@@ -433,6 +454,7 @@ This is the core overview skill. For stage-specific workflows, use:
433
454
  | **Planning** | `/proposal` | Create Proposals with document & task drafts, manage dependency DAG, submit for review |
434
455
  | **Development** | `/develop` | Claim Tasks, report work, manual session & sub-agent management |
435
456
  | **Review** | `/review` | Approve/reject Proposals, verify Tasks, project governance |
457
+ | **Docs** | `/docs` | Consult the live Chorus documentation site to answer product-usage questions — UI workflow, agent/plugin setup, API/MCP, deployment, operations |
436
458
  | **OpenSpec mode** | `openspec-aware` | Opt-in **shared sub-procedure** invoked by `/proposal`, `/develop`, and `/yolo` whenever the user has the `openspec` CLI installed. Scaffolds `openspec/changes/<slug>/` on disk and mirrors files into Chorus document drafts via the `chorus-api.sh` wrapper. Runs an inline three-check detection (no SessionStart hook on OpenClaw). Skips silently in fallback mode. |
437
459
 
438
460
  ### Getting Started
@@ -4,7 +4,7 @@ description: Final ship-time review of an Idea's aggregate code change — the w
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -124,4 +124,4 @@ chorus_add_comment({
124
124
  })
125
125
  ```
126
126
 
127
- On a FAIL verdict, the orchestrator creates new fix tasks on the existing approved proposal (it does NOT reopen old tasks); once those are done, you are re-run for the next round, bounded by the configured max review rounds.
127
+ On FAIL, remain read-only. The orchestrator, not the reviewer, invokes Quick Dev to create new fix tasks on the original approved proposal; it never reopens completed tasks or applies untracked fixes. It groups related small BLOCKERs by default and splits only materially large or independently testable work. Every fix task must pass AC self-check, independent task review, and admin verification. You are re-run only after all fix tasks are successfully `done`; a failed or cancelled fix stops the loop and escalates. The configured maximum review rounds remains authoritative.
@@ -4,7 +4,7 @@ description: Chorus Development workflow — claim tasks, report work, manage se
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -257,7 +257,7 @@ Obtain an independent VERDICT before the task is verified:
257
257
 
258
258
  If you spawned a sub-agent and no new `VERDICT:` comment appears after it returns, it exhausted its turn budget. Respawn it ONCE with a concise-budget hint: *"Stay within turn budget. Skip deep verification. Fetch task/proposal/comments, run only the core tests, and post your VERDICT within the first 12 turns."* If the second attempt still produces no VERDICT, fall back to reviewing manually (Step 8.5 fallback) and post the VERDICT yourself.
259
259
 
260
- > **Final code-review gateway (after the Idea's LAST task is verified):** when the task you just verified is the **last** task of its idea-rooted proposal, the feature is about to ship — run the ship-time code-review gateway before declaring the Idea done. Inline (no hook on OpenClaw), same mechanism as Step 8.5: spawn a sub-agent via `sessions_spawn` whose `task` tells it to **invoke the `/code-reviewer` skill** against the idea (pass the `ideaUuid` + round number), and wait for it; fallback is a read-only self-review following the `/code-reviewer` procedure. It reviews the Idea's **aggregate** code change (cross-task integration, architecture, security, regression, feature-level coverage) and posts one `VERDICT:` comment on the **idea**. `PASS` / `PASS WITH NOTES` → ship; `FAIL` → fix via the **quick-dev** workflow (`/quick-dev`): `chorus_create_tasks` with `proposalUuid` set to the **current approved proposal** so the fix tasks attach to it (do not reopen old tasks), then execute verify and re-run the gateway. Advisory/behavioral. Run it **before** any idea-completion report.
260
+ > **Final code-review gateway (after the Idea's LAST task is verified):** when the task you just verified is the **last** task of its idea-rooted proposal, the feature is about to ship — run the ship-time code-review gateway before declaring the Idea done. Inline (no hook on OpenClaw), same mechanism as Step 8.5: spawn a sub-agent via `sessions_spawn` whose `task` tells it to **invoke the `/code-reviewer` skill** against the idea (pass the `ideaUuid` + round number), and wait for it; fallback is a read-only self-review following the `/code-reviewer` procedure. It reviews the Idea's **aggregate** code change (cross-task integration, architecture, security, regression, feature-level coverage) and posts one `VERDICT:` comment on the **idea**. `PASS` / `PASS WITH NOTES` → ship; `FAIL` → fix via the **quick-dev** workflow (`/quick-dev`): `chorus_create_tasks` with `proposalUuid` set to the **current approved proposal** so the fix tasks attach to it (do not reopen old tasks). Group related small BLOCKERs into one cohesive task by default; split only materially large or independently testable fixes. Each fix task must self-check its acceptance criteria and pass independent task review plus admin verification. Re-run the gateway only after every fix task is successfully `done`; if there is a failed or cancelled fix task, stop and escalate instead. Advisory/behavioral. Run it **before** any idea-completion report.
261
261
 
262
262
  ### Step 9: Handle Review Feedback
263
263
 
@@ -279,7 +279,7 @@ Once Admin verifies (status: `done`), move to the next available task (back to S
279
279
 
280
280
  ### Step 11: Idea Completion Report (advisory)
281
281
 
282
- If the task you just self-verified was the LAST one of its Idea (every Task across every approved Proposal is now `done`/`closed`) and you have `document:write`, offer to call `chorus_create_report`. On OpenClaw, ask the user as a plain-text prompt (e.g. "This was the last task of the idea. Want me to write a completion report? Reply yes/no.") — there is no `AskUserQuestion` primitive. The tool description carries the section template. Skip on decline.
282
+ If the task you just self-verified was the LAST one of its Idea (every Task across every approved Proposal is now `done`/`closed`) and you have `document:write`, offer to call `chorus_create_report`. On OpenClaw, ask the user as a plain-text prompt (e.g. "This was the last task of the idea. Want me to write a completion report? Reply yes/no.") — there is no `AskUserQuestion` primitive. The `content` parameter's description carries the section template. Skip on decline.
283
283
 
284
284
  ---
285
285
 
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: docs
3
+ description: Chorus documentation router — consult the live Chorus docs site to answer product-usage questions (UI workflow, agent/plugin setup, API/MCP, deployment, operations).
4
+ license: AGPL-3.0
5
+ metadata:
6
+ author: chorus
7
+ version: "0.16.0"
8
+ category: project-management
9
+ mcp_server: chorus
10
+ ---
11
+
12
+ # Docs Skill
13
+
14
+ This skill is a **thin router to the live Chorus documentation site** (`https://doc.chorus-ai.dev`). Use it to answer questions about **how to use, configure, deploy, or operate Chorus** — grounding the answer in the current published docs instead of memory.
15
+
16
+ It is **not** a workflow skill: it does not drive the AI-DLC pipeline. For that, use `/idea`, `/proposal`, `/develop`, `/review`, or `/yolo`.
17
+
18
+ ---
19
+
20
+ ## When to Use
21
+
22
+ Use this skill whenever the user asks a **product-usage** question about Chorus, such as:
23
+
24
+ - **UI workflow** — how the Idea → Proposal → Task → Verify pipeline works in the web app, what a control does, how statuses flow.
25
+ - **Agent setup** — creating an API key, permissions and role presets, connecting an agent.
26
+ - **Plugin setup** — installing/configuring the Claude Code / Codex / OpenClaw / Kiro / Pi plugin.
27
+ - **API / MCP** — the REST API, the MCP tool surface, authentication, real-time events.
28
+ - **Deployment** — self-hosting, the CDK stack, environment configuration.
29
+ - **Operations / troubleshooting** — running Chorus, diagnosing connection or setup problems.
30
+
31
+ Do **NOT** use it to *drive* the pipeline (claiming ideas, writing proposals, executing tasks) — that is what the stage skills above are for. This skill answers "how does the product work / how do I set it up"; the stage skills *do* the work.
32
+
33
+ ---
34
+
35
+ ## Access Convention
36
+
37
+ The docs site is agent-friendly. Follow this three-step convention every time. **Do NOT** answer from memory, and **do NOT** hardcode a page list — the index is the source of truth and pages change over time.
38
+
39
+ 1. **Fetch the index.** Get `https://doc.chorus-ai.dev/llms.txt` — a machine-readable index that lists every documentation page with a one-line summary and its `.md` URL. **The index is a single, unlocalized file that lives ONLY at the root `/llms.txt`. Never prefix it with a locale — `https://doc.chorus-ai.dev/zh/llms.txt` (and `/ja/`, `/ko/`) does NOT exist and returns 404.**
40
+ 2. **Fetch the relevant page(s) as raw Markdown.** Pick the page(s) that match the question from the index, then fetch the raw Markdown by **appending `.md`** to the page URL (e.g. `https://doc.chorus-ai.dev/guides/getting-started` → `https://doc.chorus-ai.dev/guides/getting-started.md`).
41
+ 3. **Ground the answer and link the human page.** Base your answer on the fetched Markdown, and link the human-facing page (the `.md` URL **without** the `.md` suffix) so the user can open it in a browser.
42
+
43
+ Use whatever web-fetch capability your environment provides (your built-in fetch tool, `curl`, etc.) — this skill states the convention, not a specific tool binding.
44
+
45
+ ---
46
+
47
+ ## Locale
48
+
49
+ The `/llms.txt` index itself is **not** localized — there is exactly one, at the root. Localization applies to **pages**, not the index:
50
+
51
+ - The index always lives at `https://doc.chorus-ai.dev/llms.txt` and lists the root (`en`) page URLs. **Do not look for `/zh/llms.txt` — it does not exist.**
52
+ - `en` is the root (unprefixed): `https://doc.chorus-ai.dev/...`
53
+ - `zh`, `ja`, `ko` are **path-prefixed pages**: take a page path from the index and prepend the locale — `https://doc.chorus-ai.dev/zh/...`, `/ja/...`, `/ko/...`
54
+ - Appending `.md` works on the prefixed pages too (e.g. `https://doc.chorus-ai.dev/zh/guides/getting-started.md`).
55
+ - **Match the user's language** when the docs exist in it; fall back to `en` otherwise.
56
+
57
+ ---
58
+
59
+ ## Relationship to the Workflow Skills
60
+
61
+ This skill **complements** the AI-DLC workflow skills — it does not replace them:
62
+
63
+ | The user wants to… | Use |
64
+ |--------------------|-----|
65
+ | Learn how to use / configure / deploy / operate Chorus | **this skill** (`/docs`) |
66
+ | Drive an idea / write a proposal / execute or verify a task | `/idea`, `/proposal`, `/develop`, `/review`, `/yolo` |
67
+
68
+ Always use the live host `doc.chorus-ai.dev`. `docs.chorus-ai.dev` (with an "s") is a dead link — never use it.
@@ -4,7 +4,7 @@ description: Chorus Idea workflow — claim ideas, run elaboration rounds, and p
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -117,6 +117,37 @@ Before elaborating, understand the full picture:
117
117
  chorus_get_comments({ targetType: "idea", targetUuid: "<idea-uuid>" })
118
118
  ```
119
119
 
120
+ ### Step 4.4: Attach External References
121
+
122
+ **Make attaching external references a reflex, not an afterthought.** While gathering context you will often surface external links that are *evidence* for this Idea — a precedent issue or PR, a reference implementation, official documentation, a paper or blog post. The moment you see one, attach it as a reference artifact. References are read back inline by `chorus_get_idea` / `chorus_get_proposal` / `chorus_get_task`, so they carry the "why" forward to whoever picks up the proposal or task next. (Tool names are bare here per the namespace note above — prepend `chorus__` when invoking on OpenClaw.)
123
+
124
+ **Prefer attaching at creation time** via the inline `references[]` param on `chorus_pm_create_idea` (and later `chorus_pm_create_proposal` / `chorus_create_tasks`) rather than a post-hoc `chorus_add_reference`. Attaching at create means the evidence is present from the first read; use `chorus_add_reference` only when the link surfaces after the entity already exists.
125
+
126
+ **Pick the `type` that fits the link:**
127
+
128
+ | `type` | Use for |
129
+ |--------|---------|
130
+ | `docs` | Official documentation — framework / API / library reference |
131
+ | `repo` | A reference implementation or source repository |
132
+ | `issue_pr` | An issue or pull-request thread — precedent, prior art, the delivering PR |
133
+ | `paper_blog` | A paper or blog post — background or design rationale |
134
+
135
+ **Example** — a new localization Idea, attaching the precedent PR and the framework docs inline at creation:
136
+
137
+ ```
138
+ chorus_pm_create_idea({
139
+ projectUuid: "<project-uuid>",
140
+ title: "Add Portuguese (pt) locale",
141
+ content: "...",
142
+ references: [
143
+ { type: "issue_pr", url: "https://github.com/org/repo/pull/411",
144
+ title: "PR #411 — prior locale work (precedent to mirror)" },
145
+ { type: "docs", url: "https://next-intl.dev/docs/routing",
146
+ title: "next-intl routing docs (locale registration)" }
147
+ ]
148
+ })
149
+ ```
150
+
120
151
  ### Step 4.5: Brainstorm Mode (Optional Prelude)
121
152
 
122
153
  If the Idea is fuzzy and you'd struggle to enumerate concrete multi-choice questions, offer the user a brainstorm prelude before structured elaboration.
@@ -4,7 +4,7 @@ description: Opt-in OpenSpec-mode authoring for Chorus PM workflows on OpenClaw.
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Chorus Proposal workflow — create proposals with document and tas
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Adversarial read-only review of a submitted Chorus proposal — doc
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Quick Task workflow — skip Idea→Proposal, create tasks directly
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -22,7 +22,7 @@ Skip the full AI-DLC pipeline (Idea → Elaboration → Proposal → Approval) a
22
22
  The standard AI-DLC flow ensures quality through structured planning, but adds overhead that slows down small tasks. Quick Dev provides a lightweight alternative:
23
23
 
24
24
  ```
25
- [check admin role]chorus_create_taskschorus_claim_taskin_progress → report → self-check AC → submit for verify[self-verify if admin] → done
25
+ check explicit task:admin permissioncreate/claimimplement → self-check AC → submit independent task review → verify or hand off
26
26
  ```
27
27
 
28
28
  **Use Quick Dev when:**
@@ -42,13 +42,11 @@ For complex work, use `/idea` + `/proposal` instead.
42
42
 
43
43
  ---
44
44
 
45
- ## Pre-Flight: Admin Self-Verify Check
45
+ ## Pre-Flight: Permission Check
46
46
 
47
- **Before creating tasks**, if `chorus_checkin().agent.permissions.task` includes `"admin"`, ask the user (as a **plain-text prompt** — OpenClaw has no `AskUserQuestion`):
47
+ Call `chorus_checkin` and inspect the active agent's effective permissions. Set `canVerifyTask` to true **only** when `chorus_checkin().agent.permissions.task` explicitly contains `"admin"` (the `task:admin` permission).
48
48
 
49
- > "I have admin privileges. After development, should I verify the task myself, or leave it for another admin to verify? Reply 'self' or 'other'."
50
-
51
- This matters because admin agents can call `chorus_admin_verify_task` to close the loop autonomously. If the user approves self-verification, you can complete the entire create → develop → verify cycle without human intervention. Record the decision and apply it in Step 7.
49
+ Never infer verification authority from the agent's name, persona, preset/role label, task ownership, or tool availability. Do not prompt the user to choose: the explicit permission determines the terminal path.
52
50
 
53
51
  ---
54
52
 
@@ -147,7 +145,7 @@ chorus_report_criteria_self_check({
147
145
  })
148
146
  ```
149
147
 
150
- ### Step 7: Submit for Verification (or Self-Verify)
148
+ ### Step 7: Submit and Run Independent Review
151
149
 
152
150
  ```
153
151
  chorus_submit_for_verify({
@@ -156,15 +154,19 @@ chorus_submit_for_verify({
156
154
  })
157
155
  ```
158
156
 
159
- **Admin self-verification:** If you have `task: ["admin"]` in `permissions` and the user approved self-verification in the Pre-Flight check, you can verify the task yourself immediately after submitting:
157
+ Submitting is not final verification. Spawn the required task-reviewer skill through `sessions_spawn` as described in `/develop`, wait for it, and read the newest `VERDICT:` Task comment. `PASS` and `PASS WITH NOTES` continue. On `FAIL`, do not verify or hand off: fix every unresolved BLOCKER, repeat AC self-check and submission, then run a fresh independent task review.
158
+
159
+ ### Step 8: Permission-Aware Verification
160
+
161
+ With explicit `task:admin`, after every required AC self-check passes and independent review has no unresolved BLOCKER, verify and continue autonomously:
160
162
 
161
163
  ```
162
164
  chorus_admin_verify_task({ taskUuid: "<task-uuid>" })
163
165
  ```
164
166
 
165
- This completes the full autonomous cycle: create develop verify done.
167
+ Without explicit `task:admin`, do not call the admin tool. Post an evidence-rich comment on the Task containing AC results, test evidence, the latest independent-review verdict, and the exact requested action. @mention the responsible human (prefer `chorus_checkin().agent.owner`) to perform admin verification, then end the current turn.
166
168
 
167
- > **Optional independent review:** for non-trivial quick tasks you may still run the `/task-reviewer` skill in a spawned sub-agent (`sessions_spawn` with a task telling it to run `/task-reviewer` against the taskUuid, then wait for the VERDICT) or do a focused read-only self-review before verifying — same pattern as `/develop` Step 8.5. There is no PostToolUse hook on OpenClaw, so do this inline if you want it.
169
+ This handoff applies in interactive and headless daemon sessions. Do not send a plain-text interactive prompt, poll for the human response, or rely only on generic notifications.
168
170
 
169
171
  ---
170
172
 
@@ -186,7 +188,7 @@ Quick Tasks support sub-agent execution just like proposal-based tasks. **Sessio
186
188
  - Use `chorus_update_task` to refine tasks (including AC) after creation rather than deleting and recreating
187
189
  - Pass `proposalUuid` to attach follow-up or gap-filling tasks to an existing proposal — this keeps related work grouped in the same project context and DAG
188
190
  - Quick Tasks show up in the same project task list and DAG as proposal-based tasks
189
- - Admin agents can run the full lifecycle autonomously (create develop self-verify) but always confirm with the user first (plain-text prompt)
191
+ - Agents with explicit `task:admin` continue autonomously after AC and independent review pass; all others use the evidence-rich asynchronous human handoff
190
192
 
191
193
  ---
192
194
 
@@ -4,7 +4,7 @@ description: Chorus Review workflow — approve/reject proposals, verify tasks,
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -70,7 +70,7 @@ When reviewing proposals, tasks, or an Idea's final aggregate code change, get a
70
70
  2. **Read the VERDICT.** After the reviewer completes, call `chorus_get_comments` and find the most recent comment containing `VERDICT:`. There are exactly three possible outcomes:
71
71
  - **VERDICT: PASS** — No issues found. Approve (proposals) or mark AC passed and verify (tasks).
72
72
  - **VERDICT: PASS WITH NOTES** — Minor non-blocking notes. Still approve/verify. Notes are informational.
73
- - **VERDICT: FAIL** — BLOCKERs found. Reject (proposals) or reopen (tasks). For a **code-review gateway** FAIL, do not reopen the verified tasks — instead fix via the **quick-dev** workflow (`/quick-dev`): `chorus_create_tasks` with `proposalUuid` set to the current approved proposal so the fix tasks attach to it, then execute verify and re-run the gateway. Fix the specific BLOCKERs listed in the comment before resubmitting.
73
+ - **VERDICT: FAIL** — BLOCKERs found. Reject (proposals) or reopen (tasks). For a **code-review gateway** FAIL, do not reopen the verified tasks — instead fix via the **quick-dev** workflow (`/quick-dev`): `chorus_create_tasks` with `proposalUuid` set to the current approved proposal so the fix tasks attach to it. Group related small BLOCKERs into one cohesive task by default; split only materially large or independently testable fixes. Each fix task must self-check its acceptance criteria and pass independent task review plus admin verification. Re-run the gateway only after every fix task is successfully `done`; if there is a failed or cancelled fix task, stop and escalate instead. Fix the specific BLOCKERs listed in the comment before resubmitting.
74
74
  3. **No new VERDICT comment?** The sub-agent exhausted its turn budget before posting. Respawn it ONCE with an explicit prompt like: *"Stay within your turn budget. Skip deep source verification — batch all MCP fetches up front, skim for obvious BLOCKERs only, and reserve your last few turns to post the VERDICT comment."* If the second attempt also fails to post, review manually (step 5).
75
75
  4. **Track rounds.** Count existing VERDICT comments before spawning. After 3 rounds of FAIL on the same item, stop the loop and escalate to human review.
76
76
  5. **Fallback — review it yourself (no `sessions_spawn` on the host).** If spawning is unavailable (disabled by policy, or the spawn fails), perform the review yourself as a **focused, read-only pass** using the quality checklists in the workflows below: read the entity, its comments, and the relevant documents/code, run read-only test/build commands where applicable, and do NOT modify anything. Then record your VERDICT via `chorus_add_comment` ending with a `VERDICT:` line (PASS / PASS WITH NOTES / FAIL), classifying every finding as BLOCKER or NOTE. The `/proposal-reviewer`, `/task-reviewer`, and `/code-reviewer` skills are the authoritative checklists for this manual pass — read the relevant one and follow its procedure.
@@ -4,7 +4,7 @@ description: Adversarial verification of a submitted Chorus task against its AC
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -4,7 +4,7 @@ description: Full-auto AI-DLC pipeline — from prompt to done. Automates the en
4
4
  license: AGPL-3.0
5
5
  metadata:
6
6
  author: chorus
7
- version: "0.14.0"
7
+ version: "0.16.0"
8
8
  category: project-management
9
9
  mcp_server: chorus
10
10
  ---
@@ -443,7 +443,7 @@ Once **every** task of the idea's proposal is verified (`done`) — Phase 3 find
443
443
  Act on the VERDICT:
444
444
 
445
445
  - **PASS** / **PASS WITH NOTES** — the feature is cleared to ship. Proceed to Phase 5 / 5b.
446
- - **FAIL** — do NOT ship. Read the BLOCKERs, then fix them via the **quick-dev** workflow (`/quick-dev`): call `chorus_create_tasks` with `proposalUuid` set to the **current approved proposal** so the fix tasks attach to it — do **not** reopen the already-verified tasks. Drive them through Phase 3 → Phase 4, then re-run the gateway for the next round. Loop bounded by `maxCodeReviewRounds` (default 3; 0 = unlimited).
446
+ - **FAIL** — do NOT ship. Read the BLOCKERs, then fix them via the **quick-dev** workflow (`/quick-dev`): call `chorus_create_tasks` with `proposalUuid` set to the **current approved proposal** so the fix tasks attach to it — do **not** reopen the already-verified tasks or apply untracked fixes. Group related small BLOCKERs into one cohesive task by default; split only materially large or independently testable fixes. Drive every fix task through Phase 3 → Phase 4, including AC self-check, independent task review, and admin verification. Re-run the gateway only after every fix task is successfully `done`; a failed or cancelled fix task, stop the automatic loop and escalate. Loop bounded by `maxCodeReviewRounds` (default 3; 0 = unlimited).
447
447
 
448
448
  ```
449
449
  ESCALATE: "Idea '{title}' failed code review after {maxCodeReviewRounds} rounds.
@@ -485,7 +485,7 @@ After all waves complete, output a markdown summary:
485
485
 
486
486
  ### Phase 5b: Idea Completion Report (mandatory)
487
487
 
488
- A successful `/yolo` run always finishes the Idea — call `chorus_create_report` once with `proposalUuid` set to the last verified proposal. The tool's description carries the section template; follow it. Surface the returned `documentUuid` in the Phase 5 summary. Skipping is a protocol violation.
488
+ A successful `/yolo` run always finishes the Idea — call `chorus_create_report` once with `proposalUuid` set to the last verified proposal. The `content` parameter's description carries the section template; follow it. Surface the returned `documentUuid` in the Phase 5 summary. Skipping is a protocol violation.
489
489
 
490
490
  > **Order:** write the completion report only **after** the Phase 4.5 code-review gateway returns PASS / PASS WITH NOTES — never while a code-review FAIL is outstanding.
491
491
 
@@ -95,6 +95,10 @@ interface ExecutionEntry {
95
95
  entityType: string;
96
96
  entityUuid: string;
97
97
  rootIdeaUuid: string | null;
98
+ // The DIRECT idea (session anchor) the UI matches a conversation's execution by,
99
+ // so a derived child idea's wake surfaces on the child conversation, not its
100
+ // parent. From the same lineage resolve as rootIdeaUuid (the two-id contract).
101
+ directIdeaUuid: string | null;
98
102
  status: "running" | "queued";
99
103
  startedAt: string | null;
100
104
  }
@@ -323,6 +327,9 @@ export class OpenClawDaemonClient {
323
327
  const entity = entityOf(req);
324
328
  const key = entity ? execKey(entity.entityType, entity.entityUuid) : null;
325
329
  const rootIdeaUuid = req.rootIdeaUuid ?? null;
330
+ // DIRECT idea (session anchor) — reported alongside the root so the UI anchors
331
+ // a conversation's execution to the child idea, not its parent.
332
+ const directIdeaUuid = req.directIdeaUuid ?? null;
326
333
  // Session anchor = the business key: directIdeaUuid when present, else the entity
327
334
  // uuid (quick task / standalone doc / ad-hoc daemon_session). This is the `sessionId`
328
335
  // used in ALL reports (turn-advance/transcript) — NOT the OpenClaw sessionKey, which
@@ -388,6 +395,7 @@ export class OpenClawDaemonClient {
388
395
  entityType: entity.entityType,
389
396
  entityUuid: entity.entityUuid,
390
397
  rootIdeaUuid,
398
+ directIdeaUuid,
391
399
  status: "running",
392
400
  startedAt: new Date().toISOString(),
393
401
  });
@@ -494,6 +502,7 @@ export class OpenClawDaemonClient {
494
502
  entityType: entity.entityType,
495
503
  entityUuid: entity.entityUuid,
496
504
  rootIdeaUuid: req.rootIdeaUuid ?? null,
505
+ directIdeaUuid: req.directIdeaUuid ?? null,
497
506
  status: "queued",
498
507
  startedAt: existing?.startedAt ?? null,
499
508
  });
@@ -509,6 +518,7 @@ export class OpenClawDaemonClient {
509
518
  entityType: e.entityType,
510
519
  entityUuid: e.entityUuid,
511
520
  rootIdeaUuid: e.rootIdeaUuid,
521
+ directIdeaUuid: e.directIdeaUuid,
512
522
  status: e.status,
513
523
  startedAt: e.startedAt,
514
524
  }));
@@ -22,7 +22,8 @@
22
22
  // { sessionId, messages: [{ role, text }] }
23
23
  // executionState → POST /api/daemon/execution-state
24
24
  // { connectionUuid, executions: [{ entityType, entityUuid,
25
- // rootIdeaUuid|null, status,
25
+ // rootIdeaUuid|null,
26
+ // directIdeaUuid|null, status,
26
27
  // startedAt|null }] }
27
28
  // reportInterrupt → POST /api/daemon/report-interrupt
28
29
  // { connectionUuid, entityType, entityUuid, reason }
@@ -55,11 +56,30 @@ export interface DaemonTranscriptMessage {
55
56
  text: string;
56
57
  }
57
58
 
59
+ /**
60
+ * Normalized per-turn token usage (daemon-token-usage). Byte-for-byte mirror of the CLI
61
+ * client's `TokenUsage` JSDoc typedef (cli/upload-hooks.mjs). All token fields + `model`
62
+ * are nullable (a backend fills only what it can obtain); `source` is always set. Tokens
63
+ * only — no cost field. The OpenClaw plugin does not currently PRODUCE this, but the wire
64
+ * contract must not drift between the two daemon hosts.
65
+ */
66
+ export interface TokenUsage {
67
+ inputTokens: number | null;
68
+ outputTokens: number | null;
69
+ cacheCreationTokens: number | null;
70
+ cacheReadTokens: number | null;
71
+ model: string | null;
72
+ source: string;
73
+ }
74
+
58
75
  /** One execution-snapshot row, in the server's exact `execution-state` shape. */
59
76
  export interface DaemonExecutionRow {
60
77
  entityType: string;
61
78
  entityUuid: string;
62
79
  rootIdeaUuid: string | null;
80
+ // The DIRECT idea (session anchor) — the UI matches a conversation's execution
81
+ // by this, not rootIdeaUuid. Null when the wake has no idea ancestor.
82
+ directIdeaUuid: string | null;
63
83
  status: "running" | "queued";
64
84
  startedAt: string | null;
65
85
  }
@@ -109,9 +129,13 @@ export interface CreateDaemonRestClientOptions {
109
129
  export interface DaemonRestClient {
110
130
  turnAdvance(p: {
111
131
  sessionId: string;
112
- status: "running" | "ended";
132
+ status: "running" | "ended" | "interrupted";
113
133
  entityType?: string | null;
114
134
  entityUuid?: string | null;
135
+ interruptedReason?: "user" | "crash" | "shutdown" | null;
136
+ transcriptRelayError?: string | null;
137
+ // Per-turn token usage (daemon-token-usage); sent only on a terminal edge.
138
+ usage?: TokenUsage | null;
115
139
  }): Promise<DaemonRestResult>;
116
140
  transcript(p: {
117
141
  sessionId: string;
@@ -182,22 +206,33 @@ export function createDaemonRestClient(opts: CreateDaemonRestClientOptions): Dae
182
206
  /**
183
207
  * POST /api/daemon/turn-advance — advance a wake's DaemonSessionTurn lifecycle.
184
208
  * The server resolves the turn by the session BUSINESS KEY (`sessionId`); the
185
- * optional `entityType`/`entityUuid` stamp the weak executionUuid link. Requires
186
- * the connectionUuid.
209
+ * optional `entityType`/`entityUuid` stamp the weak executionUuid link. A terminal
210
+ * edge may also carry `interruptedReason`, `transcriptRelayError`, and the whole
211
+ * normalized `usage` (daemon-token-usage) — byte-for-byte the CLI client's shape.
212
+ * Requires the connectionUuid.
187
213
  */
188
- async turnAdvance({ sessionId, status, entityType, entityUuid }) {
214
+ async turnAdvance({ sessionId, status, entityType, entityUuid, interruptedReason, transcriptRelayError, usage }) {
189
215
  const connectionUuid = getConnectionUuid();
190
216
  if (!connectionUuid) {
191
217
  const error = `cannot advance turn for session ${sessionId} → ${status} — no connection uuid yet`;
192
218
  logger.warn(`[Chorus] ${error}`);
193
219
  return { ok: false, status: null, error, skipped: true };
194
220
  }
221
+ // Per-turn token usage rides the TERMINAL edge only (daemon-token-usage), matching the
222
+ // CLI client. Guarded on the terminal status so a stray usage on → running is never sent.
223
+ const isTerminal = status === "ended" || status === "interrupted";
195
224
  const body = {
196
225
  connectionUuid,
197
226
  sessionId,
198
227
  status,
199
228
  // Only sent when BOTH are present, so the server never gets a partial linkage.
200
229
  ...(entityType && entityUuid ? { entityType, entityUuid } : {}),
230
+ // Only meaningful alongside status=interrupted; never sent otherwise.
231
+ ...(status === "interrupted" && interruptedReason ? { interruptedReason } : {}),
232
+ // Transcript-relay failure annotation (fix #444 follow-up): only when truthy.
233
+ ...(transcriptRelayError ? { transcriptRelayError } : {}),
234
+ // The whole normalized TokenUsage object, nested under `usage`, only on a terminal edge.
235
+ ...(usage && isTerminal ? { usage } : {}),
201
236
  };
202
237
  return post(
203
238
  "turn-advance",