@dungle-scrubs/harness-cli-normalizer 0.4.0 → 0.4.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 (93) hide show
  1. package/README.md +30 -3
  2. package/dist/cli/args.d.ts +1 -0
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +29 -0
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/config.d.ts.map +1 -1
  7. package/dist/cli/config.js +12 -1
  8. package/dist/cli/config.js.map +1 -1
  9. package/dist/cli/exit-codes.js +1 -1
  10. package/dist/cli/exit-codes.js.map +1 -1
  11. package/dist/cli/help.d.ts +2 -2
  12. package/dist/cli/help.d.ts.map +1 -1
  13. package/dist/cli/help.js +35 -2
  14. package/dist/cli/help.js.map +1 -1
  15. package/dist/cli/render.d.ts.map +1 -1
  16. package/dist/cli/render.js +15 -1
  17. package/dist/cli/render.js.map +1 -1
  18. package/dist/cli/run.d.ts.map +1 -1
  19. package/dist/cli/run.js +90 -16
  20. package/dist/cli/run.js.map +1 -1
  21. package/dist/cli/skills-root.d.ts +4 -0
  22. package/dist/cli/skills-root.d.ts.map +1 -0
  23. package/dist/cli/skills-root.js +45 -0
  24. package/dist/cli/skills-root.js.map +1 -0
  25. package/dist/execution/events.d.ts +12 -1
  26. package/dist/execution/events.d.ts.map +1 -1
  27. package/dist/execution/events.js.map +1 -1
  28. package/dist/execution/failure.d.ts +4 -1
  29. package/dist/execution/failure.d.ts.map +1 -1
  30. package/dist/execution/failure.js +15 -2
  31. package/dist/execution/failure.js.map +1 -1
  32. package/dist/execution/stream-turn.d.ts +7 -0
  33. package/dist/execution/stream-turn.d.ts.map +1 -1
  34. package/dist/execution/stream-turn.js +83 -16
  35. package/dist/execution/stream-turn.js.map +1 -1
  36. package/dist/interpretation/argv.d.ts +10 -0
  37. package/dist/interpretation/argv.d.ts.map +1 -1
  38. package/dist/interpretation/argv.js +4 -0
  39. package/dist/interpretation/argv.js.map +1 -1
  40. package/dist/interpretation/question.d.ts +46 -0
  41. package/dist/interpretation/question.d.ts.map +1 -0
  42. package/dist/interpretation/question.js +110 -0
  43. package/dist/interpretation/question.js.map +1 -0
  44. package/dist/interpretation/refusal.d.ts +1 -1
  45. package/dist/interpretation/refusal.d.ts.map +1 -1
  46. package/dist/interpretation/refusal.js.map +1 -1
  47. package/dist/interpretation/resolve-options.d.ts.map +1 -1
  48. package/dist/interpretation/resolve-options.js +27 -5
  49. package/dist/interpretation/resolve-options.js.map +1 -1
  50. package/dist/interpretation/skills-selection.d.ts +22 -0
  51. package/dist/interpretation/skills-selection.d.ts.map +1 -0
  52. package/dist/interpretation/skills-selection.js +49 -0
  53. package/dist/interpretation/skills-selection.js.map +1 -0
  54. package/dist/knowledge/claude-code.d.ts.map +1 -1
  55. package/dist/knowledge/claude-code.js +1 -0
  56. package/dist/knowledge/claude-code.js.map +1 -1
  57. package/dist/knowledge/codex.d.ts.map +1 -1
  58. package/dist/knowledge/codex.js +1 -0
  59. package/dist/knowledge/codex.js.map +1 -1
  60. package/dist/knowledge/descriptor.d.ts +7 -0
  61. package/dist/knowledge/descriptor.d.ts.map +1 -1
  62. package/dist/knowledge/muse.d.ts.map +1 -1
  63. package/dist/knowledge/muse.js +1 -0
  64. package/dist/knowledge/muse.js.map +1 -1
  65. package/dist/knowledge/pi.d.ts.map +1 -1
  66. package/dist/knowledge/pi.js +1 -0
  67. package/dist/knowledge/pi.js.map +1 -1
  68. package/dist/knowledge/profile.d.ts +3 -0
  69. package/dist/knowledge/profile.d.ts.map +1 -1
  70. package/dist/knowledge/profile.js +20 -0
  71. package/dist/knowledge/profile.js.map +1 -1
  72. package/package.json +1 -1
  73. package/src/cli/args.ts +39 -2
  74. package/src/cli/config.ts +14 -1
  75. package/src/cli/exit-codes.ts +1 -1
  76. package/src/cli/help.ts +35 -2
  77. package/src/cli/render.ts +16 -1
  78. package/src/cli/run.ts +99 -23
  79. package/src/cli/skills-root.ts +47 -0
  80. package/src/execution/events.ts +19 -1
  81. package/src/execution/failure.ts +16 -2
  82. package/src/execution/stream-turn.ts +91 -15
  83. package/src/interpretation/argv.ts +14 -0
  84. package/src/interpretation/question.ts +137 -0
  85. package/src/interpretation/refusal.ts +1 -0
  86. package/src/interpretation/resolve-options.ts +29 -5
  87. package/src/interpretation/skills-selection.ts +73 -0
  88. package/src/knowledge/claude-code.ts +1 -0
  89. package/src/knowledge/codex.ts +1 -0
  90. package/src/knowledge/descriptor.ts +7 -0
  91. package/src/knowledge/muse.ts +1 -0
  92. package/src/knowledge/pi.ts +1 -0
  93. package/src/knowledge/profile.ts +20 -0
@@ -12,11 +12,12 @@
12
12
  import { buildLaunchArgv, buildResumeArgv, streamingGranularityOf, } from "../interpretation/argv.js";
13
13
  import { stdinPolicyOf } from "../interpretation/dimensions.js";
14
14
  import { detectAuthFailureInLine, detectLimitInLine } from "../interpretation/limits.js";
15
+ import { composeEscalatedPrompt, detectQuestionBlock } from "../interpretation/question.js";
15
16
  import { ArgvRefusalError } from "../interpretation/refusal.js";
16
17
  import { matcherOverridesOf } from "../knowledge/overrides.js";
17
18
  import { AsyncChannel } from "./channel.js";
18
19
  import { decodeLine, freshDecodeState } from "./decode.js";
19
- import { failureFromAuth, failureFromLimit, failureFromNative, failureFromRejected, failureFromTransport, reduceFailures, } from "./failure.js";
20
+ import { failureFromAuth, failureFromLimit, failureFromNative, failureFromRejected, failureFromTimeout, failureFromTransport, reduceFailures, } from "./failure.js";
20
21
  import { LineBuffer } from "./lines.js";
21
22
  /** Fallback correlation when the host does not mint turn ids: monotonic per
22
23
  * process. Hosts that need cross-process uniqueness pass deps.turnId. */
@@ -68,6 +69,20 @@ export class StderrTail {
68
69
  export async function* streamTurn(h, opts, deps) {
69
70
  const turnId = deps.turnId ?? `turn-${++turnCounter}`;
70
71
  const log = deps.log ?? (() => { });
72
+ // issue #41: compose the escalation preamble onto the prompt (the
73
+ // transport IS the prompt - no harness has native question conveyance)
74
+ // and arm detection in the true mode. Composition is idempotent, so a
75
+ // caller that already composed (the CLI does, for spawn-line truth)
76
+ // never double-prepends.
77
+ const escalateQuestions = opts.escalateQuestions !== false;
78
+ const effective = {
79
+ ...opts,
80
+ prompt: composeEscalatedPrompt(opts.prompt, escalateQuestions),
81
+ };
82
+ // The turn's last assistant message - where the protocol says the
83
+ // hcn-question block lives. Tracked only when detection is armed.
84
+ let lastAssistantText = null;
85
+ let asked = false;
71
86
  // Validate env before building argv so an invalid env is a refusal, not a spawn
72
87
  if (opts.env !== undefined) {
73
88
  for (const [k, v] of Object.entries(opts.env)) {
@@ -90,7 +105,7 @@ export async function* streamTurn(h, opts, deps) {
90
105
  harness: h.name,
91
106
  issue: refusal.issue,
92
107
  supported: refusal.supported,
93
- argv: redactArgv([], opts.prompt),
108
+ argv: redactArgv([], effective.prompt),
94
109
  });
95
110
  yield { kind: "failure", ...failure };
96
111
  yield { kind: "done", exitCode: null, cause: "failed", failure };
@@ -102,11 +117,18 @@ export async function* streamTurn(h, opts, deps) {
102
117
  let granularity;
103
118
  try {
104
119
  argv =
105
- opts.resume === undefined
106
- ? buildLaunchArgv(h, opts)
107
- : buildResumeArgv(h, { ...opts, sessionId: opts.resume });
108
- if (opts.passthrough !== undefined && opts.passthrough.length > 0) {
109
- argv = [...argv, "--", ...opts.passthrough];
120
+ effective.resume === undefined
121
+ ? buildLaunchArgv(h, effective)
122
+ : buildResumeArgv(h, { ...effective, sessionId: effective.resume });
123
+ if (effective.passthrough !== undefined && effective.passthrough.length > 0) {
124
+ argv = [...argv, "--", ...effective.passthrough];
125
+ }
126
+ // issue #38: claude renders the skills allowlist as settings JSON at
127
+ // the argv tail (the complement-off form).
128
+ const claudeSkillTokens = opts
129
+ .__claudeSkillTokens;
130
+ if (claudeSkillTokens !== undefined && claudeSkillTokens.length > 0) {
131
+ argv = [...argv, ...claudeSkillTokens];
110
132
  }
111
133
  granularity = streamingGranularityOf(h, argv);
112
134
  }
@@ -124,7 +146,7 @@ export async function* streamTurn(h, opts, deps) {
124
146
  // No process spawned on a refusal - log rejected instead of spawn
125
147
  let argvForLog = [];
126
148
  try {
127
- argvForLog = redactArgv([], opts.prompt);
149
+ argvForLog = redactArgv([], effective.prompt);
128
150
  }
129
151
  catch { }
130
152
  log({
@@ -149,7 +171,7 @@ export async function* streamTurn(h, opts, deps) {
149
171
  event: "spawn",
150
172
  turnId,
151
173
  harness: h.name,
152
- argv: redactArgv(argv, opts.prompt),
174
+ argv: redactArgv(argv, effective.prompt),
153
175
  granularity,
154
176
  ...(matcherOverrides ? { matcherOverrides } : {}),
155
177
  ...(envKeys?.length ? { envKeys } : {}),
@@ -158,8 +180,8 @@ export async function* streamTurn(h, opts, deps) {
158
180
  try {
159
181
  proc = deps.spawn(argv, {
160
182
  stdin: stdinPolicyOf(h) === "close-required" ? "close" : "inherit",
161
- ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
162
- ...(opts.env !== undefined ? { env: opts.env } : {}),
183
+ ...(effective.cwd !== undefined ? { cwd: effective.cwd } : {}),
184
+ ...(effective.env !== undefined ? { env: effective.env } : {}),
163
185
  });
164
186
  }
165
187
  catch (cause) {
@@ -180,7 +202,7 @@ export async function* streamTurn(h, opts, deps) {
180
202
  return;
181
203
  }
182
204
  const queue = new AsyncChannel();
183
- const state = freshDecodeState(opts.resume ?? null);
205
+ const state = freshDecodeState(effective.resume ?? null);
184
206
  const stderrTail = new StderrTail();
185
207
  let killedByWatchdog = false;
186
208
  let exited = false;
@@ -294,6 +316,9 @@ export async function* streamTurn(h, opts, deps) {
294
316
  // Directly from decode's rate_limit_event handling - track for reduction
295
317
  failures.push(event);
296
318
  }
319
+ if (escalateQuestions && event.kind === "message" && event.role === "assistant") {
320
+ lastAssistantText = event.text;
321
+ }
297
322
  await queue.push(event);
298
323
  }
299
324
  }
@@ -308,6 +333,38 @@ export async function* streamTurn(h, opts, deps) {
308
333
  }
309
334
  }
310
335
  };
336
+ /** issue #41: scan the last assistant message for the hcn-question
337
+ * block. Structured-first - the block's fields become the event; no
338
+ * prose parsing. Runs after the pumps settle (the last message is only
339
+ * last then) and only when detection is armed (escalateQuestions
340
+ * true). A malformed block surfaces as an error event, never a silent
341
+ * no-op. */
342
+ const emitQuestionIfAsked = async () => {
343
+ if (!escalateQuestions || lastAssistantText === null)
344
+ return;
345
+ const detection = detectQuestionBlock(lastAssistantText);
346
+ if (detection === null)
347
+ return;
348
+ if ("malformed" in detection) {
349
+ await queue.push({ kind: "error", message: detection.malformed });
350
+ return;
351
+ }
352
+ log({
353
+ event: "question",
354
+ turnId,
355
+ harness: h.name,
356
+ options: detection.block.options.length,
357
+ });
358
+ asked = true;
359
+ await queue.push({
360
+ kind: "question",
361
+ question: detection.block.question,
362
+ options: detection.block.options,
363
+ ...(detection.block.recommended !== undefined
364
+ ? { recommended: detection.block.recommended }
365
+ : {}),
366
+ });
367
+ };
311
368
  const pumpStderr = async () => {
312
369
  const lines = new LineBuffer();
313
370
  for await (const chunk of proc.stderr) {
@@ -364,7 +421,9 @@ export async function* streamTurn(h, opts, deps) {
364
421
  observePump("stdout", pumpStdout()),
365
422
  observePump("stderr", pumpStderr()),
366
423
  ]);
367
- void Promise.all([proc.exited, pumpSettlements]).then(() => queue.close());
424
+ void Promise.all([proc.exited, pumpSettlements])
425
+ .then(() => emitQuestionIfAsked())
426
+ .then(() => queue.close());
368
427
  try {
369
428
  for await (const event of queue)
370
429
  yield event;
@@ -389,16 +448,24 @@ export async function* streamTurn(h, opts, deps) {
389
448
  }
390
449
  // Stall watchdog also implies a transport failure if not already present
391
450
  if (killedByWatchdog && failures.length === 0) {
392
- const f = failureFromTransport(`stalled: ${watchdogReason ?? "inactivity"}`);
451
+ // D11: a wall-clock deadline kill is a timeout, not a stall - the
452
+ // run was not necessarily silent, it simply outlived its budget.
453
+ const f = watchdogReason === "turn-deadline"
454
+ ? failureFromTimeout()
455
+ : failureFromTransport(`stalled: ${watchdogReason ?? "inactivity"}`);
393
456
  failures.push(f);
394
457
  yield { kind: "failure", ...f };
395
458
  }
396
459
  let cause = state.limitSeen
397
460
  ? "limit"
398
461
  : killedByWatchdog && exitCode !== 0
399
- ? "stall"
462
+ ? watchdogReason === "turn-deadline"
463
+ ? "killed" // D11: the run was killed on budget, not stalled
464
+ : "stall"
400
465
  : exitCode === 0
401
- ? "clean"
466
+ ? asked
467
+ ? "awaiting-input" // issue #41: asking SUCCEEDED the turn
468
+ : "clean"
402
469
  : exitCode === null
403
470
  ? "killed"
404
471
  : "crash";
@@ -1 +1 @@
1
- {"version":3,"file":"stream-turn.js","sourceRoot":"","sources":["../../src/execution/stream-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-turn.js","sourceRoot":"","sources":["../../src/execution/stream-turn.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,11 @@ export interface TurnOptions {
17
17
  readonly prompt: string;
18
18
  readonly tools?: readonly string[];
19
19
  readonly excludeTools?: readonly string[];
20
+ /** Caller-directed skills allowlist: resolved absolute paths, one per
21
+ * skill. Rendering: pi loads each via --skill with discovery off;
22
+ * claude turns off the complement via skillOverrides settings; codex
23
+ * and muse refuse (structural - no per-skill surface). */
24
+ readonly skills?: readonly string[];
20
25
  readonly model?: string;
21
26
  readonly autonomy?: boolean;
22
27
  readonly effort?: string;
@@ -26,6 +31,11 @@ export interface TurnOptions {
26
31
  readonly write?: boolean;
27
32
  readonly shell?: boolean;
28
33
  readonly maxSteps?: number;
34
+ /** issue #41: question escalation - a BEHAVIOR INSTRUCTION, not a turn
35
+ * option. It never renders into any harness argv; the CLI layer turns
36
+ * it into the prompt preamble and arms question-block detection.
37
+ * Undefined means the default: true. */
38
+ readonly escalateQuestions?: boolean;
29
39
  /** Internal: set by CLI when prompt came from --prompt/--prompt-file to bypass leading '-' guard */
30
40
  readonly __explicitPrompt?: boolean;
31
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../../src/interpretation/argv.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAS1F,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA6BrF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oGAAoG;IACpG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AA4CxC,eAAO,MAAM,eAAe,MAAO,iBAAiB,QAAQ,aAAa,KAAG,MAAM,EAKjF,CAAC;AAEF,eAAO,MAAM,eAAe,MAAO,iBAAiB,QAAQ,aAAa,KAAG,MAAM,EAgBjF,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,gBAAgB,MAAO,iBAAiB,QAAQ,cAAc,KAAG,MAAM,EA8BnF,CAAC;AAiDF;;;uCAGuC;AACvC,eAAO,MAAM,sBAAsB,MAC9B,iBAAiB,QACd,SAAS,MAAM,EAAE,KACtB,oBAOF,CAAC"}
1
+ {"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../../src/interpretation/argv.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAU1F,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA6BrF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;;;8DAG0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;4CAGwC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,oGAAoG;IACpG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AA+CxC,eAAO,MAAM,eAAe,MAAO,iBAAiB,QAAQ,aAAa,KAAG,MAAM,EAKjF,CAAC;AAEF,eAAO,MAAM,eAAe,MAAO,iBAAiB,QAAQ,aAAa,KAAG,MAAM,EAgBjF,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,gBAAgB,MAAO,iBAAiB,QAAQ,cAAc,KAAG,MAAM,EA8BnF,CAAC;AAiDF;;;uCAGuC;AACvC,eAAO,MAAM,sBAAsB,MAC9B,iBAAiB,QACd,SAAS,MAAM,EAAE,KACtB,oBAOF,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { defaultDescriptors } from "../knowledge/overrides.js";
2
2
  import { ArgvRefusalError } from "./refusal.js";
3
3
  import { assertUsableSessionId } from "./session-id.js";
4
+ import { renderSkillsSelection } from "./skills-selection.js";
4
5
  import { supportedBy } from "./support.js";
5
6
  import { renderToolSelection } from "./tool-selection.js";
6
7
  import { renderTurnOptions } from "./turn-options.js";
@@ -71,6 +72,9 @@ const turnTail = (h, opts) => {
71
72
  });
72
73
  tail.push(...rendered.tokens);
73
74
  }
75
+ if (opts.skills !== undefined && opts.skills.length > 0) {
76
+ tail.push(...renderSkillsSelection(h, opts.skills));
77
+ }
74
78
  return tail;
75
79
  };
76
80
  export const buildLaunchArgv = (h, opts) => [
@@ -1 +1 @@
1
- {"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/interpretation/argv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/interpretation/argv.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Question escalation (issue #41): the protocol that lets a headless
3
+ * worker ask the CALLER's user a question. Transport is the prompt - no
4
+ * harness ships native question conveyance - so hcn prepends a protocol
5
+ * contract (escalateQuestions true, the default) or the state-the-
6
+ * assumption instruction (false). The worker's final message then carries
7
+ * a fenced `hcn-question` block; detection is structured-first (fields
8
+ * parsed from the block, prose rendered downstream from them).
9
+ *
10
+ * Ratified design note (2026-08-19): autonomy and escalateQuestions are
11
+ * independent flags carving the same substrate by ORIGIN - autonomy =
12
+ * interrupts the harness raises (permission gates), escalateQuestions =
13
+ * interrupts the model raises (judgment gaps). The true-mode preamble
14
+ * must therefore never conflate asking with permission: "you may ask" is
15
+ * never "you lack permission." Both preambles open with the same marker
16
+ * so composition is idempotent (a composed prompt is never re-composed).
17
+ */
18
+ /** The shared first line of both preambles - also the idempotence marker
19
+ * for composeEscalatedPrompt. */
20
+ export declare const QUESTION_PREAMBLE_MARKER = "[hcn question protocol]";
21
+ export declare const ESCALATION_PREAMBLE = "[hcn question protocol]\nYou are running headless: no one is watching this session live, but a caller relays answers between turns. This protocol never changes your permissions - asking is not how you obtain permission, and it never removes any permission this run already has. Use the tools you have exactly as granted.\nIf and only if a genuine decision you cannot make defensibly blocks correct progress, ask by ending your turn: emit one fenced code block tagged hcn-question, as the last content of your final message, containing a single JSON object:\n\n```hcn-question\n{\"question\": \"<the decision you need made>\", \"options\": [\"<option 1>\", \"<option 2>\"], \"recommended\": \"<one of options>\"}\n```\n\nSay nothing after the block. Your turn ends there; the caller's user will answer, and your next turn continues from that answer. For every choice you can make defensibly yourself, do not ask - decide, act, and state the decision you made.";
22
+ export declare const NO_ESCALATION_PREAMBLE = "[hcn question protocol]\nYou are running headless and no one will answer you in this session. Never ask a question, never request input or confirmation, and never end your turn awaiting a reply. When a decision is ambiguous, pick the most defensible reading, state the assumption you proceeded under in one sentence, and continue to completion.";
23
+ /** Compose the transport preamble onto a prompt. Idempotent: a prompt
24
+ * that already carries either preamble (re-composition on resume, a
25
+ * caller that pre-composed) passes through unchanged. */
26
+ export declare const composeEscalatedPrompt: (prompt: string, escalate: boolean) => string;
27
+ /** The structured question a worker asks (the block's fields). */
28
+ export interface QuestionBlock {
29
+ readonly question: string;
30
+ readonly options: readonly string[];
31
+ readonly recommended?: string;
32
+ }
33
+ /** Detection result: a parsed block, a named malformation (the worker
34
+ * tried to ask but botched the shape - surfaced, never swallowed), or
35
+ * null when no hcn-question block is present. */
36
+ export type QuestionDetection = {
37
+ readonly block: QuestionBlock;
38
+ } | {
39
+ readonly malformed: string;
40
+ };
41
+ /** Detect the hcn-question block in a message text. The LAST block wins
42
+ * (the protocol makes the block the turn's final content; a corrected
43
+ * re-emit supersedes an earlier one). An empty candidate body (a bare
44
+ * unclosed opener with nothing after it) is not a detection. */
45
+ export declare const detectQuestionBlock: (text: string) => QuestionDetection | null;
46
+ //# sourceMappingURL=question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../src/interpretation/question.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;iCACiC;AACjC,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAElE,eAAO,MAAM,mBAAmB,m8BAQ+M,CAAC;AAEhP,eAAO,MAAM,sBAAsB,6VAC6R,CAAC;AAEjU;;yDAEyD;AACzD,eAAO,MAAM,sBAAsB,WAAY,MAAM,YAAY,OAAO,KAAG,MAGI,CAAC;AAEhF,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;iDAEiD;AACjD,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAsEnG;;;gEAGgE;AAChE,eAAO,MAAM,mBAAmB,SAAU,MAAM,KAAG,iBAAiB,GAAG,IAStE,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Question escalation (issue #41): the protocol that lets a headless
3
+ * worker ask the CALLER's user a question. Transport is the prompt - no
4
+ * harness ships native question conveyance - so hcn prepends a protocol
5
+ * contract (escalateQuestions true, the default) or the state-the-
6
+ * assumption instruction (false). The worker's final message then carries
7
+ * a fenced `hcn-question` block; detection is structured-first (fields
8
+ * parsed from the block, prose rendered downstream from them).
9
+ *
10
+ * Ratified design note (2026-08-19): autonomy and escalateQuestions are
11
+ * independent flags carving the same substrate by ORIGIN - autonomy =
12
+ * interrupts the harness raises (permission gates), escalateQuestions =
13
+ * interrupts the model raises (judgment gaps). The true-mode preamble
14
+ * must therefore never conflate asking with permission: "you may ask" is
15
+ * never "you lack permission." Both preambles open with the same marker
16
+ * so composition is idempotent (a composed prompt is never re-composed).
17
+ */
18
+ /** The shared first line of both preambles - also the idempotence marker
19
+ * for composeEscalatedPrompt. */
20
+ export const QUESTION_PREAMBLE_MARKER = "[hcn question protocol]";
21
+ export const ESCALATION_PREAMBLE = `${QUESTION_PREAMBLE_MARKER}
22
+ You are running headless: no one is watching this session live, but a caller relays answers between turns. This protocol never changes your permissions - asking is not how you obtain permission, and it never removes any permission this run already has. Use the tools you have exactly as granted.
23
+ If and only if a genuine decision you cannot make defensibly blocks correct progress, ask by ending your turn: emit one fenced code block tagged hcn-question, as the last content of your final message, containing a single JSON object:
24
+
25
+ \`\`\`hcn-question
26
+ {"question": "<the decision you need made>", "options": ["<option 1>", "<option 2>"], "recommended": "<one of options>"}
27
+ \`\`\`
28
+
29
+ Say nothing after the block. Your turn ends there; the caller's user will answer, and your next turn continues from that answer. For every choice you can make defensibly yourself, do not ask - decide, act, and state the decision you made.`;
30
+ export const NO_ESCALATION_PREAMBLE = `${QUESTION_PREAMBLE_MARKER}
31
+ You are running headless and no one will answer you in this session. Never ask a question, never request input or confirmation, and never end your turn awaiting a reply. When a decision is ambiguous, pick the most defensible reading, state the assumption you proceeded under in one sentence, and continue to completion.`;
32
+ /** Compose the transport preamble onto a prompt. Idempotent: a prompt
33
+ * that already carries either preamble (re-composition on resume, a
34
+ * caller that pre-composed) passes through unchanged. */
35
+ export const composeEscalatedPrompt = (prompt, escalate) => prompt.startsWith(QUESTION_PREAMBLE_MARKER)
36
+ ? prompt
37
+ : `${escalate ? ESCALATION_PREAMBLE : NO_ESCALATION_PREAMBLE}\n\n${prompt}`;
38
+ const FENCE_OPEN = /(?:^|\n)[ \t]*```[ \t]*hcn-question[ \t]*(?=\n)/g;
39
+ /** All hcn-question fence bodies in a text, in order. */
40
+ const fenceBodies = (text) => {
41
+ const out = [];
42
+ FENCE_OPEN.lastIndex = 0;
43
+ for (let m = FENCE_OPEN.exec(text); m !== null; m = FENCE_OPEN.exec(text)) {
44
+ const bodyStart = m.index + m[0].length;
45
+ // The closing fence may be indented like the opener (probe evidence:
46
+ // indented blocks occur), so match newline + optional spaces + ```.
47
+ const close = text.slice(bodyStart).search(/\n[ \t]*```/);
48
+ if (close === -1) {
49
+ // Unclosed fence: the body runs to end-of-text. Only meaningful
50
+ // when nothing follows the opener - take it as a candidate anyway.
51
+ out.push({ body: text.slice(bodyStart), closed: false });
52
+ break;
53
+ }
54
+ const bodyEnd = bodyStart + close;
55
+ out.push({ body: text.slice(bodyStart, bodyEnd), closed: true });
56
+ FENCE_OPEN.lastIndex = bodyEnd;
57
+ }
58
+ return out;
59
+ };
60
+ const parseBlock = (body) => {
61
+ let raw;
62
+ try {
63
+ raw = JSON.parse(body);
64
+ }
65
+ catch (e) {
66
+ return { malformed: `hcn-question block is not valid JSON: ${e.message}` };
67
+ }
68
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
69
+ return { malformed: "hcn-question block must be a JSON object" };
70
+ }
71
+ const obj = raw;
72
+ const { question, options, recommended } = obj;
73
+ if (typeof question !== "string" || question.trim() === "") {
74
+ return { malformed: 'hcn-question block field "question" must be a non-empty string' };
75
+ }
76
+ if (!Array.isArray(options) ||
77
+ options.length === 0 ||
78
+ options.some((o) => typeof o !== "string" || o.trim() === "")) {
79
+ return {
80
+ malformed: 'hcn-question block field "options" must be an array of non-empty strings',
81
+ };
82
+ }
83
+ if (recommended !== undefined && typeof recommended !== "string") {
84
+ return { malformed: 'hcn-question block field "recommended" must be a string' };
85
+ }
86
+ return {
87
+ block: {
88
+ question,
89
+ options,
90
+ ...(recommended !== undefined ? { recommended } : {}),
91
+ },
92
+ };
93
+ };
94
+ /** Detect the hcn-question block in a message text. The LAST block wins
95
+ * (the protocol makes the block the turn's final content; a corrected
96
+ * re-emit supersedes an earlier one). An empty candidate body (a bare
97
+ * unclosed opener with nothing after it) is not a detection. */
98
+ export const detectQuestionBlock = (text) => {
99
+ const candidates = fenceBodies(text);
100
+ for (let i = candidates.length - 1; i >= 0; i--) {
101
+ const candidate = candidates[i];
102
+ if (candidate === undefined)
103
+ continue;
104
+ if (candidate.body.trim() === "")
105
+ continue;
106
+ return parseBlock(candidate.body);
107
+ }
108
+ return null;
109
+ };
110
+ //# sourceMappingURL=question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question.js","sourceRoot":"","sources":["../../src/interpretation/question.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export type RefusalIssue = (typeof REFUSAL_ISSUES)[number];
11
11
  * plus the tool-list dimensions and autonomy, which render via dedicated
12
12
  * descriptor fields rather than a spec table. Kept closed so consumers can
13
13
  * branch on it without a default arm. */
14
- export type RefusalOption = TurnOptionKey | "tools" | "excludeTools" | "autonomy" | `discovery.${string}`;
14
+ export type RefusalOption = TurnOptionKey | "tools" | "excludeTools" | "skills" | "autonomy" | `discovery.${string}`;
15
15
  /** One helper builds the message from the structured fields so message and
16
16
  * fields cannot drift. Every message names an alternative, not only a
17
17
  * negation, so an agent can pivot without reading the descriptor. */
@@ -1 +1 @@
1
- {"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../../src/interpretation/refusal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG7F,eAAO,MAAM,cAAc,ySAchB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;;yCAGyC;AACzC,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,OAAO,GACP,cAAc,GACd,UAAU,GACV,aAAa,MAAM,EAAE,CAAC;AAE1B;;qEAEqE;AACrE,eAAO,MAAM,mBAAmB,UACvB,YAAY,WACV,WAAW,WACX,aAAa,UACd,cAAc,cACX,SAAS,MAAM,EAAE,WACnB,MAAM,KACd,MAgDF,CAAC;AAEF,4EAA4E;AAC5E,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;wDAEoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E;;iEAE6D;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,IAAI,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;QAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC3B,EAoBA;CACF"}
1
+ {"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../../src/interpretation/refusal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG7F,eAAO,MAAM,cAAc,ySAchB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;;yCAGyC;AACzC,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,OAAO,GACP,cAAc,GACd,QAAQ,GACR,UAAU,GACV,aAAa,MAAM,EAAE,CAAC;AAE1B;;qEAEqE;AACrE,eAAO,MAAM,mBAAmB,UACvB,YAAY,WACV,WAAW,WACX,aAAa,UACd,cAAc,cACX,SAAS,MAAM,EAAE,WACnB,MAAM,KACd,MAgDF,CAAC;AAEF,4EAA4E;AAC5E,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;wDAEoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E;;iEAE6D;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,IAAI,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;QAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC3B,EAoBA;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"refusal.js","sourceRoot":"","sources":["../../src/interpretation/refusal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refusal.js","sourceRoot":"","sources":["../../src/interpretation/refusal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,oBAAoB;IACpB,0BAA0B;IAC1B,uBAAuB;IACvB,sBAAsB;IACtB,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,mBAAmB;IACnB,4BAA4B;IAC5B,uBAAuB;IACvB,kBAAkB;IAClB,iBAAiB;CACT,CAAC,CAAC;AAeZ;;qEAEqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAmB,EACnB,OAAoB,EACpB,MAAsB,EACtB,KAAsB,EACtB,SAAS,GAAsB,EAAE,EACjC,MAAe,EACP,EAAE;IACV,MAAM,YAAY,GAChB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACpF,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE;QACnD,CAAC,CAAC,KAAK;YACL,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,oBAAoB;YACvB,OAAO,GAAG,OAAO,kBAAkB,UAAU,GAAG,YAAY,KAAK,YAAY,qEAAqE,CAAC;QACrJ,KAAK,0BAA0B;YAC7B,OAAO,GAAG,OAAO,4BAA4B,WAAW,GAAG,YAAY,KAAK,YAAY,oEAAoE,CAAC;QAC/J,KAAK,uBAAuB,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM;gBACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,CAAC,CAAC,KAAK;oBACL,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACvB,CAAC,CAAC,QAAQ,CAAC;YACf,OAAO,GAAG,IAAI,sCAAsC,OAAO,GAAG,YAAY,KAAK,YAAY,qDAAqD,CAAC;QACnJ,CAAC;QACD,KAAK,sBAAsB;YACzB,OAAO,oBAAoB,UAAU,OAAO,OAAO,GAAG,YAAY,KAAK,YAAY,kCAAkC,CAAC;QACxH,KAAK,gBAAgB;YACnB,OAAO,sBAAsB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,iCAAiC,CAAC;QACtI,KAAK,eAAe;YAClB,OAAO,WAAW,OAAO,SAAS,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,oCAAoC,CAAC;QACpI,KAAK,aAAa;YAChB,OAAO,gCAAgC,OAAO,GAAG,YAAY,KAAK,YAAY,gEAAgE,CAAC;QACjJ,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,OAAO,kJAAkJ,YAAY,iEAAiE,CAAC;QAClQ,KAAK,mBAAmB;YACtB,OAAO,GAAG,OAAO,2DAA2D,YAAY,KAAK,YAAY,yFAAyF,CAAC;QACrM,KAAK,4BAA4B;YAC/B,OAAO,GAAG,OAAO,kBAAkB,UAAU,GAAG,YAAY,KAAK,YAAY,6BAA6B,CAAC;QAC7G,KAAK,uBAAuB;YAC1B,OAAO,6EAA6E,OAAO,GAAG,YAAY,KAAK,YAAY,8CAA8C,CAAC;QAC5K,KAAK,kBAAkB;YACrB,OAAO,GAAG,OAAO,gCAAgC,YAAY,8GAA8G,CAAC;QAC9K,KAAK,iBAAiB;YACpB,OAAO,GAAG,OAAO,kDAAkD,YAAY,0CAA0C,CAAC;QAC5H,SAAS,CAAC;YACR,MAAM,UAAU,GAAU,KAAK,CAAC;YAChC,OAAO,GAAG,UAAoB,QAAQ,OAAO,GAAG,UAAU,GAAG,YAAY,KAAK,YAAY,EAAE,CAAC;QAC/F,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,KAAK,CAAe;IACpB,OAAO,CAAc;IACrB,MAAM,CAAiB;IACvB,KAAK,CAAkB;IACvB,SAAS,CAAoB;IACtC;;wDAEoD;IAC3C,WAAW,CAAwD;IAC5E;;iEAE6D;IACpD,IAAI,CAAU;IACvB,YAAY,IAUX;QACC,MAAM,OAAO,GACX,IAAI,CAAC,OAAO;YACZ,mBAAmB,CACjB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,IAAI,EAAE,EACpB,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-options.d.ts","sourceRoot":"","sources":["../../src/interpretation/resolve-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,gBAAgB,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AAED;wDACwD;AACxD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAQ/E;CACF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD;6DACyD;IACzD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAcD,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C;;gEAE4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;CACnD;AAuBD,eAAO,MAAM,uBAAuB,MAC/B,iBAAiB,QACd,WAAW,UACV,WAAW,KACjB,eAiGF,CAAC"}
1
+ {"version":3,"file":"resolve-options.d.ts","sourceRoot":"","sources":["../../src/interpretation/resolve-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,gBAAgB,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AAED;wDACwD;AACxD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,YAAY,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAQ/E;CACF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD;6DACyD;IACzD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAiBD,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C;;gEAE4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;CACnD;AAuBD,eAAO,MAAM,uBAAuB,MAC/B,iBAAiB,QACd,WAAW,UACV,WAAW,KACjB,eAsHF,CAAC"}
@@ -23,6 +23,9 @@ const EXPRESSIBLE = {
23
23
  sandbox: (h) => h.turnOptions.sandbox !== undefined,
24
24
  discovery: () => true,
25
25
  autonomy: () => true,
26
+ write: () => true,
27
+ shell: () => true,
28
+ tools: (h) => h.tools.includeFlag !== null || h.tools.excludeFlag !== null,
26
29
  };
27
30
  /** Merge semantics (gap 1, resolved): config keys are scalars and lists in
28
31
  * schema v1 - there is nothing to deep-merge INTO - so precedence is whole-
@@ -104,12 +107,31 @@ export const resolveEffectiveOptions = (h, args, tiers = {}) => {
104
107
  provenance.push({ key, value, tier: "harness" });
105
108
  continue;
106
109
  }
110
+ // D13: the tools marker expands per descriptor. On a harness whose
111
+ // default is already everything (claude), expansion emits nothing -
112
+ // the emit-nothing rule, recorded in provenance. On a harness with
113
+ // dormant built-ins (pi), it becomes the enabling include list.
114
+ if (key === "tools" && value === "all-known") {
115
+ const enabled = h.tools.builtins.filter((t) => t.defaultEnabled).length;
116
+ const all = h.tools.builtins.length;
117
+ if (enabled === all) {
118
+ provenance.push({ key, value: "all known (already default)", tier: "profile" });
119
+ continue;
120
+ }
121
+ const expanded = h.tools.builtins.map((t) => t.name);
122
+ resolved[key] = expanded;
123
+ provenance.push({ key, value: expanded, tier: "profile" });
124
+ continue;
125
+ }
107
126
  // Dimensions whose value reduces to "emit nothing" (autonomy false,
108
- // discovery all-on) stay ABSENT from the resolved options - the
109
- // harness's default already satisfies the profile, and emitting
110
- // explicit on-flags would change resume grammar and add breakage
111
- // surface for no semantic gain. Provenance still records the tier.
112
- if ((key === "autonomy" && value === false) || (key === "discovery" && emitsNothing(value))) {
127
+ // discovery all-on, write/shell true) stay ABSENT from the resolved
128
+ // options - the harness's default already satisfies the profile, and
129
+ // emitting explicit on-flags would change resume grammar and add
130
+ // breakage surface for no semantic gain. Provenance still records
131
+ // the tier.
132
+ if ((key === "autonomy" && value === false) ||
133
+ (key === "discovery" && emitsNothing(value)) ||
134
+ ((key === "write" || key === "shell") && value === true)) {
113
135
  provenance.push({ key, value, tier: "profile" });
114
136
  continue;
115
137
  }