@dzhechkov/harness-core 0.3.107 → 0.3.109

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.
@@ -29,4 +29,24 @@ export declare function isFenced(text: string, line: number): boolean;
29
29
  export declare function claimCheck(text: string): ClaimCheckResult;
30
30
  /** Convenience: a one-line human summary for CLI output. */
31
31
  export declare function summarize(result: ClaimCheckResult): string;
32
+ export type FailOn = 'high' | 'medium' | 'none';
33
+ export interface ClaimTextDecision {
34
+ readonly kind: 'error' | 'run';
35
+ readonly reason?: string;
36
+ }
37
+ /** Empty / whitespace-only / non-string ⇒ error. A real paragraph ⇒ run. */
38
+ export declare function decideClaimCheckText(text: unknown): ClaimTextDecision;
39
+ /** Severity counts, so a caller can gate without re-walking the findings. */
40
+ export declare function severityCounts(result: ClaimCheckResult): {
41
+ high: number;
42
+ medium: number;
43
+ };
44
+ /**
45
+ * Whether a run RESULT trips the caller's threshold. Reporting only — never throws, never converts the
46
+ * fail-closed empty case (which is handled earlier by `decideClaimCheckText`) into a pass.
47
+ * 'high' ⇒ gated iff any high finding
48
+ * 'medium' ⇒ gated iff any high OR medium finding
49
+ * 'none' ⇒ never gated
50
+ */
51
+ export declare function isGated(result: ClaimCheckResult, failOn: FailOn): boolean;
32
52
  //# sourceMappingURL=claim-check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claim-check.d.ts","sourceRoot":"","sources":["../src/claim-check.ts"],"names":[],"mappings":"AAkBA,oGAAoG;AACpG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;CACnC;AA4FD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAa5D;AA4CD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CA6FzD;AAMD,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAI1D"}
1
+ {"version":3,"file":"claim-check.d.ts","sourceRoot":"","sources":["../src/claim-check.ts"],"names":[],"mappings":"AAkBA,oGAAoG;AACpG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;CACnC;AA+FD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAa5D;AAoED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CA6FzD;AAMD,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAI1D;AASD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAYrE;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQzF;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAQzE"}
@@ -27,19 +27,19 @@ const METRIC_TERMS = [
27
27
  'coverage', 'tests passed', 'test count', 'skills', 'commands',
28
28
  'packages', 'presets', 'downloads', 'benchmark', 'speedup', 'latency',
29
29
  ];
30
- // Short/ambiguous metric tokens (ADR-263 F11): 'map' is usually the English
31
- // word or a file extension, 'f1'/'o1' collide with finding/option labels.
32
- // They only count as metric mentions when word-bounded, not a `.map` file
33
- // reference, and the line (after scrubbing) carries a number — "mAP 62.3" is
34
- // a claim, "F-numbers map to findings" is not.
35
- // 'map' additionally must not be a `.map` file suffix or a hyphenated
36
- // compound ("map-free", "map-reduce") — mAP the metric never appears as either.
30
+ // Short/ambiguous metric tokens (ADR-263 F11): 'f1'/'o1' collide with finding/option labels.
31
+ // They only count as metric mentions when word-bounded, and the line (after scrubbing) carries a
32
+ // number "auc 0.9" is a claim, "F-numbers map to findings" is not.
37
33
  // `\d+ tests` is dz's single most-repeated headline claim ("2136 tests") and was slipping through:
38
34
  // the substring term is 'tests passed', so a bare count never fired. Anchor it to a PRECEDING number
39
35
  // rather than adding a bare 'test' term — otherwise every `usage.test.ts:42` path reference would
40
36
  // register as a metric mention.
37
+ // NOTE: 'map' is NOT here. A line-wide "has a number" gate fired on the English word `map` next to any
38
+ // incidental digit — a `FR-2` label, a `v2`, an `item 2` (MEASURED — features/claimcheck-map-fp).
39
+ // mAP the metric is written with its score ADJACENT, so it gets a scoring-context regex (MAP_METRIC_RE),
40
+ // exactly as `recall` does (RECALL_METRIC_RE), instead of the loose line-wide gate.
41
41
  const METRIC_TERMS_SHORT = [
42
- /(?<![.\w])map\b(?!-)/, /\bf1\b/, /\bauc\b/, /\biou\b/,
42
+ /\bf1\b/, /\bauc\b/, /\biou\b/,
43
43
  /\b\d[\d,._]*\s+tests?\b/,
44
44
  ];
45
45
  // Finding/option labels (F1, O2, …) count as labels unless the token sits in a
@@ -74,6 +74,10 @@ function mentionsMetricTerm(lower, scrubbed) {
74
74
  // "precision 0.9 / recall 0.8" is the canonical ML pair.
75
75
  if (RECALL_METRIC_RE.test(scrubbed))
76
76
  return true;
77
+ // mAP: a metric only with a score adjacent (see MAP_METRIC_RE). The regex embeds its own number, so
78
+ // it is checked before the loose line-wide HAS_NUMBER gate — the same shape as recall above.
79
+ if (MAP_METRIC_RE.test(scrubbed))
80
+ return true;
77
81
  if (!HAS_NUMBER_RE.test(scrubbed))
78
82
  return false;
79
83
  return METRIC_TERMS_SHORT.some((re) => re.test(scrubbed));
@@ -140,6 +144,26 @@ const HEADING_RE = /^\s{0,3}#{1,6}\s/;
140
144
  * `recall = 0.9`, `recall score`).
141
145
  */
142
146
  const RECALL_METRIC_RE = /\brecall\s*(?:@\s*\d|rate\b|score\b|of\s+[\d.]|[:=]\s*[\d.])/i;
147
+ /**
148
+ * mAP (mean Average Precision) is both a metric AND the English word `map`. Matching it via the
149
+ * line-wide "has a number" gate fired on every line where `map` co-occurred with an unrelated digit —
150
+ * a `FR-2` label, a `v2`, an `item 2` (MEASURED — reproducer matrix in features/claimcheck-map-fp).
151
+ * Like `recall`, it counts as a metric only in a SCORING CONTEXT: a score sits ADJACENT to the token.
152
+ *
153
+ * Fires on: `mAP 62.3`, `mAP: 0.62`, `mAP=62`, `mAP@0.5`, `62.3 mAP`, `62% mAP`.
154
+ * Does not fire on: `the map imports` + `FR-2`, `.map` file, `map-reduce`, `a map of 3 zones`.
155
+ *
156
+ * A real mAP score is a DECIMAL or a PERCENT (`0.62`, `62.3`, `62%`) — never a bare integer and never a
157
+ * lone dot. Requiring that (not merely "a digit or dot", which cross-model review showed fires on
158
+ * `map: 3 zones`, `map @ 5 locations`, and even `map: .env`) is what separates the metric from prose:
159
+ * `map 3 items`, `a map of 3 zones`, `top 5 map layers` all stay prose. An optional `@`/`:`/`=` may sit
160
+ * between the token and its score. `(?<![.\w])` excludes `.map`; `(?!-)` excludes `map-reduce`/`map-free`.
161
+ *
162
+ * Known, accepted limitation (cross-model review): exotic notations `mAP50 62.3`, `mAP@[.5:.95]` are NOT
163
+ * matched — under-detection of rare forms, not a false positive. dz's own claims use `mAP 62.3`.
164
+ */
165
+ const MAP_SCORE = String.raw `(?:\d+\.\d+|\.\d+|\d+\s*%)`;
166
+ const MAP_METRIC_RE = new RegExp(String.raw `(?<![.\w])map\b(?!-)\s*(?:[@:=]\s*)?${MAP_SCORE}|${MAP_SCORE}\s+(?<![.\w])map\b(?!-)`, 'i');
143
167
  /**
144
168
  * A shell reproducer is STRUCTURAL, never a word. `(MEASURED — reproducer)` is self-certifying and
145
169
  * must not pass; a backticked span whose first token is a command this repo actually measures with is
@@ -270,4 +294,49 @@ export function summarize(result) {
270
294
  const high = result.findings.filter((f) => f.severity === 'high').length;
271
295
  return `claim-check: ${result.findings.length} finding(s) (${high} high) — accuracy claims need MEASURED/CLAIMED tags + a reproducer.`;
272
296
  }
297
+ /** Empty / whitespace-only / non-string ⇒ error. A real paragraph ⇒ run. */
298
+ export function decideClaimCheckText(text) {
299
+ if (typeof text !== 'string') {
300
+ return { kind: 'error', reason: 'text must be a string, got ' + typeof text };
301
+ }
302
+ // Cross-model review: trim() leaves zero-width and format characters (U+200B ZWSP, U+200D ZWJ,
303
+ // U+FEFF BOM, other Cf), so a string of invisibles would pass as `run` and vet nothing. Strip all
304
+ // whitespace AND Unicode format/control characters before the emptiness test.
305
+ const visible = text.replace(/[\s\u200B-\u200F\u202A-\u202E\u2060-\u206F\uFEFF]|\p{Cf}|\p{Cc}/gu, '');
306
+ if (visible.length === 0) {
307
+ return { kind: 'error', reason: 'text is empty or only invisible characters — nothing to vet' };
308
+ }
309
+ return { kind: 'run' };
310
+ }
311
+ /** Severity counts, so a caller can gate without re-walking the findings. */
312
+ export function severityCounts(result) {
313
+ let high = 0;
314
+ let medium = 0;
315
+ for (const f of result.findings) {
316
+ if (f.severity === 'high')
317
+ high++;
318
+ else if (f.severity === 'medium')
319
+ medium++;
320
+ }
321
+ return { high, medium };
322
+ }
323
+ /**
324
+ * Whether a run RESULT trips the caller's threshold. Reporting only — never throws, never converts the
325
+ * fail-closed empty case (which is handled earlier by `decideClaimCheckText`) into a pass.
326
+ * 'high' ⇒ gated iff any high finding
327
+ * 'medium' ⇒ gated iff any high OR medium finding
328
+ * 'none' ⇒ never gated
329
+ */
330
+ export function isGated(result, failOn) {
331
+ const { high, medium } = severityCounts(result);
332
+ if (failOn === 'none')
333
+ return false;
334
+ if (failOn === 'high')
335
+ return high > 0;
336
+ if (failOn === 'medium')
337
+ return high > 0 || medium > 0;
338
+ // Cross-model review: an unknown failOn (only reachable via a direct call, since the Zod enum guards
339
+ // the tool) must not silently behave like 'medium'. Fail SAFE: gate on any finding.
340
+ return high > 0 || medium > 0;
341
+ }
273
342
  //# sourceMappingURL=claim-check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claim-check.js","sourceRoot":"","sources":["../src/claim-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim-check.js","sourceRoot":"","sources":["../src/claim-check.ts"],"names":[],"mappings":"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"}
@@ -272,4 +272,107 @@ export declare function modelLabel(opts: StageOpts | null | undefined): string;
272
272
  export declare function stageLabel(base: string, opts: StageOpts | null | undefined): string;
273
273
  /** Spread-merge a resolved opts fragment onto a call's base opts (extra wins). */
274
274
  export declare function mergeOpts<B extends object, E extends object>(base: B, extra: E): B & E;
275
+ export type CodexDispatch = 'wrapper' | 'exec';
276
+ /** Dispatch by what the stage's deliverable IS, never by which knob named it. */
277
+ export declare function codexDispatchMode(stage: string): CodexDispatch;
278
+ /**
279
+ * A SANITY bound on prompt size, not a stall guard.
280
+ *
281
+ * The earlier 1200-char ceiling was justified by "codex exec stalls on a 55-line payload". Twin
282
+ * experiments refuted that (2026-07-10): 4000 chars of padding answered in 4s, and a 3156-char /
283
+ * 56-line adversarial code review answered in 14s. The stalls are INTERMITTENT latency — the same
284
+ * input hung at 60s and answered at 14s minutes apart. Size is not the variable.
285
+ *
286
+ * So the real guard is the bounded timeout plus the CODEX_UNAVAILABLE sentinel: a slow exec becomes
287
+ * an explicit "unavailable", never a passed review. This constant only stops us from shipping an
288
+ * absurdly large prompt.
289
+ */
290
+ export declare const CODEX_EXEC_PROMPT_CEILING_CHARS = 24000;
291
+ /** The sentinel an exec agent returns when the command failed, timed out, or Codex refused. */
292
+ export declare const CODEX_UNAVAILABLE = "CODEX_UNAVAILABLE";
293
+ export interface CodexExecPlanInput {
294
+ readonly stage: string;
295
+ readonly promptChars: number;
296
+ readonly probedId: string | null;
297
+ }
298
+ export interface CodexExecPlanResult {
299
+ readonly mode: 'exec' | 'wrapper' | 'claude';
300
+ readonly reason: string;
301
+ }
302
+ /** Decide, before spending an agent, whether Codex can honestly serve this stage. */
303
+ export declare function codexExecPlan(input: CodexExecPlanInput): CodexExecPlanResult;
304
+ /** A model id is user input (`args.codexModel`) and lands in a shell command. Shell-safe ids only. */
305
+ export declare function isSafeCodexId(id: string): boolean;
306
+ /**
307
+ * A liveness probe. The allowlist says a name is spellable; only this says it answers.
308
+ *
309
+ * Found by cross-model review (codex exec, 2026-07-10): the id was interpolated into a shell command
310
+ * unquoted, so a malformed `args.codexModel` could corrupt or extend the command the agent runs.
311
+ * Reject anything that is not a plain id, and single-quote it anyway.
312
+ */
313
+ export declare function codexProbeCommand(id: string): string | null;
314
+ export interface CodexProbeOutput {
315
+ readonly stdout: string;
316
+ readonly exitCode: number;
317
+ }
318
+ export declare function interpretCodexProbe(out: CodexProbeOutput): boolean;
319
+ /** First id that actually answers. `null` means: route this stage to Claude. */
320
+ export declare function pickAvailableCodexId(ids: readonly string[], probe: (id: string) => Promise<boolean>): Promise<string | null>;
321
+ export interface CodexExecResult {
322
+ readonly ok: boolean;
323
+ readonly text: string;
324
+ readonly reason: string;
325
+ }
326
+ /**
327
+ * Risk R2, the most dangerous line in this change: an EMPTY reply must never read as "no findings".
328
+ * A genuine clean review has to say something. Empty, whitespace, or the sentinel ⇒ not ok ⇒ the
329
+ * caller falls back to a Claude reviewer.
330
+ */
331
+ /**
332
+ * Extract an A–D grade. Cross-model review flagged that "Looks good" would otherwise pass as a
333
+ * review; a verdict must NAME its grade. No grade ⇒ no verdict ⇒ the caller falls back to Claude.
334
+ */
335
+ export declare function parseCodexGrade(text: string): string | null;
336
+ export declare function parseCodexExecResult(text: string | null | undefined): CodexExecResult;
337
+ /** CX-3: a workflow that names an agent type the harness does not have must fall back, not die. */
338
+ export declare function isAgentTypeMissingError(err: unknown): boolean;
339
+ /**
340
+ * Run a Codex-routed agent so that a missing agent type demotes to `null` (→ the caller's Claude
341
+ * fallback) instead of throwing and killing the whole run. Any other error still propagates: we do
342
+ * not want to swallow real bugs behind a fallback.
343
+ */
344
+ export declare function safeCodexAgent<T>(agentFn: (prompt: string, opts: object) => Promise<T>, prompt: string, opts: object, log: (msg: string) => void): Promise<T | null>;
345
+ /** True for a POSIX absolute path. */
346
+ export declare function isAbsolutePosix(p: string): boolean;
347
+ /**
348
+ * Collapse `a//b`, `a/./b` and a trailing slash. Deliberately does NOT resolve `..` — a workflow root
349
+ * containing `..` is a caller error we would rather surface than silently normalise away.
350
+ */
351
+ export declare function normalizeRepoPath(p: string): string;
352
+ /**
353
+ * Resolve the artifact root to an absolute path.
354
+ *
355
+ * `raw` is `args.repo` (may be `'.'`, `'./x'`, `'x/'`, or already absolute).
356
+ * `cwd` is the absolute working directory, obtained ONCE from a `pwd` agent — never ambient.
357
+ * An already absolute `raw` ignores `cwd` entirely (zero agents on that path).
358
+ */
359
+ export declare function absolutizeRepo(raw: string, cwd: string): string;
360
+ /** The instruction appended to prompts that embed an artifact path (FR-3). */
361
+ export declare const ABSOLUTE_PATH_NOTE: string;
362
+ /**
363
+ * Pick the absolute path out of possibly chatty `pwd` output.
364
+ *
365
+ * Cross-model review (codex exec, 2026-07-10) found `.split('\n').pop()` selects the LAST line — so a
366
+ * `pwd` agent that appends "Done" would degrade the run despite having printed a valid path. Take the
367
+ * last line that actually looks like an absolute path.
368
+ */
369
+ export declare function pickAbsolutePathLine(text: string | null | undefined): string | null;
370
+ /** `args.repo` may be anything the caller passed. A non-string must not throw on `.replace`. */
371
+ export declare function coerceRepoArg(raw: unknown): string;
372
+ export declare function hasUnsafePathChars(p: string): boolean;
373
+ export declare function hasDotDotSegment(p: string): boolean;
374
+ /** The slug names a directory under `features/`. Kebab-case, Latin, max 40 chars — the documented rule. */
375
+ export declare function isSafeSlug(slug: string): boolean;
376
+ /** Returns an error message, or `null` when the root is safe to embed in a prompt. */
377
+ export declare function checkArtifactRoot(root: string): string | null;
275
378
  //# sourceMappingURL=feature-adr-routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-adr-routing.d.ts","sourceRoot":"","sources":["../src/feature-adr-routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-adr-routing.d.ts","sourceRoot":"","sources":["../src/feature-adr-routing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,qFAAqF;AACrF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAC3D,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClD;AAID,+FAA+F;AAC/F,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,MAAM,GACN,kBAAkB,GAClB,iBAAiB,CAAC;AAEtB,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAY/D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CASlD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,SAAS,EAAE,MAAM,GAChB,aAAa,CAgBf;AAID,iFAAiF;AACjF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAA6D,CAAC;AAE7G,gFAAgF;AAChF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAA8C,CAAC;AAE/F,+GAA+G;AAC/G,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAiE,CAAC;AAErH;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAYxD,CAAC;AAIF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,CAuBtF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAGxD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAKrD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAKrD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CASzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAOzD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,CAe3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE9E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAK1E;AAID,eAAO,MAAM,gCAAgC,SAAU,CAAC;AAExD,eAAO,MAAM,+BAA+B,mFAYlC,CAAC;AAEX,eAAO,MAAM,kCAAkC,UAAyD,CAAC;AAIzG,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAE3E,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;AAEtF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,SAAS,cAAc,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,iBAAiB,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;IACzG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAMD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEpF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc7D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAUnF;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,aAAa,GAAE,SAAS,MAAM,EAAO,GACpC,qBAAqB,CA0BvB;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,aAAa,GAAE,SAAS,MAAM,EAAO,GACpC,OAAO,CAST;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,mBAAmB,CA0EpF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAOrE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGnF;AAED,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAKtF;AAqBD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/C,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAE9D;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAEtD,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAmB5E;AAED,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAGlE;AAED,gFAAgF;AAChF,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAOrF;AAED,mGAAmG;AACnG,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAG7D;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACrD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAUnB;AAaD,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,QAEU,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAOnF;AAED,gGAAgG;AAChG,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAElD;AAaD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK7D"}
@@ -100,7 +100,7 @@ export function decideUsageAction(prevOverride, signal, threshold) {
100
100
  }
101
101
  // ── Data tables (data-only extensibility — gpt-5.6-ready) ───────────────────
102
102
  /** Known codex ids. Adding a new id (e.g. `'gpt-5.7'`) is a DATA-ONLY change. */
103
- export const KNOWN_CODEX = { auto: 1, 'gpt-5.5': 1, 'gpt-5.6': 1 };
103
+ export const KNOWN_CODEX = { auto: 1, 'gpt-5.5': 1, 'gpt-5.6': 1, 'gpt-5.6-sol': 1 };
104
104
  /** The Claude model names the Workflow runtime accepts as `agent()` `model`. */
105
105
  export const CLAUDE_NAMES = { fable: 1, opus: 1, sonnet: 1, haiku: 1 };
106
106
  /** The codex-companion `--effort` vocabulary; a spec's `<reasoning>` is clamped to this (unknown ⇒ 'high'). */
@@ -483,4 +483,224 @@ export function mergeOpts(base, extra) {
483
483
  out[k] = extra[k];
484
484
  return out;
485
485
  }
486
+ // ── CODEX DISPATCH BY DELIVERABLE (ADR-001) ──────────────────────────────────
487
+ //
488
+ // `codex:codex-rescue` is a fire-and-forget Claude WRAPPER: it dispatches to Codex and returns
489
+ // immediately, so its return value is a stub. That is correct for a stage whose deliverable is a
490
+ // FILE written out-of-band (Step 7 code, behind the Step-7.5 landed barrier) and catastrophic for a
491
+ // stage whose deliverable is its RETURN VALUE — a stub reads exactly like a clean review.
492
+ //
493
+ // The workflow script is sandboxed (no `child_process`), so it cannot shell out to `codex exec`
494
+ // itself. An ordinary Claude agent runs the command and returns Codex's stdout verbatim: the agent
495
+ // is the shell.
496
+ /**
497
+ * Stages whose deliverable is a FILE written out-of-band, and which already verify the write landed
498
+ * before trusting the stub. `code` polls `git status` (Step-7.5). `plan` requires its
499
+ * `06_implementation_plan.md` to appear and otherwise falls back to the Claude planner — it never
500
+ * fabricates. Both are legitimate wrapper users; everything else returns its deliverable.
501
+ */
502
+ const WRAPPER_STAGES = { code: 1, plan: 1 };
503
+ /** Dispatch by what the stage's deliverable IS, never by which knob named it. */
504
+ export function codexDispatchMode(stage) {
505
+ return WRAPPER_STAGES[stage] ? 'wrapper' : 'exec';
506
+ }
507
+ /**
508
+ * A SANITY bound on prompt size, not a stall guard.
509
+ *
510
+ * The earlier 1200-char ceiling was justified by "codex exec stalls on a 55-line payload". Twin
511
+ * experiments refuted that (2026-07-10): 4000 chars of padding answered in 4s, and a 3156-char /
512
+ * 56-line adversarial code review answered in 14s. The stalls are INTERMITTENT latency — the same
513
+ * input hung at 60s and answered at 14s minutes apart. Size is not the variable.
514
+ *
515
+ * So the real guard is the bounded timeout plus the CODEX_UNAVAILABLE sentinel: a slow exec becomes
516
+ * an explicit "unavailable", never a passed review. This constant only stops us from shipping an
517
+ * absurdly large prompt.
518
+ */
519
+ export const CODEX_EXEC_PROMPT_CEILING_CHARS = 24_000;
520
+ /** The sentinel an exec agent returns when the command failed, timed out, or Codex refused. */
521
+ export const CODEX_UNAVAILABLE = 'CODEX_UNAVAILABLE';
522
+ /** Decide, before spending an agent, whether Codex can honestly serve this stage. */
523
+ export function codexExecPlan(input) {
524
+ if (codexDispatchMode(input.stage) === 'wrapper') {
525
+ return { mode: 'wrapper', reason: 'deliverable is a file written out-of-band' };
526
+ }
527
+ if (!input.probedId) {
528
+ return { mode: 'claude', reason: 'no codex model id answered the probe' };
529
+ }
530
+ if (input.promptChars > CODEX_EXEC_PROMPT_CEILING_CHARS) {
531
+ return {
532
+ mode: 'claude',
533
+ reason: 'prompt is ' +
534
+ input.promptChars +
535
+ ' chars, over the ' +
536
+ CODEX_EXEC_PROMPT_CEILING_CHARS +
537
+ '-char codex exec ceiling (it would stall)',
538
+ };
539
+ }
540
+ return { mode: 'exec', reason: 'codex exec on ' + input.probedId };
541
+ }
542
+ /** A model id is user input (`args.codexModel`) and lands in a shell command. Shell-safe ids only. */
543
+ export function isSafeCodexId(id) {
544
+ return /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/.test(id);
545
+ }
546
+ /**
547
+ * A liveness probe. The allowlist says a name is spellable; only this says it answers.
548
+ *
549
+ * Found by cross-model review (codex exec, 2026-07-10): the id was interpolated into a shell command
550
+ * unquoted, so a malformed `args.codexModel` could corrupt or extend the command the agent runs.
551
+ * Reject anything that is not a plain id, and single-quote it anyway.
552
+ */
553
+ export function codexProbeCommand(id) {
554
+ if (!isSafeCodexId(id))
555
+ return null;
556
+ return "timeout 60 codex exec -m '" + id + "' 'Reply with exactly: OK'";
557
+ }
558
+ export function interpretCodexProbe(out) {
559
+ if (out.exitCode !== 0)
560
+ return false;
561
+ return /\bOK\b/.test(out.stdout);
562
+ }
563
+ /** First id that actually answers. `null` means: route this stage to Claude. */
564
+ export async function pickAvailableCodexId(ids, probe) {
565
+ for (const id of ids) {
566
+ if (await probe(id))
567
+ return id;
568
+ }
569
+ return null;
570
+ }
571
+ /**
572
+ * Risk R2, the most dangerous line in this change: an EMPTY reply must never read as "no findings".
573
+ * A genuine clean review has to say something. Empty, whitespace, or the sentinel ⇒ not ok ⇒ the
574
+ * caller falls back to a Claude reviewer.
575
+ */
576
+ /**
577
+ * Extract an A–D grade. Cross-model review flagged that "Looks good" would otherwise pass as a
578
+ * review; a verdict must NAME its grade. No grade ⇒ no verdict ⇒ the caller falls back to Claude.
579
+ */
580
+ export function parseCodexGrade(text) {
581
+ const m = /\bgrade\s*[:=]?\s*([A-D])\b/i.exec(text);
582
+ const g = m && m[1] ? m[1] : null;
583
+ return g ? g.toUpperCase() : null;
584
+ }
585
+ export function parseCodexExecResult(text) {
586
+ const t = typeof text === 'string' ? text.trim() : '';
587
+ if (t.length === 0)
588
+ return { ok: false, text: '', reason: 'codex exec returned no text' };
589
+ if (t.indexOf(CODEX_UNAVAILABLE) !== -1) {
590
+ return { ok: false, text: t, reason: 'codex exec reported it could not run' };
591
+ }
592
+ return { ok: true, text: t, reason: 'codex answered' };
593
+ }
594
+ /** CX-3: a workflow that names an agent type the harness does not have must fall back, not die. */
595
+ export function isAgentTypeMissingError(err) {
596
+ const msg = err instanceof Error ? err.message : String(err ?? '');
597
+ return /agent type .*not found|unknown agent type|no such agent/i.test(msg);
598
+ }
599
+ /**
600
+ * Run a Codex-routed agent so that a missing agent type demotes to `null` (→ the caller's Claude
601
+ * fallback) instead of throwing and killing the whole run. Any other error still propagates: we do
602
+ * not want to swallow real bugs behind a fallback.
603
+ */
604
+ export async function safeCodexAgent(agentFn, prompt, opts, log) {
605
+ try {
606
+ return await agentFn(prompt, opts);
607
+ }
608
+ catch (err) {
609
+ if (isAgentTypeMissingError(err)) {
610
+ log('codex: agent type unavailable — falling back to Claude (' + String(err) + ')');
611
+ return null;
612
+ }
613
+ throw err;
614
+ }
615
+ }
616
+ // ── ABSOLUTE ARTIFACT ROOT (ADR-001, absolute-artifact-paths) ────────────────
617
+ //
618
+ // `FDIR` (and `BRAIN`, which derives from the same value) used to be relative, because
619
+ // `args.repo` defaults to `'.'`. A relative path means different things to different agents: once a
620
+ // coder `cd`s elsewhere, a later agent resolves `./features/<slug>/03_adr` against another cwd, finds
621
+ // nothing, and reports a confident FALSE BLOCKER while the artifacts sit at the workflow root.
622
+ //
623
+ // The workflow script is sandboxed — no filesystem, no Node API — so it cannot call `process.cwd()`.
624
+ // The absolute root arrives either as an absolute `args.repo`, or from an agent that runs `pwd`.
625
+ // The resolver below takes `cwd` as a PARAMETER so it is testable without ambient state.
626
+ /** True for a POSIX absolute path. */
627
+ export function isAbsolutePosix(p) {
628
+ return typeof p === 'string' && p.charAt(0) === '/';
629
+ }
630
+ /**
631
+ * Collapse `a//b`, `a/./b` and a trailing slash. Deliberately does NOT resolve `..` — a workflow root
632
+ * containing `..` is a caller error we would rather surface than silently normalise away.
633
+ */
634
+ export function normalizeRepoPath(p) {
635
+ const collapsed = p.replace(/\/{2,}/g, '/').replace(/\/\.(?=\/|$)/g, '');
636
+ const trimmed = collapsed.replace(/\/+$/, '');
637
+ return trimmed === '' ? '/' : trimmed;
638
+ }
639
+ /**
640
+ * Resolve the artifact root to an absolute path.
641
+ *
642
+ * `raw` is `args.repo` (may be `'.'`, `'./x'`, `'x/'`, or already absolute).
643
+ * `cwd` is the absolute working directory, obtained ONCE from a `pwd` agent — never ambient.
644
+ * An already absolute `raw` ignores `cwd` entirely (zero agents on that path).
645
+ */
646
+ export function absolutizeRepo(raw, cwd) {
647
+ const r = typeof raw === 'string' && raw.length > 0 ? raw : '.';
648
+ if (isAbsolutePosix(r))
649
+ return normalizeRepoPath(r);
650
+ const base = normalizeRepoPath(cwd);
651
+ const rel = r.replace(/^\.\/+/, '').replace(/^\.$/, '');
652
+ return rel === '' ? base : normalizeRepoPath(base + '/' + rel);
653
+ }
654
+ /** The instruction appended to prompts that embed an artifact path (FR-3). */
655
+ export const ABSOLUTE_PATH_NOTE = ' All artifact paths in this prompt are ABSOLUTE. Read and write them exactly as given; do not cd' +
656
+ ' first and do not re-relativize them.';
657
+ /**
658
+ * Pick the absolute path out of possibly chatty `pwd` output.
659
+ *
660
+ * Cross-model review (codex exec, 2026-07-10) found `.split('\n').pop()` selects the LAST line — so a
661
+ * `pwd` agent that appends "Done" would degrade the run despite having printed a valid path. Take the
662
+ * last line that actually looks like an absolute path.
663
+ */
664
+ export function pickAbsolutePathLine(text) {
665
+ if (typeof text !== 'string')
666
+ return null;
667
+ const abs = text
668
+ .split('\n')
669
+ .map((l) => l.trim())
670
+ .filter((l) => isAbsolutePosix(l));
671
+ return abs.length ? abs[abs.length - 1] : null;
672
+ }
673
+ /** `args.repo` may be anything the caller passed. A non-string must not throw on `.replace`. */
674
+ export function coerceRepoArg(raw) {
675
+ return typeof raw === 'string' && raw.length > 0 ? raw.replace(/\/+$/, '') : '.';
676
+ }
677
+ /**
678
+ * Round-2 cross-model review (codex exec, 2026-07-10) — three path-safety defects, all real:
679
+ * 1. `..` segments survived normalisation, so `args.repo='../evil'` produced an absolute-but-unstable
680
+ * root. Under the fail-fast stance this is a refusal, not a normalisation.
681
+ * 2. A newline in `args.repo` could split an embedded path across lines in a prompt.
682
+ * 3. `SLUG` was concatenated raw: `'../../outside'` escapes the `features/` directory entirely.
683
+ */
684
+ const UNSAFE_PATH_CHARS = /[\u0000-\u001f\u007f]/;
685
+ const DOT_DOT_SEGMENT = /(^|\/)\.\.(\/|$)/;
686
+ export function hasUnsafePathChars(p) {
687
+ return UNSAFE_PATH_CHARS.test(String(p));
688
+ }
689
+ export function hasDotDotSegment(p) {
690
+ return DOT_DOT_SEGMENT.test(String(p));
691
+ }
692
+ /** The slug names a directory under `features/`. Kebab-case, Latin, max 40 chars — the documented rule. */
693
+ export function isSafeSlug(slug) {
694
+ return typeof slug === 'string' && /^[a-z0-9][a-z0-9-]{0,39}$/.test(slug);
695
+ }
696
+ /** Returns an error message, or `null` when the root is safe to embed in a prompt. */
697
+ export function checkArtifactRoot(root) {
698
+ if (!isAbsolutePosix(root))
699
+ return 'artifact root is not absolute: ' + JSON.stringify(root);
700
+ if (hasUnsafePathChars(root))
701
+ return 'artifact root contains control characters';
702
+ if (hasDotDotSegment(root))
703
+ return 'artifact root contains a ".." segment: ' + root;
704
+ return null;
705
+ }
486
706
  //# sourceMappingURL=feature-adr-routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-adr-routing.js","sourceRoot":"","sources":["../src/feature-adr-routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-adr-routing.js","sourceRoot":"","sources":["../src/feature-adr-routing.ts"],"names":[],"mappings":"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"}