@dungle-scrubs/harness-cli-normalizer 0.4.1 → 0.4.3

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 (78) hide show
  1. package/README.md +30 -3
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +8 -0
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/config.d.ts.map +1 -1
  6. package/dist/cli/config.js +4 -1
  7. package/dist/cli/config.js.map +1 -1
  8. package/dist/cli/exit-codes.js +1 -1
  9. package/dist/cli/exit-codes.js.map +1 -1
  10. package/dist/cli/help.d.ts +3 -3
  11. package/dist/cli/help.d.ts.map +1 -1
  12. package/dist/cli/help.js +27 -5
  13. package/dist/cli/help.js.map +1 -1
  14. package/dist/cli/render.d.ts.map +1 -1
  15. package/dist/cli/render.js +15 -1
  16. package/dist/cli/render.js.map +1 -1
  17. package/dist/cli/run.d.ts.map +1 -1
  18. package/dist/cli/run.js +49 -15
  19. package/dist/cli/run.js.map +1 -1
  20. package/dist/cli/session.d.ts.map +1 -1
  21. package/dist/cli/session.js +107 -9
  22. package/dist/cli/session.js.map +1 -1
  23. package/dist/execution/events.d.ts +12 -1
  24. package/dist/execution/events.d.ts.map +1 -1
  25. package/dist/execution/events.js.map +1 -1
  26. package/dist/execution/failure.d.ts.map +1 -1
  27. package/dist/execution/failure.js.map +1 -1
  28. package/dist/execution/open-session.d.ts +5 -0
  29. package/dist/execution/open-session.d.ts.map +1 -1
  30. package/dist/execution/open-session.js +136 -4
  31. package/dist/execution/open-session.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 +67 -13
  35. package/dist/execution/stream-turn.js.map +1 -1
  36. package/dist/interpretation/argv.d.ts +5 -0
  37. package/dist/interpretation/argv.d.ts.map +1 -1
  38. package/dist/interpretation/argv.js +4 -3
  39. package/dist/interpretation/argv.js.map +1 -1
  40. package/dist/interpretation/presence.d.ts.map +1 -1
  41. package/dist/interpretation/presence.js +3 -1
  42. package/dist/interpretation/presence.js.map +1 -1
  43. package/dist/interpretation/question.d.ts +54 -0
  44. package/dist/interpretation/question.d.ts.map +1 -0
  45. package/dist/interpretation/question.js +126 -0
  46. package/dist/interpretation/question.js.map +1 -0
  47. package/dist/interpretation/session-input.d.ts.map +1 -1
  48. package/dist/interpretation/session-input.js +5 -0
  49. package/dist/interpretation/session-input.js.map +1 -1
  50. package/dist/knowledge/claude-code.d.ts.map +1 -1
  51. package/dist/knowledge/claude-code.js +2 -0
  52. package/dist/knowledge/claude-code.js.map +1 -1
  53. package/dist/knowledge/descriptor.d.ts +16 -3
  54. package/dist/knowledge/descriptor.d.ts.map +1 -1
  55. package/dist/knowledge/descriptor.js +1 -1
  56. package/dist/knowledge/descriptor.js.map +1 -1
  57. package/dist/knowledge/pi.d.ts.map +1 -1
  58. package/dist/knowledge/pi.js +21 -7
  59. package/dist/knowledge/pi.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/cli/args.ts +6 -0
  62. package/src/cli/config.ts +4 -1
  63. package/src/cli/exit-codes.ts +1 -1
  64. package/src/cli/help.ts +27 -5
  65. package/src/cli/render.ts +16 -1
  66. package/src/cli/run.ts +54 -19
  67. package/src/cli/session.ts +113 -11
  68. package/src/execution/events.ts +19 -1
  69. package/src/execution/failure.ts +1 -6
  70. package/src/execution/open-session.ts +146 -4
  71. package/src/execution/stream-turn.ts +74 -13
  72. package/src/interpretation/argv.ts +9 -3
  73. package/src/interpretation/presence.ts +3 -1
  74. package/src/interpretation/question.ts +158 -0
  75. package/src/interpretation/session-input.ts +5 -0
  76. package/src/knowledge/claude-code.ts +2 -0
  77. package/src/knowledge/descriptor.ts +14 -3
  78. package/src/knowledge/pi.ts +21 -7
package/README.md CHANGED
@@ -102,8 +102,10 @@ The built-in profile pins the ratified defaults: effort `medium` (the only
102
102
  value in all four ladders), sandbox `workspace-write` (codex-only; reported
103
103
  as divergence elsewhere), discovery fully on, autonomy off. A dimension a
104
104
  harness cannot express is reported as divergence, never a silent skip and
105
- never a refusal. Resume turns bypass resolution entirely - a session keeps
106
- its own settings.
105
+ never a refusal. Resume turns bypass turn-option resolution entirely - a
106
+ session keeps its own settings. Question escalation (below) is the
107
+ deliberate exception: it rides each turn's prompt, so it resolves on
108
+ launch AND resume.
107
109
 
108
110
  User config (`~/.config/hcn/config.json`, `$XDG_CONFIG_HOME` respected):
109
111
 
@@ -129,6 +131,31 @@ clamp. An empty floor refuses every grant (the turn-everything-off
129
131
  workflow). Config parsing is hard-fail: unknown keys, malformed JSON, or a
130
132
  version mismatch exit 2 naming the offender.
131
133
 
134
+ ## Question escalation (issue #41)
135
+
136
+ A headless worker can ask the CALLER's user when a genuine decision blocks
137
+ progress, and the answer flows back via resume. `escalateQuestions`
138
+ defaults ON (`--escalate-questions` / `--no-escalate-questions`, config
139
+ key `escalateQuestions` in both tiers; precedence arg > project > user >
140
+ default). It is a behavior instruction, not a turn option: no flag ever
141
+ reaches the harness - the transport is a short protocol contract hcn
142
+ prepends to the prompt. It is independent of autonomy by ratified design:
143
+ autonomy covers interrupts the HARNESS raises (permission gates),
144
+ escalateQuestions covers interrupts the MODEL raises (judgment gaps) -
145
+ `--autonomy --escalate-questions` is "tools free, judgment supervised."
146
+
147
+ Protocol: a worker that must ask ends its turn with a fenced `hcn-question`
148
+ block (`{"question","options":[..],"recommended":..}`) as the last content
149
+ of its final message. hcn detects it and emits a typed `question` event
150
+ (structured-first: the fields ARE the question; prose renders from them);
151
+ `done` carries cause `awaiting-input` with process exit 0 - asking is a
152
+ successful turn. The caller escalates through its own question tool, then
153
+ resumes with the answer: `hcn run <harness> --resume <id> --prompt "<answer>"`.
154
+ Id continuity per harness: claude stable, pi/muse caller-assigned, codex
155
+ minted (the identity event carries the id). With `--no-escalate-questions`
156
+ the worker is instructed never to ask - it states the assumption it
157
+ proceeded under and continues.
158
+
132
159
  Every resolved setting prints its provenance to stderr:
133
160
 
134
161
  ```
@@ -190,7 +217,7 @@ Every refusal names an alternative in `supported` and `message`, not only a nega
190
217
  ## Reference
191
218
 
192
219
  - Descriptors live in `src/knowledge/` (`claude-code.ts`, `codex.ts`, `pi.ts`, `muse.ts`), with shared types in `descriptor.ts`.
193
- - The normalized event surface is `HarnessEvent` in `src/execution/events.ts`: `identity`, `token`, `message`, `progress`, `tool`, `context`, `limit`, `error`, `failure`, `done` (with `done.failure`).
220
+ - The normalized event surface is `HarnessEvent` in `src/execution/events.ts`: `identity`, `token`, `message`, `progress`, `tool`, `context`, `limit`, `error`, `failure`, `question` (issue #41), `done` (with `done.failure`; `done.cause` includes `awaiting-input`).
194
221
  - Narrow or override a descriptor's facts with `parseOverrides` (`src/knowledge/overrides.ts`). An override a harness cannot satisfy throws `OverrideRefusalError` instead of producing a broken argv. `limitMatchers`/`authMatchers` are now serializable `{pattern, flags, code/kind}` objects so they can be overridden from JSON; bad patterns are refused at load with file and harness named.
195
222
  - `DROPPABLE_KINDS` (`token`, `progress`, `context`) marks events safe to drop when you only need the full messages. `failure` is never droppable.
196
223
 
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
package/dist/cli/args.js CHANGED
@@ -153,6 +153,10 @@ export const parseTurnOptions = (values) => {
153
153
  opts.shell = true;
154
154
  else if (values["no-shell"] === true)
155
155
  opts.shell = false;
156
+ if (values["escalate-questions"] === true)
157
+ opts.escalateQuestions = true;
158
+ else if (values["no-escalate-questions"] === true)
159
+ opts.escalateQuestions = false;
156
160
  if (values["max-steps"] !== undefined) {
157
161
  const n = Number(values["max-steps"]);
158
162
  if (!Number.isFinite(n)) {
@@ -233,6 +237,8 @@ const KNOWN_FLAGS = new Set([
233
237
  "--no-write",
234
238
  "--shell",
235
239
  "--no-shell",
240
+ "--escalate-questions",
241
+ "--no-escalate-questions",
236
242
  "--max-steps",
237
243
  "--no-tools",
238
244
  "--no-instruction-files",
@@ -356,6 +362,8 @@ export const parseCommonFlags = (argv, opts = {}) => {
356
362
  "no-write": { type: "boolean" },
357
363
  shell: { type: "boolean" },
358
364
  "no-shell": { type: "boolean" },
365
+ "escalate-questions": { type: "boolean" },
366
+ "no-escalate-questions": { type: "boolean" },
359
367
  "max-steps": { type: "string" },
360
368
  "no-tools": { type: "boolean" },
361
369
  "no-instruction-files": { type: "boolean" },
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI7D,qBAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,eAAO,MAAM,cAAc,QAAO,MAK/B,CAAC;AAEJ;;;0CAG0C;AAC1C,eAAO,MAAM,iBAAiB,cAAc,MAAM,KAAmB,MAAM,GAAG,IAY7E,CAAC;AAwBF;yDACyD;AACzD,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,OAAO,CAAC,WAAW,CA0EjE,CAAC;AAEF;qEACqE;AACrE,eAAO,MAAM,cAAc,QAAO;IAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IACnD,CAAC;AAEjC,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,cACjB,MAAM,KAChB;IAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAInD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI7D,qBAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,eAAO,MAAM,cAAc,QAAO,MAK/B,CAAC;AAEJ;;;0CAG0C;AAC1C,eAAO,MAAM,iBAAiB,cAAc,MAAM,KAAmB,MAAM,GAAG,IAY7E,CAAC;AA2BF;yDACyD;AACzD,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,OAAO,CAAC,WAAW,CA0EjE,CAAC;AAEF;qEACqE;AACrE,eAAO,MAAM,cAAc,QAAO;IAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IACnD,CAAC;AAEjC,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,cACjB,MAAM,KAChB;IAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAInD,CAAC"}
@@ -54,9 +54,12 @@ const KNOWN_KEYS = new Set([
54
54
  "maxSteps",
55
55
  "toolsets",
56
56
  "timeout",
57
+ // issue #41: question escalation (behavior instruction, not a turn
58
+ // option - it rides the prompt preamble, never a harness flag).
59
+ "escalateQuestions",
57
60
  ]);
58
61
  const LIST_KEYS = new Set(["tools", "excludeTools"]);
59
- const BOOL_KEYS = new Set(["autonomy", "write", "shell"]);
62
+ const BOOL_KEYS = new Set(["autonomy", "write", "shell", "escalateQuestions"]);
60
63
  /** Parse + validate config text. Throws ConfigError with the offending key
61
64
  * named on any violation - never warns and continues. */
62
65
  export const parseUserConfig = (text) => {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export const EXIT_CLEAN = 0;
2
2
  export const EXIT_REFUSAL = 2;
3
3
  export const EXIT_FAILURE = 1;
4
4
  export const exitCodeForCause = (cause) => {
5
- if (cause === "clean")
5
+ if (cause === "clean" || cause === "awaiting-input")
6
6
  return EXIT_CLEAN;
7
7
  // All non-clean causes are failures that should be exit 1, except refusal is already handled separately
8
8
  return EXIT_FAILURE;
@@ -1 +1 @@
1
- {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../src/cli/exit-codes.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAgB,EAAU,EAAE;IAC3D,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IACzC,wGAAwG;IACxG,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../src/cli/exit-codes.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAC5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAgB,EAAU,EAAE;IAC3D,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,gBAAgB;QAAE,OAAO,UAAU,CAAC;IACvE,wGAAwG;IACxG,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,YAAY,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export declare const TOP_LEVEL_HELP = "hcn - One stable interface to four coding-agent CLIs\n\nUsage: hcn <command> [options] [prompt]\n\nCommands:\n run <harness> [prompt] One-shot headless turn (streamTurn)\n session <harness> Interactive session (openSession, Claude-only)\n inspect <harness> Descriptor / argv / capability inspection (no spawn)\n ls List harnesses with verifiedAgainst versions\n check Drift check (published version vs verifiedAgainst)\n\nOptions:\n -h, --help Show help\n -V, --version Show version\n\nRun 'hcn <command> --help' for command-specific help.\n";
2
- export declare const RUN_HELP = "hcn run - One-shot headless turn\n\nUsage: hcn run <harness> [prompt] [options]\n\nArguments:\n <harness> claude | codex | pi | muse\n [prompt] Prompt text (positional). Must not start with '-'.\n Use --prompt or --prompt-file for leading '-' or multi-line.\n\nOptions:\n --prompt <text> Prompt text (alternative to positional)\n --prompt-file <path|-> Read prompt from file, or stdin when '-'\n --model <id> Model id (validated per harness)\n --effort <value> Effort level (validated per harness/model)\n --sandbox <value> Sandbox mode (codex only)\n --provider <value> Provider (pi only)\n --tools <a,b> Tool grant allowlist (claude, pi; a bare name\n matching a configured toolset expands to it)\n --exclude-tools <a,b> Complement over known tools (claude, pi;\n mutually exclusive with --tools)\n --autonomy Enable autonomy flag (claude/codex/muse)\n --no-autonomy Disable autonomy\n --write Enable write (muse)\n --no-write Disable write\n --shell Enable shell (muse)\n --no-shell Disable shell\n --max-steps <n> Max steps (muse, 1-10000)\n --timeout <seconds> Wall-clock budget for the run (all harnesses,\n hcn-enforced; 0 disables; no default)\n --no-tools Disable tools discovery facet\n --no-instruction-files Disable instructionFiles discovery facet\n --no-extensions Disable extensions discovery facet\n --no-skills Disable skills discovery facet\n --cwd <path> Working directory for spawn\n --env KEY=VAL Environment (repeatable; KEY= deletes)\n --resume <uuid> Resume session id (UUID)\n -- Passthrough: native harness args verbatim\n (failures surface as labeled native errors)\n --json NDJSON HarnessEvent to stdout\n -h, --help Show help\n -V, --version Show version\n\nDefaults with no flags:\n Every launch resolves args > project config (.hcn/config.json at the\n git root) > user config (~/.config/hcn/config.json) > built-in profile\n > harness default. The profile pins: effort medium, sandbox\n workspace-write (codex only; other harnesses report divergence),\n discovery on, autonomy off, write/shell on. timeout and max-steps have\n no default. Provenance prints to stderr on every run; see\n 'hcn inspect <harness>' for the resolved argv of a bare run.\n";
3
- export declare const SESSION_HELP = "hcn session - Interactive session (Claude-only)\n\nUsage: hcn session <harness> [options]\n\nArguments:\n <harness> Must be 'claude' (other harnesses have no sessionMode)\n\nOptions:\n --model <id> Model for the session\n --session-id <uuid> Session id (UUID, else random)\n --cwd <path> Working directory\n --help Show help\n --version Show version\n";
4
- export declare const INSPECT_HELP = "hcn inspect - Descriptor / argv inspection\n\nUsage: hcn inspect <harness> [options]\n\nArguments:\n <harness> claude | codex | pi | muse\n\nOptions:\n --argv Preview argv that would be spawned\n --prompt <text> Prompt for argv preview\n --prompt-file <path|-> Read prompt from file\n --model <id> Model\n --effort <value> Effort\n --sandbox <value> Sandbox\n --provider <value> Provider\n --tools <a,b> Tools\n --autonomy / --no-autonomy\n --write / --no-write\n --shell / --no-shell\n --max-steps <n>\n --no-tools, --no-instruction-files, --no-extensions, --no-skills\n --cwd <path>\n --env KEY=VAL\n --resume <uuid>\n -h, --help Show help\n";
2
+ export declare const RUN_HELP = "hcn run - One-shot headless turn\n\nUsage: hcn run <harness> [prompt] [options]\n\nArguments:\n <harness> claude | codex | pi | muse\n [prompt] Prompt text (positional). Must not start with '-'.\n Use --prompt or --prompt-file for leading '-' or multi-line.\n\nOptions:\n --prompt <text> Prompt text (alternative to positional)\n --prompt-file <path|-> Read prompt from file, or stdin when '-'\n --model <id> Model id (validated per harness)\n --effort <value> Effort level (validated per harness/model)\n --sandbox <value> Sandbox mode (codex only)\n --provider <value> Provider (pi only)\n --tools <a,b> Tool grant allowlist (claude, pi; a bare name\n matching a configured toolset expands to it)\n --exclude-tools <a,b> Complement over known tools (claude, pi;\n mutually exclusive with --tools)\n --autonomy Enable autonomy flag (claude/codex/muse)\n --no-autonomy Disable autonomy\n --write Enable write (muse)\n --no-write Disable write\n --shell Enable shell (muse)\n --no-shell Disable shell\n --escalate-questions Let the worker ask the caller's user when a\n genuine decision blocks progress (DEFAULT;\n prompt-preamble transport, question event +\n done cause \"awaiting-input\", exit 0)\n --no-escalate-questions Worker never asks: it states the assumption it\n proceeded under and continues\n --max-steps <n> Max steps (muse, 1-10000)\n --timeout <seconds> Wall-clock budget for the run (all harnesses,\n hcn-enforced; 0 disables; no default)\n --no-tools Disable tools discovery facet\n --no-instruction-files Disable instructionFiles discovery facet\n --no-extensions Disable extensions discovery facet\n --no-skills Disable skills discovery facet\n --cwd <path> Working directory for spawn\n --env KEY=VAL Environment (repeatable; KEY= deletes)\n --resume <uuid> Resume session id (UUID). The answer path for\n question escalation: resume with the chosen\n answer as the prompt; id continuity per\n harness (claude stable, pi/muse caller-assigned,\n codex minted via identity event)\n -- Passthrough: native harness args verbatim\n (failures surface as labeled native errors)\n --json NDJSON HarnessEvent to stdout\n -h, --help Show help\n -V, --version Show version\n\nDefaults with no flags:\n Every launch resolves args > project config (.hcn/config.json at the\n git root) > user config (~/.config/hcn/config.json) > built-in profile\n > harness default. The profile pins: effort medium, sandbox\n workspace-write (codex only; other harnesses report divergence),\n discovery on, autonomy off, write/shell on. timeout and max-steps have\n no default. Question escalation defaults ON (config key\n \"escalateQuestions\"; it is a prompt preamble, never a harness flag).\n Provenance prints to stderr on every run; see\n 'hcn inspect <harness>' for the resolved argv of a bare run.\n";
3
+ export declare const SESSION_HELP = "hcn session - Interactive session (claude, pi)\n\nUsage: hcn session <harness> [options]\n\nArguments:\n <harness> claude | pi (others have no sessionMode)\n\nOptions:\n --model <id> Model for the session\n --session-id <uuid> Session id (UUID, else random; re-enters an\n existing session)\n --escalate-questions Worker may ask; question renders as a pickable\n menu, the answer flows back into the SAME live\n session (DEFAULT)\n --no-escalate-questions Worker never asks; states its assumption\n --cwd <path> Working directory\n --help Show help\n --version Show version\n";
4
+ export declare const INSPECT_HELP = "hcn inspect - Descriptor / argv inspection\n\nUsage: hcn inspect <harness> [options]\n\nArguments:\n <harness> claude | codex | pi | muse\n\nOptions:\n --argv Preview argv that would be spawned\n --prompt <text> Prompt for argv preview\n --prompt-file <path|-> Read prompt from file\n --model <id> Model\n --effort <value> Effort\n --sandbox <value> Sandbox\n --provider <value> Provider\n --tools <a,b> Tools\n --autonomy / --no-autonomy\n --write / --no-write\n --shell / --no-shell\n --escalate-questions / --no-escalate-questions\n (accepted; renders nothing - rides the run prompt)\n --max-steps <n>\n --no-tools, --no-instruction-files, --no-extensions, --no-skills\n --escalate-questions / --no-escalate-questions\n Accepted; renders nothing in argv (the mode\n rides the run prompt, not a harness flag)\n --cwd <path>\n --env KEY=VAL\n --resume <uuid>\n -h, --help Show help\n";
5
5
  export declare const LS_HELP = "hcn ls - List harnesses\n\nUsage: hcn ls\n\nPrints each harness name with its verifiedAgainst version and versionSource.\n";
6
6
  export declare const CHECK_HELP = "hcn check - Drift check\n\nUsage: hcn check [--json]\n\nCompares each harness's verifiedAgainst against the latest published version.\nExits 0 when no drift, 1 when drift found, 1 on network failure with partial results.\n\nOptions:\n --json Machine-readable output\n -h, --help Show help\n";
7
7
  //# sourceMappingURL=help.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,koBAgB1B,CAAC;AAEF,eAAO,MAAM,QAAQ,upFAkDpB,CAAC;AAEF,eAAO,MAAM,YAAY,6bAaxB,CAAC;AAEF,eAAO,MAAM,YAAY,0wBAyBxB,CAAC;AAEF,eAAO,MAAM,OAAO,+HAKnB,CAAC;AAEF,eAAO,MAAM,UAAU,2UAUtB,CAAC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,koBAgB1B,CAAC;AAEF,eAAO,MAAM,QAAQ,o+GA8DpB,CAAC;AAEF,eAAO,MAAM,YAAY,qvBAkBxB,CAAC;AAEF,eAAO,MAAM,YAAY,8kCA8BxB,CAAC;AAEF,eAAO,MAAM,OAAO,+HAKnB,CAAC;AAEF,eAAO,MAAM,UAAU,2UAUtB,CAAC"}
package/dist/cli/help.js CHANGED
@@ -41,6 +41,12 @@ Options:
41
41
  --no-write Disable write
42
42
  --shell Enable shell (muse)
43
43
  --no-shell Disable shell
44
+ --escalate-questions Let the worker ask the caller's user when a
45
+ genuine decision blocks progress (DEFAULT;
46
+ prompt-preamble transport, question event +
47
+ done cause "awaiting-input", exit 0)
48
+ --no-escalate-questions Worker never asks: it states the assumption it
49
+ proceeded under and continues
44
50
  --max-steps <n> Max steps (muse, 1-10000)
45
51
  --timeout <seconds> Wall-clock budget for the run (all harnesses,
46
52
  hcn-enforced; 0 disables; no default)
@@ -50,7 +56,11 @@ Options:
50
56
  --no-skills Disable skills discovery facet
51
57
  --cwd <path> Working directory for spawn
52
58
  --env KEY=VAL Environment (repeatable; KEY= deletes)
53
- --resume <uuid> Resume session id (UUID)
59
+ --resume <uuid> Resume session id (UUID). The answer path for
60
+ question escalation: resume with the chosen
61
+ answer as the prompt; id continuity per
62
+ harness (claude stable, pi/muse caller-assigned,
63
+ codex minted via identity event)
54
64
  -- Passthrough: native harness args verbatim
55
65
  (failures surface as labeled native errors)
56
66
  --json NDJSON HarnessEvent to stdout
@@ -63,19 +73,26 @@ Defaults with no flags:
63
73
  > harness default. The profile pins: effort medium, sandbox
64
74
  workspace-write (codex only; other harnesses report divergence),
65
75
  discovery on, autonomy off, write/shell on. timeout and max-steps have
66
- no default. Provenance prints to stderr on every run; see
76
+ no default. Question escalation defaults ON (config key
77
+ "escalateQuestions"; it is a prompt preamble, never a harness flag).
78
+ Provenance prints to stderr on every run; see
67
79
  'hcn inspect <harness>' for the resolved argv of a bare run.
68
80
  `;
69
- export const SESSION_HELP = `hcn session - Interactive session (Claude-only)
81
+ export const SESSION_HELP = `hcn session - Interactive session (claude, pi)
70
82
 
71
83
  Usage: hcn session <harness> [options]
72
84
 
73
85
  Arguments:
74
- <harness> Must be 'claude' (other harnesses have no sessionMode)
86
+ <harness> claude | pi (others have no sessionMode)
75
87
 
76
88
  Options:
77
89
  --model <id> Model for the session
78
- --session-id <uuid> Session id (UUID, else random)
90
+ --session-id <uuid> Session id (UUID, else random; re-enters an
91
+ existing session)
92
+ --escalate-questions Worker may ask; question renders as a pickable
93
+ menu, the answer flows back into the SAME live
94
+ session (DEFAULT)
95
+ --no-escalate-questions Worker never asks; states its assumption
79
96
  --cwd <path> Working directory
80
97
  --help Show help
81
98
  --version Show version
@@ -99,8 +116,13 @@ Options:
99
116
  --autonomy / --no-autonomy
100
117
  --write / --no-write
101
118
  --shell / --no-shell
119
+ --escalate-questions / --no-escalate-questions
120
+ (accepted; renders nothing - rides the run prompt)
102
121
  --max-steps <n>
103
122
  --no-tools, --no-instruction-files, --no-extensions, --no-skills
123
+ --escalate-questions / --no-escalate-questions
124
+ Accepted; renders nothing in argv (the mode
125
+ rides the run prompt, not a harness flag)
104
126
  --cwd <path>
105
127
  --env KEY=VAL
106
128
  --resume <uuid>
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;CAgB7B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDvB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;CAa3B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyB3B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;CAKtB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;CAUzB,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;CAgB7B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DvB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;CAkB3B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B3B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;CAKtB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;CAUzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQ3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,QAAO,WAAoC,CAAC;AAE1E,eAAO,MAAM,WAAW,UAAW,YAAY,SAAS,WAAW,KAAG,IAoDrE,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,YAAY,KAAG,IAEtD,CAAC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAS3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,QAAO,WAAoC,CAAC;AAE1E,eAAO,MAAM,WAAW,UAAW,YAAY,SAAS,WAAW,KAAG,IAkErE,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,YAAY,KAAG,IAEtD,CAAC"}
@@ -2,6 +2,7 @@ const dim = (s) => `\x1b[2m${s}\x1b[0m`;
2
2
  const cyan = (s) => `\x1b[36m${s}\x1b[0m`;
3
3
  const green = (s) => `\x1b[32m${s}\x1b[0m`;
4
4
  const red = (s) => `\x1b[31m${s}\x1b[0m`;
5
+ const blue = (s) => `\x1b[34m${s}\x1b[0m`;
5
6
  const yellow = (s) => `\x1b[33m${s}\x1b[0m`;
6
7
  export const createRenderState = () => ({ streamed: false });
7
8
  export const renderEvent = (event, state) => {
@@ -29,6 +30,15 @@ export const renderEvent = (event, state) => {
29
30
  case "limit":
30
31
  process.stdout.write(yellow(`\n ⚠ limit: ${event.code} ${event.message}`));
31
32
  break;
33
+ case "question":
34
+ // issue #41: the structured question fields ARE the question - this
35
+ // render is a convenience view of them, not the contract.
36
+ process.stdout.write(blue(`\n ? ${event.question}\n`));
37
+ for (const option of event.options) {
38
+ const mark = option === event.recommended ? "*" : " ";
39
+ process.stdout.write(blue(` ${mark} ${option}\n`));
40
+ }
41
+ break;
32
42
  case "error":
33
43
  process.stdout.write(red(`\n ✗ ${event.message}`));
34
44
  break;
@@ -47,7 +57,11 @@ export const renderEvent = (event, state) => {
47
57
  break;
48
58
  }
49
59
  case "done": {
50
- const mark = event.cause === "clean" ? green("○ clean") : red(`○ ${event.cause}`);
60
+ const mark = event.cause === "clean" || event.cause === "awaiting-input"
61
+ ? event.cause === "awaiting-input"
62
+ ? blue("○ awaiting input")
63
+ : green("○ clean")
64
+ : red(`○ ${event.cause}`);
51
65
  const tail = event.failure ? ` ${event.failure.class}: ${event.failure.message}` : "";
52
66
  process.stdout.write(`\n ${mark} (exit ${event.exitCode ?? "none"})${tail}\n`);
53
67
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,GAAG,gBAAuB,MAAM,WAAW,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CA4c9E,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,GAAG,gBAAuB,MAAM,WAAW,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAkf9E,CAAC"}
package/dist/cli/run.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { nodeRunnerDeps } from "../execution/node-deps.js";
2
2
  import { KILL_GRACE_MS, redactArgv, streamTurn } from "../execution/stream-turn.js";
3
3
  import { buildLaunchArgv, buildResumeArgv } from "../interpretation/argv.js";
4
+ import { composeEscalatedPrompt } from "../interpretation/question.js";
4
5
  import { ArgvRefusalError } from "../interpretation/refusal.js";
5
- import { FloorExceededError, resolveEffectiveOptions, } from "../interpretation/resolve-options.js";
6
+ import { FloorExceededError, resolveEffectiveOptions } from "../interpretation/resolve-options.js";
6
7
  import { recognizeNativeSpelling, supportedBy } from "../interpretation/support.js";
7
8
  import { defaultDescriptors } from "../knowledge/overrides.js";
8
9
  import { parseRunExtra, parseTurnOptions, resolvePromptAsync } from "./args.js";
@@ -195,12 +196,15 @@ export const run = async (harnessName, rawArgs) => {
195
196
  }
196
197
  // Defaults profile + user config: LAUNCH-ONLY. A resumed session keeps
197
198
  // its own settings; the resolver never runs on resume paths.
198
- let resolvedProvenance = [];
199
- let resolvedUnrenderable = [];
200
199
  let effectiveTurnOpts = turnOpts;
201
200
  const resolvedTiers = {};
202
- if (extra.resume === undefined) {
203
- const tiers = resolvedTiers;
201
+ // Config files load on EVERY run, launch or resume: the tiers feed the
202
+ // defaults profile on launch, and issue #41's escalateQuestions (a
203
+ // behavior instruction, not a turn option) resolves from them on resume
204
+ // too - otherwise a no-escalate session would flip its preamble on the
205
+ // answer turn. Resolution of TURN options stays launch-only.
206
+ const tiers = resolvedTiers;
207
+ {
204
208
  const { loadUserConfig, loadProjectConfig, ConfigError } = await import("./config.js");
205
209
  try {
206
210
  const loaded = loadUserConfig();
@@ -218,6 +222,8 @@ export const run = async (harnessName, rawArgs) => {
218
222
  }
219
223
  throw configErr;
220
224
  }
225
+ }
226
+ if (extra.resume === undefined) {
221
227
  let resolved;
222
228
  try {
223
229
  resolved = resolveEffectiveOptions(h, { ...turnOpts, prompt }, tiers);
@@ -231,8 +237,6 @@ export const run = async (harnessName, rawArgs) => {
231
237
  throw resErr;
232
238
  }
233
239
  const { provenance, unrenderable } = resolved;
234
- resolvedProvenance = provenance;
235
- resolvedUnrenderable = unrenderable;
236
240
  const { prompt: _p, ...rest } = resolved.options;
237
241
  effectiveTurnOpts = rest;
238
242
  // Provenance is diagnostic data like the spawn line - stderr in BOTH
@@ -246,12 +250,36 @@ export const run = async (harnessName, rawArgs) => {
246
250
  }
247
251
  }
248
252
  }
253
+ // issue #41: question-escalation precedence arg > project > user >
254
+ // default-true (a behavior instruction, not a turn option - the
255
+ // default lives OUTSIDE the profile on purpose, per the spec). It
256
+ // applies on LAUNCH AND RESUME alike: it shapes each turn's prompt
257
+ // preamble and event stream, never a session setting.
258
+ const projectEscalate = resolvedTiers.project
259
+ ?.escalateQuestions;
260
+ const userEscalate = resolvedTiers.user
261
+ ?.escalateQuestions;
262
+ const escalateQuestions = turnOpts.escalateQuestions !== undefined
263
+ ? turnOpts.escalateQuestions
264
+ : projectEscalate !== undefined
265
+ ? projectEscalate
266
+ : userEscalate !== undefined
267
+ ? userEscalate
268
+ : true;
269
+ const escalateTier = turnOpts.escalateQuestions !== undefined
270
+ ? "arg"
271
+ : projectEscalate !== undefined
272
+ ? "project-config"
273
+ : userEscalate !== undefined
274
+ ? "user-config"
275
+ : "default";
249
276
  const fullOpts = {
250
277
  ...effectiveTurnOpts,
251
- prompt,
278
+ prompt: composeEscalatedPrompt(prompt, escalateQuestions),
252
279
  cwd: extra.cwd,
253
280
  env: extra.env,
254
281
  resume: extra.resume,
282
+ escalateQuestions,
255
283
  ...(passthrough.length > 0 ? { passthrough } : {}),
256
284
  ...(isExplicit ? { __explicitPrompt: true } : {}),
257
285
  };
@@ -260,21 +288,24 @@ export const run = async (harnessName, rawArgs) => {
260
288
  let preArgv = null;
261
289
  try {
262
290
  if (fullOpts.resume) {
263
- // Resume never carries profile/config resolution (launch-only rule),
264
- // so it builds from the raw turn options.
291
+ // Resume never carries TURN-option profile resolution (launch-only
292
+ // rule), so it builds from the raw turn options; hcn-owned behavior
293
+ // (escalateQuestions preamble, timeout budget) still applies.
265
294
  preArgv = buildResumeArgv(h, {
266
295
  ...turnOpts,
267
- prompt,
296
+ prompt: fullOpts.prompt,
268
297
  sessionId: fullOpts.resume,
269
298
  __explicitPrompt: isExplicit,
270
299
  });
271
300
  }
272
301
  else {
273
302
  // Launch builds from the RESOLVED options so the spawn line and the
274
- // real argv agree.
303
+ // real argv agree. The prompt here is the COMPOSED one (escalation
304
+ // preamble included) - redactArgv masks by position, so an argv
305
+ // built from the raw prompt would leak it into the spawn line.
275
306
  preArgv = buildLaunchArgv(h, {
276
307
  ...effectiveTurnOpts,
277
- prompt,
308
+ prompt: fullOpts.prompt,
278
309
  __explicitPrompt: isExplicit,
279
310
  });
280
311
  const claudeSkillTokens = effectiveTurnOpts
@@ -303,7 +334,7 @@ export const run = async (harnessName, rawArgs) => {
303
334
  // preArgv is already set via validated build; no extra handling needed for explicit prompt bypass
304
335
  // since buildLaunchArgv now respects __explicitPrompt.
305
336
  if (preArgv) {
306
- const redacted = redactArgv(preArgv, prompt);
337
+ const redacted = redactArgv(preArgv, fullOpts.prompt);
307
338
  if (!wantJson) {
308
339
  process.stderr.write(`spawn: ${redacted.join(" ")}\n`);
309
340
  }
@@ -311,6 +342,9 @@ export const run = async (harnessName, rawArgs) => {
311
342
  // In JSON mode, diagnostics to stderr only
312
343
  process.stderr.write(`spawn: ${redacted.join(" ")}\n`);
313
344
  }
345
+ // issue #41: the escalation mode rides stderr as provenance, like
346
+ // every other resolution the turn depends on.
347
+ process.stderr.write(`provenance: escalateQuestions = ${escalateQuestions} (${escalateTier})\n`);
314
348
  }
315
349
  // Delete HERDR_ENV before spawn
316
350
  delete process.env.HERDR_ENV;
@@ -383,7 +417,7 @@ export const run = async (harnessName, rawArgs) => {
383
417
  renderEvent(event, state);
384
418
  }
385
419
  if (event.kind === "done") {
386
- if (event.cause === "clean")
420
+ if (event.cause === "clean" || event.cause === "awaiting-input")
387
421
  exitCode = 0;
388
422
  else
389
423
  exitCode = 1;