@claudexor/orchestrator 3.20.1 → 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 (180) hide show
  1. package/dist/attemptFinalize.d.ts +14 -101
  2. package/dist/attemptFinalize.d.ts.map +1 -1
  3. package/dist/attemptFinalize.js +7 -328
  4. package/dist/attemptFinalize.js.map +1 -1
  5. package/dist/candidateEvidence.d.ts +15 -6
  6. package/dist/candidateEvidence.d.ts.map +1 -1
  7. package/dist/candidateEvidence.js +1 -1
  8. package/dist/candidateEvidence.js.map +1 -1
  9. package/dist/candidateOutputs.d.ts +7 -3
  10. package/dist/candidateOutputs.d.ts.map +1 -1
  11. package/dist/candidateOutputs.js +4 -1
  12. package/dist/candidateOutputs.js.map +1 -1
  13. package/dist/candidateReview.d.ts.map +1 -1
  14. package/dist/candidateReview.js +3 -1
  15. package/dist/candidateReview.js.map +1 -1
  16. package/dist/candidateTerminals.d.ts +4 -0
  17. package/dist/candidateTerminals.d.ts.map +1 -1
  18. package/dist/candidateTerminals.js +18 -7
  19. package/dist/candidateTerminals.js.map +1 -1
  20. package/dist/candidateWorkProduct.d.ts.map +1 -1
  21. package/dist/candidateWorkProduct.js +6 -6
  22. package/dist/candidateWorkProduct.js.map +1 -1
  23. package/dist/carrier-planner.d.ts +94 -0
  24. package/dist/carrier-planner.d.ts.map +1 -0
  25. package/dist/carrier-planner.js +111 -0
  26. package/dist/carrier-planner.js.map +1 -0
  27. package/dist/continuation-custody.d.ts +57 -0
  28. package/dist/continuation-custody.d.ts.map +1 -0
  29. package/dist/continuation-custody.js +151 -0
  30. package/dist/continuation-custody.js.map +1 -0
  31. package/dist/continuation-evidence-io.d.ts +18 -0
  32. package/dist/continuation-evidence-io.d.ts.map +1 -0
  33. package/dist/continuation-evidence-io.js +167 -0
  34. package/dist/continuation-evidence-io.js.map +1 -0
  35. package/dist/continuation-evidence.d.ts +81 -0
  36. package/dist/continuation-evidence.d.ts.map +1 -0
  37. package/dist/continuation-evidence.js +122 -0
  38. package/dist/continuation-evidence.js.map +1 -0
  39. package/dist/continuation-input.d.ts +10 -0
  40. package/dist/continuation-input.d.ts.map +1 -0
  41. package/dist/continuation-input.js +69 -0
  42. package/dist/continuation-input.js.map +1 -0
  43. package/dist/continue-from.d.ts +41 -0
  44. package/dist/continue-from.d.ts.map +1 -0
  45. package/dist/continue-from.js +292 -0
  46. package/dist/continue-from.js.map +1 -0
  47. package/dist/continuity-notice.d.ts +42 -0
  48. package/dist/continuity-notice.d.ts.map +1 -0
  49. package/dist/continuity-notice.js +42 -0
  50. package/dist/continuity-notice.js.map +1 -0
  51. package/dist/continuity-terminal.d.ts +19 -0
  52. package/dist/continuity-terminal.d.ts.map +1 -0
  53. package/dist/continuity-terminal.js +34 -0
  54. package/dist/continuity-terminal.js.map +1 -0
  55. package/dist/credential-cooldown.d.ts.map +1 -1
  56. package/dist/credential-cooldown.js +8 -3
  57. package/dist/credential-cooldown.js.map +1 -1
  58. package/dist/credential-differential.d.ts +1 -0
  59. package/dist/credential-differential.d.ts.map +1 -1
  60. package/dist/credential-differential.js +32 -4
  61. package/dist/credential-differential.js.map +1 -1
  62. package/dist/deepScanReducer.d.ts +4 -1
  63. package/dist/deepScanReducer.d.ts.map +1 -1
  64. package/dist/deepScanReducer.js +10 -5
  65. package/dist/deepScanReducer.js.map +1 -1
  66. package/dist/delegationFailure.d.ts +4 -3
  67. package/dist/delegationFailure.d.ts.map +1 -1
  68. package/dist/delegationFailure.js +25 -24
  69. package/dist/delegationFailure.js.map +1 -1
  70. package/dist/directoryCandidate.d.ts +2 -2
  71. package/dist/directoryCandidate.d.ts.map +1 -1
  72. package/dist/directoryCandidate.js +3 -0
  73. package/dist/directoryCandidate.js.map +1 -1
  74. package/dist/inrun-continuity-carrier.d.ts +76 -0
  75. package/dist/inrun-continuity-carrier.d.ts.map +1 -0
  76. package/dist/inrun-continuity-carrier.js +218 -0
  77. package/dist/inrun-continuity-carrier.js.map +1 -0
  78. package/dist/inrun-continuity-thread.d.ts +8 -0
  79. package/dist/inrun-continuity-thread.d.ts.map +1 -0
  80. package/dist/inrun-continuity-thread.js +23 -0
  81. package/dist/inrun-continuity-thread.js.map +1 -0
  82. package/dist/inrun-continuity-types.d.ts +105 -0
  83. package/dist/inrun-continuity-types.d.ts.map +1 -0
  84. package/dist/inrun-continuity-types.js +2 -0
  85. package/dist/inrun-continuity-types.js.map +1 -0
  86. package/dist/inrun-continuity.d.ts +79 -0
  87. package/dist/inrun-continuity.d.ts.map +1 -0
  88. package/dist/inrun-continuity.js +465 -0
  89. package/dist/inrun-continuity.js.map +1 -0
  90. package/dist/inrun-continuity.test-support.d.ts +374 -0
  91. package/dist/inrun-continuity.test-support.d.ts.map +1 -0
  92. package/dist/inrun-continuity.test-support.js +198 -0
  93. package/dist/inrun-continuity.test-support.js.map +1 -0
  94. package/dist/inrun-retained-output.d.ts +9 -0
  95. package/dist/inrun-retained-output.d.ts.map +1 -0
  96. package/dist/inrun-retained-output.js +16 -0
  97. package/dist/inrun-retained-output.js.map +1 -0
  98. package/dist/interaction.d.ts +1 -1
  99. package/dist/interaction.d.ts.map +1 -1
  100. package/dist/interaction.js +6 -1
  101. package/dist/interaction.js.map +1 -1
  102. package/dist/modelGovernance.d.ts +4 -0
  103. package/dist/modelGovernance.d.ts.map +1 -1
  104. package/dist/modelGovernance.js +27 -1
  105. package/dist/modelGovernance.js.map +1 -1
  106. package/dist/orchestrator-credentials.d.ts +1 -1
  107. package/dist/orchestrator-credentials.d.ts.map +1 -1
  108. package/dist/orchestrator-credentials.js +4 -3
  109. package/dist/orchestrator-credentials.js.map +1 -1
  110. package/dist/orchestrator.d.ts +4 -4
  111. package/dist/orchestrator.d.ts.map +1 -1
  112. package/dist/orchestrator.js +252 -226
  113. package/dist/orchestrator.js.map +1 -1
  114. package/dist/persistedPatch.d.ts +55 -0
  115. package/dist/persistedPatch.d.ts.map +1 -0
  116. package/dist/persistedPatch.js +132 -0
  117. package/dist/persistedPatch.js.map +1 -0
  118. package/dist/planFinalize.d.ts +37 -0
  119. package/dist/planFinalize.d.ts.map +1 -0
  120. package/dist/planFinalize.js +94 -0
  121. package/dist/planFinalize.js.map +1 -0
  122. package/dist/planRun.d.ts +2 -28
  123. package/dist/planRun.d.ts.map +1 -1
  124. package/dist/planRun.js +5 -88
  125. package/dist/planRun.js.map +1 -1
  126. package/dist/plannerAttempt.d.ts +4 -1
  127. package/dist/plannerAttempt.d.ts.map +1 -1
  128. package/dist/plannerAttempt.js +9 -4
  129. package/dist/plannerAttempt.js.map +1 -1
  130. package/dist/prompt-framing.d.ts +1 -1
  131. package/dist/prompt-framing.d.ts.map +1 -1
  132. package/dist/prompt-framing.js.map +1 -1
  133. package/dist/reviewerEffort.d.ts +41 -0
  134. package/dist/reviewerEffort.d.ts.map +1 -0
  135. package/dist/reviewerEffort.js +37 -0
  136. package/dist/reviewerEffort.js.map +1 -0
  137. package/dist/reviewerPanel.d.ts +5 -5
  138. package/dist/reviewerPanel.d.ts.map +1 -1
  139. package/dist/reviewerPanel.js +22 -50
  140. package/dist/reviewerPanel.js.map +1 -1
  141. package/dist/run-input-resolution.d.ts.map +1 -1
  142. package/dist/run-input-resolution.js +10 -0
  143. package/dist/run-input-resolution.js.map +1 -1
  144. package/dist/runEventLog.d.ts.map +1 -1
  145. package/dist/runEventLog.js +5 -0
  146. package/dist/runEventLog.js.map +1 -1
  147. package/dist/runFactsBuilder.d.ts.map +1 -1
  148. package/dist/runFactsBuilder.js +11 -2
  149. package/dist/runFactsBuilder.js.map +1 -1
  150. package/dist/runSupport.d.ts +2 -1
  151. package/dist/runSupport.d.ts.map +1 -1
  152. package/dist/runSupport.js +2 -1
  153. package/dist/runSupport.js.map +1 -1
  154. package/dist/runTelemetryWriter.d.ts.map +1 -1
  155. package/dist/runTelemetryWriter.js +7 -2
  156. package/dist/runTelemetryWriter.js.map +1 -1
  157. package/dist/runTerminalResults.d.ts +6 -2
  158. package/dist/runTerminalResults.d.ts.map +1 -1
  159. package/dist/runTerminalResults.js +8 -1
  160. package/dist/runTerminalResults.js.map +1 -1
  161. package/dist/runTerminals.d.ts.map +1 -1
  162. package/dist/runTerminals.js +6 -5
  163. package/dist/runTerminals.js.map +1 -1
  164. package/dist/secretDiff.d.ts +67 -27
  165. package/dist/secretDiff.d.ts.map +1 -1
  166. package/dist/secretDiff.js +143 -113
  167. package/dist/secretDiff.js.map +1 -1
  168. package/dist/session-capsule.d.ts +29 -0
  169. package/dist/session-capsule.d.ts.map +1 -0
  170. package/dist/session-capsule.js +86 -0
  171. package/dist/session-capsule.js.map +1 -0
  172. package/dist/workReportEnvelope.d.ts +123 -0
  173. package/dist/workReportEnvelope.d.ts.map +1 -0
  174. package/dist/workReportEnvelope.js +362 -0
  175. package/dist/workReportEnvelope.js.map +1 -0
  176. package/package.json +17 -17
  177. package/dist/effortGovernance.d.ts +0 -13
  178. package/dist/effortGovernance.d.ts.map +0 -1
  179. package/dist/effortGovernance.js +0 -7
  180. 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":"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"}
@@ -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";
@@ -48,32 +49,6 @@ export declare function runCouncilPlan(deps: PlanRunDeps, args: {
48
49
  laneRun: boolean;
49
50
  estimateUsdFloor: number;
50
51
  }): Promise<OrchestratorResult>;
51
- /** Write final plan artifacts (plan.md, questions.json, work_product, summary,
52
- * telemetry) and the terminal event, then return the result. ONE owner for both
53
- * the solo and council success tails so the artifacts are shape-identical. */
54
- export declare function finalizePlanRun(deps: PlanRunDeps, args: {
55
- input: RunInput;
56
- contract: ActiveTaskContract;
57
- taskId: string;
58
- runId: string;
59
- store: ArtifactStore;
60
- paths: RunPaths;
61
- log: EventLog;
62
- ledger: BudgetLedger;
63
- plans: {
64
- id: string;
65
- text: string;
66
- }[];
67
- planAttempts: PlanAttemptSummary[];
68
- attemptTelemetries: {
69
- attemptId: string;
70
- harnessId: string;
71
- telemetry: AttemptTelemetry;
72
- }[];
73
- winnerAttemptId?: string | null;
74
- council: CouncilProjection | null;
75
- councilUnverifiedInputs?: number;
76
- }): OrchestratorResult;
77
52
  /** Shared failure projection when solo planning or Council produces no plan. */
78
53
  export declare function writePlanHarnessFailure(deps: PlanRunDeps, ctx: {
79
54
  contract: ActiveTaskContract;
@@ -94,5 +69,4 @@ export declare function writePlanHarnessFailure(deps: PlanRunDeps, ctx: {
94
69
  preservedDrafts?: string[];
95
70
  aggregateFailure?: boolean;
96
71
  }, fallbackMessage: string): OrchestratorResult;
97
- export {};
98
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,16 +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
11
  import { attemptVendorFailure } from "./harnessFailure.js";
12
12
  import { dominantHarnessFailureCategory, harnessFailureNextActions } from "./harnessFailure.js";
13
- import { buildCouncilProjection, councilDegradationNote, councilDraftRelPath, councilMergePrompt, resolveCouncilWidth, } from "./council.js";
13
+ import { buildCouncilProjection, councilDraftRelPath, councilMergePrompt, resolveCouncilWidth, } from "./council.js";
14
14
  import { stageCouncilDraft } from "./council-input.js";
15
15
  import { plannerAttemptSummary, } from "./plannerAttempt.js";
16
16
  /** Council (INV-031/D31) drafts in parallel through the ordinary read-only
@@ -224,89 +224,6 @@ export async function runCouncilPlan(deps, args) {
224
224
  councilUnverifiedInputs: mergeInputs.filter((d) => d.unverified).length,
225
225
  });
226
226
  }
227
- /** Write final plan artifacts (plan.md, questions.json, work_product, summary,
228
- * telemetry) and the terminal event, then return the result. ONE owner for both
229
- * the solo and council success tails so the artifacts are shape-identical. */
230
- export function finalizePlanRun(deps, args) {
231
- const { input, contract, taskId, runId, store, paths, log, ledger, plans, planAttempts, council, } = args;
232
- const failedPlanners = planAttempts.filter((p) => p.status !== "success");
233
- const winner = plans[0];
234
- const winnerHarness = winner?.id ?? "(none)";
235
- const winnerAttemptId = args.winnerAttemptId ?? planAttempts.find((p) => p.status === "success")?.attemptId ?? null;
236
- // final/plan.md is the PURE plan body (implement freezes+hashes it; V6a).
237
- const planDoc = redactSecrets(winner?.text ?? "(no output)");
238
- store.writeText(join(paths.finalDir, "plan.md"), planDoc + "\n");
239
- // Engine-parsed open questions (final/questions.json): the ONE artifact plan
240
- // readiness derives from. For council this runs on the MERGE output only.
241
- const parsedQuestions = extractPlanQuestions(planDoc);
242
- store.writeJson(join(paths.finalDir, "questions.json"), parsedQuestions);
243
- if (council)
244
- store.writeYaml(join(paths.root, "council", "membership.yaml"), council);
245
- // A plan is a delivered work product (a report); result_kind=plan tells
246
- // surfaces NO files changed.
247
- store.writeYaml(join(paths.finalDir, "work_product.yaml"), {
248
- id: newId("wp"),
249
- kind: "report",
250
- source_task_id: taskId,
251
- producer_attempt_id: winnerAttemptId,
252
- meta: {
253
- mode: "plan",
254
- result_kind: "plan",
255
- planners: council?.members.length ?? plans.length,
256
- diffstat: { files: 0, additions: 0, deletions: 0 },
257
- blockers: 0,
258
- adopted: null,
259
- },
260
- });
261
- const readiness = derivePlanReadiness(PlanQuestionsArtifact.parse(parsedQuestions));
262
- const councilNote = council ? councilDegradationNote(council) : "";
263
- const councilInputs = `${council?.drafted ?? 0} contract-accepted draft(s), ${args.councilUnverifiedInputs ?? 0} unverified draft(s)`;
264
- // D-16: fold the WINNING attempt's work_state into the plan terminal (INV-116; see planTerminal.ts).
265
- const { planFacts, planVetoed, lifecycleLine, summarySuffix } = resolvePlanTerminalFacts(args.attemptTelemetries, winnerAttemptId);
266
- store.writeText(join(paths.finalDir, "summary.md"), [
267
- `# Run ${runId} (plan)`,
268
- "",
269
- lifecycleLine,
270
- council
271
- ? `- Council: merged by ${council.mergedBy ?? "(none)"}; inputs: ${councilInputs}; ${council.requested} member(s) requested`
272
- : `- Planner: ${winnerHarness}`,
273
- `- Plan: final/plan.md`,
274
- `- Open questions: ${readiness.questionCount}${parsedQuestions.parse === "none_found" ? " (no tagged block — unverified)" : ""}`,
275
- `- Goal: ${redactSecrets(input.prompt).slice(0, 400)}`,
276
- ...(councilNote ? [`- Council note: ${councilNote}`] : []),
277
- ...(failedPlanners.length > 0 && !council
278
- ? [
279
- `- Fallback omissions: ${failedPlanners.map((p) => `${p.harnessId} ${p.status}`).join(", ")}`,
280
- ]
281
- : []),
282
- "",
283
- ].join("\n"));
284
- deps.writeRunTelemetry(store, paths, contract, runId, taskId, "plan", args.attemptTelemetries, winnerAttemptId);
285
- log.emit("output.ready", { kind: "plan", path: "final/plan.md" });
286
- log.emit("plan.questions", {
287
- parse: parsedQuestions.parse,
288
- question_count: readiness.questionCount,
289
- readiness: readiness.state,
290
- });
291
- // D-16 terminal disclosure keyed on the folded facts (see planTerminal.ts).
292
- emitPlanTerminal(store, paths, log, planFacts, planVetoed);
293
- return {
294
- spendUsd: ledger.spend(),
295
- runId,
296
- taskId,
297
- mode: "plan",
298
- lifecycle: planFacts.lifecycle,
299
- facts: planFacts,
300
- winner: null,
301
- runDir: paths.root,
302
- summary: `${council ? `Council plan (merged by ${winnerHarness}; ${councilInputs})` : `Plan by ${winnerHarness}`}; ${readiness.questionCount} open question(s)${parsedQuestions.parse === "none_found" ? " (untagged plan — unverified)" : ""}${summarySuffix}.`,
303
- candidates: planAttempts.map((p) => ({
304
- attemptId: p.attemptId,
305
- harnessId: p.harnessId,
306
- status: p.status,
307
- })),
308
- };
309
- }
310
227
  /** Shared failure projection when solo planning or Council produces no plan. */
311
228
  export function writePlanHarnessFailure(deps, ctx, fallbackMessage) {
312
229
  const { contract, taskId, runId, store, paths, log, ledger, planAttempts } = ctx;
@@ -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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"}
@@ -3,7 +3,8 @@ import type { BudgetLedger } from "@claudexor/budget";
3
3
  import { type InteractionChannel, type ProcessingAdmission } from "@claudexor/core";
4
4
  import type { EventLog } from "@claudexor/event-log";
5
5
  import type { ExternalContextPolicy, ActiveTaskContract, HarnessEvent, HarnessRunSpec, Intent } from "@claudexor/schema";
6
- import { type AttemptOutcomeClass, type UnwrappedAnswer, type WorkReportEnvelopeMode } from "./attemptFinalize.js";
6
+ import { type AttemptOutcomeClass } from "./attemptFinalize.js";
7
+ import { type UnwrappedAnswer, type WorkReportEnvelopeMode } from "./workReportEnvelope.js";
7
8
  import { type AttemptTelemetry } from "./attemptTelemetry.js";
8
9
  import type { BudgetDenial } from "./budgetFailure.js";
9
10
  import { type DeclaredFailure } from "./runTerminalResults.js";
@@ -20,6 +21,7 @@ export interface PlannerAttemptOutcome {
20
21
  harnessFailedBeforeReport: boolean;
21
22
  reportProblem?: UnwrappedAnswer["reportProblem"];
22
23
  text: string | null;
24
+ answerMatches?: number;
23
25
  telemetry: AttemptTelemetry | null;
24
26
  budgetDenied: boolean;
25
27
  budgetDenial?: BudgetDenial | null;
@@ -33,6 +35,7 @@ export declare function plannerAttemptSummary(outcome: PlannerAttemptOutcome): {
33
35
  outcomeClass: AttemptOutcomeClass;
34
36
  error: string | null;
35
37
  declaredFailure: DeclaredFailure | undefined;
38
+ answerMatches: number | undefined;
36
39
  };
37
40
  /** Inputs shared by solo fallback, Council drafts, and the Council merge. */
38
41
  export interface PlannerAttemptArgs {