patchwork-os 1.2.3 → 1.2.5

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/README.md +1 -1
  2. package/dist/activityLog.js +7 -2
  3. package/dist/activityLog.js.map +1 -1
  4. package/dist/approvalHttp.d.ts +0 -6
  5. package/dist/approvalHttp.js +25 -3
  6. package/dist/approvalHttp.js.map +1 -1
  7. package/dist/butler/factStore.js +6 -0
  8. package/dist/butler/factStore.js.map +1 -1
  9. package/dist/claudeDriver.js +7 -4
  10. package/dist/claudeDriver.js.map +1 -1
  11. package/dist/commands/doctorAcceptance.js +5 -0
  12. package/dist/commands/doctorAcceptance.js.map +1 -1
  13. package/dist/commands/policyExplain.js +7 -2
  14. package/dist/commands/policyExplain.js.map +1 -1
  15. package/dist/commands/recipe.js +86 -35
  16. package/dist/commands/recipe.js.map +1 -1
  17. package/dist/commands/sinceDays.d.ts +14 -0
  18. package/dist/commands/sinceDays.js +19 -0
  19. package/dist/commands/sinceDays.js.map +1 -0
  20. package/dist/commands/tools.js +9 -4
  21. package/dist/commands/tools.js.map +1 -1
  22. package/dist/connectors/airtable.js +16 -8
  23. package/dist/connectors/airtable.js.map +1 -1
  24. package/dist/connectors/asana.js +2 -2
  25. package/dist/connectors/asana.js.map +1 -1
  26. package/dist/connectors/baseConnector.d.ts +8 -0
  27. package/dist/connectors/baseConnector.js +17 -1
  28. package/dist/connectors/baseConnector.js.map +1 -1
  29. package/dist/connectors/caldiy.js +7 -6
  30. package/dist/connectors/caldiy.js.map +1 -1
  31. package/dist/connectors/circleci.js +6 -3
  32. package/dist/connectors/circleci.js.map +1 -1
  33. package/dist/connectors/cloudflare.js +2 -2
  34. package/dist/connectors/cloudflare.js.map +1 -1
  35. package/dist/connectors/confluence.js +1 -1
  36. package/dist/connectors/confluence.js.map +1 -1
  37. package/dist/connectors/connectionChecks.d.ts +13 -0
  38. package/dist/connectors/connectionChecks.js +13 -1
  39. package/dist/connectors/connectionChecks.js.map +1 -1
  40. package/dist/connectors/connectorFetch.d.ts +15 -0
  41. package/dist/connectors/connectorFetch.js +46 -0
  42. package/dist/connectors/connectorFetch.js.map +1 -0
  43. package/dist/connectors/discord.js +1 -1
  44. package/dist/connectors/discord.js.map +1 -1
  45. package/dist/connectors/gmail.d.ts +7 -1
  46. package/dist/connectors/gmail.js +16 -35
  47. package/dist/connectors/gmail.js.map +1 -1
  48. package/dist/connectors/googleCalendar.js +4 -30
  49. package/dist/connectors/googleCalendar.js.map +1 -1
  50. package/dist/connectors/googleDocs.js +4 -25
  51. package/dist/connectors/googleDocs.js.map +1 -1
  52. package/dist/connectors/googleDrive.js +4 -25
  53. package/dist/connectors/googleDrive.js.map +1 -1
  54. package/dist/connectors/googleTokenRefresh.d.ts +25 -0
  55. package/dist/connectors/googleTokenRefresh.js +37 -0
  56. package/dist/connectors/googleTokenRefresh.js.map +1 -0
  57. package/dist/connectors/grafana.js +14 -13
  58. package/dist/connectors/grafana.js.map +1 -1
  59. package/dist/connectors/hubspot.js +1 -1
  60. package/dist/connectors/hubspot.js.map +1 -1
  61. package/dist/connectors/intercom.js +2 -2
  62. package/dist/connectors/intercom.js.map +1 -1
  63. package/dist/connectors/jira.js +3 -3
  64. package/dist/connectors/jira.js.map +1 -1
  65. package/dist/connectors/mcpOAuth.js +2 -0
  66. package/dist/connectors/mcpOAuth.js.map +1 -1
  67. package/dist/connectors/monday.js +2 -0
  68. package/dist/connectors/monday.js.map +1 -1
  69. package/dist/connectors/notion.js +5 -3
  70. package/dist/connectors/notion.js.map +1 -1
  71. package/dist/connectors/obsidian.d.ts +8 -1
  72. package/dist/connectors/obsidian.js +37 -14
  73. package/dist/connectors/obsidian.js.map +1 -1
  74. package/dist/connectors/pagerduty.js +2 -2
  75. package/dist/connectors/pagerduty.js.map +1 -1
  76. package/dist/connectors/paystack.js +5 -5
  77. package/dist/connectors/paystack.js.map +1 -1
  78. package/dist/connectors/pipedrive.js +15 -6
  79. package/dist/connectors/pipedrive.js.map +1 -1
  80. package/dist/connectors/posthog.js +15 -14
  81. package/dist/connectors/posthog.js.map +1 -1
  82. package/dist/connectors/resend.js +3 -3
  83. package/dist/connectors/resend.js.map +1 -1
  84. package/dist/connectors/salesforce.js +2 -0
  85. package/dist/connectors/salesforce.js.map +1 -1
  86. package/dist/connectors/sendgrid.js +1 -1
  87. package/dist/connectors/sendgrid.js.map +1 -1
  88. package/dist/connectors/slack.d.ts +2 -0
  89. package/dist/connectors/slack.js +21 -2
  90. package/dist/connectors/slack.js.map +1 -1
  91. package/dist/connectors/supabase.js +18 -17
  92. package/dist/connectors/supabase.js.map +1 -1
  93. package/dist/connectors/telegram.js +1 -1
  94. package/dist/connectors/telegram.js.map +1 -1
  95. package/dist/connectors/todoist.js +2 -2
  96. package/dist/connectors/todoist.js.map +1 -1
  97. package/dist/connectors/tokenRefreshTimeout.d.ts +15 -0
  98. package/dist/connectors/tokenRefreshTimeout.js +22 -0
  99. package/dist/connectors/tokenRefreshTimeout.js.map +1 -0
  100. package/dist/connectors/tokenStorage.js +29 -15
  101. package/dist/connectors/tokenStorage.js.map +1 -1
  102. package/dist/connectors/twilio.js +1 -1
  103. package/dist/connectors/twilio.js.map +1 -1
  104. package/dist/connectors/vercel.js +1 -1
  105. package/dist/connectors/vercel.js.map +1 -1
  106. package/dist/connectors/woocommerce.js +8 -4
  107. package/dist/connectors/woocommerce.js.map +1 -1
  108. package/dist/connectors/zendesk.js +1 -1
  109. package/dist/connectors/zendesk.js.map +1 -1
  110. package/dist/drivers/claude/api.js +8 -1
  111. package/dist/drivers/claude/api.js.map +1 -1
  112. package/dist/drivers/claude/subprocess.js +7 -3
  113. package/dist/drivers/claude/subprocess.js.map +1 -1
  114. package/dist/drivers/codex/subprocess.js +9 -3
  115. package/dist/drivers/codex/subprocess.js.map +1 -1
  116. package/dist/drivers/exitCode.d.ts +11 -0
  117. package/dist/drivers/exitCode.js +21 -0
  118. package/dist/drivers/exitCode.js.map +1 -0
  119. package/dist/drivers/gemini/index.js +9 -3
  120. package/dist/drivers/gemini/index.js.map +1 -1
  121. package/dist/drivers/openai/index.js +8 -1
  122. package/dist/drivers/openai/index.js.map +1 -1
  123. package/dist/drivers/promptStdin.d.ts +14 -0
  124. package/dist/drivers/promptStdin.js +19 -0
  125. package/dist/drivers/promptStdin.js.map +1 -0
  126. package/dist/drivers/systemPreamble.d.ts +15 -0
  127. package/dist/drivers/systemPreamble.js +20 -0
  128. package/dist/drivers/systemPreamble.js.map +1 -0
  129. package/dist/evidenceRelationships.js +11 -1
  130. package/dist/evidenceRelationships.js.map +1 -1
  131. package/dist/extensionClient.js +21 -7
  132. package/dist/extensionClient.js.map +1 -1
  133. package/dist/fp/interpreterContext.js +22 -56
  134. package/dist/fp/interpreterContext.js.map +1 -1
  135. package/dist/governance/doctorReport.js +17 -1
  136. package/dist/governance/doctorReport.js.map +1 -1
  137. package/dist/governance/effectivePolicy.d.ts +17 -0
  138. package/dist/governance/effectivePolicy.js +18 -0
  139. package/dist/governance/effectivePolicy.js.map +1 -1
  140. package/dist/governance/profile.d.ts +10 -0
  141. package/dist/governance/profile.js +2 -0
  142. package/dist/governance/profile.js.map +1 -1
  143. package/dist/governance/secretPathDenies.d.ts +11 -1
  144. package/dist/governance/secretPathDenies.js +30 -1
  145. package/dist/governance/secretPathDenies.js.map +1 -1
  146. package/dist/index.js +74 -27
  147. package/dist/index.js.map +1 -1
  148. package/dist/maintenance/sweep.d.ts +9 -0
  149. package/dist/maintenance/sweep.js +24 -0
  150. package/dist/maintenance/sweep.js.map +1 -1
  151. package/dist/maintenance/sweepCollect.js +10 -4
  152. package/dist/maintenance/sweepCollect.js.map +1 -1
  153. package/dist/pluginLoader.d.ts +5 -0
  154. package/dist/pluginLoader.js +30 -6
  155. package/dist/pluginLoader.js.map +1 -1
  156. package/dist/pluginWatcher.js +18 -7
  157. package/dist/pluginWatcher.js.map +1 -1
  158. package/dist/privacy/boundaryReceiptLog.d.ts +12 -7
  159. package/dist/privacy/boundaryReceiptLog.js +10 -6
  160. package/dist/privacy/boundaryReceiptLog.js.map +1 -1
  161. package/dist/privacy/dataPolicy.js +15 -5
  162. package/dist/privacy/dataPolicy.js.map +1 -1
  163. package/dist/privacy/describeDestinations.d.ts +28 -0
  164. package/dist/privacy/describeDestinations.js +50 -0
  165. package/dist/privacy/describeDestinations.js.map +1 -1
  166. package/dist/privacy/destinationRegistry.js +13 -2
  167. package/dist/privacy/destinationRegistry.js.map +1 -1
  168. package/dist/privateHost.js +93 -0
  169. package/dist/privateHost.js.map +1 -1
  170. package/dist/recipeOrchestration.d.ts +2 -13
  171. package/dist/recipeOrchestration.js +12 -61
  172. package/dist/recipeOrchestration.js.map +1 -1
  173. package/dist/recipes/agentExecutor.js +1 -1
  174. package/dist/recipes/agentExecutor.js.map +1 -1
  175. package/dist/recipes/compoundSteps.d.ts +0 -1
  176. package/dist/recipes/compoundSteps.js.map +1 -1
  177. package/dist/recipes/dependencyGraph.d.ts +0 -2
  178. package/dist/recipes/dependencyGraph.js +0 -8
  179. package/dist/recipes/dependencyGraph.js.map +1 -1
  180. package/dist/recipes/intervalSchedule.d.ts +17 -0
  181. package/dist/recipes/intervalSchedule.js +24 -0
  182. package/dist/recipes/intervalSchedule.js.map +1 -0
  183. package/dist/recipes/nestedRecipeStep.d.ts +0 -5
  184. package/dist/recipes/nestedRecipeStep.js.map +1 -1
  185. package/dist/recipes/scheduler.js +7 -16
  186. package/dist/recipes/scheduler.js.map +1 -1
  187. package/dist/recipes/simulation/sideEffects.d.ts +0 -2
  188. package/dist/recipes/simulation/sideEffects.js +0 -11
  189. package/dist/recipes/simulation/sideEffects.js.map +1 -1
  190. package/dist/recipes/toolRegistry.d.ts +0 -5
  191. package/dist/recipes/toolRegistry.js +0 -7
  192. package/dist/recipes/toolRegistry.js.map +1 -1
  193. package/dist/recipes/tools/http.js +34 -14
  194. package/dist/recipes/tools/http.js.map +1 -1
  195. package/dist/recipes/triggerVars.d.ts +19 -0
  196. package/dist/recipes/triggerVars.js +70 -0
  197. package/dist/recipes/triggerVars.js.map +1 -1
  198. package/dist/recipes/validation.js +22 -2
  199. package/dist/recipes/validation.js.map +1 -1
  200. package/dist/recipes/withheldOutputs.d.ts +0 -2
  201. package/dist/recipes/withheldOutputs.js +0 -4
  202. package/dist/recipes/withheldOutputs.js.map +1 -1
  203. package/dist/recipes/yamlRunner.d.ts +10 -1
  204. package/dist/recipes/yamlRunner.js +6 -2
  205. package/dist/recipes/yamlRunner.js.map +1 -1
  206. package/dist/runLog.js +25 -10
  207. package/dist/runLog.js.map +1 -1
  208. package/dist/ssrfGuard.d.ts +13 -4
  209. package/dist/ssrfGuard.js +17 -5
  210. package/dist/ssrfGuard.js.map +1 -1
  211. package/dist/tools/httpClient.js +7 -2
  212. package/dist/tools/httpClient.js.map +1 -1
  213. package/dist/tools/terminal.js +17 -0
  214. package/dist/tools/terminal.js.map +1 -1
  215. package/dist/workerGateDecisionLog.d.ts +7 -0
  216. package/dist/workerGateDecisionLog.js +20 -11
  217. package/dist/workerGateDecisionLog.js.map +1 -1
  218. package/dist/workers/outcomeStore.js +4 -3
  219. package/dist/workers/outcomeStore.js.map +1 -1
  220. package/dist/workers/previewActions.js +9 -0
  221. package/dist/workers/previewActions.js.map +1 -1
  222. package/package.json +5 -1
  223. package/templates/recipes/fix-errors-on-save.yaml +5 -2
@@ -83,6 +83,15 @@ export interface SweepDelta {
83
83
  counts: CountDelta[];
84
84
  /** Counters present in the prior reading and absent from this one. */
85
85
  disappeared: string[];
86
+ /**
87
+ * Gates failing now that are NOT a flip: red on the first run, or newly
88
+ * measured and red. Never an exit-1 cause — a first run is a baseline and a
89
+ * new gate must not fail its own first sweep — but never silent either
90
+ * (audit M10).
91
+ */
92
+ failingNotFlipped: string[];
93
+ /** Gates the prior reading carried that this one could not take. */
94
+ gatesDisappeared: string[];
86
95
  /** True when any gate flipped true -> false. Drives the exit code. */
87
96
  regressed: boolean;
88
97
  }
@@ -59,6 +59,10 @@ export function diffReadings(previous, current) {
59
59
  gates: [],
60
60
  counts: [],
61
61
  disappeared: [],
62
+ failingNotFlipped: Object.entries(current.gates)
63
+ .filter(([, ok]) => !ok)
64
+ .map(([k]) => k),
65
+ gatesDisappeared: [],
62
66
  regressed: false,
63
67
  };
64
68
  }
@@ -84,12 +88,18 @@ export function diffReadings(previous, current) {
84
88
  counts.push({ key, before, after, change: after - before });
85
89
  }
86
90
  const disappeared = Object.keys(previous.counts).filter((k) => !(k in current.counts));
91
+ const failingNotFlipped = Object.entries(current.gates)
92
+ .filter(([k, ok]) => !ok && typeof previous.gates[k] !== "boolean")
93
+ .map(([k]) => k);
94
+ const gatesDisappeared = Object.keys(previous.gates).filter((k) => !(k in current.gates));
87
95
  return {
88
96
  baseline: false,
89
97
  previousAt: previous.takenAt,
90
98
  gates,
91
99
  counts,
92
100
  disappeared,
101
+ failingNotFlipped,
102
+ gatesDisappeared,
93
103
  regressed: gates.some((g) => g.regression),
94
104
  };
95
105
  }
@@ -133,6 +143,13 @@ export function formatSweep(reading, delta, opts) {
133
143
  L.push(` ${ok ? `${CHECK} ` : "FAIL"} ${key}`);
134
144
  }
135
145
  L.push("");
146
+ if (delta.failingNotFlipped.length > 0) {
147
+ // Not a flip, so not exit 1 — but a gate that is red must say so.
148
+ L.push(` ${delta.failingNotFlipped.length} gate(s) failing now with no healthy reading before (not a flip, so the exit code is unchanged):`);
149
+ for (const k of delta.failingNotFlipped)
150
+ L.push(` ${k}`);
151
+ L.push("");
152
+ }
136
153
  if (delta.baseline) {
137
154
  // Never "no changes". Nothing was observed to change; there was nothing to
138
155
  // compare against, and those are different facts.
@@ -175,6 +192,13 @@ export function formatSweep(reading, delta, opts) {
175
192
  L.push(` ${before.padStart(7)} -> ${String(c.after).padEnd(7)} ${sign}${c.change} ${c.key}`);
176
193
  }
177
194
  }
195
+ if (delta.gatesDisappeared.length > 0) {
196
+ L.push("");
197
+ L.push(` ${delta.gatesDisappeared.length} gate(s) the previous sweep had are no longer measured:`);
198
+ for (const k of delta.gatesDisappeared)
199
+ L.push(` ${k}`);
200
+ L.push(" A gate that cannot be read is not a gate that passed.");
201
+ }
178
202
  if (delta.disappeared.length > 0) {
179
203
  L.push("");
180
204
  L.push(` ${delta.disappeared.length} counter(s) the previous sweep had are absent now:`);
@@ -1 +1 @@
1
- {"version":3,"file":"sweep.js","sourceRoot":"","sources":["../../src/maintenance/sweep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sweep.js","sourceRoot":"","sources":["../../src/maintenance/sweep.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  * is no version of the snapshot that ever held them. A privacy rule enforced by
14
14
  * a downstream formatter is one refactor away from being lost.
15
15
  */
16
+ import { existsSync } from "node:fs";
16
17
  import path from "node:path";
17
18
  import { assessDeploymentFreshness, discoverLocks, installedBuildTimeMs, } from "../deploymentFreshness.js";
18
19
  import { evidenceCoverage } from "../evidenceCoverage.js";
@@ -119,10 +120,15 @@ export function collectSweep(opts = {}) {
119
120
  // Unreadable recipes directory: omit, do not zero.
120
121
  }
121
122
  // --- drift: pull-request outcome ledger ---
122
- const pr = summarise(readObservations(path.join(dir, "pr_outcomes.jsonl")));
123
- counts["prOutcomes.rows"] = pr.rows;
124
- counts["prOutcomes.distinctPrs"] = pr.distinctPrs;
125
- counts["prOutcomes.withHistory"] = pr.prsWithHistory;
123
+ // Absent is omitted, not zero (audit M10): `evidence` reports an absent
124
+ // ledger as ABSENT, and a 0 here would read as a drop once it appears.
125
+ const prFile = path.join(dir, "pr_outcomes.jsonl");
126
+ if (existsSync(prFile)) {
127
+ const pr = summarise(readObservations(prFile));
128
+ counts["prOutcomes.rows"] = pr.rows;
129
+ counts["prOutcomes.distinctPrs"] = pr.distinctPrs;
130
+ counts["prOutcomes.withHistory"] = pr.prsWithHistory;
131
+ }
126
132
  return {
127
133
  rv: SWEEP_RV,
128
134
  takenAt: opts.now ?? Date.now(),
@@ -1 +1 @@
1
- {"version":3,"file":"sweepCollect.js","sourceRoot":"","sources":["../../src/maintenance/sweepCollect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,cAAc,EAEd,iBAAiB,EACjB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AAiBzD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAW,EACX,GAAW;IAEX,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,OAAuB,EAAE;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;IACxC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,KAAK,GAA4B,EAAE,CAAC;IAE1C,0DAA0D;IAC1D,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,yBAAyB,CAAC;YACtC,KAAK,EAAE,aAAa,EAAE;YACtB,WAAW;YACX,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACf,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACrB,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;gBAClC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,MAAM,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1C,MAAM,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IACrD,CAAC;IAED,wEAAwE;IACxE,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,eAAe,CAAC;YACxB,UAAU,EAAE,iBAAiB,EAAE;YAC/B,UAAU,EAAE,iBAAiB,EAAE;SAChC,CAAC,CAAC;QACH,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QAC7B,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3C,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3C,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,uDAAuD;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,2BAA2B,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrD,MAAM,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IACrD,CAAC;IAED,gCAAgC;IAChC,MAAM,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3B,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,IAAI,CAAC,CAAC,MAAM;YAAE,SAAS;QACvB,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,kCAAkC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;IAExE,2EAA2E;IAC3E,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC5C,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACxC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QACnD,MAAM,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;IAED,6CAA6C;IAC7C,MAAM,EAAE,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACpC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;IAClD,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC;IAErD,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;QAC/B,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sweepCollect.js","sourceRoot":"","sources":["../../src/maintenance/sweepCollect.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,11 @@
13
13
  */
14
14
  import type { Config } from "./config.js";
15
15
  import type { Logger } from "./logger.js";
16
+ /**
17
+ * Longest tool description a plugin may put into tools/list — the same cap
18
+ * `scripts/audit-lsp-tools.mjs` holds built-in tools to.
19
+ */
20
+ export declare const PLUGIN_DESCRIPTION_MAX = 200;
16
21
  /**
17
22
  * Names of all built-in tools. Plugins are forbidden from registering a
18
23
  * tool with one of these names — without this guard, a plugin declaring
@@ -18,6 +18,11 @@ import { pathToFileURL } from "node:url";
18
18
  import { PLUGIN_INTEGRITY_MISMATCH, PluginPolicyError, verifyPluginIntegrity, } from "./governance/pluginPolicy.js";
19
19
  import { parseJsonSanitized } from "./sanitizeParsedJson.js";
20
20
  import { TOOL_CATEGORIES } from "./tools/index.js";
21
+ /**
22
+ * Longest tool description a plugin may put into tools/list — the same cap
23
+ * `scripts/audit-lsp-tools.mjs` holds built-in tools to.
24
+ */
25
+ export const PLUGIN_DESCRIPTION_MAX = 200;
21
26
  /**
22
27
  * Names of all built-in tools. Plugins are forbidden from registering a
23
28
  * tool with one of these names — without this guard, a plugin declaring
@@ -420,12 +425,31 @@ export async function loadOnePluginFull(spec, config, logger, existingNames = ne
420
425
  }
421
426
  pluginToolNames.push(name);
422
427
  }
423
- // 9. Build final tool list
424
- const tools = registration.tools.map((t) => ({
425
- schema: t.schema,
426
- handler: t.handler,
427
- timeoutMs: t.timeoutMs,
428
- }));
428
+ // 9. Build final tool list. Descriptions get the built-in cap: tools/list
429
+ // goes out on every request, and the audit that holds built-ins to it reads
430
+ // this repository's source, which a plugin never passes through. Truncated,
431
+ // not rejected — refusing a working plugin over its prose would break every
432
+ // plugin already published (audit M37).
433
+ const tools = registration.tools.map((t) => {
434
+ const schema = t.schema;
435
+ const d = schema.description;
436
+ if (typeof d === "string" && d.length > PLUGIN_DESCRIPTION_MAX) {
437
+ logger.warn(`Plugin "${manifest.name}" — tool "${schema.name}" description is ${d.length} characters; truncated to ${PLUGIN_DESCRIPTION_MAX} (the same cap built-in tools have)`);
438
+ return {
439
+ schema: {
440
+ ...schema,
441
+ description: `${d.slice(0, PLUGIN_DESCRIPTION_MAX - 1)}…`,
442
+ },
443
+ handler: t.handler,
444
+ timeoutMs: t.timeoutMs,
445
+ };
446
+ }
447
+ return {
448
+ schema,
449
+ handler: t.handler,
450
+ timeoutMs: t.timeoutMs,
451
+ };
452
+ });
429
453
  logger.info(`Plugin "${manifest.name}" — ${tools.length} tool${tools.length === 1 ? "" : "s"} registered: ${tools.map((t) => t.schema.name).join(", ")}`);
430
454
  // Update existingNames synchronously before returning so the next plugin
431
455
  // sees these names as already registered during its collision check.
@@ -1 +1 @@
1
- {"version":3,"file":"pluginLoader.js","sourceRoot":"","sources":["../src/pluginLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginLoader.js","sourceRoot":"","sources":["../src/pluginLoader.ts"],"names":[],"mappings":"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"}
@@ -108,11 +108,23 @@ export class PluginWatcher {
108
108
  this.logger.warn(`[plugin-watch] Reload failed for "${old.manifest.name}"; keeping old tools`);
109
109
  return;
110
110
  }
111
- // Apply to all active transports
111
+ // Apply to all active transports.
112
+ //
113
+ // Remove by the plugin's OWN tool names, never by prefix. The loader only
114
+ // checks names for collisions, so a prefix may be the start of other
115
+ // tools' names: a plugin with prefix `get` used to take `getDiagnostics`
116
+ // and every other `get*` tool — built-in or another plugin's — out of
117
+ // every live session on its first reload (audit M37). Names also cover a
118
+ // prefix renamed between reloads, which the prefix sweep missed.
119
+ const oldNames = old.tools.map((t) => t.schema.name);
120
+ const freshNames = new Set(fresh.tools.map((t) => t.schema.name));
112
121
  let anyTransportFailed = false;
113
122
  for (const transport of this.transports) {
114
123
  try {
115
- transport.deregisterToolsByPrefix(old.manifest.toolNamePrefix);
124
+ for (const n of oldNames) {
125
+ if (!freshNames.has(n))
126
+ transport.deregisterTool(n);
127
+ }
116
128
  for (const t of fresh.tools) {
117
129
  transport.replaceTool(t.schema, t.handler, t.timeoutMs);
118
130
  }
@@ -120,12 +132,11 @@ export class PluginWatcher {
120
132
  catch (err) {
121
133
  anyTransportFailed = true;
122
134
  this.logger.warn(`[plugin-watch] Failed to patch transport for "${fresh.manifest.name}": ${err instanceof Error ? err.message : String(err)}; attempting rollback`);
123
- // Rollback: remove any partially-registered tools and restore old ones.
124
- // Uses old prefix — if the plugin renamed its prefix between reloads the
125
- // orphaned fresh-prefix tools will remain until the next successful reload.
126
- // Prefix renames are uncommon and self-heal on the next save.
135
+ // Rollback: remove whatever of the fresh set got registered, then put
136
+ // the old tools back. Same rule — this plugin's names only.
127
137
  try {
128
- transport.deregisterToolsByPrefix(old.manifest.toolNamePrefix);
138
+ for (const n of freshNames)
139
+ transport.deregisterTool(n);
129
140
  for (const t of old.tools) {
130
141
  transport.replaceTool(t.schema, t.handler, t.timeoutMs);
131
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pluginWatcher.js","sourceRoot":"","sources":["../src/pluginWatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginWatcher.js","sourceRoot":"","sources":["../src/pluginWatcher.ts"],"names":[],"mappings":"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"}
@@ -39,12 +39,16 @@ import type { LabelSource } from "./shadowLog.js";
39
39
  *
40
40
  * ## Field registry
41
41
  *
42
- * - `correlationId` (level 1) — **never legitimately absent.** Every receipt is
43
- * written from inside a run: the flat write sites are inside `runYamlRecipe`,
44
- * and all three chained dep-builders dispatch into `runChainedRecipe`, which
45
- * always computes a `runTaskId`. So there is no "decided outside any run"
46
- * state for this ledger to represent. Its absence at `rv >= 1` is a WRITER
47
- * DEFECT, not a state.
42
+ * - `correlationId` (level 1) — absent ONLY on orchestrator receipts. A
43
+ * recipe-step receipt is written from inside a run (the flat write sites
44
+ * are inside `runYamlRecipe`, and all three chained dep-builders dispatch
45
+ * into `runChainedRecipe`, which always computes a `runTaskId`), so there
46
+ * its absence at `rv >= 1` is a WRITER DEFECT. An orchestrator dispatch
47
+ * (`claudeOrchestrator.ts`) is a task, not a run: it writes no
48
+ * `correlationId` and no `recipeName`, and is the only writer that stamps
49
+ * `labelSource: "default"` — that is the registered not-applicable
50
+ * condition (audit M8; this comment previously said "never legitimately
51
+ * absent", contradicting that writer).
48
52
  *
49
53
  * ## What absence of `rv` means, and why it is never repaired
50
54
  *
@@ -79,7 +83,8 @@ export interface BoundaryReceipt {
79
83
  * so it collides across concurrent bridges (255 distinct over 272 rows when
80
84
  * measured on the gate ledger). A join key that collides is not a join key.
81
85
  *
82
- * Registered as never legitimately absent at `rv >= 1`.
86
+ * Registered as absent at `rv >= 1` only on orchestrator receipts (no
87
+ * `recipeName`, `labelSource: "default"`); see the field registry above.
83
88
  */
84
89
  correlationId?: string;
85
90
  decision: BoundaryDecision;
@@ -41,12 +41,16 @@ import { patchworkPath } from "../patchworkHome.js";
41
41
  *
42
42
  * ## Field registry
43
43
  *
44
- * - `correlationId` (level 1) — **never legitimately absent.** Every receipt is
45
- * written from inside a run: the flat write sites are inside `runYamlRecipe`,
46
- * and all three chained dep-builders dispatch into `runChainedRecipe`, which
47
- * always computes a `runTaskId`. So there is no "decided outside any run"
48
- * state for this ledger to represent. Its absence at `rv >= 1` is a WRITER
49
- * DEFECT, not a state.
44
+ * - `correlationId` (level 1) — absent ONLY on orchestrator receipts. A
45
+ * recipe-step receipt is written from inside a run (the flat write sites
46
+ * are inside `runYamlRecipe`, and all three chained dep-builders dispatch
47
+ * into `runChainedRecipe`, which always computes a `runTaskId`), so there
48
+ * its absence at `rv >= 1` is a WRITER DEFECT. An orchestrator dispatch
49
+ * (`claudeOrchestrator.ts`) is a task, not a run: it writes no
50
+ * `correlationId` and no `recipeName`, and is the only writer that stamps
51
+ * `labelSource: "default"` — that is the registered not-applicable
52
+ * condition (audit M8; this comment previously said "never legitimately
53
+ * absent", contradicting that writer).
50
54
  *
51
55
  * ## What absence of `rv` means, and why it is never repaired
52
56
  *
@@ -1 +1 @@
1
- {"version":3,"file":"boundaryReceiptLog.js","sourceRoot":"","sources":["../../src/privacy/boundaryReceiptLog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boundaryReceiptLog.js","sourceRoot":"","sources":["../../src/privacy/boundaryReceiptLog.ts"],"names":[],"mappings":"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"}
@@ -104,9 +104,12 @@ export function decideBoundary(policy, destination, opts = {}) {
104
104
  reason: `"${destination.id}" is not cleared for "${policy.classification}" and no approval can unlock it`,
105
105
  };
106
106
  }
107
- const forbidden = destination.forbiddenCategories ?? [];
107
+ // Case- and space-insensitive: `Health` must not slip past a `health`
108
+ // forbid (audit M13). The reported hit keeps the step's own spelling.
109
+ const norm = (c) => c.trim().toLowerCase();
110
+ const forbidden = new Set((destination.forbiddenCategories ?? []).map(norm));
108
111
  const carried = policy.categories ?? [];
109
- const hits = carried.filter((c) => forbidden.includes(c));
112
+ const hits = carried.filter((c) => forbidden.has(norm(c)));
110
113
  if (hits.length > 0) {
111
114
  return {
112
115
  decision: "ALLOW_REDACTED",
@@ -147,9 +150,16 @@ export function parseDataPolicy(raw) {
147
150
  else {
148
151
  return null;
149
152
  }
150
- const categories = Array.isArray(obj.categories)
151
- ? obj.categories.filter((x) => typeof x === "string")
152
- : undefined;
153
+ // Present but unreadable is NOT "no categories": dropping it would let a
154
+ // step past a destination that forbids what it carries (audit M13). The
155
+ // caller turns null into DENY.
156
+ let categories;
157
+ if (obj.categories !== undefined) {
158
+ if (!Array.isArray(obj.categories) ||
159
+ !obj.categories.every((x) => typeof x === "string"))
160
+ return null;
161
+ categories = obj.categories;
162
+ }
153
163
  return categories ? { classification, categories } : { classification };
154
164
  }
155
165
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dataPolicy.js","sourceRoot":"","sources":["../../src/privacy/dataPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataPolicy.js","sourceRoot":"","sources":["../../src/privacy/dataPolicy.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,35 @@ export interface DescribeOptions {
89
89
  now?: Date;
90
90
  /** A note older than this many days is reported as stale. */
91
91
  staleAfterDays?: number;
92
+ /**
93
+ * Registry entries that failed to parse (`ParsedRegistry.invalid`). The
94
+ * runtime does not use them, and when nothing valid survives it refuses
95
+ * EVERY dispatch — so the report must say so rather than call it inert.
96
+ */
97
+ invalid?: ReadonlyArray<{
98
+ id: string;
99
+ reason: string;
100
+ }>;
101
+ /** The orchestrator path's state, from `describeOrchestratorPath`. */
102
+ orchestrator?: OrchestratorPathState;
92
103
  }
104
+ /**
105
+ * The orchestrator dispatch path, as `claudeOrchestrator.ts` resolves it:
106
+ * absent ⇒ not enforced; a known classification ⇒ enforced at that channel
107
+ * default; anything else ⇒ NOT enforced (it fails open, deliberately — ADR-0021)
108
+ * and must be visible here, because a bridge that silently does not enforce
109
+ * gives no other sign.
110
+ */
111
+ export type OrchestratorPathState = {
112
+ state: "absent";
113
+ } | {
114
+ state: "enforced";
115
+ classification: Classification;
116
+ } | {
117
+ state: "malformed";
118
+ raw: string;
119
+ };
120
+ export declare function describeOrchestratorPath(raw: unknown): OrchestratorPathState;
93
121
  export declare function describeDestinations(destinations: Destination[], driversFor: Map<string, string[]>, opts?: DescribeOptions): DescribedDestination[];
94
122
  /** True when a dated note is older than the staleness window. */
95
123
  export declare function noteIsStale(d: DescribedDestination, opts?: DescribeOptions): boolean;
@@ -33,6 +33,42 @@ import { CLASSIFICATIONS, classificationRank, DEFAULT_CLASSIFICATION, } from "./
33
33
  import { resolveDestination } from "./destinationRegistry.js";
34
34
  /** Anything above `internal` is data an operator would not expect to travel. */
35
35
  const SENSITIVE_FLOOR = "personal";
36
+ export function describeOrchestratorPath(raw) {
37
+ if (raw === undefined || raw === null)
38
+ return { state: "absent" };
39
+ if (typeof raw === "string" &&
40
+ CLASSIFICATIONS.includes(raw)) {
41
+ return { state: "enforced", classification: raw };
42
+ }
43
+ return { state: "malformed", raw: JSON.stringify(raw) };
44
+ }
45
+ function orchestratorLines(o) {
46
+ if (!o)
47
+ return [];
48
+ const L = ["", " Orchestrator tasks (Claude subprocess dispatches):"];
49
+ if (o.state === "absent") {
50
+ L.push(" not enforced — no `privacy.orchestrator.classification` is set.");
51
+ }
52
+ else if (o.state === "enforced") {
53
+ L.push(` enforced, at the channel default \`${o.classification}\` (recorded as a default, not a declaration).`);
54
+ }
55
+ else {
56
+ L.push(` NOT ENFORCED — \`privacy.orchestrator.classification\` is ${o.raw}, which is not a known classification.`);
57
+ L.push(` This fails open on purpose (a typo must not stop every task); fix the value to enforce: ${CLASSIFICATIONS.join(" | ")}.`);
58
+ }
59
+ return L;
60
+ }
61
+ function invalidLines(invalid) {
62
+ if (!invalid || invalid.length === 0)
63
+ return [];
64
+ const L = [
65
+ "",
66
+ ` ${invalid.length} registered destination(s) could not be parsed and are not used:`,
67
+ ];
68
+ for (const i of invalid)
69
+ L.push(` ${i.id} — ${i.reason}`);
70
+ return L;
71
+ }
36
72
  const DEFAULT_STALE_DAYS = 180;
37
73
  function effectiveTypeFor(destination, destinations, driversFor, factsByDriver) {
38
74
  if (destination.type === "remote")
@@ -123,6 +159,17 @@ export function disclosureFor(d) {
123
159
  export function formatDestinationsReport(described, opts = {}) {
124
160
  const L = [];
125
161
  L.push("[privacy] where your prompts may go");
162
+ if (described.length === 0 && (opts.invalid?.length ?? 0) > 0) {
163
+ // NOT inert: the runtime substitutes a destination cleared for nothing
164
+ // (resolveDestination), so every recipe agent dispatch is refused. Calling
165
+ // this inert told the operator the opposite of what happens (audit M9).
166
+ L.push("");
167
+ L.push(" Destinations are registered but NONE could be parsed, so the boundary");
168
+ L.push(" is opted in and REFUSES EVERY agent dispatch until the entries are fixed.");
169
+ L.push(...invalidLines(opts.invalid));
170
+ L.push(...orchestratorLines(opts.orchestrator));
171
+ return L.join("\n");
172
+ }
126
173
  if (described.length === 0) {
127
174
  // The inert case is a true and expected state, not an error. Saying "0
128
175
  // destinations" invites someone to fix a number; saying the boundary is
@@ -131,6 +178,7 @@ export function formatDestinationsReport(described, opts = {}) {
131
178
  L.push(" Nothing is registered, so the information boundary is INERT —");
132
179
  L.push(" no dispatch is evaluated and no decision is made. Registering a");
133
180
  L.push(" destination is the opt-in; once opted in it fails closed.");
181
+ L.push(...orchestratorLines(opts.orchestrator));
134
182
  return L.join("\n");
135
183
  }
136
184
  L.push("");
@@ -179,6 +227,8 @@ export function formatDestinationsReport(described, opts = {}) {
179
227
  L.push(" No remote destination is cleared above `internal`, so personal data");
180
228
  L.push(" currently has nowhere off-machine to go.");
181
229
  }
230
+ L.push(...invalidLines(opts.invalid));
231
+ L.push(...orchestratorLines(opts.orchestrator));
182
232
  return L.join("\n");
183
233
  }
184
234
  /** Every classification, ordered — for help text that must not drift. */