@on-par/factory-core 0.9.7-next.3 → 0.9.7-next.31

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 (215) hide show
  1. package/dist/blockers/dependencies.d.ts +19 -0
  2. package/dist/blockers/dependencies.d.ts.map +1 -0
  3. package/dist/blockers/dependencies.js +49 -0
  4. package/dist/blockers/dependencies.js.map +1 -0
  5. package/dist/blockers/file-blocker.d.ts +44 -0
  6. package/dist/blockers/file-blocker.d.ts.map +1 -0
  7. package/dist/blockers/file-blocker.js +203 -0
  8. package/dist/blockers/file-blocker.js.map +1 -0
  9. package/dist/blockers/index.d.ts +7 -0
  10. package/dist/blockers/index.d.ts.map +1 -0
  11. package/dist/blockers/index.js +5 -0
  12. package/dist/blockers/index.js.map +1 -0
  13. package/dist/blockers/poller.d.ts +37 -0
  14. package/dist/blockers/poller.d.ts.map +1 -0
  15. package/dist/blockers/poller.js +111 -0
  16. package/dist/blockers/poller.js.map +1 -0
  17. package/dist/checkers/index.d.ts +10 -1
  18. package/dist/checkers/index.d.ts.map +1 -1
  19. package/dist/checkers/index.js +14 -22
  20. package/dist/checkers/index.js.map +1 -1
  21. package/dist/checkers/probe.d.ts.map +1 -1
  22. package/dist/checkers/probe.js +5 -3
  23. package/dist/checkers/probe.js.map +1 -1
  24. package/dist/config/example.d.ts.map +1 -1
  25. package/dist/config/example.js +18 -0
  26. package/dist/config/example.js.map +1 -1
  27. package/dist/config/index.d.ts +1 -1
  28. package/dist/config/index.d.ts.map +1 -1
  29. package/dist/config/index.js +3 -3
  30. package/dist/config/index.js.map +1 -1
  31. package/dist/config/repo-build-pin.d.ts +4 -0
  32. package/dist/config/repo-build-pin.d.ts.map +1 -0
  33. package/dist/config/repo-build-pin.js +13 -0
  34. package/dist/config/repo-build-pin.js.map +1 -0
  35. package/dist/config/repo-harnesses.d.ts +43 -0
  36. package/dist/config/repo-harnesses.d.ts.map +1 -0
  37. package/dist/config/repo-harnesses.js +20 -0
  38. package/dist/config/repo-harnesses.js.map +1 -0
  39. package/dist/config/repo.d.ts +44 -11
  40. package/dist/config/repo.d.ts.map +1 -1
  41. package/dist/config/repo.js +26 -22
  42. package/dist/config/repo.js.map +1 -1
  43. package/dist/daemon/execution-config.d.ts +34 -0
  44. package/dist/daemon/execution-config.d.ts.map +1 -1
  45. package/dist/daemon/run-runtime.d.ts +34 -0
  46. package/dist/daemon/run-runtime.d.ts.map +1 -1
  47. package/dist/daemon/ship-executor.js +2 -3
  48. package/dist/daemon/ship-executor.js.map +1 -1
  49. package/dist/eval/baseline.d.ts.map +1 -1
  50. package/dist/eval/baseline.js +4 -4
  51. package/dist/eval/baseline.js.map +1 -1
  52. package/dist/eval/judge.d.ts.map +1 -1
  53. package/dist/eval/judge.js +9 -7
  54. package/dist/eval/judge.js.map +1 -1
  55. package/dist/eval/regression-report.js +1 -1
  56. package/dist/eval/regression-report.js.map +1 -1
  57. package/dist/eval/score.d.ts.map +1 -1
  58. package/dist/eval/score.js +2 -1
  59. package/dist/eval/score.js.map +1 -1
  60. package/dist/events/kinds.d.ts +1 -1
  61. package/dist/events/kinds.d.ts.map +1 -1
  62. package/dist/events/kinds.js +3 -0
  63. package/dist/events/kinds.js.map +1 -1
  64. package/dist/harness/catalog.d.ts +2 -0
  65. package/dist/harness/catalog.d.ts.map +1 -1
  66. package/dist/harness/catalog.js +5 -1
  67. package/dist/harness/catalog.js.map +1 -1
  68. package/dist/harness/contract.js +4 -4
  69. package/dist/harness/contract.js.map +1 -1
  70. package/dist/harness/index.d.ts +1 -1
  71. package/dist/harness/index.d.ts.map +1 -1
  72. package/dist/harness/index.js +1 -0
  73. package/dist/harness/index.js.map +1 -1
  74. package/dist/hosted/store-contract.js +1 -1
  75. package/dist/hosted/store-contract.js.map +1 -1
  76. package/dist/internal.d.ts +6 -6
  77. package/dist/internal.d.ts.map +1 -1
  78. package/dist/internal.js +5 -2
  79. package/dist/internal.js.map +1 -1
  80. package/dist/kpis/human.d.ts.map +1 -1
  81. package/dist/kpis/human.js +4 -8
  82. package/dist/kpis/human.js.map +1 -1
  83. package/dist/logger/index.d.ts +2 -1
  84. package/dist/logger/index.d.ts.map +1 -1
  85. package/dist/logger/index.js +1 -0
  86. package/dist/logger/index.js.map +1 -1
  87. package/dist/phases/build.d.ts +6 -2
  88. package/dist/phases/build.d.ts.map +1 -1
  89. package/dist/phases/build.js +43 -12
  90. package/dist/phases/build.js.map +1 -1
  91. package/dist/phases/check.d.ts +32 -2
  92. package/dist/phases/check.d.ts.map +1 -1
  93. package/dist/phases/check.js +5 -6
  94. package/dist/phases/check.js.map +1 -1
  95. package/dist/phases/plan-route.d.ts +16 -0
  96. package/dist/phases/plan-route.d.ts.map +1 -0
  97. package/dist/phases/plan-route.js +38 -0
  98. package/dist/phases/plan-route.js.map +1 -0
  99. package/dist/phases/plan-routes.d.ts +16 -1
  100. package/dist/phases/plan-routes.d.ts.map +1 -1
  101. package/dist/phases/plan-routes.js +40 -1
  102. package/dist/phases/plan-routes.js.map +1 -1
  103. package/dist/phases/plan.d.ts +4 -3
  104. package/dist/phases/plan.d.ts.map +1 -1
  105. package/dist/phases/plan.js +15 -30
  106. package/dist/phases/plan.js.map +1 -1
  107. package/dist/phases/ship-git.d.ts +52 -0
  108. package/dist/phases/ship-git.d.ts.map +1 -0
  109. package/dist/phases/ship-git.js +104 -0
  110. package/dist/phases/ship-git.js.map +1 -0
  111. package/dist/phases/ship-spec.d.ts +5 -0
  112. package/dist/phases/ship-spec.d.ts.map +1 -0
  113. package/dist/phases/ship-spec.js +26 -0
  114. package/dist/phases/ship-spec.js.map +1 -0
  115. package/dist/phases/ship.d.ts +11 -7
  116. package/dist/phases/ship.d.ts.map +1 -1
  117. package/dist/phases/ship.js +73 -144
  118. package/dist/phases/ship.js.map +1 -1
  119. package/dist/queue/queue-backend.d.ts +6 -1
  120. package/dist/queue/queue-backend.d.ts.map +1 -1
  121. package/dist/queue/queue-backend.js +7 -1
  122. package/dist/queue/queue-backend.js.map +1 -1
  123. package/dist/queue/unpark.d.ts +28 -0
  124. package/dist/queue/unpark.d.ts.map +1 -0
  125. package/dist/queue/unpark.js +69 -0
  126. package/dist/queue/unpark.js.map +1 -0
  127. package/dist/readiness/slice-plan.js +1 -1
  128. package/dist/readiness/slice-plan.js.map +1 -1
  129. package/dist/review/backtest.js +2 -2
  130. package/dist/review/backtest.js.map +1 -1
  131. package/dist/review/containment.js +1 -1
  132. package/dist/review/containment.js.map +1 -1
  133. package/dist/router/index.d.ts.map +1 -1
  134. package/dist/router/index.js +2 -13
  135. package/dist/router/index.js.map +1 -1
  136. package/dist/router/requires.d.ts +4 -0
  137. package/dist/router/requires.d.ts.map +1 -0
  138. package/dist/router/requires.js +22 -0
  139. package/dist/router/requires.js.map +1 -0
  140. package/dist/run/ci-rework-loop.d.ts +65 -0
  141. package/dist/run/ci-rework-loop.d.ts.map +1 -0
  142. package/dist/run/ci-rework-loop.js +169 -0
  143. package/dist/run/ci-rework-loop.js.map +1 -0
  144. package/dist/run/ci-rework.d.ts +25 -0
  145. package/dist/run/ci-rework.d.ts.map +1 -0
  146. package/dist/run/ci-rework.js +113 -0
  147. package/dist/run/ci-rework.js.map +1 -0
  148. package/dist/run/ci-suppression-guard.d.ts +11 -0
  149. package/dist/run/ci-suppression-guard.d.ts.map +1 -0
  150. package/dist/run/ci-suppression-guard.js +143 -0
  151. package/dist/run/ci-suppression-guard.js.map +1 -0
  152. package/dist/run/outcome.d.ts +9 -2
  153. package/dist/run/outcome.d.ts.map +1 -1
  154. package/dist/run/outcome.js +5 -0
  155. package/dist/run/outcome.js.map +1 -1
  156. package/dist/run/park-comment.d.ts +73 -0
  157. package/dist/run/park-comment.d.ts.map +1 -0
  158. package/dist/run/park-comment.js +211 -0
  159. package/dist/run/park-comment.js.map +1 -0
  160. package/dist/run/phase-snapshot.js +2 -2
  161. package/dist/run/phase-snapshot.js.map +1 -1
  162. package/dist/run/resume-context.d.ts +3 -2
  163. package/dist/run/resume-context.d.ts.map +1 -1
  164. package/dist/run/resume-context.js.map +1 -1
  165. package/dist/run/run-issue.d.ts +4 -2
  166. package/dist/run/run-issue.d.ts.map +1 -1
  167. package/dist/run/run-issue.js +51 -54
  168. package/dist/run/run-issue.js.map +1 -1
  169. package/dist/run/ship-park.d.ts +14 -0
  170. package/dist/run/ship-park.d.ts.map +1 -0
  171. package/dist/run/ship-park.js +21 -0
  172. package/dist/run/ship-park.js.map +1 -0
  173. package/dist/sandbox/index.js +1 -1
  174. package/dist/sandbox/index.js.map +1 -1
  175. package/dist/sim/pipeline.d.ts +2 -1
  176. package/dist/sim/pipeline.d.ts.map +1 -1
  177. package/dist/sim/pipeline.js.map +1 -1
  178. package/dist/spec/index.d.ts +3 -2
  179. package/dist/spec/index.d.ts.map +1 -1
  180. package/dist/spec/index.js +1 -1
  181. package/dist/spec/index.js.map +1 -1
  182. package/dist/steward/detect.d.ts +7 -3
  183. package/dist/steward/detect.d.ts.map +1 -1
  184. package/dist/steward/detect.js +8 -4
  185. package/dist/steward/detect.js.map +1 -1
  186. package/dist/types/index.d.ts +57 -1
  187. package/dist/types/index.d.ts.map +1 -1
  188. package/dist/usage/index.js +1 -1
  189. package/dist/usage/index.js.map +1 -1
  190. package/dist/utils/ci-evidence.d.ts +21 -0
  191. package/dist/utils/ci-evidence.d.ts.map +1 -0
  192. package/dist/utils/ci-evidence.js +66 -0
  193. package/dist/utils/ci-evidence.js.map +1 -0
  194. package/dist/utils/ci-watch.d.ts +12 -0
  195. package/dist/utils/ci-watch.d.ts.map +1 -1
  196. package/dist/utils/ci-watch.js +1 -1
  197. package/dist/utils/ci-watch.js.map +1 -1
  198. package/dist/utils/command-runner.js +2 -2
  199. package/dist/utils/command-runner.js.map +1 -1
  200. package/dist/utils/index.d.ts +2 -1
  201. package/dist/utils/index.d.ts.map +1 -1
  202. package/dist/utils/index.js +2 -0
  203. package/dist/utils/index.js.map +1 -1
  204. package/dist/utils/worktree-gc.d.ts.map +1 -1
  205. package/dist/utils/worktree-gc.js +5 -5
  206. package/dist/utils/worktree-gc.js.map +1 -1
  207. package/dist/utils/worktree-location.d.ts +2 -2
  208. package/dist/utils/worktree-location.d.ts.map +1 -1
  209. package/dist/utils/worktree-location.js +16 -9
  210. package/dist/utils/worktree-location.js.map +1 -1
  211. package/dist/utils/worktree-name.d.ts +6 -0
  212. package/dist/utils/worktree-name.d.ts.map +1 -1
  213. package/dist/utils/worktree-name.js +16 -1
  214. package/dist/utils/worktree-name.js.map +1 -1
  215. package/package.json +5 -5
@@ -2,6 +2,7 @@ import { type LifecycleBus } from '../bus/index.js';
2
2
  import { type BaselineReport, runBaselineCheckers } from '../checkers/baseline.js';
3
3
  import { type FlakeRerun } from '../checkers/flaky-rerun.js';
4
4
  import { type CheckerContext, runAllCheckers } from '../checkers/index.js';
5
+ import type { BuildRoutePin } from '../config/repo.js';
5
6
  import type { EventKind } from '../events/kinds.js';
6
7
  import type { ModelRouter } from '../router/index.js';
7
8
  import type { SandboxPolicy } from '../sandbox/index.js';
@@ -102,8 +103,8 @@ declare function checkPhaseImpl(opts: {
102
103
  diffBase?: string;
103
104
  /** Parent ref of a stacked slice (#2716); forwarded to CheckerContext.parentBaseRef. */
104
105
  parentBaseRef?: string;
105
- /** Worker route that completed BUILD; direct callers retain Claude rework by default. */
106
- reworkRoute?: 'codex' | 'claude' | 'opencode';
106
+ /** Worker route that completed BUILD (`command` included, #2873); direct callers retain Claude rework by default. */
107
+ reworkRoute?: BuildRoutePin;
107
108
  /** Worker model that completed BUILD, retained as the compatible rework override. */
108
109
  reworkModel?: string;
109
110
  /** Lane id stamped onto emitted lifecycle events; defaults to `issue-<issue>` (#591). */
@@ -127,5 +128,34 @@ declare function checkPhaseImpl(opts: {
127
128
  /** Injection seam for the flaky re-run command only (#2301); defaults to ctx.runCommand / runVerificationCommand. */
128
129
  runCommand?: CheckerContext['runCommand'];
129
130
  }): Promise<CheckPhaseResult>;
131
+ export interface ReworkWorkerOptions {
132
+ issue: number;
133
+ worktree: string;
134
+ specPath: string;
135
+ summary: CheckSummary;
136
+ constitution: Constitution | null;
137
+ router: ModelRouter;
138
+ log: LogFn;
139
+ buildTimeoutSeconds?: number;
140
+ sandbox?: SandboxPolicy;
141
+ steering?: ConsumedSteering;
142
+ appPort?: number;
143
+ appBaseUrl?: string;
144
+ onPgid?: (pgid: number) => void;
145
+ reworkRoute?: BuildRoutePin;
146
+ reworkModel?: string;
147
+ runId?: string;
148
+ extraInstructions?: string;
149
+ }
150
+ export declare function reworkWorker(opts: ReworkWorkerOptions): Promise<{
151
+ failovers: {
152
+ model: string;
153
+ reason: FailoverReason;
154
+ detail?: string;
155
+ }[];
156
+ /** False when router.run threw — no model produced output for this round (#642). */
157
+ modelCompleted: boolean;
158
+ failureReason?: FailoverReason;
159
+ }>;
130
160
  export {};
131
161
  //# sourceMappingURL=check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/phases/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/phases/check.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { laneEnv } from '../environment/index.js';
10
10
  import { routerFailureOf } from '../router/executor-error.js';
11
11
  import { failoversFrom } from '../router/index.js';
12
12
  import { applySteering, describeSteering } from '../steering/index.js';
13
- import { resolveRunnableBuildRoute, runnableBuildRoutes } from './plan.js';
13
+ import { resolveReworkRoute } from './plan-routes.js';
14
14
  export const MAX_REWORK_ROUNDS = 3;
15
15
  /** Checker name of the model-judged showstopper review (#2236); signed by file:line, not prose (#2238). */
16
16
  export const LENS_REVIEW_CHECKER = 'lens_review';
@@ -472,7 +472,7 @@ function describeBaseline(report) {
472
472
  const body = parts.length > 0 ? parts.join('; ') : 'no checkers compared';
473
473
  return `baseline at ${report.baseSha.slice(0, 8)}: ${body}${report.error ? ` — error: ${report.error}` : ''}`;
474
474
  }
475
- async function reworkWorker(opts) {
475
+ export async function reworkWorker(opts) {
476
476
  const { issue, worktree, specPath, summary, constitution, router, log, buildTimeoutSeconds, sandbox, steering, appPort, appBaseUrl, onPgid, reworkRoute = 'claude', reworkModel, runId, } = opts;
477
477
  const constitutionCtx = buildConstitutionContext(constitution);
478
478
  const failures = summary.results.filter((r) => r.result === 'FAIL');
@@ -496,14 +496,14 @@ read that file first — it holds the command's complete stdout and stderr.
496
496
  1. Make one focused repair pass. Change only files necessary to address the listed failures.
497
497
  2. Do not re-plan, refactor unrelated code, or investigate outside these failures.
498
498
  3. Re-run only the failing command or the smallest relevant verification command.
499
- 4. Commit the repair with a clear message.
499
+ 4. Commit the repair with a clear message.${opts.extraInstructions ? `\n5. ${opts.extraInstructions}` : ''}
500
500
 
501
501
  Do not push, do not open a PR. Just fix and commit. The checker will re-verify.`;
502
502
  prompt = applySteering(prompt, steering);
503
503
  let reworkResult = null;
504
504
  let failureReason;
505
505
  let attempts = [];
506
- const { route, rerouted } = resolveRunnableBuildRoute(reworkRoute, runnableBuildRoutes(router));
506
+ const { route, rerouted, modelOverride } = resolveReworkRoute(router, reworkRoute, reworkModel);
507
507
  if (rerouted) {
508
508
  log('model-override', `rework route ${reworkRoute} has no runnable model on this machine, rerouting to ${route}`);
509
509
  }
@@ -517,8 +517,7 @@ Do not push, do not open a PR. Just fix and commit. The checker will re-verify.`
517
517
  env: laneEnv(appPort, process.env, appBaseUrl, worktree, runId),
518
518
  onPgid,
519
519
  retryCause: 'checker',
520
- // The pinned model belongs to the old route's harness.
521
- modelOverride: rerouted ? undefined : reworkModel,
520
+ modelOverride,
522
521
  });
523
522
  attempts = reworkResult.attempts;
524
523
  }
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/phases/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/phases/check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { BuildRoutePin } from '../config/repo.js';
2
+ import type { EventKind } from '../events/kinds.js';
3
+ import { type BuildRouteName } from './plan-routes.js';
4
+ /** Settle the build route after PLAN: the planner's choice, then local-only / codex-disabled /
5
+ * unrunnable-route fallbacks, then the repo pin. The persisted spec's frontmatter is kept in sync,
6
+ * since it's the frozen artifact downstream consumers (eval scoring, PR review) read. */
7
+ export declare function settlePlanRoute(opts: {
8
+ parsedRoute: BuildRoutePin | null;
9
+ runnableNow: readonly BuildRouteName[];
10
+ localOnly?: boolean;
11
+ isCodexDisabled: boolean;
12
+ preferredRoute?: BuildRoutePin;
13
+ specPath: string;
14
+ log: (type: EventKind, msg: string) => void;
15
+ }): Promise<BuildRoutePin>;
16
+ //# sourceMappingURL=plan-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-route.d.ts","sourceRoot":"","sources":["../../src/phases/plan-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,KAAK,cAAc,EAAgD,MAAM,kBAAkB,CAAC;AAErG;;0FAE0F;AAC1F,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,WAAW,EAAE,aAAa,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,GAAG,OAAO,CAAC,aAAa,CAAC,CAmCzB"}
@@ -0,0 +1,38 @@
1
+ import { updateSpecRoute } from '../spec/index.js';
2
+ import { defaultBuildRoute, resolveRunnableBuildRoute } from './plan-routes.js';
3
+ /** Settle the build route after PLAN: the planner's choice, then local-only / codex-disabled /
4
+ * unrunnable-route fallbacks, then the repo pin. The persisted spec's frontmatter is kept in sync,
5
+ * since it's the frozen artifact downstream consumers (eval scoring, PR review) read. */
6
+ export async function settlePlanRoute(opts) {
7
+ const { parsedRoute, runnableNow, localOnly, isCodexDisabled, preferredRoute, specPath, log } = opts;
8
+ // A planner-written command is kept only when build_command can run here (#2874).
9
+ const commandRunnable = runnableNow.includes('command');
10
+ let planned = (parsedRoute === 'command' && !commandRunnable ? undefined : parsedRoute) ?? defaultBuildRoute(runnableNow);
11
+ if (localOnly && planned !== 'codex') {
12
+ log('warn', 'local-only mode requires a local Codex harness — forcing route to codex');
13
+ planned = 'codex';
14
+ await updateSpecRoute(specPath, 'codex', 'local-only');
15
+ }
16
+ if (planned === 'codex' && isCodexDisabled) {
17
+ log('warn', 'codex unavailable — falling back to claude');
18
+ planned = 'claude';
19
+ await updateSpecRoute(specPath, 'claude', 'codex-disabled');
20
+ }
21
+ const resolved = resolveRunnableBuildRoute(planned, runnableNow);
22
+ if (resolved.rerouted) {
23
+ const next = resolved.route;
24
+ log('model-override', `route ${planned} has no runnable model on this machine, rerouting to ${next}`);
25
+ planned = next;
26
+ await updateSpecRoute(specPath, next, 'route-unavailable');
27
+ }
28
+ if (preferredRoute && planned !== preferredRoute) {
29
+ log('model-override', `pinned build route ${preferredRoute} — overriding plan's ${planned}`);
30
+ await updateSpecRoute(specPath, preferredRoute, 'repo-config-pin');
31
+ return preferredRoute;
32
+ }
33
+ // The spec still names the command route the planner wrote but could not run: record the route actually used.
34
+ if (parsedRoute === 'command' && planned !== 'command')
35
+ await updateSpecRoute(specPath, planned, 'route-unavailable');
36
+ return planned;
37
+ }
38
+ //# sourceMappingURL=plan-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-route.js","sourceRoot":"","sources":["../../src/phases/plan-route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAuB,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAErG;;0FAE0F;AAC1F,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAQrC;IACC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrG,kFAAkF;IAClF,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,OAAO,GACT,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE9G,IAAI,SAAS,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,EAAE,yEAAyE,CAAC,CAAC;QACvF,OAAO,GAAG,OAAO,CAAC;QAClB,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,eAAe,EAAE,CAAC;QAC3C,GAAG,CAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;QAC1D,OAAO,GAAG,QAAQ,CAAC;QACnB,MAAM,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,GAAG,CAAC,gBAAgB,EAAE,SAAS,OAAO,wDAAwD,IAAI,EAAE,CAAC,CAAC;QACtG,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,cAAc,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QACjD,GAAG,CAAC,gBAAgB,EAAE,sBAAsB,cAAc,wBAAwB,OAAO,EAAE,CAAC,CAAC;QAC7F,MAAM,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;QACnE,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,8GAA8G;IAC9G,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACtH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,7 +1,11 @@
1
+ import { type BuildRoutePin } from '../config/repo.js';
1
2
  import type { ModelRouter } from '../router/index.js';
2
- export type BuildRouteName = 'codex' | 'claude' | 'opencode';
3
+ export type BuildRouteName = 'codex' | 'claude' | 'opencode' | 'command';
3
4
  /** Order PLAN falls back through when its chosen route cannot run here. */
4
5
  export declare const ROUTE_FALLBACK_ORDER: readonly BuildRouteName[];
6
+ /** Routes PLAN offers when the runnable set is unknown. `command` needs a declared agentic harness,
7
+ * so it is only offered when known runnable. */
8
+ export declare const CLI_BUILD_ROUTES: readonly BuildRouteName[];
5
9
  /** Build routes whose task resolves to at least one runnable model, in fallback order.
6
10
  * Returns [] when the router cannot answer, which callers treat as "no restriction". */
7
11
  export declare function runnableBuildRoutes(router: Pick<ModelRouter, 'resolveAll'>): BuildRouteName[];
@@ -12,6 +16,17 @@ export declare function resolveRunnableBuildRoute(requested: BuildRouteName, run
12
16
  route: BuildRouteName;
13
17
  rerouted: boolean;
14
18
  };
19
+ /** The route and pin CHECK/CI rework runs on (#2873). codex/claude/opencode follow
20
+ * resolveRunnableBuildRoute and keep the pin unless rerouted (the pin belongs to the old route's
21
+ * harness). `command` is last in ROUTE_FALLBACK_ORDER and runnable when build_command resolves; its
22
+ * own branch decides pin keeping: it stays when the pin sits on a declared agentic harness (pin
23
+ * kept) or build_command resolves a runnable model (router picks), and otherwise falls back
24
+ * without the pin. */
25
+ export declare function resolveReworkRoute(router: Pick<ModelRouter, 'resolveAll'> & Partial<Pick<ModelRouter, 'registryRef'>>, requested: BuildRoutePin, pinnedModel: string | undefined): {
26
+ route: BuildRoutePin;
27
+ rerouted: boolean;
28
+ modelOverride?: string;
29
+ };
15
30
  /** Step-3 route bullets, in display order. */
16
31
  export declare const ROUTE_BULLETS: Record<BuildRouteName, string>;
17
32
  //# sourceMappingURL=plan-routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-routes.d.ts","sourceRoot":"","sources":["../../src/phases/plan-routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE7D,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAAoC,CAAC;AAE/F;yFACyF;AACzF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,cAAc,EAAE,CAM7F;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,CAErF;AAED,qGAAqG;AACrG,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,SAAS,cAAc,EAAE,GAClC;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAG9C;AAED,8CAA8C;AAC9C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQxD,CAAC"}
1
+ {"version":3,"file":"plan-routes.d.ts","sourceRoot":"","sources":["../../src/phases/plan-routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEzE,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAA+C,CAAC;AAE1G;iDACiD;AACjD,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAAoC,CAAC;AAE3F;yFACyF;AACzF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,cAAc,EAAE,CAM7F;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,CAErF;AAED,qGAAqG;AACrG,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,SAAS,cAAc,EAAE,GAClC;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAG9C;AAED;;;;;uBAKuB;AACvB,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,EACnF,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAQrE;AAkBD,8CAA8C;AAC9C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAUxD,CAAC"}
@@ -1,6 +1,10 @@
1
1
  // src/phases/plan-routes.ts — build-route helpers shared by PLAN and its prompt
2
+ import { routeForBuildModel } from '../config/repo.js';
2
3
  /** Order PLAN falls back through when its chosen route cannot run here. */
3
- export const ROUTE_FALLBACK_ORDER = ['claude', 'codex', 'opencode'];
4
+ export const ROUTE_FALLBACK_ORDER = ['claude', 'codex', 'opencode', 'command'];
5
+ /** Routes PLAN offers when the runnable set is unknown. `command` needs a declared agentic harness,
6
+ * so it is only offered when known runnable. */
7
+ export const CLI_BUILD_ROUTES = ['codex', 'claude', 'opencode'];
4
8
  /** Build routes whose task resolves to at least one runnable model, in fallback order.
5
9
  * Returns [] when the router cannot answer, which callers treat as "no restriction". */
6
10
  export function runnableBuildRoutes(router) {
@@ -21,6 +25,39 @@ export function resolveRunnableBuildRoute(requested, runnable) {
21
25
  return { route: requested, rerouted: false };
22
26
  return { route: defaultBuildRoute(runnable), rerouted: true };
23
27
  }
28
+ /** The route and pin CHECK/CI rework runs on (#2873). codex/claude/opencode follow
29
+ * resolveRunnableBuildRoute and keep the pin unless rerouted (the pin belongs to the old route's
30
+ * harness). `command` is last in ROUTE_FALLBACK_ORDER and runnable when build_command resolves; its
31
+ * own branch decides pin keeping: it stays when the pin sits on a declared agentic harness (pin
32
+ * kept) or build_command resolves a runnable model (router picks), and otherwise falls back
33
+ * without the pin. */
34
+ export function resolveReworkRoute(router, requested, pinnedModel) {
35
+ if (requested !== 'command') {
36
+ const { route, rerouted } = resolveRunnableBuildRoute(requested, runnableBuildRoutes(router));
37
+ return rerouted ? { route, rerouted } : { route, rerouted, modelOverride: pinnedModel };
38
+ }
39
+ if (pinFitsCommand(router, pinnedModel))
40
+ return { route: 'command', rerouted: false, modelOverride: pinnedModel };
41
+ if (commandResolves(router))
42
+ return { route: 'command', rerouted: false };
43
+ return { route: defaultBuildRoute(runnableBuildRoutes(router)), rerouted: true };
44
+ }
45
+ function pinFitsCommand(router, model) {
46
+ try {
47
+ return !!model && !!router.registryRef && routeForBuildModel(router.registryRef, model) === 'command';
48
+ }
49
+ catch {
50
+ return false;
51
+ }
52
+ }
53
+ function commandResolves(router) {
54
+ try {
55
+ return router.resolveAll('build_command').length > 0;
56
+ }
57
+ catch {
58
+ return false;
59
+ }
60
+ }
24
61
  /** Step-3 route bullets, in display order. */
25
62
  export const ROUTE_BULLETS = {
26
63
  codex: ` - route: codex — when the implementation from a frozen spec is bounded and mechanical
@@ -30,5 +67,7 @@ export const ROUTE_BULLETS = {
30
67
  pinned build worker is a claude-cli model (e.g. claude-sonnet-5 in .factory/config.json)`,
31
68
  opencode: ` - route: opencode — when the repo's pinned build worker is an opencode-harness model
32
69
  (e.g. opencode-deepseek-v4-flash in .factory/config.json); bounded mechanical work`,
70
+ command: ` - route: command — when the repo's build worker is a declared agentic harness
71
+ (harnesses: in .factory/config.yaml); bounded mechanical work`,
33
72
  };
34
73
  //# sourceMappingURL=plan-routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-routes.js","sourceRoot":"","sources":["../../src/phases/plan-routes.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAMhF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAA8B,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAE/F;yFACyF;AACzF,MAAM,UAAU,mBAAmB,CAAC,MAAuC;IACzE,IAAI,CAAC;QACH,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,iBAAiB,CAAC,QAAmC;IACnE,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;AACjC,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,yBAAyB,CACvC,SAAyB,EACzB,QAAmC;IAEnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACxG,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAChE,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,aAAa,GAAmC;IAC3D,KAAK,EAAE;oFAC2E;IAClF,MAAM,EAAE;;8FAEoF;IAC5F,QAAQ,EAAE;wFAC4E;CACvF,CAAC"}
1
+ {"version":3,"file":"plan-routes.js","sourceRoot":"","sources":["../../src/phases/plan-routes.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { ApprovalGate } from '../approvals/index.js';
3
3
  import { type LifecycleBus } from '../bus/index.js';
4
4
  import type { EventKind } from '../events/kinds.js';
5
5
  import type { SizeGateMode } from '../config/index.js';
6
+ import type { BuildRoutePin } from '../config/repo.js';
6
7
  import { type SlicePlan } from '../readiness/slice-plan.js';
7
8
  import type { ModelRouter } from '../router/index.js';
8
9
  import { type ConsumedSteering } from '../steering/index.js';
@@ -14,7 +15,7 @@ export { buildDesignArtifactRetryPrompt, MAX_DESIGN_ARTIFACT_RETRIES };
14
15
  export { type BuildRouteName, defaultBuildRoute, resolveRunnableBuildRoute, runnableBuildRoutes };
15
16
  export interface PlanResult {
16
17
  ok: boolean;
17
- route: 'codex' | 'claude' | 'opencode';
18
+ route: BuildRoutePin;
18
19
  specPath: string;
19
20
  model: string;
20
21
  escalate?: string;
@@ -45,7 +46,7 @@ export interface PlanPromptOpts {
45
46
  specPath: string;
46
47
  constitutionCtx: string;
47
48
  adrCtx?: string;
48
- /** Build routes with at least one runnable model on this machine. Empty or omitted = all. */
49
+ /** Build routes with at least one runnable model on this machine. Empty or omitted = the CLI routes; command only when listed. */
49
50
  runnableRoutes?: readonly BuildRouteName[];
50
51
  }
51
52
  export declare function buildPlanPrompt(opts: PlanPromptOpts): string;
@@ -106,7 +107,7 @@ declare function planPhaseImpl(opts: {
106
107
  localOnly?: boolean;
107
108
  /** Repo config pins the build route (`.factory/config.json` → `route`). Forced
108
109
  * after plan so the spec frontmatter stays the frozen truth. */
109
- preferredRoute?: 'codex' | 'claude' | 'opencode';
110
+ preferredRoute?: BuildRoutePin;
110
111
  /** Lane id stamped onto emitted lifecycle events; defaults to `issue-<issue>` (#591). */
111
112
  laneId?: string;
112
113
  /** Lifecycle bus to emit onto; defaults to the process-wide `lifecycleBus` (#591). */
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/phases/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/phases/plan.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { buildConstitutionContext } from '../constitutions/index.js';
9
9
  import { findUnresolvedRegressions, parseDesignArtifact, renderDesignArtifact } from '../design/index.js';
10
10
  import { buildFastPathSpec, isFastPathEligible } from '../efficiency/fast-path.js';
11
11
  import { buildReadinessEnrichmentPrompt, buildReadinessEnrichmentRetryPrompt, composeEnrichedIssueBody, scoreEnrichedIssueReadiness, stripEnrichedBlock, } from '../readiness/enrich.js';
12
+ import { settlePlanRoute } from './plan-route.js';
12
13
  import { decomposeOversizedIssue, renderChildIssueBody } from '../readiness/decompose.js';
13
14
  import { resolveSliceGate } from '../readiness/slice-gate.js';
14
15
  import { DEFAULT_MAX_SLICES } from '../readiness/slice-plan.js';
@@ -16,13 +17,13 @@ import { MAX_BUILD_CALL_EDGES, MAX_BUILD_SIGNATURES, MAX_BUILD_TARGET_TYPES } fr
16
17
  import { scoreIssueReadiness } from '../readiness/index.js';
17
18
  import { failoversFrom } from '../router/index.js';
18
19
  import { applySteering, describeSteering } from '../steering/index.js';
19
- import { archiveSpec, readSpec, updateSpecRoute, writeSpec } from '../spec/index.js';
20
+ import { archiveSpec, readSpec, writeSpec } from '../spec/index.js';
20
21
  import { escalationLine, isEscalation } from '../utils/index.js';
21
22
  import { UNTRUSTED_ISSUE_BODY_NOTICE, wrapUntrustedIssueBody } from '../utils/untrusted-input.js';
22
23
  import { GITHUB_ISSUE_SOURCE } from '../work/github-issue.js';
23
24
  import { createDefaultWorkSourceRegistry } from '../work/index.js';
24
25
  import { buildDesignArtifactRetryPrompt, designArtifactInvalidMessage, MAX_DESIGN_ARTIFACT_RETRIES, } from './plan-design-retry.js';
25
- import { defaultBuildRoute, ROUTE_BULLETS, resolveRunnableBuildRoute, ROUTE_FALLBACK_ORDER, runnableBuildRoutes, } from './plan-routes.js';
26
+ import { CLI_BUILD_ROUTES, defaultBuildRoute, ROUTE_BULLETS, resolveRunnableBuildRoute, runnableBuildRoutes, } from './plan-routes.js';
26
27
  export { buildDesignArtifactRetryPrompt, MAX_DESIGN_ARTIFACT_RETRIES };
27
28
  export { defaultBuildRoute, resolveRunnableBuildRoute, runnableBuildRoutes };
28
29
  /**
@@ -35,8 +36,8 @@ export function buildPlanPrompt(opts) {
35
36
  const { issue, issueTitle, issueBody, specPath, constitutionCtx, adrCtx } = opts;
36
37
  const runnable = opts.runnableRoutes ?? [];
37
38
  const fallbackRoute = defaultBuildRoute(runnable);
38
- const offered = runnable.length > 0 ? runnable : ROUTE_FALLBACK_ORDER;
39
- const routeBullets = ['codex', 'claude', 'opencode']
39
+ const offered = runnable.length > 0 ? runnable : CLI_BUILD_ROUTES;
40
+ const routeBullets = ['codex', 'claude', 'opencode', 'command']
40
41
  .filter((r) => offered.includes(r))
41
42
  .map((r) => ROUTE_BULLETS[r])
42
43
  .join('\n');
@@ -46,7 +47,7 @@ export function buildPlanPrompt(opts) {
46
47
  : offered.length > 1
47
48
  ? `(Set route: in the frontmatter to the route you chose.)\n`
48
49
  : '';
49
- const runnableNote = runnable.length > 0 && runnable.length < ROUTE_FALLBACK_ORDER.length
50
+ const runnableNote = runnable.length > 0 && CLI_BUILD_ROUTES.some((r) => !runnable.includes(r))
50
51
  ? `\n Only these routes can run on this machine: ${runnable.join(', ')}. Choose one of them.`
51
52
  : '';
52
53
  return `You are the PLAN phase of a multi-agent software factory for issue #${issue}.
@@ -524,31 +525,15 @@ async function planPhaseImpl(opts) {
524
525
  }
525
526
  // Re-read after the PLAN call: a CLI that failed sign-in during PLAN is no longer runnable (#2495).
526
527
  const runnableNow = runnableBuildRoutes(router);
527
- let route = parsed.route ?? defaultBuildRoute(runnableNow);
528
- if (localOnly && route !== 'codex') {
529
- log('warn', 'local-only mode requires a local Codex harness — forcing route to codex');
530
- route = 'codex';
531
- await updateSpecRoute(specPath, 'codex', 'local-only');
532
- }
533
- if (route === 'codex' && isCodexDisabled) {
534
- log('warn', 'codex unavailable — falling back to claude');
535
- route = 'claude';
536
- // Keep the persisted spec's frontmatter in sync with the actual route,
537
- // since it's the frozen artifact downstream consumers (eval scoring, PR review) read.
538
- await updateSpecRoute(specPath, 'claude', 'codex-disabled');
539
- }
540
- const resolved = resolveRunnableBuildRoute(route, runnableNow);
541
- if (resolved.rerouted) {
542
- const next = resolved.route;
543
- log('model-override', `route ${route} has no runnable model on this machine, rerouting to ${next}`);
544
- route = next;
545
- await updateSpecRoute(specPath, next, 'route-unavailable');
546
- }
547
- if (opts.preferredRoute && route !== opts.preferredRoute) {
548
- log('model-override', `pinned build route ${opts.preferredRoute} — overriding plan's ${route}`);
549
- route = opts.preferredRoute;
550
- await updateSpecRoute(specPath, opts.preferredRoute, 'repo-config-pin');
551
- }
528
+ const route = await settlePlanRoute({
529
+ parsedRoute: parsed.route,
530
+ runnableNow,
531
+ localOnly,
532
+ isCodexDisabled,
533
+ preferredRoute: opts.preferredRoute,
534
+ specPath,
535
+ log,
536
+ });
552
537
  const { artifact: designArtifact, errors: designErrors, coerced: designCoerced } = designParse;
553
538
  if (designCoerced.length > 0) {
554
539
  log('design_artifact_coerced', `coerced ${designCoerced.length} non-string design list item(s) to text: ${designCoerced.join(', ')}`);