@jaggerxtrm/specialists 3.16.0 → 3.18.0

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 (257) hide show
  1. package/README.md +268 -132
  2. package/config/mandatory-rules/json-only-final-output.md +13 -0
  3. package/config/mandatory-rules/research-tool-routing.md +4 -0
  4. package/config/mandatory-rules/service-skills-diff-scan-mandatory.md +26 -0
  5. package/config/mandatory-rules/service-skills-gitnexus-triage.md +5 -0
  6. package/config/mandatory-rules/test-runner-execution-scope.md +1 -1
  7. package/config/skills/setup-specialists/SKILL.md +556 -0
  8. package/config/skills/specialists-creator/SKILL.md +160 -5
  9. package/config/skills/specialists-creator/scripts/audit-spec-uniformity.mjs +1 -1
  10. package/config/skills/using-specialists-auto/SKILL.md +1 -1
  11. package/config/skills/using-specialists-v2/SKILL.md +7 -7
  12. package/config/skills/using-specialists-v3/SKILL.md +223 -147
  13. package/config/specialists/bare.specialist.json +3 -3
  14. package/config/specialists/changelog-drafter.specialist.json +9 -6
  15. package/config/specialists/changelog-keeper.specialist.json +10 -7
  16. package/config/specialists/debugger.specialist.json +8 -6
  17. package/config/specialists/executor.specialist.json +9 -7
  18. package/config/specialists/explorer.specialist.json +8 -6
  19. package/config/specialists/memory-processor.specialist.json +7 -5
  20. package/config/specialists/node-coordinator.specialist.json +7 -5
  21. package/config/specialists/obligations-scanner.specialist.json +149 -0
  22. package/config/specialists/overthinker.specialist.json +7 -5
  23. package/config/specialists/planner.specialist.json +8 -6
  24. package/config/specialists/quant-methodologist.specialist.json +145 -0
  25. package/config/specialists/quant-researcher.specialist.json +144 -0
  26. package/config/specialists/researcher.specialist.json +14 -9
  27. package/config/specialists/reviewer.specialist.json +11 -9
  28. package/config/specialists/seconder.specialist.json +170 -0
  29. package/config/specialists/security-auditor.specialist.json +6 -4
  30. package/config/specialists/service-skills-sync.specialist.json +93 -0
  31. package/config/specialists/specialists-creator.specialist.json +9 -7
  32. package/config/specialists/sync-docs.specialist.json +6 -4
  33. package/config/specialists/test-engineer.specialist.json +134 -0
  34. package/config/specialists/test-runner.specialist.json +11 -9
  35. package/config/specialists/transcriber.specialist.json +59 -0
  36. package/config/specialists/xt-merge.specialist.json +7 -5
  37. package/dist/asset-contract.json +39 -8
  38. package/dist/index.js +37083 -26912
  39. package/dist/lib.js +9850 -6147
  40. package/dist/types/cli/console/components.d.ts +83 -0
  41. package/dist/types/cli/console/components.d.ts.map +1 -0
  42. package/dist/types/cli/console/config-source.d.ts +58 -0
  43. package/dist/types/cli/console/config-source.d.ts.map +1 -0
  44. package/dist/types/cli/console/forensic.d.ts +11 -0
  45. package/dist/types/cli/console/forensic.d.ts.map +1 -0
  46. package/dist/types/cli/console/git.d.ts +28 -0
  47. package/dist/types/cli/console/git.d.ts.map +1 -0
  48. package/dist/types/cli/console/help.d.ts +2 -0
  49. package/dist/types/cli/console/help.d.ts.map +1 -0
  50. package/dist/types/cli/console/log.d.ts +13 -0
  51. package/dist/types/cli/console/log.d.ts.map +1 -0
  52. package/dist/types/cli/console/repo-config.d.ts +26 -0
  53. package/dist/types/cli/console/repo-config.d.ts.map +1 -0
  54. package/dist/types/cli/console/repo-discovery.d.ts +12 -0
  55. package/dist/types/cli/console/repo-discovery.d.ts.map +1 -0
  56. package/dist/types/cli/console/runtime.d.ts +12 -0
  57. package/dist/types/cli/console/runtime.d.ts.map +1 -0
  58. package/dist/types/cli/console/subscribe-prototype.d.ts +18 -0
  59. package/dist/types/cli/console/subscribe-prototype.d.ts.map +1 -0
  60. package/dist/types/cli/console/theme.d.ts +91 -0
  61. package/dist/types/cli/console/theme.d.ts.map +1 -0
  62. package/dist/types/cli/console/types.d.ts +231 -0
  63. package/dist/types/cli/console/types.d.ts.map +1 -0
  64. package/dist/types/cli/console/view-model.d.ts +252 -0
  65. package/dist/types/cli/console/view-model.d.ts.map +1 -0
  66. package/dist/types/cli/console.d.ts +2 -0
  67. package/dist/types/cli/console.d.ts.map +1 -0
  68. package/dist/types/cli/db.d.ts.map +1 -1
  69. package/dist/types/cli/doctor.d.ts.map +1 -1
  70. package/dist/types/cli/edit.d.ts.map +1 -1
  71. package/dist/types/cli/epic.d.ts.map +1 -1
  72. package/dist/types/cli/feed.d.ts.map +1 -1
  73. package/dist/types/cli/forensic.d.ts +2 -0
  74. package/dist/types/cli/forensic.d.ts.map +1 -0
  75. package/dist/types/cli/format-helpers.d.ts +4 -2
  76. package/dist/types/cli/format-helpers.d.ts.map +1 -1
  77. package/dist/types/cli/help.d.ts.map +1 -1
  78. package/dist/types/cli/init.d.ts +10 -0
  79. package/dist/types/cli/init.d.ts.map +1 -1
  80. package/dist/types/cli/list.d.ts.map +1 -1
  81. package/dist/types/cli/log.d.ts +2 -0
  82. package/dist/types/cli/log.d.ts.map +1 -0
  83. package/dist/types/cli/metrics.d.ts +2 -0
  84. package/dist/types/cli/metrics.d.ts.map +1 -0
  85. package/dist/types/cli/ps.d.ts.map +1 -1
  86. package/dist/types/cli/result.d.ts.map +1 -1
  87. package/dist/types/cli/resume.d.ts.map +1 -1
  88. package/dist/types/cli/run.d.ts +1 -0
  89. package/dist/types/cli/run.d.ts.map +1 -1
  90. package/dist/types/cli/script.d.ts +3 -0
  91. package/dist/types/cli/script.d.ts.map +1 -1
  92. package/dist/types/cli/serve.d.ts.map +1 -1
  93. package/dist/types/cli/setup.d.ts +19 -1
  94. package/dist/types/cli/setup.d.ts.map +1 -1
  95. package/dist/types/cli/status.d.ts.map +1 -1
  96. package/dist/types/cli/steer.d.ts.map +1 -1
  97. package/dist/types/cli/version-check.d.ts +1 -0
  98. package/dist/types/cli/version-check.d.ts.map +1 -1
  99. package/dist/types/index.d.ts +1 -1
  100. package/dist/types/pi/session.d.ts +11 -1
  101. package/dist/types/pi/session.d.ts.map +1 -1
  102. package/dist/types/server.d.ts +15 -0
  103. package/dist/types/server.d.ts.map +1 -1
  104. package/dist/types/specialist/benchmarks.d.ts +37 -0
  105. package/dist/types/specialist/benchmarks.d.ts.map +1 -0
  106. package/dist/types/specialist/chain-identity.d.ts +7 -1
  107. package/dist/types/specialist/chain-identity.d.ts.map +1 -1
  108. package/dist/types/specialist/control.d.ts.map +1 -1
  109. package/dist/types/specialist/forensic-events.d.ts +138 -0
  110. package/dist/types/specialist/forensic-events.d.ts.map +1 -0
  111. package/dist/types/specialist/forensic-renderer.d.ts +34 -0
  112. package/dist/types/specialist/forensic-renderer.d.ts.map +1 -0
  113. package/dist/types/specialist/git-diff-evidence.d.ts +28 -0
  114. package/dist/types/specialist/git-diff-evidence.d.ts.map +1 -0
  115. package/dist/types/specialist/global-config.d.ts +389 -0
  116. package/dist/types/specialist/global-config.d.ts.map +1 -0
  117. package/dist/types/specialist/job-file-output.d.ts +2 -0
  118. package/dist/types/specialist/job-file-output.d.ts.map +1 -1
  119. package/dist/types/specialist/launch.d.ts +1 -0
  120. package/dist/types/specialist/launch.d.ts.map +1 -1
  121. package/dist/types/specialist/live-aggregates.d.ts +46 -0
  122. package/dist/types/specialist/live-aggregates.d.ts.map +1 -0
  123. package/dist/types/specialist/loader.d.ts +50 -1
  124. package/dist/types/specialist/loader.d.ts.map +1 -1
  125. package/dist/types/specialist/model-chain.d.ts +7 -0
  126. package/dist/types/specialist/model-chain.d.ts.map +1 -0
  127. package/dist/types/specialist/model-probes.d.ts +28 -0
  128. package/dist/types/specialist/model-probes.d.ts.map +1 -0
  129. package/dist/types/specialist/node-contract.d.ts +18 -18
  130. package/dist/types/specialist/node-supervisor.d.ts.map +1 -1
  131. package/dist/types/specialist/observability-db.d.ts +1 -1
  132. package/dist/types/specialist/observability-db.d.ts.map +1 -1
  133. package/dist/types/specialist/observability-sqlite.d.ts +25 -0
  134. package/dist/types/specialist/observability-sqlite.d.ts.map +1 -1
  135. package/dist/types/specialist/preset-resolver.d.ts +56 -0
  136. package/dist/types/specialist/preset-resolver.d.ts.map +1 -0
  137. package/dist/types/specialist/prometheus-projection.d.ts +25 -0
  138. package/dist/types/specialist/prometheus-projection.d.ts.map +1 -0
  139. package/dist/types/specialist/runner.d.ts +29 -1
  140. package/dist/types/specialist/runner.d.ts.map +1 -1
  141. package/dist/types/specialist/schema.d.ts +181 -63
  142. package/dist/types/specialist/schema.d.ts.map +1 -1
  143. package/dist/types/specialist/script-runner.d.ts +5 -1
  144. package/dist/types/specialist/script-runner.d.ts.map +1 -1
  145. package/dist/types/specialist/snapshot-diff.d.ts +8 -0
  146. package/dist/types/specialist/snapshot-diff.d.ts.map +1 -0
  147. package/dist/types/specialist/source-queue.d.ts +13 -0
  148. package/dist/types/specialist/source-queue.d.ts.map +1 -0
  149. package/dist/types/specialist/supervisor.d.ts +39 -2
  150. package/dist/types/specialist/supervisor.d.ts.map +1 -1
  151. package/dist/types/specialist/timeline-events.d.ts +88 -2
  152. package/dist/types/specialist/timeline-events.d.ts.map +1 -1
  153. package/dist/types/tools/specialist/resume_specialist.tool.d.ts +4 -4
  154. package/dist/types/tools/specialist/specialist_status.tool.d.ts +1 -1
  155. package/dist/types/tools/specialist/steer_specialist.tool.d.ts +4 -4
  156. package/dist/types/tools/specialist/use_specialist.tool.d.ts +16 -16
  157. package/docs/ARCHITECTURE.md +1176 -0
  158. package/docs/TODO.md +9 -0
  159. package/docs/architecture.md +11 -0
  160. package/docs/archive/2026-03-13-bd-decision-context-template-plan.md +96 -0
  161. package/docs/archive/AGENT-HANDOFF.md +351 -0
  162. package/docs/archive/PARITY-ANALYSIS.md +296 -0
  163. package/docs/archive/SPECIALISTS_REFACTOR.md.md +30 -0
  164. package/docs/archive/cc-programmatic.md +216 -0
  165. package/docs/archive/claude-agent-sdk.md +594 -0
  166. package/docs/archive/decision-specialist-directory.md +41 -0
  167. package/docs/archive/discoveries.md +148 -0
  168. package/docs/archive/executor-benchmark-protocol.md +198 -0
  169. package/docs/archive/future-features.md +66 -0
  170. package/docs/archive/gzrx-completion-critique.md +183 -0
  171. package/docs/archive/gzrx-research-notes.md +401 -0
  172. package/docs/archive/gzrx-tool-catalog.md +760 -0
  173. package/docs/archive/iron-review-hardening-qa-chain-substrate.md +322 -0
  174. package/docs/archive/iron-review-hardening.html +1004 -0
  175. package/docs/archive/issuetracking.md +312 -0
  176. package/docs/archive/qa-v3.0.2.md +220 -0
  177. package/docs/archive/restructure.md +231 -0
  178. package/docs/archive/script-specialists.md +1254 -0
  179. package/docs/archive/spec-v3.md +792 -0
  180. package/docs/archive/specialist-stats.md +127 -0
  181. package/docs/archive/specialists-friction-audit.md +1347 -0
  182. package/docs/archive/specialists-runtime-critique.md +170 -0
  183. package/docs/archive/specialists-service-evaluation.md +713 -0
  184. package/docs/archive/specialists-substrate-alignment.md +255 -0
  185. package/docs/archive/substrate-review.md +1288 -0
  186. package/docs/archive/test-writer-specialist.md +254 -0
  187. package/docs/archive/using-specialists-v3-improvements-2026-05-09.md +600 -0
  188. package/docs/archive/xtrm-specialists-analysis.md +314 -0
  189. package/docs/authoring.md +701 -0
  190. package/docs/background-jobs.md +203 -0
  191. package/docs/bare-specialists.md +83 -0
  192. package/docs/benchmarks/executor-benchmark-runner.md +66 -0
  193. package/docs/bootstrap.md +161 -0
  194. package/docs/cli-reference.md +1645 -0
  195. package/docs/deploying-alongside.md +155 -0
  196. package/docs/design/README.md +36 -0
  197. package/docs/design/darth-feedor-migration.md +290 -0
  198. package/docs/design/roadmap/README.md +32 -0
  199. package/docs/design/roadmap/chain-templates/README.md +146 -0
  200. package/docs/design/roadmap/chain-templates/code-quick.formula.json +27 -0
  201. package/docs/design/roadmap/chain-templates/code-standard.formula.json +126 -0
  202. package/docs/design/roadmap/chain-templates/code-with-advisors.formula.json +128 -0
  203. package/docs/design/roadmap/chain-templates/code-with-tests.formula.json +76 -0
  204. package/docs/design/roadmap/chain-templates/debug.formula.json +128 -0
  205. package/docs/design/roadmap/chain-templates/doc-sync.formula.json +28 -0
  206. package/docs/design/roadmap/chain-templates/memory-hygiene.formula.json +27 -0
  207. package/docs/design/roadmap/chain-templates/planning.formula.json +27 -0
  208. package/docs/design/roadmap/chain-templates/premortem.formula.json +26 -0
  209. package/docs/design/roadmap/chain-templates/release-prep.formula.json +36 -0
  210. package/docs/design/roadmap/chain-templates/research-only.formula.json +28 -0
  211. package/docs/design/roadmap/chain-templates/restitch.formula.json +125 -0
  212. package/docs/design/roadmap/chain-templates/security-deep.formula.json +161 -0
  213. package/docs/design/roadmap/chain-templates/test-only.formula.json +52 -0
  214. package/docs/design/roadmap/chain-templates/triage.formula.json +35 -0
  215. package/docs/design/roadmap/history/handoff-from-substrate-design.md +87 -0
  216. package/docs/design/roadmap/history/substrate-reconciliation.md +105 -0
  217. package/docs/design/roadmap/specialists-roadmap.md +1193 -0
  218. package/docs/design/sp-console-subscribe-via-materializer.md +231 -0
  219. package/docs/design/sp-console-tui-mock-v2.html +293 -0
  220. package/docs/design/sp-console-tui-mock.html +120 -0
  221. package/docs/design/sp-console-tui.md +340 -0
  222. package/docs/design/specialist-agentops-suite.md +323 -0
  223. package/docs/design/substrate/channels.md +14 -0
  224. package/docs/design/substrate/devops-platform-engineering-prd.md +446 -0
  225. package/docs/design/substrate/html-design-example.md +339 -0
  226. package/docs/design/xtrm-tiers-architecture.svg +132 -0
  227. package/docs/devops/dependency-verdict-materialization.md +46 -0
  228. package/docs/epic-readiness.md +75 -0
  229. package/docs/examples/mercury-atomic-summarizer.specialist.json +26 -0
  230. package/docs/examples/smoke-echo-text-expected-keys.specialist.json +25 -0
  231. package/docs/examples/smoke-echo.specialist.json +25 -0
  232. package/docs/features.md +1577 -0
  233. package/docs/hooks.md +81 -0
  234. package/docs/installation.md +142 -0
  235. package/docs/manifest.md +184 -0
  236. package/docs/mcp-servers.md +73 -0
  237. package/docs/mcp-tools.md +71 -0
  238. package/docs/nodes.md +231 -0
  239. package/docs/observability-metrics.md +152 -0
  240. package/docs/operator/sp-console-v2-walkthrough.md +410 -0
  241. package/docs/overrides-guide.md +306 -0
  242. package/docs/pi-rpc-boundary.md +118 -0
  243. package/docs/pi-session.md +195 -0
  244. package/docs/release.md +22 -0
  245. package/docs/skills.md +132 -0
  246. package/docs/specialists/handoff-schema.md +181 -0
  247. package/docs/specialists-catalog.md +99 -0
  248. package/docs/specialists-service-install.md +226 -0
  249. package/docs/specialists-service.md +363 -0
  250. package/docs/surface-ownership.md +138 -0
  251. package/docs/upgrade-notes/kan-90-global-user-config.md +114 -0
  252. package/docs/upgrade-notes/kan-91-expanded-overrides.md +261 -0
  253. package/docs/workflow.md +114 -0
  254. package/docs/worktree.md +71 -0
  255. package/docs/worktrees.md +309 -0
  256. package/package.json +17 -12
  257. package/config/specialists/code-sanity.specialist.json +0 -108
@@ -25,8 +25,9 @@ export declare const SpecialistSchema: z.ZodObject<{
25
25
  }, z.ZodTypeAny, "passthrough">>;
26
26
  execution: z.ZodObject<{
27
27
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
28
- model: z.ZodString;
29
- fallback_model: z.ZodOptional<z.ZodString>;
28
+ model: z.ZodNullable<z.ZodString>;
29
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
30
31
  timeout_ms: z.ZodDefault<z.ZodNumber>;
31
32
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
32
33
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -68,8 +69,9 @@ export declare const SpecialistSchema: z.ZodObject<{
68
69
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
69
70
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
70
71
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
71
- model: z.ZodString;
72
- fallback_model: z.ZodOptional<z.ZodString>;
72
+ model: z.ZodNullable<z.ZodString>;
73
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
74
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
73
75
  timeout_ms: z.ZodDefault<z.ZodNumber>;
74
76
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
75
77
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -111,8 +113,9 @@ export declare const SpecialistSchema: z.ZodObject<{
111
113
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
112
114
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
113
115
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
114
- model: z.ZodString;
115
- fallback_model: z.ZodOptional<z.ZodString>;
116
+ model: z.ZodNullable<z.ZodString>;
117
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
118
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
116
119
  timeout_ms: z.ZodDefault<z.ZodNumber>;
117
120
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
118
121
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -263,6 +266,8 @@ export declare const SpecialistSchema: z.ZodObject<{
263
266
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
264
267
  /** ms in waiting state before emitting warning (default 3_600_000) */
265
268
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
269
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
270
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
266
271
  /** ms a single tool execution may run before warning (default 120_000) */
267
272
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
268
273
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -272,6 +277,8 @@ export declare const SpecialistSchema: z.ZodObject<{
272
277
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
273
278
  /** ms in waiting state before emitting warning (default 3_600_000) */
274
279
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
280
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
281
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
275
282
  /** ms a single tool execution may run before warning (default 120_000) */
276
283
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
277
284
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -281,6 +288,8 @@ export declare const SpecialistSchema: z.ZodObject<{
281
288
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
282
289
  /** ms in waiting state before emitting warning (default 3_600_000) */
283
290
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
291
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
292
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
284
293
  /** ms a single tool execution may run before warning (default 120_000) */
285
294
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
286
295
  }, z.ZodTypeAny, "passthrough">>>;
@@ -342,8 +351,9 @@ export declare const SpecialistSchema: z.ZodObject<{
342
351
  when: z.ZodOptional<z.ZodString>;
343
352
  }, z.ZodTypeAny, "passthrough">>, "many">>;
344
353
  }, z.ZodTypeAny, "passthrough">>>;
345
- /** Write the final output to this file path after the session completes */
354
+ /** Write handoff output to this file path via unified job-file writer */
346
355
  output_file: z.ZodOptional<z.ZodString>;
356
+ notes_mode: z.ZodDefault<z.ZodEnum<["full-trail", "final-only"]>>;
347
357
  beads_integration: z.ZodDefault<z.ZodEnum<["auto", "always", "never"]>>;
348
358
  beads_write_notes: z.ZodDefault<z.ZodBoolean>;
349
359
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -371,8 +381,9 @@ export declare const SpecialistSchema: z.ZodObject<{
371
381
  }, z.ZodTypeAny, "passthrough">>;
372
382
  execution: z.ZodObject<{
373
383
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
374
- model: z.ZodString;
375
- fallback_model: z.ZodOptional<z.ZodString>;
384
+ model: z.ZodNullable<z.ZodString>;
385
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
386
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
376
387
  timeout_ms: z.ZodDefault<z.ZodNumber>;
377
388
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
378
389
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -414,8 +425,9 @@ export declare const SpecialistSchema: z.ZodObject<{
414
425
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
415
426
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
416
427
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
417
- model: z.ZodString;
418
- fallback_model: z.ZodOptional<z.ZodString>;
428
+ model: z.ZodNullable<z.ZodString>;
429
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
430
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
419
431
  timeout_ms: z.ZodDefault<z.ZodNumber>;
420
432
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
421
433
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -457,8 +469,9 @@ export declare const SpecialistSchema: z.ZodObject<{
457
469
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
458
470
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
459
471
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
460
- model: z.ZodString;
461
- fallback_model: z.ZodOptional<z.ZodString>;
472
+ model: z.ZodNullable<z.ZodString>;
473
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
474
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
462
475
  timeout_ms: z.ZodDefault<z.ZodNumber>;
463
476
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
464
477
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -609,6 +622,8 @@ export declare const SpecialistSchema: z.ZodObject<{
609
622
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
610
623
  /** ms in waiting state before emitting warning (default 3_600_000) */
611
624
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
625
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
626
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
612
627
  /** ms a single tool execution may run before warning (default 120_000) */
613
628
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
614
629
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -618,6 +633,8 @@ export declare const SpecialistSchema: z.ZodObject<{
618
633
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
619
634
  /** ms in waiting state before emitting warning (default 3_600_000) */
620
635
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
636
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
637
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
621
638
  /** ms a single tool execution may run before warning (default 120_000) */
622
639
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
623
640
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -627,6 +644,8 @@ export declare const SpecialistSchema: z.ZodObject<{
627
644
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
628
645
  /** ms in waiting state before emitting warning (default 3_600_000) */
629
646
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
647
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
648
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
630
649
  /** ms a single tool execution may run before warning (default 120_000) */
631
650
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
632
651
  }, z.ZodTypeAny, "passthrough">>>;
@@ -688,8 +707,9 @@ export declare const SpecialistSchema: z.ZodObject<{
688
707
  when: z.ZodOptional<z.ZodString>;
689
708
  }, z.ZodTypeAny, "passthrough">>, "many">>;
690
709
  }, z.ZodTypeAny, "passthrough">>>;
691
- /** Write the final output to this file path after the session completes */
710
+ /** Write handoff output to this file path via unified job-file writer */
692
711
  output_file: z.ZodOptional<z.ZodString>;
712
+ notes_mode: z.ZodDefault<z.ZodEnum<["full-trail", "final-only"]>>;
693
713
  beads_integration: z.ZodDefault<z.ZodEnum<["auto", "always", "never"]>>;
694
714
  beads_write_notes: z.ZodDefault<z.ZodBoolean>;
695
715
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -717,8 +737,9 @@ export declare const SpecialistSchema: z.ZodObject<{
717
737
  }, z.ZodTypeAny, "passthrough">>;
718
738
  execution: z.ZodObject<{
719
739
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
720
- model: z.ZodString;
721
- fallback_model: z.ZodOptional<z.ZodString>;
740
+ model: z.ZodNullable<z.ZodString>;
741
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
742
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
722
743
  timeout_ms: z.ZodDefault<z.ZodNumber>;
723
744
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
724
745
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -760,8 +781,9 @@ export declare const SpecialistSchema: z.ZodObject<{
760
781
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
761
782
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
762
783
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
763
- model: z.ZodString;
764
- fallback_model: z.ZodOptional<z.ZodString>;
784
+ model: z.ZodNullable<z.ZodString>;
785
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
786
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
765
787
  timeout_ms: z.ZodDefault<z.ZodNumber>;
766
788
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
767
789
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -803,8 +825,9 @@ export declare const SpecialistSchema: z.ZodObject<{
803
825
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
804
826
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
805
827
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
806
- model: z.ZodString;
807
- fallback_model: z.ZodOptional<z.ZodString>;
828
+ model: z.ZodNullable<z.ZodString>;
829
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
830
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
808
831
  timeout_ms: z.ZodDefault<z.ZodNumber>;
809
832
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
810
833
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -955,6 +978,8 @@ export declare const SpecialistSchema: z.ZodObject<{
955
978
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
956
979
  /** ms in waiting state before emitting warning (default 3_600_000) */
957
980
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
981
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
982
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
958
983
  /** ms a single tool execution may run before warning (default 120_000) */
959
984
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
960
985
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -964,6 +989,8 @@ export declare const SpecialistSchema: z.ZodObject<{
964
989
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
965
990
  /** ms in waiting state before emitting warning (default 3_600_000) */
966
991
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
992
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
993
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
967
994
  /** ms a single tool execution may run before warning (default 120_000) */
968
995
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
969
996
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -973,6 +1000,8 @@ export declare const SpecialistSchema: z.ZodObject<{
973
1000
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
974
1001
  /** ms in waiting state before emitting warning (default 3_600_000) */
975
1002
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1003
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1004
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
976
1005
  /** ms a single tool execution may run before warning (default 120_000) */
977
1006
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
978
1007
  }, z.ZodTypeAny, "passthrough">>>;
@@ -1034,8 +1063,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1034
1063
  when: z.ZodOptional<z.ZodString>;
1035
1064
  }, z.ZodTypeAny, "passthrough">>, "many">>;
1036
1065
  }, z.ZodTypeAny, "passthrough">>>;
1037
- /** Write the final output to this file path after the session completes */
1066
+ /** Write handoff output to this file path via unified job-file writer */
1038
1067
  output_file: z.ZodOptional<z.ZodString>;
1068
+ notes_mode: z.ZodDefault<z.ZodEnum<["full-trail", "final-only"]>>;
1039
1069
  beads_integration: z.ZodDefault<z.ZodEnum<["auto", "always", "never"]>>;
1040
1070
  beads_write_notes: z.ZodDefault<z.ZodBoolean>;
1041
1071
  }, z.ZodTypeAny, "passthrough">>;
@@ -1065,8 +1095,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1065
1095
  }, z.ZodTypeAny, "passthrough">>;
1066
1096
  execution: z.ZodObject<{
1067
1097
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1068
- model: z.ZodString;
1069
- fallback_model: z.ZodOptional<z.ZodString>;
1098
+ model: z.ZodNullable<z.ZodString>;
1099
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1100
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1070
1101
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1071
1102
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1072
1103
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1108,8 +1139,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1108
1139
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1109
1140
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1110
1141
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1111
- model: z.ZodString;
1112
- fallback_model: z.ZodOptional<z.ZodString>;
1142
+ model: z.ZodNullable<z.ZodString>;
1143
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1144
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1113
1145
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1114
1146
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1115
1147
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1151,8 +1183,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1151
1183
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1152
1184
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1153
1185
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1154
- model: z.ZodString;
1155
- fallback_model: z.ZodOptional<z.ZodString>;
1186
+ model: z.ZodNullable<z.ZodString>;
1187
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1188
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1156
1189
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1157
1190
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1158
1191
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1303,6 +1336,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1303
1336
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1304
1337
  /** ms in waiting state before emitting warning (default 3_600_000) */
1305
1338
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1339
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1340
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1306
1341
  /** ms a single tool execution may run before warning (default 120_000) */
1307
1342
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1308
1343
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -1312,6 +1347,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1312
1347
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1313
1348
  /** ms in waiting state before emitting warning (default 3_600_000) */
1314
1349
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1350
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1351
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1315
1352
  /** ms a single tool execution may run before warning (default 120_000) */
1316
1353
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1317
1354
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -1321,6 +1358,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1321
1358
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1322
1359
  /** ms in waiting state before emitting warning (default 3_600_000) */
1323
1360
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1361
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1362
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1324
1363
  /** ms a single tool execution may run before warning (default 120_000) */
1325
1364
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1326
1365
  }, z.ZodTypeAny, "passthrough">>>;
@@ -1382,8 +1421,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1382
1421
  when: z.ZodOptional<z.ZodString>;
1383
1422
  }, z.ZodTypeAny, "passthrough">>, "many">>;
1384
1423
  }, z.ZodTypeAny, "passthrough">>>;
1385
- /** Write the final output to this file path after the session completes */
1424
+ /** Write handoff output to this file path via unified job-file writer */
1386
1425
  output_file: z.ZodOptional<z.ZodString>;
1426
+ notes_mode: z.ZodDefault<z.ZodEnum<["full-trail", "final-only"]>>;
1387
1427
  beads_integration: z.ZodDefault<z.ZodEnum<["auto", "always", "never"]>>;
1388
1428
  beads_write_notes: z.ZodDefault<z.ZodBoolean>;
1389
1429
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -1411,8 +1451,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1411
1451
  }, z.ZodTypeAny, "passthrough">>;
1412
1452
  execution: z.ZodObject<{
1413
1453
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1414
- model: z.ZodString;
1415
- fallback_model: z.ZodOptional<z.ZodString>;
1454
+ model: z.ZodNullable<z.ZodString>;
1455
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1456
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1416
1457
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1417
1458
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1418
1459
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1454,8 +1495,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1454
1495
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1455
1496
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1456
1497
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1457
- model: z.ZodString;
1458
- fallback_model: z.ZodOptional<z.ZodString>;
1498
+ model: z.ZodNullable<z.ZodString>;
1499
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1500
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1459
1501
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1460
1502
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1461
1503
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1497,8 +1539,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1497
1539
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1498
1540
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1499
1541
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1500
- model: z.ZodString;
1501
- fallback_model: z.ZodOptional<z.ZodString>;
1542
+ model: z.ZodNullable<z.ZodString>;
1543
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1544
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1502
1545
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1503
1546
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1504
1547
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1649,6 +1692,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1649
1692
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1650
1693
  /** ms in waiting state before emitting warning (default 3_600_000) */
1651
1694
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1695
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1696
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1652
1697
  /** ms a single tool execution may run before warning (default 120_000) */
1653
1698
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1654
1699
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -1658,6 +1703,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1658
1703
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1659
1704
  /** ms in waiting state before emitting warning (default 3_600_000) */
1660
1705
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1706
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1707
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1661
1708
  /** ms a single tool execution may run before warning (default 120_000) */
1662
1709
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1663
1710
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -1667,6 +1714,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1667
1714
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1668
1715
  /** ms in waiting state before emitting warning (default 3_600_000) */
1669
1716
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
1717
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
1718
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1670
1719
  /** ms a single tool execution may run before warning (default 120_000) */
1671
1720
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
1672
1721
  }, z.ZodTypeAny, "passthrough">>>;
@@ -1728,8 +1777,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1728
1777
  when: z.ZodOptional<z.ZodString>;
1729
1778
  }, z.ZodTypeAny, "passthrough">>, "many">>;
1730
1779
  }, z.ZodTypeAny, "passthrough">>>;
1731
- /** Write the final output to this file path after the session completes */
1780
+ /** Write handoff output to this file path via unified job-file writer */
1732
1781
  output_file: z.ZodOptional<z.ZodString>;
1782
+ notes_mode: z.ZodDefault<z.ZodEnum<["full-trail", "final-only"]>>;
1733
1783
  beads_integration: z.ZodDefault<z.ZodEnum<["auto", "always", "never"]>>;
1734
1784
  beads_write_notes: z.ZodDefault<z.ZodBoolean>;
1735
1785
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -1757,8 +1807,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1757
1807
  }, z.ZodTypeAny, "passthrough">>;
1758
1808
  execution: z.ZodObject<{
1759
1809
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1760
- model: z.ZodString;
1761
- fallback_model: z.ZodOptional<z.ZodString>;
1810
+ model: z.ZodNullable<z.ZodString>;
1811
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1812
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1762
1813
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1763
1814
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1764
1815
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1800,8 +1851,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1800
1851
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1801
1852
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1802
1853
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1803
- model: z.ZodString;
1804
- fallback_model: z.ZodOptional<z.ZodString>;
1854
+ model: z.ZodNullable<z.ZodString>;
1855
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1856
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1805
1857
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1806
1858
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1807
1859
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1843,8 +1895,9 @@ export declare const SpecialistSchema: z.ZodObject<{
1843
1895
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1844
1896
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1845
1897
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
1846
- model: z.ZodString;
1847
- fallback_model: z.ZodOptional<z.ZodString>;
1898
+ model: z.ZodNullable<z.ZodString>;
1899
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1900
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
1848
1901
  timeout_ms: z.ZodDefault<z.ZodNumber>;
1849
1902
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
1850
1903
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -1995,6 +2048,8 @@ export declare const SpecialistSchema: z.ZodObject<{
1995
2048
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
1996
2049
  /** ms in waiting state before emitting warning (default 3_600_000) */
1997
2050
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2051
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2052
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1998
2053
  /** ms a single tool execution may run before warning (default 120_000) */
1999
2054
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2000
2055
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -2004,6 +2059,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2004
2059
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2005
2060
  /** ms in waiting state before emitting warning (default 3_600_000) */
2006
2061
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2062
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2063
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2007
2064
  /** ms a single tool execution may run before warning (default 120_000) */
2008
2065
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2009
2066
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -2013,6 +2070,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2013
2070
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2014
2071
  /** ms in waiting state before emitting warning (default 3_600_000) */
2015
2072
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2073
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2074
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2016
2075
  /** ms a single tool execution may run before warning (default 120_000) */
2017
2076
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2018
2077
  }, z.ZodTypeAny, "passthrough">>>;
@@ -2074,8 +2133,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2074
2133
  when: z.ZodOptional<z.ZodString>;
2075
2134
  }, z.ZodTypeAny, "passthrough">>, "many">>;
2076
2135
  }, z.ZodTypeAny, "passthrough">>>;
2077
- /** Write the final output to this file path after the session completes */
2136
+ /** Write handoff output to this file path via unified job-file writer */
2078
2137
  output_file: z.ZodOptional<z.ZodString>;
2138
+ notes_mode: z.ZodDefault<z.ZodEnum<["full-trail", "final-only"]>>;
2079
2139
  beads_integration: z.ZodDefault<z.ZodEnum<["auto", "always", "never"]>>;
2080
2140
  beads_write_notes: z.ZodDefault<z.ZodBoolean>;
2081
2141
  }, z.ZodTypeAny, "passthrough">>;
@@ -2105,8 +2165,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2105
2165
  }, z.ZodTypeAny, "passthrough">>;
2106
2166
  execution: z.ZodObject<{
2107
2167
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2108
- model: z.ZodString;
2109
- fallback_model: z.ZodOptional<z.ZodString>;
2168
+ model: z.ZodNullable<z.ZodString>;
2169
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2170
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2110
2171
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2111
2172
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2112
2173
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2148,8 +2209,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2148
2209
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2149
2210
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2150
2211
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2151
- model: z.ZodString;
2152
- fallback_model: z.ZodOptional<z.ZodString>;
2212
+ model: z.ZodNullable<z.ZodString>;
2213
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2214
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2153
2215
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2154
2216
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2155
2217
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2191,8 +2253,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2191
2253
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2192
2254
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2193
2255
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2194
- model: z.ZodString;
2195
- fallback_model: z.ZodOptional<z.ZodString>;
2256
+ model: z.ZodNullable<z.ZodString>;
2257
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2258
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2196
2259
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2197
2260
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2198
2261
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2343,6 +2406,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2343
2406
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2344
2407
  /** ms in waiting state before emitting warning (default 3_600_000) */
2345
2408
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2409
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2410
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2346
2411
  /** ms a single tool execution may run before warning (default 120_000) */
2347
2412
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2348
2413
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -2352,6 +2417,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2352
2417
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2353
2418
  /** ms in waiting state before emitting warning (default 3_600_000) */
2354
2419
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2420
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2421
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2355
2422
  /** ms a single tool execution may run before warning (default 120_000) */
2356
2423
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2357
2424
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -2361,6 +2428,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2361
2428
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2362
2429
  /** ms in waiting state before emitting warning (default 3_600_000) */
2363
2430
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2431
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2432
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2364
2433
  /** ms a single tool execution may run before warning (default 120_000) */
2365
2434
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2366
2435
  }, z.ZodTypeAny, "passthrough">>>;
@@ -2422,8 +2491,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2422
2491
  when: z.ZodOptional<z.ZodString>;
2423
2492
  }, z.ZodTypeAny, "passthrough">>, "many">>;
2424
2493
  }, z.ZodTypeAny, "passthrough">>>;
2425
- /** Write the final output to this file path after the session completes */
2494
+ /** Write handoff output to this file path via unified job-file writer */
2426
2495
  output_file: z.ZodOptional<z.ZodString>;
2496
+ notes_mode: z.ZodDefault<z.ZodEnum<["full-trail", "final-only"]>>;
2427
2497
  beads_integration: z.ZodDefault<z.ZodEnum<["auto", "always", "never"]>>;
2428
2498
  beads_write_notes: z.ZodDefault<z.ZodBoolean>;
2429
2499
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -2451,8 +2521,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2451
2521
  }, z.ZodTypeAny, "passthrough">>;
2452
2522
  execution: z.ZodObject<{
2453
2523
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2454
- model: z.ZodString;
2455
- fallback_model: z.ZodOptional<z.ZodString>;
2524
+ model: z.ZodNullable<z.ZodString>;
2525
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2526
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2456
2527
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2457
2528
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2458
2529
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2494,8 +2565,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2494
2565
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2495
2566
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2496
2567
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2497
- model: z.ZodString;
2498
- fallback_model: z.ZodOptional<z.ZodString>;
2568
+ model: z.ZodNullable<z.ZodString>;
2569
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2570
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2499
2571
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2500
2572
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2501
2573
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2537,8 +2609,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2537
2609
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2538
2610
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2539
2611
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2540
- model: z.ZodString;
2541
- fallback_model: z.ZodOptional<z.ZodString>;
2612
+ model: z.ZodNullable<z.ZodString>;
2613
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2614
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2542
2615
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2543
2616
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2544
2617
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2689,6 +2762,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2689
2762
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2690
2763
  /** ms in waiting state before emitting warning (default 3_600_000) */
2691
2764
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2765
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2766
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2692
2767
  /** ms a single tool execution may run before warning (default 120_000) */
2693
2768
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2694
2769
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -2698,6 +2773,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2698
2773
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2699
2774
  /** ms in waiting state before emitting warning (default 3_600_000) */
2700
2775
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2776
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2777
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2701
2778
  /** ms a single tool execution may run before warning (default 120_000) */
2702
2779
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2703
2780
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -2707,6 +2784,8 @@ export declare const SpecialistSchema: z.ZodObject<{
2707
2784
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
2708
2785
  /** ms in waiting state before emitting warning (default 3_600_000) */
2709
2786
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
2787
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
2788
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2710
2789
  /** ms a single tool execution may run before warning (default 120_000) */
2711
2790
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
2712
2791
  }, z.ZodTypeAny, "passthrough">>>;
@@ -2768,8 +2847,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2768
2847
  when: z.ZodOptional<z.ZodString>;
2769
2848
  }, z.ZodTypeAny, "passthrough">>, "many">>;
2770
2849
  }, z.ZodTypeAny, "passthrough">>>;
2771
- /** Write the final output to this file path after the session completes */
2850
+ /** Write handoff output to this file path via unified job-file writer */
2772
2851
  output_file: z.ZodOptional<z.ZodString>;
2852
+ notes_mode: z.ZodDefault<z.ZodEnum<["full-trail", "final-only"]>>;
2773
2853
  beads_integration: z.ZodDefault<z.ZodEnum<["auto", "always", "never"]>>;
2774
2854
  beads_write_notes: z.ZodDefault<z.ZodBoolean>;
2775
2855
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -2797,8 +2877,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2797
2877
  }, z.ZodTypeAny, "passthrough">>;
2798
2878
  execution: z.ZodObject<{
2799
2879
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2800
- model: z.ZodString;
2801
- fallback_model: z.ZodOptional<z.ZodString>;
2880
+ model: z.ZodNullable<z.ZodString>;
2881
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2882
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2802
2883
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2803
2884
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2804
2885
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2840,8 +2921,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2840
2921
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2841
2922
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2842
2923
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2843
- model: z.ZodString;
2844
- fallback_model: z.ZodOptional<z.ZodString>;
2924
+ model: z.ZodNullable<z.ZodString>;
2925
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2926
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2845
2927
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2846
2928
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2847
2929
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -2883,8 +2965,9 @@ export declare const SpecialistSchema: z.ZodObject<{
2883
2965
  expected_output_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2884
2966
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2885
2967
  mode: z.ZodDefault<z.ZodEnum<["tool", "skill", "auto"]>>;
2886
- model: z.ZodString;
2887
- fallback_model: z.ZodOptional<z.ZodString>;
2968
+ model: z.ZodNullable<z.ZodString>;
2969
+ fallback_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2970
+ fallback_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
2888
2971
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2889
2972
  stall_timeout_ms: z.ZodOptional<z.ZodNumber>;
2890
2973
  max_retries: z.ZodDefault<z.ZodNumber>;
@@ -3035,6 +3118,8 @@ export declare const SpecialistSchema: z.ZodObject<{
3035
3118
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
3036
3119
  /** ms in waiting state before emitting warning (default 3_600_000) */
3037
3120
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
3121
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
3122
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3038
3123
  /** ms a single tool execution may run before warning (default 120_000) */
3039
3124
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
3040
3125
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -3044,6 +3129,8 @@ export declare const SpecialistSchema: z.ZodObject<{
3044
3129
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
3045
3130
  /** ms in waiting state before emitting warning (default 3_600_000) */
3046
3131
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
3132
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
3133
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3047
3134
  /** ms a single tool execution may run before warning (default 120_000) */
3048
3135
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
3049
3136
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -3053,6 +3140,8 @@ export declare const SpecialistSchema: z.ZodObject<{
3053
3140
  running_silence_error_ms: z.ZodOptional<z.ZodNumber>;
3054
3141
  /** ms in waiting state before emitting warning (default 3_600_000) */
3055
3142
  waiting_stale_ms: z.ZodOptional<z.ZodNumber>;
3143
+ /** ms in waiting state before attempting graceful auto-close (default disabled) */
3144
+ waiting_auto_close_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
3056
3145
  /** ms a single tool execution may run before warning (default 120_000) */
3057
3146
  tool_duration_warn_ms: z.ZodOptional<z.ZodNumber>;
3058
3147
  }, z.ZodTypeAny, "passthrough">>>;
@@ -3114,8 +3203,9 @@ export declare const SpecialistSchema: z.ZodObject<{
3114
3203
  when: z.ZodOptional<z.ZodString>;
3115
3204
  }, z.ZodTypeAny, "passthrough">>, "many">>;
3116
3205
  }, z.ZodTypeAny, "passthrough">>>;
3117
- /** Write the final output to this file path after the session completes */
3206
+ /** Write handoff output to this file path via unified job-file writer */
3118
3207
  output_file: z.ZodOptional<z.ZodString>;
3208
+ notes_mode: z.ZodDefault<z.ZodEnum<["full-trail", "final-only"]>>;
3119
3209
  beads_integration: z.ZodDefault<z.ZodEnum<["auto", "always", "never"]>>;
3120
3210
  beads_write_notes: z.ZodDefault<z.ZodBoolean>;
3121
3211
  }, z.ZodTypeAny, "passthrough">>;
@@ -3126,6 +3216,34 @@ export type ScriptEntry = {
3126
3216
  phase: 'pre' | 'post';
3127
3217
  inject_output: boolean;
3128
3218
  };
3219
+ /** Flat execution sub-fields an override layer may set. */
3220
+ export declare const OVERRIDE_ALLOWED_EXECUTION_FIELDS: readonly ["model", "fallback_model", "fallback_models", "timeout_ms", "stall_timeout_ms", "interactive", "thinking_level", "max_retries", "prompt_limit_bytes", "stdout_limit_bytes"];
3221
+ /** Nested execution leaf paths an override layer may set. Relative to `specialist.execution`. */
3222
+ export declare const OVERRIDE_ALLOWED_NESTED_EXECUTION_PATHS: readonly ["extensions.serena", "extensions.gitnexus"];
3223
+ /** Nested stall-detection leaf paths an override layer may set. Relative to `specialist.stall_detection`. */
3224
+ export declare const OVERRIDE_ALLOWED_STALL_DETECTION_PATHS: readonly ["waiting_auto_close_ms"];
3225
+ /** Prompt sub-fields an override layer may set. Relative to `specialist.prompt`. */
3226
+ export declare const OVERRIDE_ALLOWED_PROMPT_FIELDS: readonly ["system_prompt_mode"];
3227
+ /** Top-level specialist fields an override layer may set. */
3228
+ export declare const OVERRIDE_ALLOWED_TOP_FIELDS: readonly ["beads_write_notes", "notes_mode", "output_file"];
3229
+ /**
3230
+ * Fields an override layer may NOT change. Dotted paths are schema-accurate.
3231
+ * `skills.paths` is exempt (append+dedup); `skills.scripts` is blocked.
3232
+ */
3233
+ export declare const BLOCKED_OVERRIDE_FIELDS: readonly ["execution.permission_required", "execution.auto_commit", "prompt.system", "prompt.output_schema", "skills.scripts", "mandatory_rules", "capabilities"];
3234
+ export type BlockedFieldSeverity = 'strip' | 'warn';
3235
+ /**
3236
+ * Recorded when an override layer attempts to set a blocked field.
3237
+ * - `strip` (global layer): value removed, NOT applied.
3238
+ * - `warn` (repo layer, v1): value applied but flagged for the doctor command.
3239
+ */
3240
+ export interface BlockedFieldWarning {
3241
+ specialist: string;
3242
+ field: string;
3243
+ source: 'global' | 'default' | 'user';
3244
+ severity: BlockedFieldSeverity;
3245
+ value: unknown;
3246
+ }
3129
3247
  export interface ValidationError {
3130
3248
  path: string;
3131
3249
  message: string;