audit-tools 0.32.67 → 0.33.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 (183) hide show
  1. package/dist/audit/cli/advanceAuditCommand.d.ts.map +1 -1
  2. package/dist/audit/cli/advanceAuditCommand.js +8 -3
  3. package/dist/audit/cli/advanceAuditCommand.js.map +1 -1
  4. package/dist/audit/cli/args.d.ts +9 -27
  5. package/dist/audit/cli/args.d.ts.map +1 -1
  6. package/dist/audit/cli/args.js +116 -50
  7. package/dist/audit/cli/args.js.map +1 -1
  8. package/dist/audit/cli/auditStep.d.ts +15 -1
  9. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  10. package/dist/audit/cli/auditStep.js +2 -0
  11. package/dist/audit/cli/auditStep.js.map +1 -1
  12. package/dist/audit/cli/dispatch/quotaPool.d.ts +2 -1
  13. package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
  14. package/dist/audit/cli/dispatch/quotaPool.js +43 -77
  15. package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
  16. package/dist/audit/cli/dispatch/types.d.ts +9 -0
  17. package/dist/audit/cli/dispatch/types.d.ts.map +1 -1
  18. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  19. package/dist/audit/cli/dispatch.js +17 -6
  20. package/dist/audit/cli/dispatch.js.map +1 -1
  21. package/dist/audit/cli/hybridDispatch.d.ts +3 -1
  22. package/dist/audit/cli/hybridDispatch.d.ts.map +1 -1
  23. package/dist/audit/cli/hybridDispatch.js +1 -0
  24. package/dist/audit/cli/hybridDispatch.js.map +1 -1
  25. package/dist/audit/cli/nextStepCommand.d.ts +0 -9
  26. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  27. package/dist/audit/cli/nextStepCommand.js +151 -92
  28. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  29. package/dist/audit/cli/nextStepHelpers.d.ts +11 -2
  30. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  31. package/dist/audit/cli/nextStepHelpers.js +56 -8
  32. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  33. package/dist/audit/cli/prepareDispatchCommand.d.ts.map +1 -1
  34. package/dist/audit/cli/prepareDispatchCommand.js +15 -9
  35. package/dist/audit/cli/prepareDispatchCommand.js.map +1 -1
  36. package/dist/audit/cli/prompts.d.ts +12 -32
  37. package/dist/audit/cli/prompts.d.ts.map +1 -1
  38. package/dist/audit/cli/prompts.js +19 -33
  39. package/dist/audit/cli/prompts.js.map +1 -1
  40. package/dist/audit/cli/providerConfirmationStep.d.ts +13 -5
  41. package/dist/audit/cli/providerConfirmationStep.d.ts.map +1 -1
  42. package/dist/audit/cli/providerConfirmationStep.js +47 -8
  43. package/dist/audit/cli/providerConfirmationStep.js.map +1 -1
  44. package/dist/audit/cli/quotaCommand.d.ts.map +1 -1
  45. package/dist/audit/cli/quotaCommand.js +16 -10
  46. package/dist/audit/cli/quotaCommand.js.map +1 -1
  47. package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
  48. package/dist/audit/cli/rollingAuditDispatch.js +8 -0
  49. package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
  50. package/dist/audit/cli/semanticReviewStep.d.ts +11 -1
  51. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  52. package/dist/audit/cli/semanticReviewStep.js +11 -15
  53. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  54. package/dist/audit/cli/validateCommand.d.ts.map +1 -1
  55. package/dist/audit/cli/validateCommand.js +3 -3
  56. package/dist/audit/cli/validateCommand.js.map +1 -1
  57. package/dist/audit/contracts/wrapperResponse.d.ts +6 -6
  58. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  59. package/dist/audit/orchestrator/advance.js +39 -7
  60. package/dist/audit/orchestrator/advance.js.map +1 -1
  61. package/dist/audit/orchestrator/advanceTypes.d.ts +52 -1
  62. package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
  63. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  64. package/dist/audit/orchestrator/executorRunners.js +9 -1
  65. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  66. package/dist/audit/orchestrator/intakeExecutors.d.ts +27 -3
  67. package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
  68. package/dist/audit/orchestrator/intakeExecutors.js +119 -19
  69. package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
  70. package/dist/audit/orchestrator/nextStep.d.ts +7 -0
  71. package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
  72. package/dist/audit/orchestrator/nextStep.js +3 -0
  73. package/dist/audit/orchestrator/nextStep.js.map +1 -1
  74. package/dist/audit/orchestrator/providerConfirmation.d.ts.map +1 -1
  75. package/dist/audit/orchestrator/providerConfirmation.js +0 -2
  76. package/dist/audit/orchestrator/providerConfirmation.js.map +1 -1
  77. package/dist/audit/orchestrator/state.d.ts +17 -0
  78. package/dist/audit/orchestrator/state.d.ts.map +1 -1
  79. package/dist/audit/orchestrator/state.js +13 -1
  80. package/dist/audit/orchestrator/state.js.map +1 -1
  81. package/dist/audit/quota/index.d.ts +128 -128
  82. package/dist/audit/supervisor/sessionConfig.d.ts +3 -11
  83. package/dist/audit/supervisor/sessionConfig.d.ts.map +1 -1
  84. package/dist/audit/supervisor/sessionConfig.js +3 -25
  85. package/dist/audit/supervisor/sessionConfig.js.map +1 -1
  86. package/dist/audit/types/analyzerCapability.d.ts +6 -6
  87. package/dist/audit/types/externalAnalyzer.d.ts +10 -10
  88. package/dist/remediate/phases/plan.d.ts.map +1 -1
  89. package/dist/remediate/phases/plan.js +5 -4
  90. package/dist/remediate/phases/plan.js.map +1 -1
  91. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  92. package/dist/remediate/steps/contractPipeline.js +9 -3
  93. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  94. package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
  95. package/dist/remediate/steps/dispatch/marshal.js +5 -4
  96. package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
  97. package/dist/remediate/steps/dispatch/waveScheduling.d.ts +4 -2
  98. package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -1
  99. package/dist/remediate/steps/dispatch/waveScheduling.js +33 -85
  100. package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
  101. package/dist/remediate/steps/nextStep.d.ts +0 -10
  102. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  103. package/dist/remediate/steps/nextStep.js +33 -24
  104. package/dist/remediate/steps/nextStep.js.map +1 -1
  105. package/dist/remediate/steps/providerNodeDispatch.d.ts +8 -0
  106. package/dist/remediate/steps/providerNodeDispatch.d.ts.map +1 -1
  107. package/dist/remediate/steps/providerNodeDispatch.js +4 -0
  108. package/dist/remediate/steps/providerNodeDispatch.js.map +1 -1
  109. package/dist/remediate/steps/sessionConfigLoad.d.ts +46 -0
  110. package/dist/remediate/steps/sessionConfigLoad.d.ts.map +1 -0
  111. package/dist/remediate/steps/sessionConfigLoad.js +32 -0
  112. package/dist/remediate/steps/sessionConfigLoad.js.map +1 -0
  113. package/dist/shared/config/resolveSessionConfig.d.ts +72 -0
  114. package/dist/shared/config/resolveSessionConfig.d.ts.map +1 -0
  115. package/dist/shared/config/resolveSessionConfig.js +105 -0
  116. package/dist/shared/config/resolveSessionConfig.js.map +1 -0
  117. package/dist/shared/dispatch/admissionLoop.d.ts +12 -12
  118. package/dist/shared/friction/stepBoundaryCapture.d.ts +22 -1
  119. package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -1
  120. package/dist/shared/friction/stepBoundaryCapture.js +40 -0
  121. package/dist/shared/friction/stepBoundaryCapture.js.map +1 -1
  122. package/dist/shared/index.d.ts +14 -8
  123. package/dist/shared/index.d.ts.map +1 -1
  124. package/dist/shared/index.js +11 -5
  125. package/dist/shared/index.js.map +1 -1
  126. package/dist/shared/providers/auditorSources.d.ts +102 -0
  127. package/dist/shared/providers/auditorSources.d.ts.map +1 -0
  128. package/dist/shared/providers/auditorSources.js +226 -0
  129. package/dist/shared/providers/auditorSources.js.map +1 -0
  130. package/dist/shared/providers/openAiCompatibleProvider.d.ts +20 -5
  131. package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
  132. package/dist/shared/providers/openAiCompatibleProvider.js +123 -19
  133. package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
  134. package/dist/shared/providers/providerConfirmation.d.ts +3 -20
  135. package/dist/shared/providers/providerConfirmation.d.ts.map +1 -1
  136. package/dist/shared/providers/providerConfirmation.js +3 -37
  137. package/dist/shared/providers/providerConfirmation.js.map +1 -1
  138. package/dist/shared/providers/providerFactory.d.ts +6 -0
  139. package/dist/shared/providers/providerFactory.d.ts.map +1 -1
  140. package/dist/shared/providers/providerFactory.js +6 -0
  141. package/dist/shared/providers/providerFactory.js.map +1 -1
  142. package/dist/shared/providers/sharedProviderConfirmation.d.ts +264 -75
  143. package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +1 -1
  144. package/dist/shared/providers/sharedProviderConfirmation.js +534 -113
  145. package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -1
  146. package/dist/shared/providers/types.d.ts +17 -0
  147. package/dist/shared/providers/types.d.ts.map +1 -1
  148. package/dist/shared/quota/apiPool.d.ts +34 -11
  149. package/dist/shared/quota/apiPool.d.ts.map +1 -1
  150. package/dist/shared/quota/apiPool.js +21 -23
  151. package/dist/shared/quota/apiPool.js.map +1 -1
  152. package/dist/shared/quota/capacity.d.ts +50 -50
  153. package/dist/shared/quota/hostPool.d.ts +107 -0
  154. package/dist/shared/quota/hostPool.d.ts.map +1 -0
  155. package/dist/shared/quota/hostPool.js +103 -0
  156. package/dist/shared/quota/hostPool.js.map +1 -0
  157. package/dist/shared/quota/quotaSource.d.ts +2 -2
  158. package/dist/shared/types/auditorDescriptor.d.ts +112 -0
  159. package/dist/shared/types/auditorDescriptor.d.ts.map +1 -0
  160. package/dist/shared/types/auditorDescriptor.js +28 -0
  161. package/dist/shared/types/auditorDescriptor.js.map +1 -0
  162. package/dist/shared/types/providerConfirmation.d.ts +64 -6
  163. package/dist/shared/types/providerConfirmation.d.ts.map +1 -1
  164. package/dist/shared/types/providerConfirmation.js +1 -1
  165. package/dist/shared/types/sessionConfig.d.ts +73 -65
  166. package/dist/shared/types/sessionConfig.d.ts.map +1 -1
  167. package/dist/shared/types/sessionConfig.js +48 -0
  168. package/dist/shared/types/sessionConfig.js.map +1 -1
  169. package/dist/shared/validation/sessionConfig.d.ts +26 -14
  170. package/dist/shared/validation/sessionConfig.d.ts.map +1 -1
  171. package/dist/shared/validation/sessionConfig.js +72 -70
  172. package/dist/shared/validation/sessionConfig.js.map +1 -1
  173. package/docs/audit-pkg/contracts.md +4 -4
  174. package/docs/audit-pkg/operator-guide.md +43 -24
  175. package/package.json +1 -1
  176. package/skills/audit-code/SKILL.md +17 -14
  177. package/skills/audit-code/audit-code.prompt.md +17 -16
  178. package/wrapper/audit-code-wrapper-install-hosts.mjs +6 -10
  179. package/wrapper/remediate-code-wrapper-install-hosts.mjs +4 -8
  180. package/dist/shared/quota/repairProxyRegistry.d.ts +0 -84
  181. package/dist/shared/quota/repairProxyRegistry.d.ts.map +0 -1
  182. package/dist/shared/quota/repairProxyRegistry.js +0 -144
  183. package/dist/shared/quota/repairProxyRegistry.js.map +0 -1
@@ -72,6 +72,31 @@ export function resolveRollingEngineFlag(options) {
72
72
  return false;
73
73
  return true;
74
74
  }
75
+ /**
76
+ * Whether the run is unattended (autonomous). Host-agnostic — ONE flag drives the
77
+ * whole path. Resolution order: `sessionConfig.autonomous_mode` →
78
+ * `AUDIT_TOOLS_AUTONOMOUS` env → false (the attended/interactive default, so a gate
79
+ * halts for a human unless autonomy is explicitly requested).
80
+ *
81
+ * Unlike {@link resolveHostDispatchCapability} / {@link resolveRollingEngineFlag},
82
+ * this takes NO per-tool `envVarName`: attendedness is a property of the RUN, not of
83
+ * one tool's invocation, and the same pipeline drives audit→remediate end to end. A
84
+ * run that is unattended for the auditor is unattended for the remediator, so a
85
+ * per-tool name could only ever encode a contradiction. (Lifted out of
86
+ * `src/remediate/` for G3's reconciliation gate — audit needs the same flag; the old
87
+ * `REMEDIATE_AUTONOMOUS` name went with the fork.)
88
+ */
89
+ export function resolveAutonomousMode(options = {}) {
90
+ const cfg = options.sessionConfig?.autonomous_mode;
91
+ if (cfg !== undefined)
92
+ return cfg;
93
+ const envValue = (options.env ?? process.env).AUDIT_TOOLS_AUTONOMOUS;
94
+ if (envValue === "true")
95
+ return true;
96
+ if (envValue === "false")
97
+ return false;
98
+ return false;
99
+ }
75
100
  export const SESSION_UI_MODES = ["visible", "headless"];
76
101
  export const PROVIDER_SECTION_KEYS = {
77
102
  "subprocess-template": "subprocess_template",
@@ -120,4 +145,27 @@ export const ANALYZER_SETTINGS = [
120
145
  "auto",
121
146
  ];
122
147
  export const AnalyzerSettingSchema = z.enum(ANALYZER_SETTINGS);
148
+ /**
149
+ * The flat {@link SessionConfig} fields that constitute DISPATCH INVENTORY (the
150
+ * per-auditor backend/launch set), as opposed to audit INTENT. Single-sourced so
151
+ * the persisted-type derivation ({@link RepoSessionIntent}), the store-level
152
+ * validator (`validateRepoSessionIntent`), and `resolve()` cannot drift on which
153
+ * fields are inventory vs intent. `dispatch.rolling_engine` is deliberately absent
154
+ * from this flat list — it is nested under `dispatch`, so {@link RepoSessionIntent}
155
+ * strips it via {@link RepoDispatchConfig} separately (see there).
156
+ */
157
+ export const DISPATCH_INVENTORY_FIELDS = [
158
+ "provider",
159
+ "host_provider",
160
+ "subprocess_template",
161
+ "claude_code",
162
+ "codex",
163
+ "opencode",
164
+ "openai_compatible",
165
+ "vscode_task",
166
+ "antigravity",
167
+ "agy",
168
+ "sources",
169
+ "parallel_workers",
170
+ ];
123
171
  //# sourceMappingURL=sessionConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,gBAAgB;IAChB,qBAAqB;IACrB,aAAa;IACb,OAAO;IACP,UAAU;IACV,mBAAmB;IACnB,aAAa;IACb,aAAa;IACb,KAAK;CACG,CAAC;AAIX;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAa;IAEb,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,mCAAmC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAChF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAK7C;IACC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,2BAA2B,CAAC;IAC/D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAKxC;IACC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC;IAC5D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AA+IjE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB,EAAE,qBAAqB;IAC5C,aAAa,EAAE,aAAa;IAC5B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,mBAAmB,EAAE,mBAAmB;IACxC,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;IAC1B,GAAG,EAAE,KAAK;CACF,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,mBAAmB;IACnB,OAAO;IACP,UAAU;IACV,gBAAgB;IAChB,qBAAqB;IACrB,KAAK;CACG,CAAC;AAsPX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,WAAW;IACX,WAAW;IACX,MAAM;IACN,MAAM;CACE,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,11 @@
8
8
  *
9
9
  * Rule (Auditor-agnostic robustness): both orchestrators MUST reject a malformed
10
10
  * `session-config.json` at load rather than degrade silently to a floor. The
11
- * shared {@link readValidatedSessionConfig} helper is the load-boundary chokepoint
11
+ * shared {@link readValidatedRepoSessionIntent} helper is the load-boundary chokepoint
12
12
  * that guarantees this without either orchestrator having to remember to call the
13
13
  * validator itself.
14
14
  */
15
- import { type SessionConfig } from "../types/sessionConfig.js";
15
+ import { type RepoSessionIntent } from "../types/sessionConfig.js";
16
16
  import { type ValidationIssue } from "./basic.js";
17
17
  /**
18
18
  * A configured provider `command` must be either a bare executable name or a
@@ -27,21 +27,33 @@ export declare function isSupportedConfiguredCommand(command: string): boolean;
27
27
  * Validate a SessionConfig's field shapes and surface security-sensitive
28
28
  * settings. Returns a (possibly empty) list of {@link ValidationIssue}s; `error`
29
29
  * severity means the config cannot be used safely, `warning` means the caller
30
- * should surface the concern before proceeding (see {@link readValidatedSessionConfig}).
30
+ * should surface the concern before proceeding (see {@link readValidatedRepoSessionIntent}).
31
31
  */
32
32
  export declare function validateSessionConfig(value: unknown): ValidationIssue[];
33
33
  /**
34
- * Read `session-config.json` from `path` and validate it at the load boundary —
35
- * the single chokepoint both orchestrators route through so a malformed config
36
- * fails loud instead of degrading silently to a floor (Auditor-agnostic
37
- * robustness; "keep orchestrators in parity"). Returns `undefined` when the file
38
- * is absent (a run with no session config is legal), the typed config when valid,
39
- * and THROWS on any `error`-severity issue. `warning`-severity issues (e.g.
40
- * `dangerously_skip_permissions=true`) do not block the load; they are surfaced
41
- * via `onWarnings` (defaulting to a stderr write so a security-sensitive setting
42
- * is never silently honored — same surface both orchestrators get).
34
+ * Validate a PERSISTED {@link RepoSessionIntent} — the on-disk `session-config.json`
35
+ * shape, which carries audit INTENT + policy ONLY. On top of every field-shape check
36
+ * {@link validateSessionConfig} runs, this REJECTS any dispatch-inventory field (the
37
+ * {@link DISPATCH_INVENTORY_FIELDS} + `dispatch.rolling_engine`) as an `error`, so a
38
+ * resolved backend/launch set is UNREPRESENTABLE on disk: it rides the per-auditor
39
+ * `--auditor` descriptor, never the repo config, and is never inherited across auditors
40
+ * ([[capability-is-per-auditor-not-per-audit]], `spec/unified-dispatch-worker-model.md`).
41
+ * This is what makes the "unrepresentable on disk" invariant REAL rather than
42
+ * TS-write-only — both the audit store and remediate's disk read route through it.
43
43
  */
44
- export declare function readValidatedSessionConfig(path: string, options?: {
44
+ export declare function validateRepoSessionIntent(value: unknown): ValidationIssue[];
45
+ /**
46
+ * Read `session-config.json` from `path` and validate it as a {@link RepoSessionIntent}
47
+ * at the load boundary — the single chokepoint both orchestrators route through so a
48
+ * malformed config (or one carrying dispatch inventory that can no longer be persisted)
49
+ * fails loud instead of degrading silently (Auditor-agnostic robustness). Returns
50
+ * `undefined` when the file is absent (a run with no session config is legal), the typed
51
+ * intent when valid, and THROWS on any `error`-severity issue. `warning`-severity issues
52
+ * (e.g. `dangerously_skip_permissions=true`) do not block the load; they are surfaced via
53
+ * `onWarnings` (defaulting to a stderr write so a security-sensitive setting is never
54
+ * silently honored). Consumers overlay the per-auditor descriptor via `resolveSessionConfig`.
55
+ */
56
+ export declare function readValidatedRepoSessionIntent(path: string, options?: {
45
57
  onWarnings?: (warnings: ValidationIssue[]) => void;
46
- }): Promise<SessionConfig | undefined>;
58
+ }): Promise<RepoSessionIntent | undefined>;
47
59
  //# sourceMappingURL=sessionConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/sessionConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAOL,KAAK,aAAa,EAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAgdpB;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAM/D;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMrE;AAwCD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAwLvE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,IAAI,CAAA;CAAO,GACnE,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAuBpC"}
1
+ {"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/sessionConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAQL,KAAK,iBAAiB,EAGvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AA+ZpB;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAM/D;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMrE;AAwCD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAuLvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAuB3E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,IAAI,CAAA;CAAO,GACnE,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAuBxC"}
@@ -8,12 +8,12 @@
8
8
  *
9
9
  * Rule (Auditor-agnostic robustness): both orchestrators MUST reject a malformed
10
10
  * `session-config.json` at load rather than degrade silently to a floor. The
11
- * shared {@link readValidatedSessionConfig} helper is the load-boundary chokepoint
11
+ * shared {@link readValidatedRepoSessionIntent} helper is the load-boundary chokepoint
12
12
  * that guarantees this without either orchestrator having to remember to call the
13
13
  * validator itself.
14
14
  */
15
15
  import { readOptionalJsonFile } from "../io/json.js";
16
- import { ANALYZER_SETTINGS, DISPATCHABLE_SOURCE_PROVIDERS, PROVIDER_NAMES, SESSION_UI_MODES, } from "../types/sessionConfig.js";
16
+ import { ANALYZER_SETTINGS, DISPATCHABLE_SOURCE_PROVIDERS, DISPATCH_INVENTORY_FIELDS, PROVIDER_NAMES, SESSION_UI_MODES, } from "../types/sessionConfig.js";
17
17
  import { formatValidationIssues, isRecord, pushValidationIssue, } from "./basic.js";
18
18
  const VALID_PROVIDERS = new Set(PROVIDER_NAMES);
19
19
  const VALID_UI_MODES = new Set(SESSION_UI_MODES);
@@ -73,10 +73,25 @@ function validateQuotaModelLimits(value, path, issues) {
73
73
  pushIssue(issues, `${path}.output_tokens`, "output_tokens must be less than context_tokens (no room for input otherwise).");
74
74
  }
75
75
  }
76
+ /**
77
+ * The `DispatchableSource` fields that must be strings when present — every one is
78
+ * read by the ambient-reach probe (`providers/auditorSources.ts`) and/or the launch
79
+ * path, so a non-string here coerces to nonsense downstream rather than failing.
80
+ */
81
+ const DISPATCHABLE_SOURCE_STRING_FIELDS = [
82
+ "id",
83
+ "endpoint",
84
+ "model",
85
+ "api_key_env",
86
+ "api_key",
87
+ "credentials_path",
88
+ "account",
89
+ ];
76
90
  /**
77
91
  * Validate `sessionConfig.sources[]` — the explicit dispatchable-source pool
78
- * list. Shape-guards each entry's provider and (the C1 concern) its `quota`,
79
- * which is now the single source of truth for a source pool's admission budget.
92
+ * list. Shape-guards each entry's provider, its string fields, and (the C1 concern)
93
+ * its `quota`, which is now the single source of truth for a source pool's admission
94
+ * budget.
80
95
  */
81
96
  function validateDispatchableSources(value, issues) {
82
97
  if (value === undefined)
@@ -96,64 +111,24 @@ function validateDispatchableSources(value, issues) {
96
111
  !VALID_DISPATCHABLE_SOURCE_PROVIDERS.has(provider)) {
97
112
  pushIssue(issues, `${path}.provider`, `provider must be one of: ${Array.from(VALID_DISPATCHABLE_SOURCE_PROVIDERS).join(", ")}.`);
98
113
  }
114
+ // The string fields the ambient-reach probe and the launch path both READ. Left
115
+ // unchecked, `{"api_key_env": {"a":1}}` passed here and `env[{...}]` coerced to
116
+ // "[object Object]" downstream. Guarded at this ONE shared site so both boundaries
117
+ // (disk-load and the `--auditor` parse boundary) gain it.
118
+ for (const field of DISPATCHABLE_SOURCE_STRING_FIELDS) {
119
+ const value = source[field];
120
+ if (value !== undefined && typeof value !== "string") {
121
+ pushIssue(issues, `${path}.${field}`, `${field} must be a string.`);
122
+ }
123
+ }
124
+ if (source.parameters !== undefined && !isRecord(source.parameters)) {
125
+ pushIssue(issues, `${path}.parameters`, "parameters must be a JSON object.");
126
+ }
99
127
  if (source.quota !== undefined) {
100
128
  validateQuotaModelLimits(source.quota, `${path}.quota`, issues);
101
129
  }
102
130
  });
103
131
  }
104
- /**
105
- * Validate the `repair_proxy` discovery section — the OpenAI-compatible multiplexer
106
- * whose `/registry` audit-tools expands into per-`provider/model` sources. `base_url`
107
- * is a required non-empty string when the section is present (no hardcoded proxy host);
108
- * `top_k` is a positive integer when provided; `api_key_env` a non-empty string; each
109
- * `providers[name]` override is shape-checked (`cost_per_mtok` non-negative finite,
110
- * `enabled` boolean).
111
- */
112
- function validateRepairProxy(value, issues) {
113
- if (value === undefined)
114
- return;
115
- if (!isRecord(value)) {
116
- pushIssue(issues, "repair_proxy", "repair_proxy must be a JSON object.");
117
- return;
118
- }
119
- if (typeof value.base_url !== "string" || value.base_url.trim().length === 0) {
120
- pushIssue(issues, "repair_proxy.base_url", "base_url is required and must be a non-empty string.");
121
- }
122
- if (value.api_key_env !== undefined &&
123
- (typeof value.api_key_env !== "string" || value.api_key_env.trim().length === 0)) {
124
- pushIssue(issues, "repair_proxy.api_key_env", "api_key_env must be a non-empty string when provided.");
125
- }
126
- if (value.top_k !== undefined &&
127
- (typeof value.top_k !== "number" || !Number.isInteger(value.top_k) || value.top_k <= 0)) {
128
- pushIssue(issues, "repair_proxy.top_k", "top_k must be a positive integer when provided.");
129
- }
130
- if (value.providers !== undefined) {
131
- if (!isRecord(value.providers)) {
132
- pushIssue(issues, "repair_proxy.providers", "providers must be a JSON object mapping provider name to overrides.");
133
- }
134
- else {
135
- for (const [name, override] of Object.entries(value.providers)) {
136
- const path = `repair_proxy.providers.${name}`;
137
- if (!isRecord(override)) {
138
- pushIssue(issues, path, "each provider override must be a JSON object.");
139
- continue;
140
- }
141
- if (override.cost_per_mtok !== undefined &&
142
- (typeof override.cost_per_mtok !== "number" ||
143
- !Number.isFinite(override.cost_per_mtok) ||
144
- override.cost_per_mtok < 0)) {
145
- pushIssue(issues, `${path}.cost_per_mtok`, "cost_per_mtok must be a non-negative finite number when provided.");
146
- }
147
- if (override.enabled !== undefined && typeof override.enabled !== "boolean") {
148
- pushIssue(issues, `${path}.enabled`, "enabled must be a boolean when provided.");
149
- }
150
- if (override.per_model_limits !== undefined && typeof override.per_model_limits !== "boolean") {
151
- pushIssue(issues, `${path}.per_model_limits`, "per_model_limits must be a boolean when provided.");
152
- }
153
- }
154
- }
155
- }
156
- }
157
132
  function pushIssue(issues, path, message) {
158
133
  pushValidationIssue(issues, path, message);
159
134
  }
@@ -348,7 +323,7 @@ function validateRoutingTiers(value, issues) {
348
323
  * Validate a SessionConfig's field shapes and surface security-sensitive
349
324
  * settings. Returns a (possibly empty) list of {@link ValidationIssue}s; `error`
350
325
  * severity means the config cannot be used safely, `warning` means the caller
351
- * should surface the concern before proceeding (see {@link readValidatedSessionConfig}).
326
+ * should surface the concern before proceeding (see {@link readValidatedRepoSessionIntent}).
352
327
  */
353
328
  export function validateSessionConfig(value) {
354
329
  const issues = [];
@@ -405,7 +380,6 @@ export function validateSessionConfig(value) {
405
380
  validateAgentProviderSection(value.agy, "agy", issues);
406
381
  validateOpenAiCompatibleSection(value.openai_compatible, "openai_compatible", issues, provider === "openai-compatible");
407
382
  validateDispatchableSources(value.sources, issues);
408
- validateRepairProxy(value.repair_proxy, issues);
409
383
  if (value.synthesis !== undefined) {
410
384
  if (!isRecord(value.synthesis)) {
411
385
  pushIssue(issues, "synthesis", "synthesis must be a JSON object.");
@@ -451,22 +425,50 @@ export function validateSessionConfig(value) {
451
425
  return issues;
452
426
  }
453
427
  /**
454
- * Read `session-config.json` from `path` and validate it at the load boundary —
455
- * the single chokepoint both orchestrators route through so a malformed config
456
- * fails loud instead of degrading silently to a floor (Auditor-agnostic
457
- * robustness; "keep orchestrators in parity"). Returns `undefined` when the file
458
- * is absent (a run with no session config is legal), the typed config when valid,
459
- * and THROWS on any `error`-severity issue. `warning`-severity issues (e.g.
460
- * `dangerously_skip_permissions=true`) do not block the load; they are surfaced
461
- * via `onWarnings` (defaulting to a stderr write so a security-sensitive setting
462
- * is never silently honored — same surface both orchestrators get).
428
+ * Validate a PERSISTED {@link RepoSessionIntent} — the on-disk `session-config.json`
429
+ * shape, which carries audit INTENT + policy ONLY. On top of every field-shape check
430
+ * {@link validateSessionConfig} runs, this REJECTS any dispatch-inventory field (the
431
+ * {@link DISPATCH_INVENTORY_FIELDS} + `dispatch.rolling_engine`) as an `error`, so a
432
+ * resolved backend/launch set is UNREPRESENTABLE on disk: it rides the per-auditor
433
+ * `--auditor` descriptor, never the repo config, and is never inherited across auditors
434
+ * ([[capability-is-per-auditor-not-per-audit]], `spec/unified-dispatch-worker-model.md`).
435
+ * This is what makes the "unrepresentable on disk" invariant REAL rather than
436
+ * TS-write-only — both the audit store and remediate's disk read route through it.
437
+ */
438
+ export function validateRepoSessionIntent(value) {
439
+ const issues = validateSessionConfig(value);
440
+ if (!isRecord(value))
441
+ return issues;
442
+ for (const field of DISPATCH_INVENTORY_FIELDS) {
443
+ if (value[field] !== undefined) {
444
+ pushIssue(issues, field, `${field} is dispatch inventory and cannot be persisted on session-config.json — ` +
445
+ `it rides the per-auditor --auditor descriptor (spec/unified-dispatch-worker-model.md).`);
446
+ }
447
+ }
448
+ const dispatch = value.dispatch;
449
+ if (isRecord(dispatch) && dispatch.rolling_engine !== undefined) {
450
+ pushIssue(issues, "dispatch.rolling_engine", "dispatch.rolling_engine is dispatch capability and cannot be persisted — " +
451
+ "set AUDIT_CODE_ROLLING_ENGINE / REMEDIATE_ROLLING_ENGINE or the --auditor descriptor.");
452
+ }
453
+ return issues;
454
+ }
455
+ /**
456
+ * Read `session-config.json` from `path` and validate it as a {@link RepoSessionIntent}
457
+ * at the load boundary — the single chokepoint both orchestrators route through so a
458
+ * malformed config (or one carrying dispatch inventory that can no longer be persisted)
459
+ * fails loud instead of degrading silently (Auditor-agnostic robustness). Returns
460
+ * `undefined` when the file is absent (a run with no session config is legal), the typed
461
+ * intent when valid, and THROWS on any `error`-severity issue. `warning`-severity issues
462
+ * (e.g. `dangerously_skip_permissions=true`) do not block the load; they are surfaced via
463
+ * `onWarnings` (defaulting to a stderr write so a security-sensitive setting is never
464
+ * silently honored). Consumers overlay the per-auditor descriptor via `resolveSessionConfig`.
463
465
  */
464
- export async function readValidatedSessionConfig(path, options = {}) {
466
+ export async function readValidatedRepoSessionIntent(path, options = {}) {
465
467
  const raw = await readOptionalJsonFile(path);
466
468
  if (raw === undefined) {
467
469
  return undefined;
468
470
  }
469
- const issues = validateSessionConfig(raw);
471
+ const issues = validateRepoSessionIntent(raw);
470
472
  const errors = issues.filter((issue) => issue.severity === "error");
471
473
  if (errors.length > 0) {
472
474
  throw new Error(`Invalid ${path}:\n${formatValidationIssues(errors).replace(/^ {2}/gm, "- ")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/validation/sessionConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/validation/sessionConfig.ts"],"names":[],"mappings":"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"}
@@ -94,12 +94,12 @@ includes `step_kind`, `prompt_path`, `status`, `run_id`, `allowed_commands`,
94
94
  `stop_condition`, `repo_root`, `artifacts_dir`, and relevant `artifact_paths`.
95
95
 
96
96
  When semantic review is reached, the backend resolves host dispatch capability
97
- from `--host-can-dispatch-subagents` (optional boolean flag; bare = true,
98
- `--no-host-can-dispatch-subagents` = false) → session config
97
+ from the `--auditor` descriptor's `self.can_dispatch_subagents` (optional boolean;
98
+ carried in the single `--auditor <json>` handshake) → session config
99
99
  (`host_can_dispatch_subagents`) → `AUDIT_CODE_HOST_CAN_DISPATCH` → default
100
100
  `true`, then renders exactly one review path: packet dispatch (`dispatch_review`)
101
101
  or the single-task fallback (`single_task_fallback`). No capability handshake is
102
- required; pass the flag only to override the resolved default.
102
+ required; set `self.can_dispatch_subagents` only to override the resolved default.
103
103
 
104
104
  `next-step` is the only execution loop; there is no batch entrypoint. Every
105
105
  invocation advances one bounded step and renders the actionable step contract
@@ -118,7 +118,7 @@ artifacts are shaped by:
118
118
  Normal packet flow:
119
119
 
120
120
  ```text
121
- audit-code next-step --host-can-dispatch-subagents
121
+ audit-code next-step --auditor '{"self":{"can_dispatch_subagents":true}}'
122
122
  backend prepares dispatch-plan.json
123
123
  conversation launches one worker per dispatch-plan entry
124
124
  worker reads entry.prompt_path
@@ -126,7 +126,7 @@ previews the action without deleting anything.
126
126
 
127
127
  ## Session config
128
128
 
129
- Backend fallback configuration lives at:
129
+ Audit-run configuration lives at:
130
130
 
131
131
  ```text
132
132
  .audit-tools/audit/session-config.json
@@ -135,15 +135,19 @@ Backend fallback configuration lives at:
135
135
  The canonical `/audit-code` conversation route should not require users to
136
136
  touch this file.
137
137
 
138
- Default:
138
+ > **Dispatch capability is NOT configured here.** As of the unified-dispatch worker
139
+ > model (G2), `session-config.json` carries audit **intent** only — analyzers,
140
+ > synthesis, quota policy, budgeting, timeouts. The dispatch **backend/launch set**
141
+ > (`provider`, `host_provider`, `sources[]`, the per-backend blocks
142
+ > `codex`/`opencode`/`openai_compatible`/`vscode_task`/`antigravity`/`agy`/
143
+ > `subprocess_template`/`claude_code`, `parallel_workers`, `dispatch.rolling_engine`)
144
+ > is per-auditor CAPABILITY: it rides the per-invocation `--auditor <json>` descriptor,
145
+ > resolved from the auditor's own environment, never inherited across auditors. Writing
146
+ > any of those keys into `session-config.json` now FAILS at load
147
+ > (`spec/unified-dispatch-worker-model.md`). The `rolling_engine` opt-out is the
148
+ > `AUDIT_CODE_ROLLING_ENGINE` / `REMEDIATE_ROLLING_ENGINE` env var.
139
149
 
140
- ```json
141
- {
142
- "provider": "worker-command"
143
- }
144
- ```
145
-
146
- Supported providers:
150
+ The provider values a descriptor's `self.provider` may name:
147
151
 
148
152
  - `worker-command` — runs `task.worker_command`; generic subprocess fallback, not an LLM backend
149
153
  - `auto`
@@ -160,15 +164,13 @@ Supported providers:
160
164
  External providers are compatibility bridges, not the intended default review
161
165
  owner.
162
166
 
163
- Common fields:
167
+ Common `session-config.json` (intent) fields:
164
168
 
165
169
  ```json
166
170
  {
167
- "provider": "worker-command",
168
171
  "timeout_ms": 1800000,
169
172
  "ui_mode": "headless",
170
- "agent_task_batch_size": 1,
171
- "parallel_workers": 1
173
+ "agent_task_batch_size": 1
172
174
  }
173
175
  ```
174
176
 
@@ -216,7 +218,7 @@ Every other field is optional:
216
218
  {
217
219
  "schema_version": "provider-confirmation-input/v1",
218
220
  "cost_order": ["<provider-or-model-key>", "..."],
219
- "exclude": ["<provider-name>"],
221
+ "exclude": ["<provider>:<model>", "<provider>", "<endpoint-host>"],
220
222
  "include": ["<self-spawn-blocked provider to opt back in>"],
221
223
  "host_models": [{ "model_id": "<your model id>", "tier": "frontier|capable|fast" }]
222
224
  }
@@ -227,7 +229,19 @@ Every other field is optional:
227
229
  report in `host_models`. Keys you omit keep their suggested relative order,
228
230
  appended after the ones you name; unrecognized keys are ignored. Omit it to accept
229
231
  the suggested order.
230
- - `exclude` — drops a provider from the dispatchable pool.
232
+ - `exclude` — drops backends from the dispatchable pool. Each entry is a rule, at
233
+ whatever granularity you mean:
234
+ - `openai-compatible:gpt-oss-120b` — that **model** of that provider, leaving the
235
+ provider's other models routable. This is the granularity to reach for: you are
236
+ confirming model choices, so ruling out one model of a multi-model backend
237
+ should not rule out the backend.
238
+ - `codex` — the whole **provider**, every model of it.
239
+ - `integrate.api.nvidia.com` (or `localhost:8000` to pin a port) — every source at
240
+ that **endpoint host**.
241
+
242
+ A rule is a durable decision, not a reachability claim: it keeps applying on a
243
+ later run and on a different machine, whatever is reachable there. A rule that
244
+ matches nothing is simply inert.
231
245
  - `include` — opts a self-spawn-blocked provider back in. A CLI provider detected
232
246
  while you are already inside a session of that same agent (`claude-code` under
233
247
  `CLAUDECODE`, `codex` under `CODEX`) is excluded by default so the run can't
@@ -236,12 +250,13 @@ Every other field is optional:
236
250
  - `host_models` — reports your own (the host agent's) model roster so those tiers
237
251
  are priced from the models.dev dataset and orderable here, not just at dispatch.
238
252
 
239
- You supply only ordering intent plus your model roster. The tool owns the prices,
240
- the capability flags, and the roster snapshot — you never hand-author those. If a
241
- provider you use isn't listed, it wasn't auto-detected: add its config to
242
- `session-config.json` (an OpenAI-compatible endpoint via
243
- `openai_compatible.{base_url,model,api_key_env}`, or a CLI backend via its
244
- `<name>.command`) and re-run the step.
253
+ You supply only ordering intent plus your model roster. The tool owns the prices
254
+ and the capability flags — you never hand-author those. If a
255
+ provider you use isn't listed, it wasn't auto-detected: it rides the per-auditor
256
+ `--auditor <json>` descriptor (an OpenAI-compatible endpoint or CLI backend as a
257
+ `sources[]` entry, resolved from your environment — NOT `session-config.json`, which
258
+ no longer accepts dispatch config; see `spec/unified-dispatch-worker-model.md`), then
259
+ re-run the step.
245
260
 
246
261
  Once the input is written, re-run the continue command the step printed
247
262
  (`audit-code next-step`). The tool consumes the input and promotes it into both
@@ -254,9 +269,13 @@ The shared `.audit-tools/provider-confirmation.json` is written once and reused
254
269
  the rest of the audit→remediate session. A later step, and a subsequent
255
270
  `remediate-code` run against the same repo, read and honor that pool without
256
271
  prompting again — `remediate-code` has no confirmation step of its own; it consumes
257
- the audit-side pool. You are only re-prompted if the discovered provider roster
258
- changes (a provider appears or disappears since it was confirmed), which forces a
259
- fresh confirmation so a vanished provider is never pinned. If the file is absent
272
+ the audit-side pool. You are re-prompted only when a backend you never confirmed
273
+ becomes reachable — and then the prompt leads with just that delta, not the whole
274
+ table again. A backend that has *disappeared* never re-prompts: it simply drops out
275
+ of reach, which needs no decision from you. On an unattended run (`autonomous_mode`)
276
+ there is nobody to ask, so a newly-reachable backend is **excluded rather than used**
277
+ and a `newly_reachable_backend` friction event records why — confirm or exclude it at
278
+ your next attended gate. If the file is absent
260
279
  (for example a standalone remediate run with no prior audit), the run resolves its
261
280
  provider independently — absence is never an error.
262
281
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audit-tools",
3
- "version": "0.32.67",
3
+ "version": "0.33.0",
4
4
  "private": false,
5
5
  "license": "ISC",
6
6
  "description": "Portable hybrid code auditing + remediation orchestrators for arbitrary repositories.",