@on-par/factory-core 0.9.4 → 0.9.5-next.2

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 (178) hide show
  1. package/dist/checkers/base-health.js +2 -2
  2. package/dist/checkers/base-health.js.map +1 -1
  3. package/dist/checkers/baseline-cache.d.ts +6 -4
  4. package/dist/checkers/baseline-cache.d.ts.map +1 -1
  5. package/dist/checkers/baseline-cache.js +24 -7
  6. package/dist/checkers/baseline-cache.js.map +1 -1
  7. package/dist/checkers/baseline.d.ts.map +1 -1
  8. package/dist/checkers/baseline.js +4 -3
  9. package/dist/checkers/baseline.js.map +1 -1
  10. package/dist/checkers/constitution-preflight.d.ts +8 -0
  11. package/dist/checkers/constitution-preflight.d.ts.map +1 -0
  12. package/dist/checkers/constitution-preflight.js +71 -0
  13. package/dist/checkers/constitution-preflight.js.map +1 -0
  14. package/dist/checkers/design-smells.d.ts +1 -0
  15. package/dist/checkers/design-smells.d.ts.map +1 -1
  16. package/dist/checkers/design-smells.js +24 -5
  17. package/dist/checkers/design-smells.js.map +1 -1
  18. package/dist/checkers/index.d.ts +13 -2
  19. package/dist/checkers/index.d.ts.map +1 -1
  20. package/dist/checkers/index.js +73 -11
  21. package/dist/checkers/index.js.map +1 -1
  22. package/dist/config/config-lint.d.ts +28 -0
  23. package/dist/config/config-lint.d.ts.map +1 -0
  24. package/dist/config/config-lint.js +39 -0
  25. package/dist/config/config-lint.js.map +1 -0
  26. package/dist/config/config-schema-lint.d.ts +17 -0
  27. package/dist/config/config-schema-lint.d.ts.map +1 -0
  28. package/dist/config/config-schema-lint.js +104 -0
  29. package/dist/config/config-schema-lint.js.map +1 -0
  30. package/dist/config/example.js +1 -1
  31. package/dist/config/example.js.map +1 -1
  32. package/dist/config/index.d.ts +16 -2
  33. package/dist/config/index.d.ts.map +1 -1
  34. package/dist/config/index.js +37 -13
  35. package/dist/config/index.js.map +1 -1
  36. package/dist/config/repo.d.ts +3 -0
  37. package/dist/config/repo.d.ts.map +1 -1
  38. package/dist/config/repo.js +12 -1
  39. package/dist/config/repo.js.map +1 -1
  40. package/dist/config/template-tokens.d.ts +21 -0
  41. package/dist/config/template-tokens.d.ts.map +1 -0
  42. package/dist/config/template-tokens.js +62 -0
  43. package/dist/config/template-tokens.js.map +1 -0
  44. package/dist/daemon/run-worktree.d.ts +5 -1
  45. package/dist/daemon/run-worktree.d.ts.map +1 -1
  46. package/dist/daemon/run-worktree.js +5 -2
  47. package/dist/daemon/run-worktree.js.map +1 -1
  48. package/dist/events/kinds.d.ts +1 -1
  49. package/dist/events/kinds.d.ts.map +1 -1
  50. package/dist/events/kinds.js +6 -0
  51. package/dist/events/kinds.js.map +1 -1
  52. package/dist/harness/catalog.d.ts +3 -0
  53. package/dist/harness/catalog.d.ts.map +1 -1
  54. package/dist/harness/catalog.js +6 -0
  55. package/dist/harness/catalog.js.map +1 -1
  56. package/dist/internal.d.ts +30 -6
  57. package/dist/internal.d.ts.map +1 -1
  58. package/dist/internal.js +18 -5
  59. package/dist/internal.js.map +1 -1
  60. package/dist/kpis/defects.js +1 -1
  61. package/dist/kpis/defects.js.map +1 -1
  62. package/dist/models/index.d.ts +8 -0
  63. package/dist/models/index.d.ts.map +1 -1
  64. package/dist/models/index.js +32 -2
  65. package/dist/models/index.js.map +1 -1
  66. package/dist/phases/build.d.ts +2 -0
  67. package/dist/phases/build.d.ts.map +1 -1
  68. package/dist/phases/build.js +5 -2
  69. package/dist/phases/build.js.map +1 -1
  70. package/dist/phases/check.d.ts +7 -1
  71. package/dist/phases/check.d.ts.map +1 -1
  72. package/dist/phases/check.js +27 -7
  73. package/dist/phases/check.js.map +1 -1
  74. package/dist/phases/plan.d.ts +8 -3
  75. package/dist/phases/plan.d.ts.map +1 -1
  76. package/dist/phases/plan.js +74 -30
  77. package/dist/phases/plan.js.map +1 -1
  78. package/dist/phases/ship-stack.d.ts +49 -0
  79. package/dist/phases/ship-stack.d.ts.map +1 -0
  80. package/dist/phases/ship-stack.js +110 -0
  81. package/dist/phases/ship-stack.js.map +1 -0
  82. package/dist/phases/ship.d.ts +3 -0
  83. package/dist/phases/ship.d.ts.map +1 -1
  84. package/dist/phases/ship.js +1 -1
  85. package/dist/phases/ship.js.map +1 -1
  86. package/dist/phases/stack-check-failure.d.ts +42 -0
  87. package/dist/phases/stack-check-failure.d.ts.map +1 -0
  88. package/dist/phases/stack-check-failure.js +47 -0
  89. package/dist/phases/stack-check-failure.js.map +1 -0
  90. package/dist/phases/stack-fallback.d.ts +33 -0
  91. package/dist/phases/stack-fallback.d.ts.map +1 -0
  92. package/dist/phases/stack-fallback.js +47 -0
  93. package/dist/phases/stack-fallback.js.map +1 -0
  94. package/dist/phases/stack-review-change.d.ts +48 -0
  95. package/dist/phases/stack-review-change.d.ts.map +1 -0
  96. package/dist/phases/stack-review-change.js +73 -0
  97. package/dist/phases/stack-review-change.js.map +1 -0
  98. package/dist/queue/github-queue.d.ts +6 -0
  99. package/dist/queue/github-queue.d.ts.map +1 -1
  100. package/dist/queue/github-queue.js.map +1 -1
  101. package/dist/readiness/decompose.d.ts +4 -2
  102. package/dist/readiness/decompose.d.ts.map +1 -1
  103. package/dist/readiness/decompose.js +6 -2
  104. package/dist/readiness/decompose.js.map +1 -1
  105. package/dist/readiness/enrich.d.ts +6 -0
  106. package/dist/readiness/enrich.d.ts.map +1 -1
  107. package/dist/readiness/enrich.js +20 -1
  108. package/dist/readiness/enrich.js.map +1 -1
  109. package/dist/readiness/slice-gate.d.ts +5 -0
  110. package/dist/readiness/slice-gate.d.ts.map +1 -1
  111. package/dist/readiness/slice-gate.js +10 -4
  112. package/dist/readiness/slice-gate.js.map +1 -1
  113. package/dist/readiness/slice-plan-github.d.ts +25 -0
  114. package/dist/readiness/slice-plan-github.d.ts.map +1 -1
  115. package/dist/readiness/slice-plan-github.js +23 -1
  116. package/dist/readiness/slice-plan-github.js.map +1 -1
  117. package/dist/readiness/slice-plan.d.ts +29 -2
  118. package/dist/readiness/slice-plan.d.ts.map +1 -1
  119. package/dist/readiness/slice-plan.js +71 -4
  120. package/dist/readiness/slice-plan.js.map +1 -1
  121. package/dist/reports/benchmark-artifacts.d.ts +1 -1
  122. package/dist/reports/benchmark-artifacts.d.ts.map +1 -1
  123. package/dist/review/routing.d.ts +3 -1
  124. package/dist/review/routing.d.ts.map +1 -1
  125. package/dist/review/routing.js +21 -9
  126. package/dist/review/routing.js.map +1 -1
  127. package/dist/router/index.d.ts +10 -0
  128. package/dist/router/index.d.ts.map +1 -1
  129. package/dist/router/index.js +61 -13
  130. package/dist/router/index.js.map +1 -1
  131. package/dist/run/outcome.d.ts +3 -1
  132. package/dist/run/outcome.d.ts.map +1 -1
  133. package/dist/run/outcome.js.map +1 -1
  134. package/dist/run/resume-context.d.ts +51 -0
  135. package/dist/run/resume-context.d.ts.map +1 -1
  136. package/dist/run/resume-context.js +97 -0
  137. package/dist/run/resume-context.js.map +1 -1
  138. package/dist/run/run-issue.d.ts +19 -2
  139. package/dist/run/run-issue.d.ts.map +1 -1
  140. package/dist/run/run-issue.js +291 -192
  141. package/dist/run/run-issue.js.map +1 -1
  142. package/dist/sandbox/egress-proxy.d.ts +16 -0
  143. package/dist/sandbox/egress-proxy.d.ts.map +1 -1
  144. package/dist/sandbox/egress-proxy.js +91 -7
  145. package/dist/sandbox/egress-proxy.js.map +1 -1
  146. package/dist/sandbox/index.d.ts +2 -0
  147. package/dist/sandbox/index.d.ts.map +1 -1
  148. package/dist/sandbox/index.js +3 -1
  149. package/dist/sandbox/index.js.map +1 -1
  150. package/dist/sim/monte-carlo.js +1 -1
  151. package/dist/sim/monte-carlo.js.map +1 -1
  152. package/dist/steward/diagnose.d.ts +5 -1
  153. package/dist/steward/diagnose.d.ts.map +1 -1
  154. package/dist/steward/diagnose.js +13 -5
  155. package/dist/steward/diagnose.js.map +1 -1
  156. package/dist/steward/run.d.ts +2 -0
  157. package/dist/steward/run.d.ts.map +1 -1
  158. package/dist/steward/run.js +1 -0
  159. package/dist/steward/run.js.map +1 -1
  160. package/dist/types/index.d.ts +3 -1
  161. package/dist/types/index.d.ts.map +1 -1
  162. package/dist/usage/index.d.ts +19 -1
  163. package/dist/usage/index.d.ts.map +1 -1
  164. package/dist/usage/index.js +27 -1
  165. package/dist/usage/index.js.map +1 -1
  166. package/dist/utils/claude-config.d.ts +18 -1
  167. package/dist/utils/claude-config.d.ts.map +1 -1
  168. package/dist/utils/claude-config.js +48 -3
  169. package/dist/utils/claude-config.js.map +1 -1
  170. package/dist/utils/local-auth-record.d.ts +29 -0
  171. package/dist/utils/local-auth-record.d.ts.map +1 -0
  172. package/dist/utils/local-auth-record.js +92 -0
  173. package/dist/utils/local-auth-record.js.map +1 -0
  174. package/package.json +7 -7
  175. package/dist/daemon/repo-lane.d.ts +0 -5
  176. package/dist/daemon/repo-lane.d.ts.map +0 -1
  177. package/dist/daemon/repo-lane.js +0 -9
  178. package/dist/daemon/repo-lane.js.map +0 -1
@@ -21,6 +21,7 @@ export declare function parseNumstat(stdout: string): ReviewFloorPathChange[];
21
21
  * (the same base CHECK resolves), plus untracked files. Throws when no base can be found. */
22
22
  export declare function readReviewFloorChanges(worktree: string, opts?: {
23
23
  fallbackBaseRef?: string;
24
+ parentBaseRef?: string;
24
25
  run?: DiffRunner;
25
26
  readFile?: (path: string) => string;
26
27
  }): Promise<ReviewFloorPathChange[]>;
@@ -29,7 +30,8 @@ export declare function classifierGateReason(result: ReviewFloorResult): string;
29
30
  export declare function resolveReviewRouting(input: {
30
31
  worktree: string;
31
32
  fallbackBaseRef?: string;
33
+ parentBaseRef?: string;
32
34
  rules: ReviewFloorRuleSet;
33
- readChanges?: (worktree: string, fallbackBaseRef?: string) => Promise<ReviewFloorPathChange[]>;
35
+ readChanges?: (worktree: string, fallbackBaseRef?: string, parentBaseRef?: string) => Promise<ReviewFloorPathChange[]>;
34
36
  }): Promise<ReviewRouting>;
35
37
  //# sourceMappingURL=routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/review/routing.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACvG,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAMD;0EAC0E;AAC1E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAQpE;AAQD;8FAC8F;AAC9F,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAAO,GAC7F,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA8BlC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEtE;AAED,iGAAiG;AACjG,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAChG,GAAG,OAAO,CAAC,aAAa,CAAC,CAazB"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/review/routing.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACvG,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAMD;0EAC0E;AAC1E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAQpE;AAQD;8FAC8F;AAC9F,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IACJ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAChC,GACL,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAyClC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEtE;AAED,iGAAiG;AACjG,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,CACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,MAAM,KACnB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CACvC,GAAG,OAAO,CAAC,aAAa,CAAC,CAczB"}
@@ -31,13 +31,24 @@ export async function readReviewFloorChanges(worktree, opts = {}) {
31
31
  const run = opts.run ?? defaultDiffRunner;
32
32
  const readFile = opts.readFile ?? ((p) => readFileSync(p, 'utf8'));
33
33
  let base = null;
34
- for (const candidate of BASE_REF_CANDIDATES) {
35
- const check = await run(['git', 'rev-parse', '--verify', '--quiet', `${candidate}^{commit}`], worktree);
36
- if (!check.ok)
37
- continue;
38
- const mb = await run(['git', 'merge-base', candidate, 'HEAD'], worktree);
39
- base = mb.ok && mb.stdout.trim() !== '' ? mb.stdout.trim() : candidate;
40
- break;
34
+ if (opts.parentBaseRef !== undefined) {
35
+ const ref = opts.parentBaseRef;
36
+ const check = await run(['git', 'rev-parse', '--verify', '--quiet', `${ref}^{commit}`], worktree);
37
+ if (!check.ok) {
38
+ throw new Error(`review floor base ref override '${ref}' does not resolve — not falling back to origin/main`);
39
+ }
40
+ const mb = await run(['git', 'merge-base', ref, 'HEAD'], worktree);
41
+ base = mb.ok && mb.stdout.trim() !== '' ? mb.stdout.trim() : ref;
42
+ }
43
+ if (base === null) {
44
+ for (const candidate of BASE_REF_CANDIDATES) {
45
+ const check = await run(['git', 'rev-parse', '--verify', '--quiet', `${candidate}^{commit}`], worktree);
46
+ if (!check.ok)
47
+ continue;
48
+ const mb = await run(['git', 'merge-base', candidate, 'HEAD'], worktree);
49
+ base = mb.ok && mb.stdout.trim() !== '' ? mb.stdout.trim() : candidate;
50
+ break;
51
+ }
41
52
  }
42
53
  if (base === null && opts.fallbackBaseRef !== undefined) {
43
54
  const check = await run(['git', 'rev-parse', '--verify', '--quiet', `${opts.fallbackBaseRef}^{commit}`], worktree);
@@ -64,10 +75,11 @@ export function classifierGateReason(result) {
64
75
  }
65
76
  /** Compute the routing decision. Never throws: any failure yields a gated `classifier:error`. */
66
77
  export async function resolveReviewRouting(input) {
67
- const readChanges = input.readChanges ?? ((w, f) => readReviewFloorChanges(w, { fallbackBaseRef: f }));
78
+ const readChanges = input.readChanges ??
79
+ ((w, f, p) => readReviewFloorChanges(w, { fallbackBaseRef: f, parentBaseRef: p }));
68
80
  try {
69
81
  const result = computeReviewFloor({
70
- changes: await readChanges(input.worktree, input.fallbackBaseRef),
82
+ changes: await readChanges(input.worktree, input.fallbackBaseRef, input.parentBaseRef),
71
83
  rules: input.rules,
72
84
  });
73
85
  if (result.floor === 'A')
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/review/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/review/routing.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { ModelRegistry } from '../models/index.js';
4
4
  import type { SandboxEventType, SandboxPolicy } from '../sandbox/index.js';
5
5
  import type { CostEntry, RetryCause, TaskType } from '../types/index.js';
6
6
  import type { ExecFn } from '../utils/exec.js';
7
+ import { type LocalAuthAgent } from '../utils/local-auth-record.js';
7
8
  import { type RouterAttempt } from './executor-error.js';
8
9
  import { type OllamaProbeResult } from './ollama-probe.js';
9
10
  export type { ExecFn } from '../utils/exec.js';
@@ -128,6 +129,10 @@ export declare class ModelRouter {
128
129
  * router serves one run, so a signed-out CLI is tried once and then skipped by every later
129
130
  * task, and PLAN stops offering its build route. */
130
131
  private readonly authTripped;
132
+ /** Harness ids already reported as missing their CLI. One router serves one run, so each
133
+ * harness is logged at most once per run (#2629). */
134
+ private readonly missingHarnessNoticed;
135
+ private localAuthSink?;
131
136
  constructor(modelsConfig: ModelsConfig, routesConfig: RoutesConfig, byok?: boolean, executor?: ModelExecutor, allowExperimental?: boolean, localOnly?: boolean, gitExecFn?: ExecFn, sleepFn?: SleepFn);
132
137
  get registryRef(): ModelRegistry;
133
138
  /** Skip models whose harness CLI is not on PATH (for example claude-cli models on a machine
@@ -135,8 +140,13 @@ export declare class ModelRouter {
135
140
  * Harnesses without a CLI probe (Ollama, declared harnesses) are never skipped. Results are
136
141
  * cached per command for the router's lifetime. */
137
142
  skipMissingHarnessClis(commandAvailable: (cmd: string) => boolean): void;
143
+ private harnessCliMissing;
144
+ private noticeMissingHarness;
138
145
  private authKey;
139
146
  private isAuthTripped;
147
+ /** Register a sink told which agent login (claude / codex) failed local_auth, so doctor can
148
+ * flag it until the next login (#2733). Receives only the agent name. */
149
+ setLocalAuthSink(sink: (agent: LocalAuthAgent) => void): void;
140
150
  /** Register a sink that receives one cost row per successful run(). */
141
151
  setCostSink(sink: CostSink): void;
142
152
  private recordCost;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMrE,OAAO,KAAK,EAAiB,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAK7F,OAAO,EAAuB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAA+D,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEtH,OAAO,EAAyB,KAAK,iBAAiB,EAAe,MAAM,mBAAmB,CAAC;AAG/F,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ3E,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,CACpB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IACL,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KACE,OAAO,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1B,CAAC,CAAC;AASH,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;wDAEwD;AACxD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,GACjC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAW9D;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;sCAEkC;IAClC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;sEACkE;IAClE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACzC;AAED;;;;;;iEAMiE;AACjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpF,qHAAqH;IACrH,WAAW,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC5C;AAED;;;;+EAI+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChF;AAED,qBAAa,gBAAiB,YAAW,aAAa;IASlD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IATjB,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,SAAS,CAAkC;IAEnD,YACU,MAAM,GAAE,MAAsB,EAC9B,OAAO,GAAE,OAA0B,EAC3C,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAM,EAoBvD;IAED,sGAAsG;IACtG,OAAO,CAAC,iBAAiB;IAWzB;;uEAEmE;IACnE,mBAAmB,IAAI,MAAM,EAAE,CAE9B;IAED,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAExC;IAED,wFAAwF;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBxF;IAED;6EACyE;YAC3D,aAAa;IAwB3B,+DAA+D;YACjD,qBAAqB;YAkIrB,+BAA+B;YAmE/B,oBAAoB;YAkCpB,+BAA+B;YA+B/B,UAAU;IAWxB;;;;0EAIsE;YACxD,yBAAyB;CAiBxC;AAED,gFAAgF;AAChF,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC;AASxE,qBAAa,WAAW;IAepB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IApBjB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAiC;IAC7D;;yDAEqD;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD;0DACsD;IACtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAqB;IAC3D,OAAO,CAAC,aAAa,CAAC,CAAkC;IAExD,YACE,YAAY,EAAE,YAAY,EAClB,YAAY,EAAE,YAAY,EAC1B,IAAI,UAAQ,EACZ,QAAQ,GAAE,aAAsC,EAChD,iBAAiB,UAAQ,EACzB,SAAS,UAAQ,EACjB,SAAS,GAAE,MAAsB,EACjC,OAAO,GAAE,OAAe,EAGjC;IAED,IAAI,WAAW,kBAEd;IAED;;;wDAGoD;IACpD,sBAAsB,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAWvE;IAED,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,aAAa;IAKrB;8EAC0E;IAC1E,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI,CAE5D;IAED,uEAAuE;IACvE,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAEhC;IAED,OAAO,CAAC,UAAU;IAkClB,sCAAsC;IACtC,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE1C;IAED,uDAAuD;IACvD,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE1C;IAED,mEAAmE;IACnE,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAsBnC;IAED,+CAA+C;IAC/C,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAEhE;IAED;;;;OAIG;IACG,GAAG,CACP,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,2EAA2E;QAC3E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B;;yFAEiF;QACjF,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,cAAc,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAClH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9B,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;QAClE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,UAAU,CAAC,EAAE,UAAU,CAAC;KACpB,GACL,OAAO,CAAC,YAAY,CAAC,CA8RvB;CACF"}
@@ -1,7 +1,7 @@
1
1
  // src/router/index.ts — Model router with cost-tier routing and automatic failover
2
2
  import { mkdir, writeFile } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
- import { HARNESS_CATALOG } from '../harness/catalog.js';
4
+ import { harnessCliCommand } from '../harness/catalog.js';
5
5
  import { classifyFailure } from '../harness/classify.js';
6
6
  import { ClaudeCliHarness } from '../harness/claude-cli.js';
7
7
  import { CodexCliHarness } from '../harness/codex-cli.js';
@@ -10,10 +10,11 @@ import { HarnessError, isRetryableFailure, taskRequiresAgenticHarness } from '..
10
10
  import { OllamaAgenticHarness } from '../harness/ollama-agentic.js';
11
11
  import { OllamaHttpHarness } from '../harness/ollama-http.js';
12
12
  import { OpenCodeHarness } from '../harness/opencode.js';
13
- import { ModelRegistry } from '../models/index.js';
13
+ import { isHarnessCliPresent, ModelRegistry } from '../models/index.js';
14
14
  import { sandboxEventFromError } from '../sandbox/index.js';
15
15
  import { defaultExecFn } from '../utils/exec.js';
16
16
  import { shellEscape } from '../utils/index.js';
17
+ import { localAuthAgentFor } from '../utils/local-auth-record.js';
17
18
  import { extractFailoverReason, ModelExecutorError, ModelRouterError } from './executor-error.js';
18
19
  import { describeFailureDetail } from './failure-detail.js';
19
20
  import { claimOllamaSkipNotice, probeOllama } from './ollama-probe.js';
@@ -343,6 +344,10 @@ export class ModelRouter {
343
344
  * router serves one run, so a signed-out CLI is tried once and then skipped by every later
344
345
  * task, and PLAN stops offering its build route. */
345
346
  authTripped = new Set();
347
+ /** Harness ids already reported as missing their CLI. One router serves one run, so each
348
+ * harness is logged at most once per run (#2629). */
349
+ missingHarnessNoticed = new Set();
350
+ localAuthSink;
346
351
  constructor(modelsConfig, routesConfig, byok = false, executor = new CliModelExecutor(), allowExperimental = false, localOnly = false, gitExecFn = defaultExecFn, sleepFn = sleep) {
347
352
  this.routesConfig = routesConfig;
348
353
  this.byok = byok;
@@ -362,17 +367,25 @@ export class ModelRouter {
362
367
  * cached per command for the router's lifetime. */
363
368
  skipMissingHarnessClis(commandAvailable) {
364
369
  const cache = new Map();
365
- this.harnessCliAvailable = (harnessId) => {
366
- const probe = HARNESS_CATALOG[harnessId]?.probe;
367
- if (probe?.kind !== 'command')
368
- return true;
369
- let ok = cache.get(probe.command);
370
+ const cachedCommandAvailable = (cmd) => {
371
+ let ok = cache.get(cmd);
370
372
  if (ok === undefined) {
371
- ok = commandAvailable(probe.command);
372
- cache.set(probe.command, ok);
373
+ ok = commandAvailable(cmd);
374
+ cache.set(cmd, ok);
373
375
  }
374
376
  return ok;
375
377
  };
378
+ this.harnessCliAvailable = (harnessId) => isHarnessCliPresent(harnessId, cachedCommandAvailable);
379
+ }
380
+ harnessCliMissing(model) {
381
+ return this.harnessCliAvailable !== undefined && !this.harnessCliAvailable(this.registry.getHarnessId(model) ?? '');
382
+ }
383
+ noticeMissingHarness(model, onLog) {
384
+ const harnessId = this.registry.getHarnessId(model) ?? '';
385
+ if (this.missingHarnessNoticed.has(harnessId))
386
+ return;
387
+ this.missingHarnessNoticed.add(harnessId);
388
+ onLog(`Skipping ${harnessId} models for the rest of this run: ${harnessCliCommand(harnessId)} CLI not found on PATH`);
376
389
  }
377
390
  authKey(model) {
378
391
  return this.registry.getHarnessId(model) ?? this.registry.get(model)?.provider;
@@ -381,6 +394,11 @@ export class ModelRouter {
381
394
  const key = this.authKey(model);
382
395
  return key !== undefined && this.authTripped.has(key);
383
396
  }
397
+ /** Register a sink told which agent login (claude / codex) failed local_auth, so doctor can
398
+ * flag it until the next login (#2733). Receives only the agent name. */
399
+ setLocalAuthSink(sink) {
400
+ this.localAuthSink = sink;
401
+ }
384
402
  /** Register a sink that receives one cost row per successful run(). */
385
403
  setCostSink(sink) {
386
404
  this.costSink = sink;
@@ -424,10 +442,8 @@ export class ModelRouter {
424
442
  if (!tier)
425
443
  return [];
426
444
  let models = this.registry.getAvailableModelsForTier(tier, this.byok, this.allowExperimental, this.localOnly);
427
- const harnessCliAvailable = this.harnessCliAvailable;
428
- if (harnessCliAvailable) {
429
- models = models.filter((model) => harnessCliAvailable(this.registry.getHarnessId(model) ?? ''));
430
- }
445
+ if (this.harnessCliAvailable)
446
+ models = models.filter((model) => !this.harnessCliMissing(model));
431
447
  if (this.authTripped.size > 0)
432
448
  models = models.filter((model) => !this.isAuthTripped(model));
433
449
  const requires = this.routesConfig.routes[task]?.requires;
@@ -460,6 +476,15 @@ export class ModelRouter {
460
476
  */
461
477
  async run(task, prompt, options = {}) {
462
478
  const { worktree = process.cwd(), timeoutSeconds = 1800, modelOverride, modelFallbacks = [], onProviderFailure, onLog = () => { }, sandbox, env, onPgid, retryCause, } = options;
479
+ if (!modelOverride && this.harnessCliAvailable) {
480
+ const tier = this.getTier(task);
481
+ if (tier) {
482
+ for (const m of this.registry.getAvailableModelsForTier(tier, this.byok, this.allowExperimental, this.localOnly)) {
483
+ if (this.harnessCliMissing(m))
484
+ this.noticeMissingHarness(m, onLog);
485
+ }
486
+ }
487
+ }
463
488
  const models = modelOverride
464
489
  ? [modelOverride, ...modelFallbacks.filter((id) => id !== modelOverride)]
465
490
  : this.resolveAll(task);
@@ -478,6 +503,8 @@ export class ModelRouter {
478
503
  : null;
479
504
  let ollamaProbe;
480
505
  let skippedForOllama = false;
506
+ let skippedForMissingCli = false;
507
+ const missingClis = [];
481
508
  for (const model of models) {
482
509
  const modelProvider = this.registry.get(model)?.provider;
483
510
  if (modelProvider === 'ollama' && this.executor.probeOllama) {
@@ -490,6 +517,14 @@ export class ModelRouter {
490
517
  continue;
491
518
  }
492
519
  }
520
+ if (this.harnessCliMissing(model)) {
521
+ this.noticeMissingHarness(model, onLog);
522
+ skippedForMissingCli = true;
523
+ const cmd = harnessCliCommand(this.registry.getHarnessId(model));
524
+ if (cmd)
525
+ missingClis.push(cmd);
526
+ continue;
527
+ }
493
528
  if (this.isAuthTripped(model)) {
494
529
  onLog(`Skipping ${model} for ${task}: ${this.authKey(model)} failed sign-in earlier in this run`);
495
530
  continue;
@@ -547,6 +582,15 @@ export class ModelRouter {
547
582
  this.authTripped.add(key);
548
583
  onLog(`${key} is not signed in; skipping it for the rest of this run`);
549
584
  }
585
+ const agent = localAuthAgentFor(key);
586
+ if (agent && this.localAuthSink) {
587
+ try {
588
+ this.localAuthSink(agent);
589
+ }
590
+ catch {
591
+ // bookkeeping only
592
+ }
593
+ }
550
594
  }
551
595
  if (detail)
552
596
  onLog(`${model} failure detail on ${task}: ${detail}`);
@@ -634,6 +678,10 @@ export class ModelRouter {
634
678
  break;
635
679
  }
636
680
  }
681
+ if (attempts.length === 0 && skippedForMissingCli && !skippedForOllama) {
682
+ const cmds = [...new Set(missingClis)].sort().join(', ');
683
+ throw new ModelRouterError(`No runnable models for task '${task}': ${cmds} CLI not found on PATH`, 'unavailable', attempts);
684
+ }
637
685
  if (attempts.length === 0 && skippedForOllama && ollamaProbe && !ollamaProbe.reachable) {
638
686
  throw new ModelRouterError(`No reachable models for task '${task}': Ollama at ${ollamaProbe.endpoint} unreachable (${ollamaProbe.reason})`, 'unavailable', attempts);
639
687
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { EventKind } from '../events/kinds.js';
2
- export type ParkReason = Extract<EventKind, 'escalate' | 'timeout' | 'fail' | 'conflict' | 'ci-failed' | 'ci-infra' | 'held'>;
2
+ export type ParkReason = Extract<EventKind, 'escalate' | 'timeout' | 'fail' | 'conflict' | 'ci-failed' | 'ci-infra' | 'held' | 'config'>;
3
3
  export type BuildRoute = 'codex' | 'claude' | 'opencode';
4
4
  /** A run's terminal outcome. `parked` is produced by the CLI's LaneParkError and `released`
5
5
  * by an environment-caused CHECK failure (#1928, not a park); `shipped` / `ready` /
@@ -43,6 +43,8 @@ export type RunOutcome = {
43
43
  baseSha: string;
44
44
  failingChecks: string[];
45
45
  failureSignature?: string;
46
+ /** BUILD output was kept and a check-resume record written (#2564). */
47
+ buildPreserved?: boolean;
46
48
  } | {
47
49
  state: 'escalated';
48
50
  reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../src/run/outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,SAAS,EACT,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CACjF,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD;;;8CAG8C;AAC9C,MAAM,MAAM,UAAU,GAClB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/F;IACE,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yHAAyH;IACzH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,GACD;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACD;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvG;;iFAEiF;AACjF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAOtD;AAED;;;+EAG+E;AAC/E,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAQ3E"}
1
+ {"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../src/run/outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,SAAS,EACT,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAC5F,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD;;;8CAG8C;AAC9C,MAAM,MAAM,UAAU,GAClB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/F;IACE,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,GACD;IACE,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yHAAyH;IACzH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,GACD;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACD;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvG;;iFAEiF;AACjF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAOtD;AAED;;;+EAG+E;AAC/E,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAQ3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"outcome.js","sourceRoot":"","sources":["../../src/run/outcome.ts"],"names":[],"mappings":"AAiDA;;iFAEiF;AACjF,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,OAAO,GAAI,GAAmD,EAAE,OAAO,CAAC;IAC9E,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC;IACjE,MAAM,MAAM,GAAI,GAAsD,EAAE,UAAU,CAAC;IACnF,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAK,GAA+C,EAAE,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;+EAG+E;AAC/E,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAuC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,wDAAwD,GAAG,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"outcome.js","sourceRoot":"","sources":["../../src/run/outcome.ts"],"names":[],"mappings":"AAmDA;;iFAEiF;AACjF,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,OAAO,GAAI,GAAmD,EAAE,OAAO,CAAC;IAC9E,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC;IACjE,MAAM,MAAM,GAAI,GAAsD,EAAE,UAAU,CAAC;IACnF,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAK,GAA+C,EAAE,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;+EAG+E;AAC/E,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAuC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,wDAAwD,GAAG,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,4 +1,6 @@
1
+ import type { EnvironmentFailure } from '../phases/check.js';
1
2
  import type { PlanResult } from '../phases/plan.js';
3
+ import type { CheckSummary, Constitution } from '../types/index.js';
2
4
  export interface PlanReuseRecord {
3
5
  /** issueBodyHash of the brief the frozen spec was planned from. */
4
6
  bodyHash: string;
@@ -19,4 +21,53 @@ export declare function issueBodyHash(brief: string): string;
19
21
  /** The sidecar next to the frozen spec: issue-N.md → issue-N.resume.json. */
20
22
  export declare function planReusePath(specPath: string): string;
21
23
  export declare function createPlanReuseStore(specPath: string): PlanReuseStore;
24
+ /** Where a kept build resumes at CHECK after a config/environment release (#2564). */
25
+ export interface CheckResumeRecord {
26
+ issue: number;
27
+ branch: string;
28
+ /** Absolute path of the kept lane worktree. */
29
+ worktree: string;
30
+ /** build.diffBase from the original run (undefined when BUILD reported none). */
31
+ diffBase?: string;
32
+ route: 'codex' | 'claude' | 'opencode';
33
+ /** build.model of the original run, reused as CHECK's reworkModel. */
34
+ model: string;
35
+ /** Whole minutes from PLAN start to BUILD end in the original run, at least 1. */
36
+ buildMinutes: number;
37
+ /** What the user must fix, e.g. `.factory/constitution.md:14`. */
38
+ fixTarget: string;
39
+ preservedAt: string;
40
+ }
41
+ export interface CheckResumeStore {
42
+ /** ENOENT, malformed JSON or a wrong shape → null. */
43
+ load(): Promise<CheckResumeRecord | null>;
44
+ record(entry: CheckResumeRecord): Promise<void>;
45
+ /** Deletes the record; a missing file is not an error. */
46
+ clear(): Promise<void>;
47
+ }
48
+ /** The sidecar next to the frozen spec: issue-N.md → issue-N.check-resume.json. */
49
+ export declare function checkResumePath(specPath: string): string;
50
+ export declare function createCheckResumeStore(specPath: string): CheckResumeStore;
51
+ export declare function formatPreservedBuildMessage(opts: {
52
+ issue: number;
53
+ branch: string;
54
+ buildMinutes: number;
55
+ fixTarget: string;
56
+ }): string;
57
+ /** The file:line (or description) the user must fix before resuming CHECK. */
58
+ export declare function preservedFixTarget(failure: Pick<EnvironmentFailure, 'cause' | 'failingChecks' | 'logPaths'>, constitution: Constitution | null, configFile?: {
59
+ absPath: string;
60
+ relPath: string;
61
+ }): string;
62
+ /** Park message for a config-caused CHECK failure (#2583): file:line, the fix, and how to re-queue. */
63
+ export declare function configParkMessage(opts: {
64
+ issue: number;
65
+ failure: Pick<EnvironmentFailure, 'cause' | 'failingChecks' | 'logPaths'>;
66
+ summary: CheckSummary;
67
+ constitution: Constitution | null;
68
+ configFile?: {
69
+ absPath: string;
70
+ relPath: string;
71
+ };
72
+ }): string;
22
73
  //# sourceMappingURL=resume-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resume-context.d.ts","sourceRoot":"","sources":["../../src/run/resume-context.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,4GAA4G;IAC5G,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,0DAA0D;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAMD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAiCrE"}
1
+ {"version":3,"file":"resume-context.d.ts","sourceRoot":"","sources":["../../src/run/resume-context.ts"],"names":[],"mappings":"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"}