@claudexor/orchestrator 3.19.0 → 3.22.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.
Files changed (223) hide show
  1. package/dist/account-evidence.d.ts +13 -0
  2. package/dist/account-evidence.d.ts.map +1 -0
  3. package/dist/account-evidence.js +55 -0
  4. package/dist/account-evidence.js.map +1 -0
  5. package/dist/account-resolution.d.ts.map +1 -1
  6. package/dist/account-resolution.js +22 -5
  7. package/dist/account-resolution.js.map +1 -1
  8. package/dist/attemptFinalize.d.ts +14 -101
  9. package/dist/attemptFinalize.d.ts.map +1 -1
  10. package/dist/attemptFinalize.js +7 -328
  11. package/dist/attemptFinalize.js.map +1 -1
  12. package/dist/candidateEvidence.d.ts +15 -6
  13. package/dist/candidateEvidence.d.ts.map +1 -1
  14. package/dist/candidateEvidence.js +1 -1
  15. package/dist/candidateEvidence.js.map +1 -1
  16. package/dist/candidateOutputs.d.ts +7 -3
  17. package/dist/candidateOutputs.d.ts.map +1 -1
  18. package/dist/candidateOutputs.js +4 -1
  19. package/dist/candidateOutputs.js.map +1 -1
  20. package/dist/candidateReview.d.ts.map +1 -1
  21. package/dist/candidateReview.js +3 -1
  22. package/dist/candidateReview.js.map +1 -1
  23. package/dist/candidateTerminals.d.ts +10 -0
  24. package/dist/candidateTerminals.d.ts.map +1 -1
  25. package/dist/candidateTerminals.js +44 -5
  26. package/dist/candidateTerminals.js.map +1 -1
  27. package/dist/candidateWorkProduct.d.ts +21 -0
  28. package/dist/candidateWorkProduct.d.ts.map +1 -0
  29. package/dist/candidateWorkProduct.js +43 -0
  30. package/dist/candidateWorkProduct.js.map +1 -0
  31. package/dist/carrier-planner.d.ts +94 -0
  32. package/dist/carrier-planner.d.ts.map +1 -0
  33. package/dist/carrier-planner.js +111 -0
  34. package/dist/carrier-planner.js.map +1 -0
  35. package/dist/continuation-custody.d.ts +57 -0
  36. package/dist/continuation-custody.d.ts.map +1 -0
  37. package/dist/continuation-custody.js +151 -0
  38. package/dist/continuation-custody.js.map +1 -0
  39. package/dist/continuation-evidence-io.d.ts +18 -0
  40. package/dist/continuation-evidence-io.d.ts.map +1 -0
  41. package/dist/continuation-evidence-io.js +167 -0
  42. package/dist/continuation-evidence-io.js.map +1 -0
  43. package/dist/continuation-evidence.d.ts +81 -0
  44. package/dist/continuation-evidence.d.ts.map +1 -0
  45. package/dist/continuation-evidence.js +122 -0
  46. package/dist/continuation-evidence.js.map +1 -0
  47. package/dist/continuation-input.d.ts +10 -0
  48. package/dist/continuation-input.d.ts.map +1 -0
  49. package/dist/continuation-input.js +69 -0
  50. package/dist/continuation-input.js.map +1 -0
  51. package/dist/continue-from.d.ts +41 -0
  52. package/dist/continue-from.d.ts.map +1 -0
  53. package/dist/continue-from.js +292 -0
  54. package/dist/continue-from.js.map +1 -0
  55. package/dist/continuity-facts.d.ts +1 -0
  56. package/dist/continuity-facts.d.ts.map +1 -1
  57. package/dist/continuity-facts.js +1 -0
  58. package/dist/continuity-facts.js.map +1 -1
  59. package/dist/continuity-notice.d.ts +42 -0
  60. package/dist/continuity-notice.d.ts.map +1 -0
  61. package/dist/continuity-notice.js +42 -0
  62. package/dist/continuity-notice.js.map +1 -0
  63. package/dist/continuity-summary.d.ts +2 -1
  64. package/dist/continuity-summary.d.ts.map +1 -1
  65. package/dist/continuity-summary.js +2 -2
  66. package/dist/continuity-summary.js.map +1 -1
  67. package/dist/continuity-terminal.d.ts +19 -0
  68. package/dist/continuity-terminal.d.ts.map +1 -0
  69. package/dist/continuity-terminal.js +34 -0
  70. package/dist/continuity-terminal.js.map +1 -0
  71. package/dist/credential-cooldown.d.ts +0 -10
  72. package/dist/credential-cooldown.d.ts.map +1 -1
  73. package/dist/credential-cooldown.js +8 -27
  74. package/dist/credential-cooldown.js.map +1 -1
  75. package/dist/credential-differential.d.ts +13 -1
  76. package/dist/credential-differential.d.ts.map +1 -1
  77. package/dist/credential-differential.js +71 -14
  78. package/dist/credential-differential.js.map +1 -1
  79. package/dist/credential-execution.d.ts +4 -0
  80. package/dist/credential-execution.d.ts.map +1 -0
  81. package/dist/credential-execution.js +101 -0
  82. package/dist/credential-execution.js.map +1 -0
  83. package/dist/credential-profile-rotation.d.ts.map +1 -1
  84. package/dist/credential-profile-rotation.js +8 -2
  85. package/dist/credential-profile-rotation.js.map +1 -1
  86. package/dist/credential-profiles.d.ts +3 -4
  87. package/dist/credential-profiles.d.ts.map +1 -1
  88. package/dist/credential-profiles.js +28 -6
  89. package/dist/credential-profiles.js.map +1 -1
  90. package/dist/deepScanReducer.d.ts +4 -1
  91. package/dist/deepScanReducer.d.ts.map +1 -1
  92. package/dist/deepScanReducer.js +14 -8
  93. package/dist/deepScanReducer.js.map +1 -1
  94. package/dist/delegationFailure.d.ts +4 -3
  95. package/dist/delegationFailure.d.ts.map +1 -1
  96. package/dist/delegationFailure.js +32 -56
  97. package/dist/delegationFailure.js.map +1 -1
  98. package/dist/directoryCandidate.d.ts +2 -2
  99. package/dist/directoryCandidate.d.ts.map +1 -1
  100. package/dist/directoryCandidate.js +3 -0
  101. package/dist/directoryCandidate.js.map +1 -1
  102. package/dist/index.d.ts +4 -3
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +3 -2
  105. package/dist/index.js.map +1 -1
  106. package/dist/inrun-continuity-carrier.d.ts +76 -0
  107. package/dist/inrun-continuity-carrier.d.ts.map +1 -0
  108. package/dist/inrun-continuity-carrier.js +218 -0
  109. package/dist/inrun-continuity-carrier.js.map +1 -0
  110. package/dist/inrun-continuity-thread.d.ts +8 -0
  111. package/dist/inrun-continuity-thread.d.ts.map +1 -0
  112. package/dist/inrun-continuity-thread.js +23 -0
  113. package/dist/inrun-continuity-thread.js.map +1 -0
  114. package/dist/inrun-continuity-types.d.ts +105 -0
  115. package/dist/inrun-continuity-types.d.ts.map +1 -0
  116. package/dist/inrun-continuity-types.js +2 -0
  117. package/dist/inrun-continuity-types.js.map +1 -0
  118. package/dist/inrun-continuity.d.ts +79 -0
  119. package/dist/inrun-continuity.d.ts.map +1 -0
  120. package/dist/inrun-continuity.js +465 -0
  121. package/dist/inrun-continuity.js.map +1 -0
  122. package/dist/inrun-continuity.test-support.d.ts +374 -0
  123. package/dist/inrun-continuity.test-support.d.ts.map +1 -0
  124. package/dist/inrun-continuity.test-support.js +198 -0
  125. package/dist/inrun-continuity.test-support.js.map +1 -0
  126. package/dist/inrun-retained-output.d.ts +9 -0
  127. package/dist/inrun-retained-output.d.ts.map +1 -0
  128. package/dist/inrun-retained-output.js +16 -0
  129. package/dist/inrun-retained-output.js.map +1 -0
  130. package/dist/interaction.d.ts +1 -1
  131. package/dist/interaction.d.ts.map +1 -1
  132. package/dist/interaction.js +6 -1
  133. package/dist/interaction.js.map +1 -1
  134. package/dist/laneStreamEvents.d.ts +2 -4
  135. package/dist/laneStreamEvents.d.ts.map +1 -1
  136. package/dist/laneStreamEvents.js +3 -5
  137. package/dist/laneStreamEvents.js.map +1 -1
  138. package/dist/modelGovernance.d.ts +4 -0
  139. package/dist/modelGovernance.d.ts.map +1 -1
  140. package/dist/modelGovernance.js +29 -3
  141. package/dist/modelGovernance.js.map +1 -1
  142. package/dist/orchestrator-credentials.d.ts +5 -1
  143. package/dist/orchestrator-credentials.d.ts.map +1 -1
  144. package/dist/orchestrator-credentials.js +32 -8
  145. package/dist/orchestrator-credentials.js.map +1 -1
  146. package/dist/orchestrator.d.ts +7 -5
  147. package/dist/orchestrator.d.ts.map +1 -1
  148. package/dist/orchestrator.js +297 -267
  149. package/dist/orchestrator.js.map +1 -1
  150. package/dist/persistedPatch.d.ts +55 -0
  151. package/dist/persistedPatch.d.ts.map +1 -0
  152. package/dist/persistedPatch.js +132 -0
  153. package/dist/persistedPatch.js.map +1 -0
  154. package/dist/planFinalize.d.ts +37 -0
  155. package/dist/planFinalize.d.ts.map +1 -0
  156. package/dist/planFinalize.js +94 -0
  157. package/dist/planFinalize.js.map +1 -0
  158. package/dist/planRun.d.ts +3 -30
  159. package/dist/planRun.d.ts.map +1 -1
  160. package/dist/planRun.js +9 -88
  161. package/dist/planRun.js.map +1 -1
  162. package/dist/plannerAttempt.d.ts +4 -1
  163. package/dist/plannerAttempt.d.ts.map +1 -1
  164. package/dist/plannerAttempt.js +14 -8
  165. package/dist/plannerAttempt.js.map +1 -1
  166. package/dist/prompt-framing.d.ts +1 -1
  167. package/dist/prompt-framing.d.ts.map +1 -1
  168. package/dist/prompt-framing.js.map +1 -1
  169. package/dist/retainedOutput.d.ts +4 -0
  170. package/dist/retainedOutput.d.ts.map +1 -0
  171. package/dist/retainedOutput.js +31 -0
  172. package/dist/retainedOutput.js.map +1 -0
  173. package/dist/reviewerEffort.d.ts +41 -0
  174. package/dist/reviewerEffort.d.ts.map +1 -0
  175. package/dist/reviewerEffort.js +37 -0
  176. package/dist/reviewerEffort.js.map +1 -0
  177. package/dist/reviewerPanel.d.ts +5 -5
  178. package/dist/reviewerPanel.d.ts.map +1 -1
  179. package/dist/reviewerPanel.js +22 -50
  180. package/dist/reviewerPanel.js.map +1 -1
  181. package/dist/run-input-resolution.d.ts.map +1 -1
  182. package/dist/run-input-resolution.js +10 -0
  183. package/dist/run-input-resolution.js.map +1 -1
  184. package/dist/runEventLog.d.ts.map +1 -1
  185. package/dist/runEventLog.js +5 -0
  186. package/dist/runEventLog.js.map +1 -1
  187. package/dist/runFactsBuilder.d.ts.map +1 -1
  188. package/dist/runFactsBuilder.js +11 -2
  189. package/dist/runFactsBuilder.js.map +1 -1
  190. package/dist/runFactsPresentation.d.ts.map +1 -1
  191. package/dist/runFactsPresentation.js +6 -1
  192. package/dist/runFactsPresentation.js.map +1 -1
  193. package/dist/runSupport.d.ts +2 -1
  194. package/dist/runSupport.d.ts.map +1 -1
  195. package/dist/runSupport.js +2 -1
  196. package/dist/runSupport.js.map +1 -1
  197. package/dist/runTelemetryWriter.d.ts.map +1 -1
  198. package/dist/runTelemetryWriter.js +7 -2
  199. package/dist/runTelemetryWriter.js.map +1 -1
  200. package/dist/runTerminalResults.d.ts +6 -2
  201. package/dist/runTerminalResults.d.ts.map +1 -1
  202. package/dist/runTerminalResults.js +28 -3
  203. package/dist/runTerminalResults.js.map +1 -1
  204. package/dist/runTerminals.d.ts.map +1 -1
  205. package/dist/runTerminals.js +15 -7
  206. package/dist/runTerminals.js.map +1 -1
  207. package/dist/secretDiff.d.ts +67 -27
  208. package/dist/secretDiff.d.ts.map +1 -1
  209. package/dist/secretDiff.js +143 -113
  210. package/dist/secretDiff.js.map +1 -1
  211. package/dist/session-capsule.d.ts +29 -0
  212. package/dist/session-capsule.d.ts.map +1 -0
  213. package/dist/session-capsule.js +86 -0
  214. package/dist/session-capsule.js.map +1 -0
  215. package/dist/workReportEnvelope.d.ts +123 -0
  216. package/dist/workReportEnvelope.d.ts.map +1 -0
  217. package/dist/workReportEnvelope.js +362 -0
  218. package/dist/workReportEnvelope.js.map +1 -0
  219. package/package.json +17 -17
  220. package/dist/effortGovernance.d.ts +0 -13
  221. package/dist/effortGovernance.d.ts.map +0 -1
  222. package/dist/effortGovernance.js +0 -7
  223. package/dist/effortGovernance.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Persistence classifier for candidate patches (INV-062, owner decision 05.10
3
+ * "3. C"): agent bytes are never rolled back, discarded or failed for
4
+ * containing secret-like text. The EXACT diff stays in memory, in the changed
5
+ * files and in the private exact patch object; every SAVED copy goes through
6
+ * `persistedPatchCopy`, and the run discloses paths and counts — never a match.
7
+ */
8
+ /** First line of a saved patch copy whose content differs from the exact
9
+ * patch. Git and the diff parsers skip any preamble before the first file
10
+ * record, so the notice travels with the copy without changing its structure. */
11
+ export declare const PERSISTED_PATCH_NOTICE: string;
12
+ export interface SecretLikeFileFinding {
13
+ path: string;
14
+ matches: number;
15
+ kinds: string[];
16
+ }
17
+ /** Disclosure record written to `attempt.yaml` and `work_product.yaml` meta as
18
+ * `secret_like`. Paths and rule ids only; a matched value never enters it. */
19
+ export interface SecretLikeFinding {
20
+ /** Per changed file, counted on the saved copy of that file's diff. */
21
+ files: SecretLikeFileFinding[];
22
+ /** Binary files whose payload is withheld from the saved copy. */
23
+ binary_paths: string[];
24
+ /** Images that were not copied into `produced/`. */
25
+ media_withheld: string[];
26
+ /** Matches hidden in the answer, counted before its first redaction. */
27
+ answer_matches: number;
28
+ total_matches: number;
29
+ }
30
+ export interface PersistedPatchCopy {
31
+ /** Byte-identical to the exact diff when nothing had to be hidden. */
32
+ text: string;
33
+ files: SecretLikeFileFinding[];
34
+ /** Matches that span file records and belong to no single file. */
35
+ unattributedMatches: number;
36
+ }
37
+ /**
38
+ * Build the saved copy of an exact candidate diff: withhold the payload of the
39
+ * named binary files, replace every secret-like string, and count per file in
40
+ * the same pass. A copy with nothing to hide is the exact diff itself (no
41
+ * notice, no new fields), so ordinary runs are unchanged. Idempotent.
42
+ */
43
+ export declare function persistedPatchCopy(diff: string, withheldBinaries: readonly string[]): PersistedPatchCopy;
44
+ /** Fence on the text that is about to be written. It can only fire on a
45
+ * redaction bug — agent bytes reach a saved file through `persistedPatchCopy`. */
46
+ export declare function assertPersistableText(label: string, text: string): void;
47
+ export declare function buildSecretLikeFinding(input: {
48
+ copy: PersistedPatchCopy;
49
+ binaryPaths: readonly string[];
50
+ mediaWithheld: readonly string[];
51
+ answerMatches: number;
52
+ }): SecretLikeFinding | undefined;
53
+ /** One human line for `final/summary.md`; null when there is nothing to say. */
54
+ export declare function secretLikeSummaryLine(finding: SecretLikeFinding | undefined): string | null;
55
+ //# sourceMappingURL=persistedPatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistedPatch.d.ts","sourceRoot":"","sources":["../src/persistedPatch.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH;;iFAEiF;AACjF,eAAO,MAAM,sBAAsB,QAG+E,CAAC;AAKnH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;8EAC8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,kEAAkE;IAClE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oDAAoD;IACpD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,mEAAmE;IACnE,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAuBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,SAAS,MAAM,EAAE,GAClC,kBAAkB,CA4CpB;AAED;kFACkF;AAClF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIvE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,iBAAiB,GAAG,SAAS,CAkBhC;AAOD,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAsB3F"}
@@ -0,0 +1,132 @@
1
+ import { parseUnifiedDiff } from "@claudexor/core";
2
+ import { containsSecretLikeToken, redactSecrets, sensitiveResourcePolicy } from "@claudexor/util";
3
+ /**
4
+ * Persistence classifier for candidate patches (INV-062, owner decision 05.10
5
+ * "3. C"): agent bytes are never rolled back, discarded or failed for
6
+ * containing secret-like text. The EXACT diff stays in memory, in the changed
7
+ * files and in the private exact patch object; every SAVED copy goes through
8
+ * `persistedPatchCopy`, and the run discloses paths and counts — never a match.
9
+ */
10
+ /** First line of a saved patch copy whose content differs from the exact
11
+ * patch. Git and the diff parsers skip any preamble before the first file
12
+ * record, so the notice travels with the copy without changing its structure. */
13
+ export const PERSISTED_PATCH_NOTICE = "# Claudexor: secret-like strings are replaced with [redacted] in this saved copy. " +
14
+ "The real bytes stay in the candidate's changed files and in Claudexor's private exact patch object; " +
15
+ "a reviewer workspace copy omits files with secret-like content. Apply through Claudexor, never from this copy.";
16
+ const BINARY_PAYLOAD_WITHHELD = "# Claudexor: binary payload withheld from this saved copy (secret-like bytes)";
17
+ const FILE_RECORD_START = /^(?:diff .+|Binary files .+ differ)$/gm;
18
+ /** Lines that carry diff structure, never file content. Inside a multi-line
19
+ * match they stay verbatim, so every file record and hunk of the copy survives. */
20
+ const DIFF_STRUCTURE_LINE = /^(?:diff --git |@@ |\|index [0-9a-f]+\.\.[0-9a-f]+|--- (?:a\/|\/dev\/null)|\+\+\+ (?:b\/|\/dev\/null)|(?:new|deleted) file mode |similarity index |rename (?:from|to) |(?:old|new) mode |Binary files )/;
21
+ /** A match starts inside a line, but subsequent lines include their diff
22
+ * prefix. Keep those prefixes, line endings and structure lines so hunk counts
23
+ * and file records remain valid. */
24
+ function redactPatchMatch(match) {
25
+ return match
26
+ .split("\n")
27
+ .map((line, index) => index > 0 && DIFF_STRUCTURE_LINE.test(line)
28
+ ? line
29
+ : `${index > 0 && /^[ +\-]/.test(line) ? line[0] : ""}[redacted]${line.endsWith("\r") ? "\r" : ""}`)
30
+ .join("\n");
31
+ }
32
+ /**
33
+ * Build the saved copy of an exact candidate diff: withhold the payload of the
34
+ * named binary files, replace every secret-like string, and count per file in
35
+ * the same pass. A copy with nothing to hide is the exact diff itself (no
36
+ * notice, no new fields), so ordinary runs are unchanged. Idempotent.
37
+ */
38
+ export function persistedPatchCopy(diff, withheldBinaries) {
39
+ if (diff.startsWith(PERSISTED_PATCH_NOTICE) && !containsSecretLikeToken(diff)) {
40
+ return { text: diff, files: [], unattributedMatches: 0 };
41
+ }
42
+ const withheld = new Set(withheldBinaries);
43
+ const starts = [...diff.matchAll(FILE_RECORD_START)].map((match) => match.index);
44
+ const files = new Map();
45
+ let unattributedMatches = 0;
46
+ const hide = (text, path) => {
47
+ const decision = sensitiveResourcePolicy.inspectContent(text, "redact", redactPatchMatch);
48
+ if (decision.matches === 0)
49
+ return text;
50
+ if (path === null) {
51
+ unattributedMatches += decision.matches;
52
+ return decision.text;
53
+ }
54
+ const safePath = redactSecrets(path);
55
+ const entry = files.get(safePath) ?? { path: safePath, matches: 0, kinds: [] };
56
+ entry.matches += decision.matches;
57
+ entry.kinds = [...new Set([...entry.kinds, ...decision.signatures])].sort();
58
+ files.set(safePath, entry);
59
+ return decision.text;
60
+ };
61
+ let body = hide(diff.slice(0, starts[0] ?? diff.length), null);
62
+ for (let index = 0; index < starts.length; index += 1) {
63
+ let record = diff.slice(starts[index], starts[index + 1] ?? diff.length);
64
+ const parsed = parseUnifiedDiff(record).files[0];
65
+ const path = parsed?.newPath ?? parsed?.oldPath ?? null;
66
+ if (path !== null && withheld.has(path)) {
67
+ const payload = record.search(/^GIT binary patch$/m);
68
+ if (payload >= 0) {
69
+ record = `${record.slice(0, payload)}GIT binary patch\n${BINARY_PAYLOAD_WITHHELD}\n`;
70
+ }
71
+ }
72
+ body += hide(record, path);
73
+ }
74
+ // A match may straddle two file records (a key block opened in one file and
75
+ // closed in the next). The whole-text pass is the authority on what a saved
76
+ // copy may contain; per-file passes only attribute counts.
77
+ body = hide(body, null);
78
+ return {
79
+ text: body === diff ? diff : `${PERSISTED_PATCH_NOTICE}\n${body}`,
80
+ files: [...files.values()],
81
+ unattributedMatches,
82
+ };
83
+ }
84
+ /** Fence on the text that is about to be written. It can only fire on a
85
+ * redaction bug — agent bytes reach a saved file through `persistedPatchCopy`. */
86
+ export function assertPersistableText(label, text) {
87
+ if (containsSecretLikeToken(text)) {
88
+ throw new Error(`${label} still matches the secret-like policy after redaction; not written`);
89
+ }
90
+ }
91
+ export function buildSecretLikeFinding(input) {
92
+ const clean = (paths) => [...new Set(paths.map((path) => redactSecrets(path)))].sort();
93
+ const finding = {
94
+ files: input.copy.files,
95
+ binary_paths: clean(input.binaryPaths),
96
+ media_withheld: clean(input.mediaWithheld),
97
+ answer_matches: input.answerMatches,
98
+ total_matches: input.copy.files.reduce((sum, file) => sum + file.matches, 0) +
99
+ input.copy.unattributedMatches +
100
+ input.answerMatches,
101
+ };
102
+ return finding.total_matches > 0 ||
103
+ finding.binary_paths.length > 0 ||
104
+ finding.media_withheld.length > 0
105
+ ? finding
106
+ : undefined;
107
+ }
108
+ function named(paths) {
109
+ const shown = paths.slice(0, 5).join(", ");
110
+ return paths.length > 5 ? `${shown}, +${paths.length - 5} more` : shown;
111
+ }
112
+ /** One human line for `final/summary.md`; null when there is nothing to say. */
113
+ export function secretLikeSummaryLine(finding) {
114
+ if (!finding)
115
+ return null;
116
+ const parts = [];
117
+ const inPatch = finding.total_matches - finding.answer_matches;
118
+ if (inPatch > 0) {
119
+ const paths = finding.files.map((file) => file.path);
120
+ parts.push(`${inPatch} in ${paths.length} changed file(s)${paths.length > 0 ? ` (${named(paths)})` : ""} — kept in the changed files, hidden in saved copies`);
121
+ }
122
+ if (finding.binary_paths.length > 0) {
123
+ parts.push(`${finding.binary_paths.length} binary payload(s) withheld from the saved patch (${named(finding.binary_paths)})`);
124
+ }
125
+ if (finding.answer_matches > 0)
126
+ parts.push(`${finding.answer_matches} hidden in the answer`);
127
+ if (finding.media_withheld.length > 0) {
128
+ parts.push(`${finding.media_withheld.length} image(s) not saved (${named(finding.media_withheld)})`);
129
+ }
130
+ return parts.length > 0 ? `- Secret-like strings: ${parts.join("; ")}` : null;
131
+ }
132
+ //# sourceMappingURL=persistedPatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistedPatch.js","sourceRoot":"","sources":["../src/persistedPatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAElG;;;;;;GAMG;AAEH;;iFAEiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GACjC,oFAAoF;IACpF,sGAAsG;IACtG,gHAAgH,CAAC;AAEnH,MAAM,uBAAuB,GAC3B,+EAA+E,CAAC;AA8BlF,MAAM,iBAAiB,GAAG,wCAAwC,CAAC;AAEnE;mFACmF;AACnF,MAAM,mBAAmB,GACvB,oOAAoO,CAAC;AAEvO;;oCAEoC;AACpC,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK;SACT,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnB,KAAK,GAAG,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACtG;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,gBAAmC;IAEnC,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiC,CAAC;IACvD,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAmB,EAAU,EAAE;QACzD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC1F,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,mBAAmB,IAAI,QAAQ,CAAC,OAAO,CAAC;YACxC,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC/E,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;QAClC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC,CAAC;IACF,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;QACxD,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACrD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,qBAAqB,uBAAuB,IAAI,CAAC;YACvF,CAAC;QACH,CAAC;QACD,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,4EAA4E;IAC5E,4EAA4E;IAC5E,2DAA2D;IAC3D,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,OAAO;QACL,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,sBAAsB,KAAK,IAAI,EAAE;QACjE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED;kFACkF;AAClF,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,IAAY;IAC/D,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oEAAoE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAKtC;IACC,MAAM,KAAK,GAAG,CAAC,KAAwB,EAAY,EAAE,CACnD,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,MAAM,OAAO,GAAsB;QACjC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;QACvB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;QAC1C,cAAc,EAAE,KAAK,CAAC,aAAa;QACnC,aAAa,EACX,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,mBAAmB;YAC9B,KAAK,CAAC,aAAa;KACtB,CAAC;IACF,OAAO,OAAO,CAAC,aAAa,GAAG,CAAC;QAC9B,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAC/B,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QACjC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,KAAwB;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1E,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,OAAsC;IAC1E,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CACR,GAAG,OAAO,OAAO,KAAK,CAAC,MAAM,mBAAmB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,sDAAsD,CACnJ,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CACR,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,qDAAqD,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAClH,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,uBAAuB,CAAC,CAAC;IAC7F,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,wBAAwB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CACzF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChF,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type ActiveTaskContract, type CouncilProjection } from "@claudexor/schema";
2
+ import type { ArtifactStore, RunPaths } from "@claudexor/artifact-store";
3
+ import type { EventLog } from "@claudexor/event-log";
4
+ import type { BudgetLedger } from "@claudexor/budget";
5
+ import type { AttemptTelemetry } from "./attemptTelemetry.js";
6
+ import type { OrchestratorResult, RunInput } from "./orchestrator.js";
7
+ import type { plannerAttemptSummary } from "./plannerAttempt.js";
8
+ import type { PlanRunDeps } from "./planRun.js";
9
+ type PlanAttemptSummary = ReturnType<typeof plannerAttemptSummary>;
10
+ /** Write final plan artifacts (plan.md, questions.json, work_product, summary,
11
+ * telemetry) and the terminal event, then return the result. ONE owner for both
12
+ * the solo and council success tails so the artifacts are shape-identical. */
13
+ export declare function finalizePlanRun(deps: PlanRunDeps, args: {
14
+ input: RunInput;
15
+ contract: ActiveTaskContract;
16
+ taskId: string;
17
+ runId: string;
18
+ store: ArtifactStore;
19
+ paths: RunPaths;
20
+ log: EventLog;
21
+ ledger: BudgetLedger;
22
+ plans: {
23
+ id: string;
24
+ text: string;
25
+ }[];
26
+ planAttempts: PlanAttemptSummary[];
27
+ attemptTelemetries: {
28
+ attemptId: string;
29
+ harnessId: string;
30
+ telemetry: AttemptTelemetry;
31
+ }[];
32
+ winnerAttemptId?: string | null;
33
+ council: CouncilProjection | null;
34
+ councilUnverifiedInputs?: number;
35
+ }): OrchestratorResult;
36
+ export {};
37
+ //# sourceMappingURL=planFinalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planFinalize.d.ts","sourceRoot":"","sources":["../src/planFinalize.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAMhD,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEnE;;8EAE8E;AAC9E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE;IACJ,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtC,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,kBAAkB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,gBAAgB,CAAA;KAAE,EAAE,CAAC;IAC5F,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,GACA,kBAAkB,CA+GpB"}
@@ -0,0 +1,94 @@
1
+ import { join } from "node:path";
2
+ import { PlanQuestionsArtifact, derivePlanReadiness, } from "@claudexor/schema";
3
+ import { newId, redactSecrets } from "@claudexor/util";
4
+ import { extractPlanQuestions } from "./planQuestions.js";
5
+ import { emitPlanTerminal, resolvePlanTerminalFacts } from "./planTerminal.js";
6
+ import { councilDegradationNote } from "./council.js";
7
+ import { answerSecretLikeFinding, secretLikeSummaryLine } from "./secretDiff.js";
8
+ /** Write final plan artifacts (plan.md, questions.json, work_product, summary,
9
+ * telemetry) and the terminal event, then return the result. ONE owner for both
10
+ * the solo and council success tails so the artifacts are shape-identical. */
11
+ export function finalizePlanRun(deps, args) {
12
+ const { input, contract, taskId, runId, store, paths, log, ledger, plans, planAttempts, council, } = args;
13
+ const failedPlanners = planAttempts.filter((p) => p.status !== "success");
14
+ const winner = plans[0];
15
+ const winnerHarness = winner?.id ?? "(none)";
16
+ const winnerAttemptId = args.winnerAttemptId ?? planAttempts.find((p) => p.status === "success")?.attemptId ?? null;
17
+ const secretLike = answerSecretLikeFinding(planAttempts.find((p) => p.attemptId === winnerAttemptId)?.answerMatches);
18
+ // final/plan.md is the PURE plan body (implement freezes+hashes it; V6a).
19
+ const planDoc = redactSecrets(winner?.text ?? "(no output)");
20
+ store.writeText(join(paths.finalDir, "plan.md"), planDoc + "\n");
21
+ // Engine-parsed open questions (final/questions.json): the ONE artifact plan
22
+ // readiness derives from. For council this runs on the MERGE output only.
23
+ const parsedQuestions = extractPlanQuestions(planDoc);
24
+ store.writeJson(join(paths.finalDir, "questions.json"), parsedQuestions);
25
+ if (council)
26
+ store.writeYaml(join(paths.root, "council", "membership.yaml"), council);
27
+ // A plan is a delivered work product (a report); result_kind=plan tells
28
+ // surfaces NO files changed.
29
+ store.writeYaml(join(paths.finalDir, "work_product.yaml"), {
30
+ id: newId("wp"),
31
+ kind: "report",
32
+ source_task_id: taskId,
33
+ producer_attempt_id: winnerAttemptId,
34
+ meta: {
35
+ mode: "plan",
36
+ result_kind: "plan",
37
+ planners: council?.members.length ?? plans.length,
38
+ diffstat: { files: 0, additions: 0, deletions: 0 },
39
+ blockers: 0,
40
+ adopted: null,
41
+ ...(secretLike ? { secret_like: secretLike } : {}),
42
+ },
43
+ });
44
+ const readiness = derivePlanReadiness(PlanQuestionsArtifact.parse(parsedQuestions));
45
+ const councilNote = council ? councilDegradationNote(council) : "";
46
+ const councilInputs = `${council?.drafted ?? 0} contract-accepted draft(s), ${args.councilUnverifiedInputs ?? 0} unverified draft(s)`;
47
+ // D-16: fold the WINNING attempt's work_state into the plan terminal (INV-116; see planTerminal.ts).
48
+ const { planFacts, planVetoed, lifecycleLine, summarySuffix } = resolvePlanTerminalFacts(args.attemptTelemetries, winnerAttemptId);
49
+ store.writeText(join(paths.finalDir, "summary.md"), [
50
+ `# Run ${runId} (plan)`,
51
+ "",
52
+ lifecycleLine,
53
+ ...(secretLike ? [secretLikeSummaryLine(secretLike)] : []),
54
+ council
55
+ ? `- Council: merged by ${council.mergedBy ?? "(none)"}; inputs: ${councilInputs}; ${council.requested} member(s) requested`
56
+ : `- Planner: ${winnerHarness}`,
57
+ `- Plan: final/plan.md`,
58
+ `- Open questions: ${readiness.questionCount}${parsedQuestions.parse === "none_found" ? " (no tagged block — unverified)" : ""}`,
59
+ `- Goal: ${redactSecrets(input.prompt).slice(0, 400)}`,
60
+ ...(councilNote ? [`- Council note: ${councilNote}`] : []),
61
+ ...(failedPlanners.length > 0 && !council
62
+ ? [
63
+ `- Fallback omissions: ${failedPlanners.map((p) => `${p.harnessId} ${p.status}`).join(", ")}`,
64
+ ]
65
+ : []),
66
+ "",
67
+ ].join("\n"));
68
+ deps.writeRunTelemetry(store, paths, contract, runId, taskId, "plan", args.attemptTelemetries, winnerAttemptId);
69
+ log.emit("output.ready", { kind: "plan", path: "final/plan.md" });
70
+ log.emit("plan.questions", {
71
+ parse: parsedQuestions.parse,
72
+ question_count: readiness.questionCount,
73
+ readiness: readiness.state,
74
+ });
75
+ // D-16 terminal disclosure keyed on the folded facts (see planTerminal.ts).
76
+ emitPlanTerminal(store, paths, log, planFacts, planVetoed);
77
+ return {
78
+ spendUsd: ledger.spend(),
79
+ runId,
80
+ taskId,
81
+ mode: "plan",
82
+ lifecycle: planFacts.lifecycle,
83
+ facts: planFacts,
84
+ winner: null,
85
+ runDir: paths.root,
86
+ summary: `${council ? `Council plan (merged by ${winnerHarness}; ${councilInputs})` : `Plan by ${winnerHarness}`}; ${readiness.questionCount} open question(s)${parsedQuestions.parse === "none_found" ? " (untagged plan — unverified)" : ""}${summarySuffix}.`,
87
+ candidates: planAttempts.map((p) => ({
88
+ attemptId: p.attemptId,
89
+ harnessId: p.harnessId,
90
+ status: p.status,
91
+ })),
92
+ };
93
+ }
94
+ //# sourceMappingURL=planFinalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planFinalize.js","sourceRoot":"","sources":["../src/planFinalize.ts"],"names":[],"mappings":"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"}
package/dist/planRun.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { type ActiveTaskContract, type CouncilProjection, type ModeKind } from "@claudexor/schema";
1
+ export { finalizePlanRun } from "./planFinalize.js";
2
+ import { type ActiveTaskContract, type ModeKind } from "@claudexor/schema";
2
3
  import { ArtifactStore, type RunPaths } from "@claudexor/artifact-store";
3
4
  import { EventLog } from "@claudexor/event-log";
4
5
  import { BudgetLedger } from "@claudexor/budget";
@@ -9,8 +10,7 @@ import { plannerAttemptSummary, type PlannerAttemptArgs, type PlannerAttemptOutc
9
10
  type PlanAttemptSummary = ReturnType<typeof plannerAttemptSummary>;
10
11
  /** Council orchestration and shared solo/Council finalize/failure tails. */
11
12
  export interface PlanRunDeps {
12
- /** One planner spawn (native plan mode, read-only) — the SAME machinery the
13
- * solo plan loop drives; council reuses it per member + for the merge. */
13
+ /** One native read-only planner spawn, shared by solo, Council draft and merge. */
14
14
  runPlannerAttempt(args: PlannerAttemptArgs): Promise<PlannerAttemptOutcome>;
15
15
  /** Persist the run telemetry artifact (auth-preference resolution lives on
16
16
  * the orchestrator, so this stays a bound method). */
@@ -49,32 +49,6 @@ export declare function runCouncilPlan(deps: PlanRunDeps, args: {
49
49
  laneRun: boolean;
50
50
  estimateUsdFloor: number;
51
51
  }): Promise<OrchestratorResult>;
52
- /** Write final plan artifacts (plan.md, questions.json, work_product, summary,
53
- * telemetry) and the terminal event, then return the result. ONE owner for both
54
- * the solo and council success tails so the artifacts are shape-identical. */
55
- export declare function finalizePlanRun(deps: PlanRunDeps, args: {
56
- input: RunInput;
57
- contract: ActiveTaskContract;
58
- taskId: string;
59
- runId: string;
60
- store: ArtifactStore;
61
- paths: RunPaths;
62
- log: EventLog;
63
- ledger: BudgetLedger;
64
- plans: {
65
- id: string;
66
- text: string;
67
- }[];
68
- planAttempts: PlanAttemptSummary[];
69
- attemptTelemetries: {
70
- attemptId: string;
71
- harnessId: string;
72
- telemetry: AttemptTelemetry;
73
- }[];
74
- winnerAttemptId?: string | null;
75
- council: CouncilProjection | null;
76
- councilUnverifiedInputs?: number;
77
- }): OrchestratorResult;
78
52
  /** Shared failure projection when solo planning or Council produces no plan. */
79
53
  export declare function writePlanHarnessFailure(deps: PlanRunDeps, ctx: {
80
54
  contract: ActiveTaskContract;
@@ -95,5 +69,4 @@ export declare function writePlanHarnessFailure(deps: PlanRunDeps, ctx: {
95
69
  preservedDrafts?: string[];
96
70
  aggregateFailure?: boolean;
97
71
  }, fallbackMessage: string): OrchestratorResult;
98
- export {};
99
72
  //# sourceMappingURL=planRun.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"planRun.d.ts","sourceRoot":"","sources":["../src/planRun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planRun.d.ts","sourceRoot":"","sources":["../src/planRun.ts"],"names":[],"mappings":"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"}
package/dist/planRun.js CHANGED
@@ -1,15 +1,16 @@
1
1
  import { join } from "node:path";
2
- import { PlanQuestionsArtifact, MAX_COUNCIL_MEMBERS_DEFAULT, derivePlanReadiness, makeOutcomeFacts, } from "@claudexor/schema";
3
- import { newId, redactSecrets } from "@claudexor/util";
2
+ import { finalizePlanRun } from "./planFinalize.js";
3
+ export { finalizePlanRun } from "./planFinalize.js";
4
+ import { MAX_COUNCIL_MEMBERS_DEFAULT, makeOutcomeFacts, } from "@claudexor/schema";
5
+ import { redactSecrets } from "@claudexor/util";
4
6
  import { readOnlyNoSuccessTerminal } from "./attemptFinalize.js";
5
7
  import { cancelledResult, writeFailure } from "./runTerminals.js";
6
8
  import { requestRefusalFailure } from "./runTerminalResults.js";
7
9
  import { unanimousDeclaredFailure } from "./candidateEvidence.js";
8
10
  import { budgetFailureRecord, classifyBudgetFailure } from "./budgetFailure.js";
9
- import { extractPlanQuestions } from "./planQuestions.js";
10
- import { emitPlanTerminal, resolvePlanTerminalFacts } from "./planTerminal.js";
11
+ import { attemptVendorFailure } from "./harnessFailure.js";
11
12
  import { dominantHarnessFailureCategory, harnessFailureNextActions } from "./harnessFailure.js";
12
- import { buildCouncilProjection, councilDegradationNote, councilDraftRelPath, councilMergePrompt, resolveCouncilWidth, } from "./council.js";
13
+ import { buildCouncilProjection, councilDraftRelPath, councilMergePrompt, resolveCouncilWidth, } from "./council.js";
13
14
  import { stageCouncilDraft } from "./council-input.js";
14
15
  import { plannerAttemptSummary, } from "./plannerAttempt.js";
15
16
  /** Council (INV-031/D31) drafts in parallel through the ordinary read-only
@@ -223,89 +224,6 @@ export async function runCouncilPlan(deps, args) {
223
224
  councilUnverifiedInputs: mergeInputs.filter((d) => d.unverified).length,
224
225
  });
225
226
  }
226
- /** Write final plan artifacts (plan.md, questions.json, work_product, summary,
227
- * telemetry) and the terminal event, then return the result. ONE owner for both
228
- * the solo and council success tails so the artifacts are shape-identical. */
229
- export function finalizePlanRun(deps, args) {
230
- const { input, contract, taskId, runId, store, paths, log, ledger, plans, planAttempts, council, } = args;
231
- const failedPlanners = planAttempts.filter((p) => p.status !== "success");
232
- const winner = plans[0];
233
- const winnerHarness = winner?.id ?? "(none)";
234
- const winnerAttemptId = args.winnerAttemptId ?? planAttempts.find((p) => p.status === "success")?.attemptId ?? null;
235
- // final/plan.md is the PURE plan body (implement freezes+hashes it; V6a).
236
- const planDoc = redactSecrets(winner?.text ?? "(no output)");
237
- store.writeText(join(paths.finalDir, "plan.md"), planDoc + "\n");
238
- // Engine-parsed open questions (final/questions.json): the ONE artifact plan
239
- // readiness derives from. For council this runs on the MERGE output only.
240
- const parsedQuestions = extractPlanQuestions(planDoc);
241
- store.writeJson(join(paths.finalDir, "questions.json"), parsedQuestions);
242
- if (council)
243
- store.writeYaml(join(paths.root, "council", "membership.yaml"), council);
244
- // A plan is a delivered work product (a report); result_kind=plan tells
245
- // surfaces NO files changed.
246
- store.writeYaml(join(paths.finalDir, "work_product.yaml"), {
247
- id: newId("wp"),
248
- kind: "report",
249
- source_task_id: taskId,
250
- producer_attempt_id: winnerAttemptId,
251
- meta: {
252
- mode: "plan",
253
- result_kind: "plan",
254
- planners: council?.members.length ?? plans.length,
255
- diffstat: { files: 0, additions: 0, deletions: 0 },
256
- blockers: 0,
257
- adopted: null,
258
- },
259
- });
260
- const readiness = derivePlanReadiness(PlanQuestionsArtifact.parse(parsedQuestions));
261
- const councilNote = council ? councilDegradationNote(council) : "";
262
- const councilInputs = `${council?.drafted ?? 0} contract-accepted draft(s), ${args.councilUnverifiedInputs ?? 0} unverified draft(s)`;
263
- // D-16: fold the WINNING attempt's work_state into the plan terminal (INV-116; see planTerminal.ts).
264
- const { planFacts, planVetoed, lifecycleLine, summarySuffix } = resolvePlanTerminalFacts(args.attemptTelemetries, winnerAttemptId);
265
- store.writeText(join(paths.finalDir, "summary.md"), [
266
- `# Run ${runId} (plan)`,
267
- "",
268
- lifecycleLine,
269
- council
270
- ? `- Council: merged by ${council.mergedBy ?? "(none)"}; inputs: ${councilInputs}; ${council.requested} member(s) requested`
271
- : `- Planner: ${winnerHarness}`,
272
- `- Plan: final/plan.md`,
273
- `- Open questions: ${readiness.questionCount}${parsedQuestions.parse === "none_found" ? " (no tagged block — unverified)" : ""}`,
274
- `- Goal: ${redactSecrets(input.prompt).slice(0, 400)}`,
275
- ...(councilNote ? [`- Council note: ${councilNote}`] : []),
276
- ...(failedPlanners.length > 0 && !council
277
- ? [
278
- `- Fallback omissions: ${failedPlanners.map((p) => `${p.harnessId} ${p.status}`).join(", ")}`,
279
- ]
280
- : []),
281
- "",
282
- ].join("\n"));
283
- deps.writeRunTelemetry(store, paths, contract, runId, taskId, "plan", args.attemptTelemetries, winnerAttemptId);
284
- log.emit("output.ready", { kind: "plan", path: "final/plan.md" });
285
- log.emit("plan.questions", {
286
- parse: parsedQuestions.parse,
287
- question_count: readiness.questionCount,
288
- readiness: readiness.state,
289
- });
290
- // D-16 terminal disclosure keyed on the folded facts (see planTerminal.ts).
291
- emitPlanTerminal(store, paths, log, planFacts, planVetoed);
292
- return {
293
- spendUsd: ledger.spend(),
294
- runId,
295
- taskId,
296
- mode: "plan",
297
- lifecycle: planFacts.lifecycle,
298
- facts: planFacts,
299
- winner: null,
300
- runDir: paths.root,
301
- summary: `${council ? `Council plan (merged by ${winnerHarness}; ${councilInputs})` : `Plan by ${winnerHarness}`}; ${readiness.questionCount} open question(s)${parsedQuestions.parse === "none_found" ? " (untagged plan — unverified)" : ""}${summarySuffix}.`,
302
- candidates: planAttempts.map((p) => ({
303
- attemptId: p.attemptId,
304
- harnessId: p.harnessId,
305
- status: p.status,
306
- })),
307
- };
308
- }
309
227
  /** Shared failure projection when solo planning or Council produces no plan. */
310
228
  export function writePlanHarnessFailure(deps, ctx, fallbackMessage) {
311
229
  const { contract, taskId, runId, store, paths, log, ledger, planAttempts } = ctx;
@@ -347,6 +265,9 @@ export function writePlanHarnessFailure(deps, ctx, fallbackMessage) {
347
265
  category: blocked ? "policy" : (declared?.category ?? "harness_error"),
348
266
  code: declared?.code,
349
267
  requestRefusal: declared?.requestRefusal,
268
+ vendorFailure: ctx.aggregateFailure
269
+ ? null
270
+ : attemptVendorFailure(ctx.attemptTelemetries, planAttempts.at(-1)?.attemptId),
350
271
  safeMessage: message,
351
272
  eventRefs: planAttempts.map((p) => `attempts/${p.attemptId}/events.jsonl`),
352
273
  runDir: paths.root,
@@ -1 +1 @@
1
- {"version":3,"file":"planRun.js","sourceRoot":"","sources":["../src/planRun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planRun.js","sourceRoot":"","sources":["../src/planRun.ts"],"names":[],"mappings":"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"}