@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.
- package/dist/daemon-client.d.ts.map +1 -1
- package/dist/daemon-client.js +6 -0
- package/dist/daemon-client.js.map +1 -1
- package/dist/daemon-rest-client.d.ts +20 -1
- package/dist/daemon-rest-client.d.ts.map +1 -1
- package/dist/daemon-rest-client.js +16 -4
- package/dist/daemon-rest-client.js.map +1 -1
- package/package.json +1 -1
- package/skills/brainstorm/SKILL.md +1 -1
- package/skills/chorus/SKILL.md +26 -4
- package/skills/code-reviewer/SKILL.md +2 -2
- package/skills/develop/SKILL.md +3 -3
- package/skills/docs/SKILL.md +68 -0
- package/skills/idea/SKILL.md +32 -1
- package/skills/openspec-aware/SKILL.md +1 -1
- package/skills/proposal/SKILL.md +1 -1
- package/skills/proposal-reviewer/SKILL.md +1 -1
- package/skills/quick-dev/SKILL.md +14 -12
- package/skills/review/SKILL.md +2 -2
- package/skills/task-reviewer/SKILL.md +1 -1
- package/skills/yolo/SKILL.md +3 -3
- package/src/daemon-client.ts +10 -0
- package/src/daemon-rest-client.ts +40 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,gBAAgB,EAEhB,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,kBAAkB;IACjC,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;AAOD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,KAAK,EAAE,oBAAoB,CAAC;IAC5B,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,EAAE,OAAO,CAAC;IAChB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACtD;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon-client.js
CHANGED
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"daemon-rest-client.d.ts","sourceRoot":"","sources":["../src/daemon-rest-client.ts"],"names":[],"mappings":"AA4CA,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;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAG5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,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,GAAG,aAAa,CAAC;QAC5C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC;QACzD,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAErC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;KAC3B,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,CA8L5F"}
|
|
@@ -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,
|
|
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.
|
|
94
|
-
* the
|
|
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":"AAAA,qDAAqD;AACrD,iFAAiF;AACjF,uDAAuD;AACvD,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,mFAAmF;AACnF,kFAAkF;AAClF,iFAAiF;AACjF,gFAAgF;AAChF,6EAA6E;AAC7E,EAAE;AACF,8EAA8E;AAC9E,kFAAkF;AAClF,qDAAqD;AACrD,uFAAuF;AACvF,mDAAmD;AACnD,iEAAiE;AACjE,wDAAwD;AACxD,gFAAgF;AAChF,
|
|
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
package/skills/chorus/SKILL.md
CHANGED
|
@@ -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.
|
|
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
|
|
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,
|
|
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.
|
|
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
|
|
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.
|
package/skills/develop/SKILL.md
CHANGED
|
@@ -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.
|
|
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)
|
|
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
|
|
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.
|
package/skills/idea/SKILL.md
CHANGED
|
@@ -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.
|
|
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.
|
package/skills/proposal/SKILL.md
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
25
|
+
check explicit task:admin permission → create/claim → implement → 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:
|
|
45
|
+
## Pre-Flight: Permission Check
|
|
46
46
|
|
|
47
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
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
|
|
package/skills/review/SKILL.md
CHANGED
|
@@ -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.
|
|
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
|
|
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.
|
package/skills/yolo/SKILL.md
CHANGED
|
@@ -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.
|
|
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
|
|
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
|
|
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
|
|
package/src/daemon-client.ts
CHANGED
|
@@ -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,
|
|
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.
|
|
186
|
-
* the
|
|
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",
|