chorus-codes 0.8.39 → 0.8.41

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.
Files changed (87) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +2 -2
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/server/app/connect/page_client-reference-manifest.js +1 -1
  24. package/.next/server/app/demo/[scenario]/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/new/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/new.html +1 -1
  27. package/.next/server/app/new.rsc +1 -1
  28. package/.next/server/app/new.segments/_full.segment.rsc +1 -1
  29. package/.next/server/app/new.segments/_head.segment.rsc +1 -1
  30. package/.next/server/app/new.segments/_index.segment.rsc +1 -1
  31. package/.next/server/app/new.segments/_tree.segment.rsc +1 -1
  32. package/.next/server/app/new.segments/new/__PAGE__.segment.rsc +1 -1
  33. package/.next/server/app/new.segments/new.segment.rsc +1 -1
  34. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/onboarding.html +1 -1
  36. package/.next/server/app/onboarding.rsc +1 -1
  37. package/.next/server/app/onboarding.segments/_full.segment.rsc +1 -1
  38. package/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
  39. package/.next/server/app/onboarding.segments/_index.segment.rsc +1 -1
  40. package/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  41. package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +1 -1
  42. package/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
  43. package/.next/server/app/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/personas/page_client-reference-manifest.js +1 -1
  45. package/.next/server/app/personas.html +1 -1
  46. package/.next/server/app/personas.rsc +1 -1
  47. package/.next/server/app/personas.segments/_full.segment.rsc +1 -1
  48. package/.next/server/app/personas.segments/_head.segment.rsc +1 -1
  49. package/.next/server/app/personas.segments/_index.segment.rsc +1 -1
  50. package/.next/server/app/personas.segments/_tree.segment.rsc +1 -1
  51. package/.next/server/app/personas.segments/personas/__PAGE__.segment.rsc +1 -1
  52. package/.next/server/app/personas.segments/personas.segment.rsc +1 -1
  53. package/.next/server/app/runs/[runId]/page_client-reference-manifest.js +1 -1
  54. package/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/settings/permissions/page_client-reference-manifest.js +1 -1
  57. package/.next/server/app/settings.html +1 -1
  58. package/.next/server/app/settings.rsc +1 -1
  59. package/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  60. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  61. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  62. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  63. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  64. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  65. package/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  66. package/.next/server/app/templates.html +1 -1
  67. package/.next/server/app/templates.rsc +1 -1
  68. package/.next/server/app/templates.segments/_full.segment.rsc +1 -1
  69. package/.next/server/app/templates.segments/_head.segment.rsc +1 -1
  70. package/.next/server/app/templates.segments/_index.segment.rsc +1 -1
  71. package/.next/server/app/templates.segments/_tree.segment.rsc +1 -1
  72. package/.next/server/app/templates.segments/templates/__PAGE__.segment.rsc +1 -1
  73. package/.next/server/app/templates.segments/templates.segment.rsc +1 -1
  74. package/.next/server/app-paths-manifest.json +2 -2
  75. package/.next/server/middleware-build-manifest.js +1 -1
  76. package/.next/server/pages/404.html +1 -1
  77. package/.next/server/pages/500.html +1 -1
  78. package/.next/server/server-reference-manifest.json +1 -1
  79. package/.next/trace +20 -20
  80. package/.next/trace-build +1 -1
  81. package/dist/daemon/runner/verdict.js +35 -10
  82. package/dist/daemon/runner/verdict.js.map +1 -1
  83. package/dist/daemon/runner.js +112 -21
  84. package/dist/daemon/runner.js.map +1 -1
  85. package/package.json +18 -19
  86. /package/.next/static/{CJke3duo44Hy3cygzeoG9 → hNDhJ2gNUy75Ma2IxRu3j}/_buildManifest.js +0 -0
  87. /package/.next/static/{CJke3duo44Hy3cygzeoG9 → hNDhJ2gNUy75Ma2IxRu3j}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":11115064,"timestamp":7441747136828,"id":14,"parentId":1,"tags":{},"startTime":1778833117563,"traceId":"7f78fbbfded5ca8c"},{"name":"run-typescript","duration":5939277,"timestamp":7441758256747,"id":2118,"parentId":1,"tags":{},"startTime":1778833128683,"traceId":"7f78fbbfded5ca8c"},{"name":"static-check","duration":512331,"timestamp":7441764250627,"id":2121,"parentId":1,"tags":{},"startTime":1778833134677,"traceId":"7f78fbbfded5ca8c"},{"name":"static-generation","duration":1413384,"timestamp":7441764962014,"id":2161,"parentId":1,"tags":{},"startTime":1778833135388,"traceId":"7f78fbbfded5ca8c"},{"name":"collect-build-traces","duration":6354289,"timestamp":7441764763390,"id":2158,"parentId":1,"tags":{},"startTime":1778833135189,"traceId":"7f78fbbfded5ca8c"},{"name":"telemetry-flush","duration":36,"timestamp":7441771119469,"id":2170,"parentId":1,"tags":{},"startTime":1778833141546,"traceId":"7f78fbbfded5ca8c"},{"name":"next-build","duration":24065156,"timestamp":7441747054361,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778833117480,"traceId":"7f78fbbfded5ca8c"}]
1
+ [{"name":"run-webpack","duration":10925511,"timestamp":7691415813440,"id":14,"parentId":1,"tags":{},"startTime":1779082786239,"traceId":"847ee5841caa0bf6"},{"name":"run-typescript","duration":5869924,"timestamp":7691426742054,"id":2118,"parentId":1,"tags":{},"startTime":1779082797168,"traceId":"847ee5841caa0bf6"},{"name":"static-check","duration":398874,"timestamp":7691432660346,"id":2121,"parentId":1,"tags":{},"startTime":1779082803086,"traceId":"847ee5841caa0bf6"},{"name":"static-generation","duration":1233892,"timestamp":7691433265920,"id":2161,"parentId":1,"tags":{},"startTime":1779082803692,"traceId":"847ee5841caa0bf6"},{"name":"collect-build-traces","duration":6179439,"timestamp":7691433059635,"id":2158,"parentId":1,"tags":{},"startTime":1779082803486,"traceId":"847ee5841caa0bf6"},{"name":"telemetry-flush","duration":34,"timestamp":7691439241163,"id":2170,"parentId":1,"tags":{},"startTime":1779082809667,"traceId":"847ee5841caa0bf6"},{"name":"next-build","duration":23548297,"timestamp":7691415692910,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779082786119,"traceId":"847ee5841caa0bf6"}]
@@ -25,21 +25,46 @@ function verdictFromReviewerText(content) {
25
25
  // `do not approve` / `cannot approve`. Both spellings are common in real
26
26
  // reviews. The optional `['’]?t` segment catches both straight (') and
27
27
  // typographic (’) apostrophes — LLMs emit the latter often.
28
- const negatives = /\b(request changes|requesting changes|disagree|reject(?:ed|ing)?|blocker|(?:do not|don['’]?t) (?:approve|merge)|(?:cannot|can['’]?t) (?:approve|merge)|nack)\b/;
28
+ //
29
+ // Issue #52 expansions (the original list missed real-world rejections
30
+ // that happened to end with a polite "I'd approve once …" kicker):
31
+ // - request(?:s|ed|ing)? changes — covers requests/requested/requesting
32
+ // - not (?:approved|ready|merging|ok|acceptable|good to (?:merge|ship))
33
+ // - approve (?:after|once|when|conditional(?:ly)?|if|provided|assuming)
34
+ // - conditional(?:ly)? approve
35
+ // — both forms reframe conditional approvals as negative, since
36
+ // the reviewer is explicitly NOT approving the current diff.
37
+ // - would(?:\s+not|n['’]?t) approve
38
+ //
39
+ // Round-1 self-review (3 convergent dissenters) flagged candidate
40
+ // patterns `changes (?:are )?(?:needed|required|requested)` and
41
+ // `needs (?:work|changes|fixes)` as too ambiguous — both match in
42
+ // clean-approval contexts like "no changes needed, LGTM" or "the
43
+ // changes requested by the reviewer are fine". They're dropped from
44
+ // the negatives list; the remaining patterns still catch all three
45
+ // concrete leak cases in brianmarr's report (case 2a is caught by
46
+ // `approve after`, case 2 family by `not ready`).
47
+ const negatives = /\b(request(?:s|ed|ing)? changes|not (?:approved|ready|merging|ok|acceptable|good to (?:merge|ship))|approve (?:after|once|when|conditional(?:ly)?|if|provided|assuming)|conditional(?:ly)? approve|would(?:\s+not|n['’]?t) approve|disagree|reject(?:ed|ing)?|blocker|(?:do not|don['’]?t) (?:approve|merge)|(?:cannot|can['’]?t) (?:approve|merge)|nack)\b/;
29
48
  const positives = /\b(approve(?:d|s)?|lgtm|looks good to me|no concerns|ship it|ack)\b/;
30
- // Check verdict keywords FIRST — a terse but explicit reply like
31
- // "approve ## DONE" (15 chars after sentinel strip) is unambiguous and
32
- // shouldn't be filtered out by the length floor. Tail wins over whole
33
- // so an analytical review mentioning "good practice" mid-paragraph
34
- // doesn't get auto-approved without an explicit verdict at the end.
49
+ const whole = stripped.toLowerCase();
35
50
  const tail = stripped.slice(-400).toLowerCase();
36
- if (negatives.test(tail))
51
+ // Negatives win globally. Issue #52: previously the function returned
52
+ // TRUE when the tail contained a positive token even if the body of
53
+ // the answer carried an explicit rejection. Real reviewers routinely
54
+ // write "Request changes. … [substantive critique] … Happy to approve
55
+ // once these are addressed." — that's a rejection, not an approval.
56
+ // Scan the entire stripped answer for negatives first; only fall
57
+ // through to positives once we've confirmed there's no rejection
58
+ // anywhere in the text.
59
+ if (negatives.test(whole))
37
60
  return false;
61
+ // Positives prefer the tail so an analytical review mentioning
62
+ // "good practice" mid-paragraph doesn't get auto-approved without an
63
+ // explicit verdict at the end. Whole-text fallback catches the case
64
+ // where the verdict lives mid-body and the tail is padded with
65
+ // closing matter (test: "falls back to whole-text scan").
38
66
  if (positives.test(tail))
39
67
  return true;
40
- const whole = stripped.toLowerCase();
41
- if (negatives.test(whole))
42
- return false;
43
68
  if (positives.test(whole))
44
69
  return true;
45
70
  // No verdict keyword anywhere — return null (ambiguous). The 20-char
@@ -1 +1 @@
1
- {"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../../src/daemon/runner/verdict.ts"],"names":[],"mappings":";;AAiBA,0DA+BC;AAhDD;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,uBAAuB,CAAC,OAAe;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9D,oEAAoE;IACpE,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,4DAA4D;IAC5D,MAAM,SAAS,GACb,gKAAgK,CAAC;IACnK,MAAM,SAAS,GACb,qEAAqE,CAAC;IAExE,iEAAiE;IACjE,uEAAuE;IACvE,sEAAsE;IACtE,mEAAmE;IACnE,oEAAoE;IACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,qEAAqE;IACrE,qEAAqE;IACrE,uEAAuE;IACvE,wDAAwD;IACxD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../../src/daemon/runner/verdict.ts"],"names":[],"mappings":";;AAiBA,0DA0DC;AA3ED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,uBAAuB,CAAC,OAAe;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9D,oEAAoE;IACpE,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,4DAA4D;IAC5D,EAAE;IACF,uEAAuE;IACvE,mEAAmE;IACnE,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,iCAAiC;IACjC,oEAAoE;IACpE,mEAAmE;IACnE,sCAAsC;IACtC,EAAE;IACF,kEAAkE;IAClE,gEAAgE;IAChE,kEAAkE;IAClE,iEAAiE;IACjE,oEAAoE;IACpE,mEAAmE;IACnE,kEAAkE;IAClE,kDAAkD;IAClD,MAAM,SAAS,GACb,6VAA6V,CAAC;IAChW,MAAM,SAAS,GACb,qEAAqE,CAAC;IAExE,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAEhD,sEAAsE;IACtE,oEAAoE;IACpE,qEAAqE;IACrE,sEAAsE;IACtE,oEAAoE;IACpE,iEAAiE;IACjE,iEAAiE;IACjE,wBAAwB;IACxB,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,+DAA+D;IAC/D,qEAAqE;IACrE,oEAAoE;IACpE,+DAA+D;IAC/D,0DAA0D;IAC1D,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,qEAAqE;IACrE,qEAAqE;IACrE,uEAAuE;IACvE,wDAAwD;IACxD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -15,6 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.verdictFromReviewerText = exports.StreamFileWriter = exports.runReviewerHeadless = exports.runDoerHeadless = exports.packAttachedFiles = exports.buildReviewerAsk = exports.buildAsk = void 0;
17
17
  exports.runChat = runChat;
18
+ exports.decidePhaseOutcome = decidePhaseOutcome;
18
19
  const fs_1 = __importDefault(require("fs"));
19
20
  const os_1 = __importDefault(require("os"));
20
21
  const path_1 = __importDefault(require("path"));
@@ -91,6 +92,12 @@ async function runChat(opts) {
91
92
  // If so, the chat must NOT end approved — there was no real
92
93
  // implementation to review.
93
94
  let anyPhaseDoerFailed = false;
95
+ // Distinguishes `iterate.onDisagreement: 'escalate'` from the default
96
+ // `'continue'` path when surfacing the terminal chat_done. Both end
97
+ // status='failed', but escalate carries a different verdict + error
98
+ // string so cockpits/CLIs can render "reviewers disagreed, needs
99
+ // human" distinctly from "doer never produced a working answer."
100
+ let doerFailureReason = 'max_rounds_exhausted';
94
101
  // Captures the consensus from the most recent review-only phase. Used
95
102
  // to override the default 'approved' verdict in chat_done — review-only
96
103
  // chats surface what the reviewers actually said rather than auto-
@@ -152,7 +159,18 @@ async function runChat(opts) {
152
159
  // Standard phase from here on.
153
160
  const stdPhase = phase;
154
161
  let doerSucceeded = false;
162
+ // Reflects the OUTCOME OF THE MOST-RECENTLY-COMPLETED round only:
163
+ // - doer produced a full answer AND reviewers ran AND no consensus
164
+ // (and not allFailed) → true
165
+ // - doer crashed / aborted / reviewers all crashed → false
166
+ // Reset at the top of every round so a stale `true` from round N-1
167
+ // can never bleed into a round-N abort or all-reviewers-failed,
168
+ // which would otherwise let 'accept-doer' silently accept a non-
169
+ // disagreement outcome. Convergent finding from PR #50's round-2
170
+ // self-review (4/8 reviewers flagged the flag-reset gap).
171
+ let disagreementInLastRound = false;
155
172
  for (let round = 1; round <= stdPhase.iterate.maxRounds; round++) {
173
+ disagreementInLastRound = false;
156
174
  if (abortSignal.aborted)
157
175
  break;
158
176
  onEvent({
@@ -180,6 +198,12 @@ async function runChat(opts) {
180
198
  // runner review). The runner already retries via the round loop,
181
199
  // so failing this round is the right move; reviewing garbage is not.
182
200
  if (!doerAnswer || !doerAnswer.full) {
201
+ // Doer crashed mid-stream. The round loop exits here without
202
+ // recording a real disagreement — onDisagreement policy must
203
+ // NOT fire on this path, otherwise 'accept-doer' would silently
204
+ // accept a partial/empty answer as final. (Top-of-round reset
205
+ // already covers this; explicit reset here documents intent.)
206
+ disagreementInLastRound = false;
183
207
  onEvent({
184
208
  chatId,
185
209
  type: 'phase_failed',
@@ -225,6 +249,14 @@ async function runChat(opts) {
225
249
  anyPhaseAllReviewersFailed = false;
226
250
  break;
227
251
  }
252
+ // Doer produced a full answer; reviewers ran but didn't agree.
253
+ // This is a real "policy applies" disagreement, not a technical
254
+ // failure. `consensus.allFailed` means every reviewer's CLI
255
+ // crashed/quota-blew, which is a different no-review path
256
+ // handled by anyPhaseAllReviewersFailed below.
257
+ if (!consensus.allFailed) {
258
+ disagreementInLastRound = true;
259
+ }
228
260
  if (round < stdPhase.iterate.maxRounds) {
229
261
  onEvent({
230
262
  chatId,
@@ -246,24 +278,57 @@ async function runChat(opts) {
246
278
  }
247
279
  }
248
280
  if (!doerSucceeded) {
249
- anyPhaseDoerFailed = true;
250
- onEvent({
251
- chatId,
252
- type: 'phase_failed',
253
- payload: {
254
- phaseId: stdPhase.id,
255
- phaseIdx,
256
- kind: stdPhase.kind,
257
- role: 'doer',
258
- reason: 'max_rounds_exhausted',
259
- },
260
- ts: Date.now(),
281
+ // Round loop exited without consensus. Two paths land here:
282
+ // (a) doer crashed / partial-stream → the inner break already
283
+ // fired phase_failed with the specific reason; we honor
284
+ // the existing "doer failed" semantics regardless of
285
+ // onDisagreement (a crashed doer's output must not be
286
+ // silently accepted as final).
287
+ // (b) reviewers disagreed → the template's onDisagreement
288
+ // policy decides what happens. Historically the runner
289
+ // only honored 'continue'; 'accept-doer' and 'escalate'
290
+ // were silent no-ops (issue #49).
291
+ const phaseOutcome = decidePhaseOutcome({
292
+ disagreementInLastRound,
293
+ policy: stdPhase.iterate.onDisagreement,
261
294
  });
262
- // Don't continue to subsequent phases when a doer failed every
263
- // round — there is no real implementation to feed forward, and
264
- // the chat must not end 'approved'. The chat_done branch below
265
- // handles the terminal status as 'failed' / 'no_review'.
266
- break;
295
+ if (phaseOutcome.kind === 'accept-doer') {
296
+ doerSucceeded = true;
297
+ onEvent({
298
+ chatId,
299
+ type: 'phase_progress',
300
+ payload: {
301
+ phaseId: stdPhase.id,
302
+ phaseIdx,
303
+ kind: stdPhase.kind,
304
+ role: 'doer',
305
+ accepted: 'doer_after_disagreement',
306
+ round: stdPhase.iterate.maxRounds,
307
+ },
308
+ ts: Date.now(),
309
+ });
310
+ }
311
+ else {
312
+ anyPhaseDoerFailed = true;
313
+ doerFailureReason = phaseOutcome.reason;
314
+ onEvent({
315
+ chatId,
316
+ type: 'phase_failed',
317
+ payload: {
318
+ phaseId: stdPhase.id,
319
+ phaseIdx,
320
+ kind: stdPhase.kind,
321
+ role: 'doer',
322
+ reason: phaseOutcome.reason,
323
+ },
324
+ ts: Date.now(),
325
+ });
326
+ // Don't continue to subsequent phases when a doer failed every
327
+ // round — there is no real implementation to feed forward, and
328
+ // the chat must not end 'approved'. The chat_done branch below
329
+ // handles the terminal status as 'failed' / 'no_review'.
330
+ break;
331
+ }
267
332
  }
268
333
  onEvent({
269
334
  chatId,
@@ -348,10 +413,21 @@ async function runChat(opts) {
348
413
  // Routed through emitChatDone so an earlier abort (SSE close, user
349
414
  // cancel) can't be overwritten by a later "completed" emission.
350
415
  if (anyPhaseDoerFailed) {
351
- // The doer never produced a real implementation. Don't pretend
352
- // the chat was reviewed — surface as failed so the cockpit shows
353
- // it red.
354
- emitChatDone({ status: 'failed', verdict: 'failed', error: 'doer_failed_all_rounds' });
416
+ // The doer never produced a real implementation, OR the template's
417
+ // `iterate.onDisagreement: 'escalate'` policy halted the loop on
418
+ // reviewer disagreement. Both end status='failed' so the cockpit
419
+ // renders the chat red; the verdict + error string differ so
420
+ // downstream can tell "needs human" from "doer broke."
421
+ if (doerFailureReason === 'escalated_on_disagreement') {
422
+ emitChatDone({
423
+ status: 'failed',
424
+ verdict: 'request_changes',
425
+ error: 'escalated_on_disagreement',
426
+ });
427
+ }
428
+ else {
429
+ emitChatDone({ status: 'failed', verdict: 'failed', error: 'doer_failed_all_rounds' });
430
+ }
355
431
  }
356
432
  else if (anyPhaseAllReviewersFailed) {
357
433
  emitChatDone({ status: 'no_review', verdict: 'no_review' });
@@ -429,6 +505,21 @@ function readLastDoerAnswer(chatDir) {
429
505
  }
430
506
  return undefined;
431
507
  }
508
+ function decidePhaseOutcome(opts) {
509
+ // Doer crashed or never produced a full answer → policy doesn't apply.
510
+ // Surface as the historical max_rounds_exhausted; the inner round-loop
511
+ // break has already fired phase_failed with the specific
512
+ // doer_partial_stream / doer_timeout reason for the cockpit to render.
513
+ if (!opts.disagreementInLastRound) {
514
+ return { kind: 'fail', reason: 'max_rounds_exhausted' };
515
+ }
516
+ if (opts.policy === 'accept-doer')
517
+ return { kind: 'accept-doer' };
518
+ if (opts.policy === 'escalate') {
519
+ return { kind: 'fail', reason: 'escalated_on_disagreement' };
520
+ }
521
+ return { kind: 'fail', reason: 'max_rounds_exhausted' };
522
+ }
432
523
  // Re-exports keep external import sites stable. Tests import some of
433
524
  // these from `'../src/daemon/runner'`, the MCP layer imports verdict.
434
525
  const prompt_builder_js_1 = require("./runner/prompt-builder.js");
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/daemon/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/daemon/runner.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;AAgEH,0BA0eC;AAoED,gDAgBC;AA5nBD,4CAAoB;AACpB,4CAAoB;AACpB,gDAAwB;AACxB,4DAA6D;AAC7D,iDAA2C;AAC3C,gDAA0C;AAC1C,kEAAiG;AAEjG,4DAAkD;AAClD,4DAAiE;AACjE,oEAA2D;AAC3D,wEAAmE;AACnE,uCAA2D;AA8C3D;;;GAGG;AACI,KAAK,UAAU,OAAO,CAAC,IAAwB;IACpD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACzH,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEpE,qEAAqE;IACrE,2EAA2E;IAC3E,MAAM,UAAU,GAAG,IAAA,qCAAiB,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE9D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,sEAAsE;IACtE,wEAAwE;IACxE,iEAAiE;IACjE,qEAAqE;IACrE,sEAAsE;IACtE,qEAAqE;IACrE,+DAA+D;IAC/D,sEAAsE;IACtE,uBAAuB;IACvB,IAAI,CAAC;QACH,MAAM,gBAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,kBAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACjE,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,+DAA+D;IAC/D,MAAM,IAAI,GAAa;QACrB,MAAM;QACN,IAAI;QACJ,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;IACF,IAAA,qCAAmB,EAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IAE3D,kEAAkE;IAClE,oEAAoE;IACpE,0EAA0E;IAC1E,+DAA+D;IAC/D,qDAAqD;IACrD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,YAAY,GAAG,CAAC,OAAgC,EAAQ,EAAE;QAC9D,IAAI,eAAe;YAAE,OAAO;QAC5B,eAAe,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,0EAA0E;QAC1E,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAErD,qEAAqE;IACrE,oEAAoE;IACpE,qEAAqE;IACrE,IAAI,0BAA0B,GAAG,KAAK,CAAC;IACvC,sEAAsE;IACtE,4DAA4D;IAC5D,4BAA4B;IAC5B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,iEAAiE;IACjE,iEAAiE;IACjE,IAAI,iBAAiB,GACnB,sBAAsB,CAAC;IACzB,sEAAsE;IACtE,wEAAwE;IACxE,mEAAmE;IACnE,sEAAsE;IACtE,IAAI,mBAAmB,GAAgD,IAAI,CAAC;IAE5E,IAAI,CAAC;QACH,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YACrE,IAAI,WAAW,CAAC,OAAO;gBAAE,MAAM;YAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAExC,6DAA6D;YAC7D,+DAA+D;YAC/D,gEAAgE;YAChE,aAAa;YACb,IAAI,IAAA,sCAAiB,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,IAAA,yCAAkB,EAAC;oBACvC,OAAO;oBACP,MAAM;oBACN,KAAK;oBACL,QAAQ;oBACR,QAAQ,EAAE,QAAQ,IAAI,EAAE;oBACxB,IAAI;oBACJ,UAAU;oBACV,OAAO;oBACP,aAAa;oBACb,OAAO;oBACP,WAAW;oBACX,wBAAwB,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ;iBACtD,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;oBAC/B,0BAA0B,GAAG,IAAI,CAAC;gBACpC,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,8DAA8D;oBAC9D,8DAA8D;oBAC9D,4DAA4D;oBAC5D,+DAA+D;oBAC/D,2CAA2C;oBAC3C,MAAM;gBACR,CAAC;gBACD,+DAA+D;gBAC/D,mEAAmE;gBACnE,mBAAmB,GAAG;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC;gBACF,OAAO,CAAC;oBACN,MAAM;oBACN,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE;wBACP,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,QAAQ;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB;oBACD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,+BAA+B;YAC/B,MAAM,QAAQ,GAAkB,KAAK,CAAC;YAEtC,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,kEAAkE;YAClE,mEAAmE;YACnE,+BAA+B;YAC/B,2DAA2D;YAC3D,mEAAmE;YACnE,gEAAgE;YAChE,iEAAiE;YACjE,iEAAiE;YACjE,0DAA0D;YAC1D,IAAI,uBAAuB,GAAG,KAAK,CAAC;YACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;gBACjE,uBAAuB,GAAG,KAAK,CAAC;gBAChC,IAAI,WAAW,CAAC,OAAO;oBAAE,MAAM;gBAE/B,OAAO,CAAC;oBACN,MAAM;oBACN,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE;wBACP,OAAO,EAAE,QAAQ,CAAC,EAAE;wBACpB,QAAQ;wBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,KAAK;wBACL,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;qBAC7B;oBACD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;gBAEH,mEAAmE;gBACnE,qEAAqE;gBACrE,gDAAgD;gBAChD,MAAM,kBAAkB,GAAG,IAAA,uCAAsB,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAElE,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAO,EAC9B,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,UAAU,EACV,OAAO,EACP,aAAa,EACb,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,CAAC,QAAQ,EAAE,IAAI,EACvB,kBAAkB,CACnB,CAAC;gBAEF,sEAAsE;gBACtE,mEAAmE;gBACnE,kEAAkE;gBAClE,iEAAiE;gBACjE,iEAAiE;gBACjE,qEAAqE;gBACrE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBACpC,6DAA6D;oBAC7D,6DAA6D;oBAC7D,gEAAgE;oBAChE,8DAA8D;oBAC9D,8DAA8D;oBAC9D,uBAAuB,GAAG,KAAK,CAAC;oBAChC,OAAO,CAAC;wBACN,MAAM;wBACN,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE;4BACP,OAAO,EAAE,QAAQ,CAAC,EAAE;4BACpB,QAAQ;4BACR,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc;yBAC5D;wBACD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;qBACf,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBAED,OAAO,CAAC;oBACN,MAAM;oBACN,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE;wBACP,OAAO,EAAE,QAAQ,CAAC,EAAE;wBACpB,KAAK;wBACL,IAAI,EAAE,MAAM;wBACZ,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBACzC;oBACD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjE,MAAM,SAAS,GAAG,MAAM,IAAA,iCAAY,EAClC,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,UAAU,CAAC,OAAO,EAClB,IAAI,EACJ,UAAU,EACV,OAAO,EACP,aAAa,EACb,OAAO,EACP,WAAW,EACX,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAC5B,CAAC;oBAEF,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;wBACxB,0BAA0B,GAAG,IAAI,CAAC;oBACpC,CAAC;oBAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;wBACrB,aAAa,GAAG,IAAI,CAAC;wBACrB,4CAA4C;wBAC5C,uDAAuD;wBACvD,4DAA4D;wBAC5D,0DAA0D;wBAC1D,2DAA2D;wBAC3D,2DAA2D;wBAC3D,2DAA2D;wBAC3D,0DAA0D;wBAC1D,6DAA6D;wBAC7D,mCAAmC;wBACnC,0BAA0B,GAAG,KAAK,CAAC;wBACnC,MAAM;oBACR,CAAC;oBAED,+DAA+D;oBAC/D,gEAAgE;oBAChE,4DAA4D;oBAC5D,0DAA0D;oBAC1D,+CAA+C;oBAC/C,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;wBACzB,uBAAuB,GAAG,IAAI,CAAC;oBACjC,CAAC;oBAED,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBACvC,OAAO,CAAC;4BACN,MAAM;4BACN,IAAI,EAAE,gBAAgB;4BACtB,OAAO,EAAE;gCACP,OAAO,EAAE,QAAQ,CAAC,EAAE;gCACpB,KAAK;gCACL,IAAI,EAAE,UAAU;gCAChB,YAAY,EAAE,SAAS,CAAC,OAAO;6BAChC;4BACD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;yBACf,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,0CAA0C;oBAC1C,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,4DAA4D;gBAC5D,gEAAgE;gBAChE,8DAA8D;gBAC9D,2DAA2D;gBAC3D,4DAA4D;gBAC5D,qCAAqC;gBACrC,4DAA4D;gBAC5D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,wCAAwC;gBACxC,MAAM,YAAY,GAAG,kBAAkB,CAAC;oBACtC,uBAAuB;oBACvB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc;iBACxC,CAAC,CAAC;gBACH,IAAI,YAAY,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACxC,aAAa,GAAG,IAAI,CAAC;oBACrB,OAAO,CAAC;wBACN,MAAM;wBACN,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE;4BACP,OAAO,EAAE,QAAQ,CAAC,EAAE;4BACpB,QAAQ;4BACR,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,yBAAyB;4BACnC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;yBAClC;wBACD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;qBACf,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;oBACxC,OAAO,CAAC;wBACN,MAAM;wBACN,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE;4BACP,OAAO,EAAE,QAAQ,CAAC,EAAE;4BACpB,QAAQ;4BACR,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,YAAY,CAAC,MAAM;yBAC5B;wBACD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;qBACf,CAAC,CAAC;oBACH,+DAA+D;oBAC/D,+DAA+D;oBAC/D,+DAA+D;oBAC/D,yDAAyD;oBACzD,MAAM;gBACR,CAAC;YACH,CAAC;YAED,OAAO,CAAC;gBACN,MAAM;gBACN,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE;oBACP,OAAO,EAAE,QAAQ,CAAC,EAAE;oBACpB,QAAQ;oBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACpB;gBACD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,mEAAmE;QACnE,6DAA6D;QAC7D,gEAAgE;QAChE,4BAA4B;QAC5B,IAAI,WAAW,GAIX,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAExB,mEAAmE;QACnE,oEAAoE;QACpE,kEAAkE;QAClE,yDAAyD;QACzD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAiB,CAAC,CAAC;QACtE,IACE,CAAC,0BAA0B;YAC3B,CAAC,kBAAkB;YACnB,CAAC,qBAAqB;YACtB,QAAQ,CAAC,IAAI,EAAE,OAAO;YACtB,QAAQ,EACR,CAAC;YACD,MAAM,GAAG,GAAG,IAAA,0BAAgB,EAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,2DAA2D;gBAC3D,6CAA6C;gBAC7C,WAAW,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1E,OAAO,CAAC;oBACN,MAAM;oBACN,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;oBACnF,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,gEAAgE;gBAChE,4DAA4D;gBAC5D,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;gBAC3D,OAAO,CAAC;oBACN,MAAM;oBACN,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;oBAC1C,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;iBACf,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC;oBAC1B,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM;oBACN,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,iBAAiB;oBAC/D,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,kCAAkC;oBAChF,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,cAAc;iBAC3B,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;oBACd,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBACtD,OAAO,CAAC;wBACN,MAAM;wBACN,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;wBACxE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;qBACf,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC9E,OAAO,CAAC;wBACN,MAAM;wBACN,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;wBACxE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,mEAAmE;QACnE,gEAAgE;QAChE,IAAI,kBAAkB,EAAE,CAAC;YACvB,mEAAmE;YACnE,iEAAiE;YACjE,iEAAiE;YACjE,6DAA6D;YAC7D,uDAAuD;YACvD,IAAI,iBAAiB,KAAK,2BAA2B,EAAE,CAAC;gBACtD,YAAY,CAAC;oBACX,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,iBAAiB;oBAC1B,KAAK,EAAE,2BAA2B;iBACnC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;aAAM,IAAI,0BAA0B,EAAE,CAAC;YACtC,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzC,YAAY,CAAC;gBACX,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,WAAW,CAAC,KAAK;aACzB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QACzF,CAAC;aAAM,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACxC,iEAAiE;YACjE,2DAA2D;YAC3D,gEAAgE;YAChE,+DAA+D;YAC/D,iDAAiD;YACjD,YAAY,CAAC;gBACX,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB;gBACpE,eAAe,EAAE,mBAAmB,CAAC,OAAO;aAC7C,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,YAAY,CAAC;gBACX,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,UAAU;gBACnB,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM;oBACtD,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE;oBACrC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,qEAAqE;IACrE,8DAA8D;IAC9D,MAAM,MAAM,GAAG,YAAE;SACd,WAAW,CAAC,OAAO,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;SACrE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAEjC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,YAAE;aAClB,WAAW,CAAC,QAAQ,CAAC;aACrB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAqCD,SAAgB,kBAAkB,CAAC,IAGlC;IACC,uEAAuE;IACvE,uEAAuE;IACvE,yDAAyD;IACzD,uEAAuE;IACvE,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAClE,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;AAC1D,CAAC;AAED,qEAAqE;AACrE,sEAAsE;AACtE,kEAA2F;AAMlF,yFANA,4BAAQ,OAMA;AAAE,iGANA,oCAAgB,OAMA;AAAE,kGANA,qCAAiB,OAMA;AALtD,8CAAmD;AAKK,gGAL/C,yBAAe,OAK+C;AAJvE,sDAA2D;AAIc,oGAJhE,iCAAmB,OAIgE;AAH5F,0EAAkE;AAG4B,iGAHrF,wCAAgB,OAGqF;AAF9G,oDAA8D;AAEkD,wGAFvG,oCAAuB,OAEuG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chorus-codes",
3
- "version": "0.8.39",
3
+ "version": "0.8.41",
4
4
  "description": "Driver-agnostic multi-LLM peer review for code decisions. Bring your own CLI; Chorus convenes 2-4 other LLMs to review the work before you ship.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "99x Agency",
@@ -15,22 +15,6 @@
15
15
  "publishConfig": {
16
16
  "access": "public"
17
17
  },
18
- "scripts": {
19
- "dev": "next dev -p 5050 -H 127.0.0.1",
20
- "dev:daemon": "tsx watch src/daemon/index.ts",
21
- "dev:mcp": "tsx src/mcp/index.ts",
22
- "build": "next build --webpack",
23
- "start": "next start -p 5050 -H 127.0.0.1",
24
- "start:daemon": "node dist/daemon/index.js",
25
- "lint": "eslint",
26
- "typecheck": "tsc --noEmit",
27
- "build:server": "tsc -p tsconfig.server.json && node -e \"require('fs').mkdirSync('dist/lib/db',{recursive:true});require('fs').copyFileSync('src/lib/db/schema.sql','dist/lib/db/schema.sql')\"",
28
- "test": "vitest run",
29
- "test:watch": "vitest",
30
- "test:coverage": "vitest run --coverage",
31
- "prepublishOnly": "rm -rf dist .next *.tsbuildinfo && pnpm build && pnpm build:server && rm -rf .next/cache && test -f dist/cli/index.js && test -f dist/daemon/index.js && test -f dist/mcp/index.js",
32
- "postinstall": "node scripts/postinstall.mjs"
33
- },
34
18
  "dependencies": {
35
19
  "@fastify/cors": "^10.0.0",
36
20
  "@libsql/client": "^0.14.0",
@@ -76,5 +60,20 @@
76
60
  "prompts",
77
61
  "assets",
78
62
  "scripts/postinstall.mjs"
79
- ]
80
- }
63
+ ],
64
+ "scripts": {
65
+ "dev": "next dev -p 5050 -H 127.0.0.1",
66
+ "dev:daemon": "tsx watch src/daemon/index.ts",
67
+ "dev:mcp": "tsx src/mcp/index.ts",
68
+ "build": "next build --webpack",
69
+ "start": "next start -p 5050 -H 127.0.0.1",
70
+ "start:daemon": "node dist/daemon/index.js",
71
+ "lint": "eslint",
72
+ "typecheck": "tsc --noEmit",
73
+ "build:server": "tsc -p tsconfig.server.json && node -e \"require('fs').mkdirSync('dist/lib/db',{recursive:true});require('fs').copyFileSync('src/lib/db/schema.sql','dist/lib/db/schema.sql')\"",
74
+ "test": "vitest run",
75
+ "test:watch": "vitest",
76
+ "test:coverage": "vitest run --coverage",
77
+ "postinstall": "node scripts/postinstall.mjs"
78
+ }
79
+ }