@selesai/code 0.13.6 → 0.13.7

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 (970) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +255 -102
  3. package/dist/cli/credential-print.js +4 -4
  4. package/dist/cli.js +0 -0
  5. package/dist/core/compaction/utils.js +2 -2
  6. package/dist/core/export-html/template.css +1066 -1066
  7. package/dist/core/export-html/template.html +55 -55
  8. package/dist/core/export-html/template.js +1864 -1864
  9. package/dist/core/export-html/vendor/highlight.min.js +1212 -1212
  10. package/dist/core/export-html/vendor/marked.min.js +78 -78
  11. package/dist/core/messages.js +7 -7
  12. package/dist/extensions/context-compaction-reminder.test.ts +82 -82
  13. package/dist/extensions/context-compaction-reminder.ts +28 -28
  14. package/dist/extensions/pi-hermes-memory/scripts/check-min-sdk.mjs +0 -0
  15. package/dist/extensions/pi-hermes-memory/tests/run-all.sh +0 -0
  16. package/dist/extensions/pi-intercom/LICENSE +21 -21
  17. package/dist/extensions/pi-intercom/broker/client.test.ts +83 -83
  18. package/dist/extensions/pi-intercom/broker/framing.test.ts +114 -114
  19. package/dist/extensions/pi-intercom/broker/paths.ts +134 -134
  20. package/dist/extensions/pi-intercom/broker/runtime-claim.test.ts +34 -34
  21. package/dist/extensions/pi-intercom/broker/runtime-claim.ts +21 -21
  22. package/dist/extensions/pi-intercom/cwd.test.ts +40 -40
  23. package/dist/extensions/pi-intercom/cwd.ts +31 -31
  24. package/dist/extensions/pi-intercom/format-context.test.ts +31 -31
  25. package/dist/extensions/pi-intercom/format-context.ts +32 -32
  26. package/dist/extensions/pi-intercom/index.ts +71 -2
  27. package/dist/extensions/pi-intercom/test/overlay-width.test.ts +66 -66
  28. package/dist/extensions/pi-intercom/ui/compose.ts +143 -143
  29. package/dist/extensions/pi-intercom/ui/session-list.ts +166 -166
  30. package/dist/extensions/pi-subagents/.github/assets/subagent-fleet-inspector.png +0 -0
  31. package/dist/extensions/pi-subagents/.github/workflows/release.yml +1 -1
  32. package/dist/extensions/pi-subagents/.github/workflows/test.yml +1 -1
  33. package/dist/extensions/pi-subagents/.greptile/config.json +1 -1
  34. package/dist/extensions/pi-subagents/.greptile/files.json +1 -1
  35. package/dist/extensions/pi-subagents/.greptile/rules.md +1 -1
  36. package/dist/extensions/pi-subagents/.oxlintrc.json +2 -2
  37. package/dist/extensions/pi-subagents/AGENTS.md +1 -1
  38. package/dist/extensions/pi-subagents/CHANGELOG.md +34 -2
  39. package/dist/extensions/pi-subagents/LICENSE +1 -1
  40. package/dist/extensions/pi-subagents/README.md +1 -1
  41. package/dist/extensions/pi-subagents/VISION.md +1 -1
  42. package/dist/extensions/pi-subagents/agents/architect.md +1 -1
  43. package/dist/extensions/pi-subagents/agents/builder.md +1 -1
  44. package/dist/extensions/pi-subagents/agents/claude-code-writer.md +1 -1
  45. package/dist/extensions/pi-subagents/agents/claude-code.md +1 -1
  46. package/dist/extensions/pi-subagents/agents/codex-exec-writer.md +1 -1
  47. package/dist/extensions/pi-subagents/agents/codex-exec.md +1 -1
  48. package/dist/extensions/pi-subagents/agents/commentator.md +1 -1
  49. package/dist/extensions/pi-subagents/agents/cursor-agent-writer.md +1 -1
  50. package/dist/extensions/pi-subagents/agents/cursor-agent.md +1 -1
  51. package/dist/extensions/pi-subagents/agents/delegate.md +1 -1
  52. package/dist/extensions/pi-subagents/agents/explorer.md +1 -1
  53. package/dist/extensions/pi-subagents/agents/oracle.md +1 -1
  54. package/dist/extensions/pi-subagents/agents/recapper.md +1 -1
  55. package/dist/extensions/pi-subagents/agents/researcher.md +1 -1
  56. package/dist/extensions/pi-subagents/agents/reviewer.md +1 -1
  57. package/dist/extensions/pi-subagents/agents/scout.md +1 -1
  58. package/dist/extensions/pi-subagents/agents/worker.md +1 -1
  59. package/dist/extensions/pi-subagents/async-retention-discovery-worker.mjs +1 -1
  60. package/dist/extensions/pi-subagents/docs/agents.md +20 -20
  61. package/dist/extensions/pi-subagents/docs/configuration.md +10 -6
  62. package/dist/extensions/pi-subagents/docs/extension-api.md +15 -8
  63. package/dist/extensions/pi-subagents/docs/missions.md +1 -1
  64. package/dist/extensions/pi-subagents/docs/models.md +2 -2
  65. package/dist/extensions/pi-subagents/docs/observability.md +2 -2
  66. package/dist/extensions/pi-subagents/docs/tool-reference.md +13 -4
  67. package/dist/extensions/pi-subagents/docs/watchdog.md +1 -1
  68. package/dist/extensions/pi-subagents/docs/workflows.md +15 -14
  69. package/dist/extensions/pi-subagents/index.ts +1 -1
  70. package/dist/extensions/pi-subagents/inspector-runner.mjs +1 -1
  71. package/dist/extensions/pi-subagents/install.mjs +3 -2
  72. package/dist/extensions/pi-subagents/package-lock.json +3 -3
  73. package/dist/extensions/pi-subagents/package.json +2 -2
  74. package/dist/extensions/pi-subagents/prompts/council.md +1 -1
  75. package/dist/extensions/pi-subagents/prompts/gather-context-and-clarify.md +1 -1
  76. package/dist/extensions/pi-subagents/prompts/parallel-cleanup.md +1 -1
  77. package/dist/extensions/pi-subagents/prompts/parallel-research.md +1 -1
  78. package/dist/extensions/pi-subagents/prompts/parallel-review.md +1 -1
  79. package/dist/extensions/pi-subagents/prompts/review-loop.md +1 -1
  80. package/dist/extensions/pi-subagents/skills/council-mode/SKILL.md +1 -1
  81. package/dist/extensions/pi-subagents/skills/council-mode/references/pass-contracts.md +1 -1
  82. package/dist/extensions/pi-subagents/skills/pi-subagents/SKILL.md +7 -5
  83. package/dist/extensions/pi-subagents/skills/pi-subagents/references/constraints-and-recipes.md +2 -2
  84. package/dist/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md +43 -12
  85. package/dist/extensions/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +1 -1
  86. package/dist/extensions/pi-subagents/skills/pi-subagents/references/multi-lane-orchestration.md +2 -2
  87. package/dist/extensions/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +5 -5
  88. package/dist/extensions/pi-subagents/skills/pi-subagents/references/review-and-validation.md +2 -2
  89. package/dist/extensions/pi-subagents/src/agents/agent-management.ts +103 -64
  90. package/dist/extensions/pi-subagents/src/agents/agent-memory.ts +1 -1
  91. package/dist/extensions/pi-subagents/src/agents/agent-refinements.ts +1 -1
  92. package/dist/extensions/pi-subagents/src/agents/agent-scope.ts +1 -1
  93. package/dist/extensions/pi-subagents/src/agents/agent-selection.ts +1 -1
  94. package/dist/extensions/pi-subagents/src/agents/agent-serializer.ts +1 -1
  95. package/dist/extensions/pi-subagents/src/agents/agents.ts +527 -221
  96. package/dist/extensions/pi-subagents/src/agents/builtin-names.ts +1 -1
  97. package/dist/extensions/pi-subagents/src/agents/chain-serializer.ts +1 -1
  98. package/dist/extensions/pi-subagents/src/agents/frontmatter.ts +1 -1
  99. package/dist/extensions/pi-subagents/src/agents/identity.ts +1 -1
  100. package/dist/extensions/pi-subagents/src/agents/proactive-skills.ts +1 -1
  101. package/dist/extensions/pi-subagents/src/agents/runtime-agent-events.ts +1 -1
  102. package/dist/extensions/pi-subagents/src/agents/runtime-agent-registry.ts +1 -1
  103. package/dist/extensions/pi-subagents/src/agents/skills.ts +1 -1
  104. package/dist/extensions/pi-subagents/src/api/agents.ts +1 -1
  105. package/dist/extensions/pi-subagents/src/api/background-work.ts +8 -3
  106. package/dist/extensions/pi-subagents/src/api/capability-ceiling.ts +1 -1
  107. package/dist/extensions/pi-subagents/src/api/control-channel.ts +1 -1
  108. package/dist/extensions/pi-subagents/src/api/delegation.ts +1 -1
  109. package/dist/extensions/pi-subagents/src/api/external-job-provider.ts +1 -1
  110. package/dist/extensions/pi-subagents/src/api/external-runs.ts +68 -5
  111. package/dist/extensions/pi-subagents/src/api/intercom-bridge.ts +1 -1
  112. package/dist/extensions/pi-subagents/src/api/pi-args.ts +1 -1
  113. package/dist/extensions/pi-subagents/src/api/preflight.ts +14 -9
  114. package/dist/extensions/pi-subagents/src/api/project-panes.ts +1 -1
  115. package/dist/extensions/pi-subagents/src/api/shared-types.ts +2 -1
  116. package/dist/extensions/pi-subagents/src/extension/config.ts +1 -1
  117. package/dist/extensions/pi-subagents/src/extension/control-notices.ts +1 -1
  118. package/dist/extensions/pi-subagents/src/extension/doctor.ts +1 -1
  119. package/dist/extensions/pi-subagents/src/extension/fanout-child.ts +1 -1
  120. package/dist/extensions/pi-subagents/src/extension/index.ts +8 -5
  121. package/dist/extensions/pi-subagents/src/extension/public-execution.ts +48 -5
  122. package/dist/extensions/pi-subagents/src/extension/rpc.ts +63 -5
  123. package/dist/extensions/pi-subagents/src/extension/schemas.ts +12 -8
  124. package/dist/extensions/pi-subagents/src/extension/steering-notices.ts +1 -1
  125. package/dist/extensions/pi-subagents/src/extension/subagent-guide.ts +1 -1
  126. package/dist/extensions/pi-subagents/src/extension/tool-description.ts +8 -4
  127. package/dist/extensions/pi-subagents/src/extension/tool-result.ts +1 -1
  128. package/dist/extensions/pi-subagents/src/inspectors/herdr/actions.ts +1 -1
  129. package/dist/extensions/pi-subagents/src/inspectors/herdr/client.ts +1 -1
  130. package/dist/extensions/pi-subagents/src/inspectors/herdr/focus.ts +1 -1
  131. package/dist/extensions/pi-subagents/src/inspectors/herdr/inspector-runner.ts +1 -1
  132. package/dist/extensions/pi-subagents/src/inspectors/herdr/project-panes.ts +1 -1
  133. package/dist/extensions/pi-subagents/src/inspectors/herdr/session-roots-codec.ts +1 -1
  134. package/dist/extensions/pi-subagents/src/inspectors/herdr/shell-command.ts +1 -1
  135. package/dist/extensions/pi-subagents/src/integrations/herdr-status.ts +1 -1
  136. package/dist/extensions/pi-subagents/src/intercom/intercom-bridge.ts +1 -1
  137. package/dist/extensions/pi-subagents/src/intercom/native-supervisor-channel.ts +1 -1
  138. package/dist/extensions/pi-subagents/src/intercom/result-intercom.ts +1 -1
  139. package/dist/extensions/pi-subagents/src/missions/actions.ts +1 -1
  140. package/dist/extensions/pi-subagents/src/missions/goal-driver.ts +1 -1
  141. package/dist/extensions/pi-subagents/src/missions/lifecycle.ts +1 -1
  142. package/dist/extensions/pi-subagents/src/missions/store.ts +1 -1
  143. package/dist/extensions/pi-subagents/src/missions/types.ts +1 -1
  144. package/dist/extensions/pi-subagents/src/missions/workflow-state.ts +1 -1
  145. package/dist/extensions/pi-subagents/src/policy/authority.ts +1 -1
  146. package/dist/extensions/pi-subagents/src/profiles/profiles.ts +1 -1
  147. package/dist/extensions/pi-subagents/src/runs/background/active-async-capacity.ts +1 -1
  148. package/dist/extensions/pi-subagents/src/runs/background/active-run-index.ts +1 -1
  149. package/dist/extensions/pi-subagents/src/runs/background/async-execution.ts +52 -36
  150. package/dist/extensions/pi-subagents/src/runs/background/async-job-tracker.ts +63 -4
  151. package/dist/extensions/pi-subagents/src/runs/background/async-resume.ts +4 -2
  152. package/dist/extensions/pi-subagents/src/runs/background/async-retention.ts +1 -1
  153. package/dist/extensions/pi-subagents/src/runs/background/async-status-snapshot.ts +1 -1
  154. package/dist/extensions/pi-subagents/src/runs/background/async-status.ts +69 -10
  155. package/dist/extensions/pi-subagents/src/runs/background/auto-drain.ts +2 -2
  156. package/dist/extensions/pi-subagents/src/runs/background/chain-append.ts +1 -1
  157. package/dist/extensions/pi-subagents/src/runs/background/chain-root-attachment.ts +1 -1
  158. package/dist/extensions/pi-subagents/src/runs/background/completion-batcher.ts +1 -1
  159. package/dist/extensions/pi-subagents/src/runs/background/completion-dedupe.ts +1 -1
  160. package/dist/extensions/pi-subagents/src/runs/background/completion-replay.ts +1 -1
  161. package/dist/extensions/pi-subagents/src/runs/background/control-channel.ts +1 -1
  162. package/dist/extensions/pi-subagents/src/runs/background/fleet-view.ts +2 -2
  163. package/dist/extensions/pi-subagents/src/runs/background/index-segment.ts +1 -1
  164. package/dist/extensions/pi-subagents/src/runs/background/inspect-rpc.ts +1 -1
  165. package/dist/extensions/pi-subagents/src/runs/background/notify.ts +1 -1
  166. package/dist/extensions/pi-subagents/src/runs/background/owned-process-tree.ts +1 -1
  167. package/dist/extensions/pi-subagents/src/runs/background/parallel-groups.ts +1 -1
  168. package/dist/extensions/pi-subagents/src/runs/background/process-terminal.ts +1 -1
  169. package/dist/extensions/pi-subagents/src/runs/background/result-delivery-ownership.ts +1 -1
  170. package/dist/extensions/pi-subagents/src/runs/background/result-files.ts +1 -1
  171. package/dist/extensions/pi-subagents/src/runs/background/result-watcher.ts +2 -2
  172. package/dist/extensions/pi-subagents/src/runs/background/resume-guidance.ts +2 -2
  173. package/dist/extensions/pi-subagents/src/runs/background/retained-children.ts +1 -1
  174. package/dist/extensions/pi-subagents/src/runs/background/run-id-query.ts +1 -1
  175. package/dist/extensions/pi-subagents/src/runs/background/run-id-resolver.ts +1 -1
  176. package/dist/extensions/pi-subagents/src/runs/background/run-status.ts +3 -3
  177. package/dist/extensions/pi-subagents/src/runs/background/scheduled-runs.ts +1 -1
  178. package/dist/extensions/pi-subagents/src/runs/background/stale-run-reconciler.ts +1 -1
  179. package/dist/extensions/pi-subagents/src/runs/background/steering.ts +1 -1
  180. package/dist/extensions/pi-subagents/src/runs/background/subagent-runner.ts +2 -3
  181. package/dist/extensions/pi-subagents/src/runs/background/subagent-wait.ts +21 -22
  182. package/dist/extensions/pi-subagents/src/runs/background/terminal-run-index.ts +1 -1
  183. package/dist/extensions/pi-subagents/src/runs/background/top-level-async.ts +1 -1
  184. package/dist/extensions/pi-subagents/src/runs/background/wait-completions.ts +2 -2
  185. package/dist/extensions/pi-subagents/src/runs/background/wait-config.ts +1 -1
  186. package/dist/extensions/pi-subagents/src/runs/background/wait-subscriptions.ts +1 -1
  187. package/dist/extensions/pi-subagents/src/runs/background/wait-tool.ts +25 -19
  188. package/dist/extensions/pi-subagents/src/runs/foreground/async-dismiss-action.ts +1 -1
  189. package/dist/extensions/pi-subagents/src/runs/foreground/async-steering-action.ts +1 -1
  190. package/dist/extensions/pi-subagents/src/runs/foreground/async-stop-action.ts +1 -1
  191. package/dist/extensions/pi-subagents/src/runs/foreground/execution.ts +63 -4
  192. package/dist/extensions/pi-subagents/src/runs/foreground/foreground-control.ts +1 -1
  193. package/dist/extensions/pi-subagents/src/runs/foreground/foreground-history.ts +1 -1
  194. package/dist/extensions/pi-subagents/src/runs/foreground/prompt-audit.ts +1 -1
  195. package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +179 -59
  196. package/dist/extensions/pi-subagents/src/runs/foreground/workflow-detach-reconcile.ts +1 -1
  197. package/dist/extensions/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +1 -1
  198. package/dist/extensions/pi-subagents/src/runs/shared/abort-recovery.ts +1 -1
  199. package/dist/extensions/pi-subagents/src/runs/shared/acceptance.ts +44 -19
  200. package/dist/extensions/pi-subagents/src/runs/shared/agent-contract.ts +1 -1
  201. package/dist/extensions/pi-subagents/src/runs/shared/async-status-projection.ts +1 -1
  202. package/dist/extensions/pi-subagents/src/runs/shared/background-process-options.ts +1 -1
  203. package/dist/extensions/pi-subagents/src/runs/shared/capability-ceiling.ts +1 -1
  204. package/dist/extensions/pi-subagents/src/runs/shared/chain-outputs.ts +1 -1
  205. package/dist/extensions/pi-subagents/src/runs/shared/child-identity.ts +1 -1
  206. package/dist/extensions/pi-subagents/src/runs/shared/child-launch-plan.ts +1 -1
  207. package/dist/extensions/pi-subagents/src/runs/shared/child-protocol.ts +1 -1
  208. package/dist/extensions/pi-subagents/src/runs/shared/claude-code-adapter.ts +1 -1
  209. package/dist/extensions/pi-subagents/src/runs/shared/codex-exec-adapter.ts +1 -1
  210. package/dist/extensions/pi-subagents/src/runs/shared/completion-evidence.ts +1 -1
  211. package/dist/extensions/pi-subagents/src/runs/shared/completion-guard.ts +1 -1
  212. package/dist/extensions/pi-subagents/src/runs/shared/context-mode.ts +1 -1
  213. package/dist/extensions/pi-subagents/src/runs/shared/cursor-agent-adapter.ts +1 -1
  214. package/dist/extensions/pi-subagents/src/runs/shared/dynamic-fanout.ts +1 -1
  215. package/dist/extensions/pi-subagents/src/runs/shared/extension-bindings.ts +1 -1
  216. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-contract.ts +1 -1
  217. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-preflight.ts +1 -1
  218. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-runner.ts +1 -1
  219. package/dist/extensions/pi-subagents/src/runs/shared/external-job-bridge.ts +1 -1
  220. package/dist/extensions/pi-subagents/src/runs/shared/external-job-runner.ts +1 -1
  221. package/dist/extensions/pi-subagents/src/runs/shared/fast-mode-extension.ts +1 -1
  222. package/dist/extensions/pi-subagents/src/runs/shared/host-step-status.ts +2 -1
  223. package/dist/extensions/pi-subagents/src/runs/shared/lane-metadata.ts +1 -1
  224. package/dist/extensions/pi-subagents/src/runs/shared/launch-cwd.ts +1 -1
  225. package/dist/extensions/pi-subagents/src/runs/shared/llm-intent-arbiter.ts +1 -1
  226. package/dist/extensions/pi-subagents/src/runs/shared/long-running-guard.ts +1 -1
  227. package/dist/extensions/pi-subagents/src/runs/shared/mcp-config-sources.ts +1 -1
  228. package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +1 -1
  229. package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-grant.ts +1 -1
  230. package/dist/extensions/pi-subagents/src/runs/shared/model-exclusions.ts +1 -1
  231. package/dist/extensions/pi-subagents/src/runs/shared/model-fallback.ts +62 -18
  232. package/dist/extensions/pi-subagents/src/runs/shared/model-scope.ts +1 -1
  233. package/dist/extensions/pi-subagents/src/runs/shared/mutation-evidence.ts +1 -1
  234. package/dist/extensions/pi-subagents/src/runs/shared/nested-events.ts +1 -1
  235. package/dist/extensions/pi-subagents/src/runs/shared/nested-path.ts +1 -1
  236. package/dist/extensions/pi-subagents/src/runs/shared/nested-render.ts +1 -1
  237. package/dist/extensions/pi-subagents/src/runs/shared/orca-progress-tabs.ts +1 -1
  238. package/dist/extensions/pi-subagents/src/runs/shared/parallel-handoff.ts +1 -1
  239. package/dist/extensions/pi-subagents/src/runs/shared/parallel-utils.ts +1 -1
  240. package/dist/extensions/pi-subagents/src/runs/shared/permissions.ts +2 -2
  241. package/dist/extensions/pi-subagents/src/runs/shared/pi-args.ts +3 -3
  242. package/dist/extensions/pi-subagents/src/runs/shared/pi-spawn.ts +1 -1
  243. package/dist/extensions/pi-subagents/src/runs/shared/process-signal.ts +1 -1
  244. package/dist/extensions/pi-subagents/src/runs/shared/run-fanout-budget.ts +1 -1
  245. package/dist/extensions/pi-subagents/src/runs/shared/run-history.ts +1 -1
  246. package/dist/extensions/pi-subagents/src/runs/shared/runtime-acknowledged-extensions.ts +1 -1
  247. package/dist/extensions/pi-subagents/src/runs/shared/session-lease.ts +1 -1
  248. package/dist/extensions/pi-subagents/src/runs/shared/single-output.ts +1 -1
  249. package/dist/extensions/pi-subagents/src/runs/shared/spawn-budget.ts +1 -1
  250. package/dist/extensions/pi-subagents/src/runs/shared/structured-output.ts +1 -1
  251. package/dist/extensions/pi-subagents/src/runs/shared/subagent-control.ts +1 -1
  252. package/dist/extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +2 -2
  253. package/dist/extensions/pi-subagents/src/runs/shared/subagent-startup-retry.ts +1 -1
  254. package/dist/extensions/pi-subagents/src/runs/shared/task-intent.ts +1 -1
  255. package/dist/extensions/pi-subagents/src/runs/shared/tool-availability.ts +1 -1
  256. package/dist/extensions/pi-subagents/src/runs/shared/tool-budget.ts +1 -1
  257. package/dist/extensions/pi-subagents/src/runs/shared/tool-timeout.ts +2 -2
  258. package/dist/extensions/pi-subagents/src/runs/shared/usage-budget.ts +1 -1
  259. package/dist/extensions/pi-subagents/src/runs/shared/workflow-graph.ts +4 -3
  260. package/dist/extensions/pi-subagents/src/runs/shared/worktree-cleanup-plan.ts +1 -1
  261. package/dist/extensions/pi-subagents/src/runs/shared/worktree.ts +1 -1
  262. package/dist/extensions/pi-subagents/src/shared/accessible-dir.ts +1 -1
  263. package/dist/extensions/pi-subagents/src/shared/agent-stream-options.ts +1 -1
  264. package/dist/extensions/pi-subagents/src/shared/artifacts.ts +1 -1
  265. package/dist/extensions/pi-subagents/src/shared/atomic-json.ts +1 -1
  266. package/dist/extensions/pi-subagents/src/shared/capacity-resilient-json.ts +1 -1
  267. package/dist/extensions/pi-subagents/src/shared/child-session-name.ts +2 -2
  268. package/dist/extensions/pi-subagents/src/shared/child-transcript.ts +1 -1
  269. package/dist/extensions/pi-subagents/src/shared/completion-owner.ts +1 -1
  270. package/dist/extensions/pi-subagents/src/shared/display-text.ts +1 -1
  271. package/dist/extensions/pi-subagents/src/shared/extension-context.ts +1 -1
  272. package/dist/extensions/pi-subagents/src/shared/file-coalescer.ts +1 -1
  273. package/dist/extensions/pi-subagents/src/shared/file-system-retry.ts +1 -1
  274. package/dist/extensions/pi-subagents/src/shared/fork-context.ts +1 -1
  275. package/dist/extensions/pi-subagents/src/shared/formatters.ts +1 -1
  276. package/dist/extensions/pi-subagents/src/shared/jsonl-writer.ts +1 -1
  277. package/dist/extensions/pi-subagents/src/shared/launch-contract.ts +1 -1
  278. package/dist/extensions/pi-subagents/src/shared/model-info.ts +1 -1
  279. package/dist/extensions/pi-subagents/src/shared/node-executable.ts +1 -1
  280. package/dist/extensions/pi-subagents/src/shared/post-exit-stdio-guard.ts +1 -1
  281. package/dist/extensions/pi-subagents/src/shared/prompt-resources.ts +1 -1
  282. package/dist/extensions/pi-subagents/src/shared/pruned-fork.ts +1 -1
  283. package/dist/extensions/pi-subagents/src/shared/session-file-trust.ts +1 -1
  284. package/dist/extensions/pi-subagents/src/shared/session-identity.ts +1 -1
  285. package/dist/extensions/pi-subagents/src/shared/session-tokens.ts +1 -1
  286. package/dist/extensions/pi-subagents/src/shared/settings.ts +1 -1
  287. package/dist/extensions/pi-subagents/src/shared/shortcuts.ts +1 -1
  288. package/dist/extensions/pi-subagents/src/shared/status-format.ts +1 -1
  289. package/dist/extensions/pi-subagents/src/shared/thinking-ceiling.ts +1 -1
  290. package/dist/extensions/pi-subagents/src/shared/types.ts +41 -4
  291. package/dist/extensions/pi-subagents/src/shared/utf8.ts +1 -1
  292. package/dist/extensions/pi-subagents/src/shared/utils.ts +1 -1
  293. package/dist/extensions/pi-subagents/src/shared/watch-strategy.ts +1 -1
  294. package/dist/extensions/pi-subagents/src/shared/workflow-child-permit.ts +91 -0
  295. package/dist/extensions/pi-subagents/src/slash/delegation-adapters.ts +1 -1
  296. package/dist/extensions/pi-subagents/src/slash/delegation-json.ts +1 -1
  297. package/dist/extensions/pi-subagents/src/slash/delegation-request.ts +1 -1
  298. package/dist/extensions/pi-subagents/src/slash/prompt-template-bridge.ts +38 -2
  299. package/dist/extensions/pi-subagents/src/slash/prompt-workflows.ts +1 -1
  300. package/dist/extensions/pi-subagents/src/slash/selector.ts +1 -1
  301. package/dist/extensions/pi-subagents/src/slash/slash-bridge.ts +1 -1
  302. package/dist/extensions/pi-subagents/src/slash/slash-commands.ts +19 -27
  303. package/dist/extensions/pi-subagents/src/slash/slash-live-state.ts +1 -1
  304. package/dist/extensions/pi-subagents/src/slash/subagents-admin.ts +1 -1
  305. package/dist/extensions/pi-subagents/src/tui/fleet-status.ts +1 -1
  306. package/dist/extensions/pi-subagents/src/tui/fleet-transcript.ts +1 -1
  307. package/dist/extensions/pi-subagents/src/tui/fleet.ts +1 -1
  308. package/dist/extensions/pi-subagents/src/tui/render-helpers.ts +1 -1
  309. package/dist/extensions/pi-subagents/src/tui/render.ts +96 -53
  310. package/dist/extensions/pi-subagents/src/types/pi-runtime-compat.d.ts +1 -1
  311. package/dist/extensions/pi-subagents/src/watchdog/change-signature.ts +1 -1
  312. package/dist/extensions/pi-subagents/src/watchdog/child-status.ts +1 -1
  313. package/dist/extensions/pi-subagents/src/watchdog/emission-guard.ts +1 -1
  314. package/dist/extensions/pi-subagents/src/watchdog/lsp-diagnostics.ts +1 -1
  315. package/dist/extensions/pi-subagents/src/watchdog/model-selection.ts +1 -1
  316. package/dist/extensions/pi-subagents/src/watchdog/permission-arbiter.ts +1 -1
  317. package/dist/extensions/pi-subagents/src/watchdog/register-child.ts +1 -1
  318. package/dist/extensions/pi-subagents/src/watchdog/register-main.ts +1 -1
  319. package/dist/extensions/pi-subagents/src/watchdog/render.ts +1 -1
  320. package/dist/extensions/pi-subagents/src/watchdog/review.ts +1 -1
  321. package/dist/extensions/pi-subagents/src/watchdog/runtime.ts +1 -1
  322. package/dist/extensions/pi-subagents/src/watchdog/scope.ts +1 -1
  323. package/dist/extensions/pi-subagents/src/watchdog/settings.ts +1 -1
  324. package/dist/extensions/pi-subagents/src/watchdog/tool-actions.ts +1 -1
  325. package/dist/extensions/pi-subagents/src/watchdog/turn-delta.ts +1 -1
  326. package/dist/extensions/pi-subagents/src/watchdog/types.ts +1 -1
  327. package/dist/extensions/pi-subagents/src/watchdog/warning-format.ts +1 -1
  328. package/dist/extensions/pi-subagents/src/workflows/chat-progress.ts +1 -1
  329. package/dist/extensions/pi-subagents/src/workflows/host-command.ts +1 -1
  330. package/dist/extensions/pi-subagents/src/workflows/scripted-workflow.ts +154 -5
  331. package/dist/extensions/pi-subagents/src/workflows/workflow-child-summary.ts +2 -2
  332. package/dist/extensions/pi-subagents/src/workflows/workflow-preflight.ts +1 -1
  333. package/dist/extensions/pi-subagents/src/workflows/workflow-receipt.ts +42 -5
  334. package/dist/extensions/pi-subagents/src/workflows/workflow-resources.ts +150 -0
  335. package/dist/extensions/pi-subagents/src/workflows/workflow-settlement.ts +1 -1
  336. package/dist/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts +1 -1
  337. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +3 -0
  338. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +2 -0
  339. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +17 -0
  340. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +57 -0
  341. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +16 -0
  342. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +15 -0
  343. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +18 -0
  344. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +9 -0
  345. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +10 -0
  346. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +10 -0
  347. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +20 -0
  348. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +3 -0
  349. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +96 -0
  350. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +119 -0
  351. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +85 -0
  352. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +620 -0
  353. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +5 -0
  354. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +56 -0
  355. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +32 -0
  356. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +49 -0
  357. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +93 -0
  358. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +128 -0
  359. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +7 -0
  360. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +38 -0
  361. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +3 -0
  362. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +15 -0
  363. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +9 -0
  364. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +29 -0
  365. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +2 -0
  366. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +22 -0
  367. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +37 -0
  368. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +34 -0
  369. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +12 -0
  370. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +23 -0
  371. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +171 -0
  372. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +1261 -0
  373. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +20 -0
  374. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +54 -0
  375. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +22 -0
  376. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +13 -0
  377. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +358 -0
  378. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +77 -0
  379. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +512 -0
  380. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +43 -0
  381. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +121 -0
  382. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +82 -0
  383. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +17 -0
  384. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +7 -0
  385. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +210 -0
  386. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +15 -0
  387. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +54 -0
  388. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +4 -0
  389. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +55 -0
  390. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +2 -0
  391. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +5 -0
  392. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +30 -0
  393. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +206 -0
  394. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +15 -0
  395. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +106 -0
  396. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +19 -0
  397. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +356 -0
  398. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +297 -0
  399. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +60 -0
  400. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +15 -0
  401. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +18 -0
  402. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +28 -0
  403. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +3 -0
  404. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +10 -0
  405. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +68 -0
  406. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +106 -0
  407. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +51 -0
  408. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +6 -0
  409. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +35 -0
  410. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +37 -0
  411. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +40 -0
  412. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +37 -0
  413. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +52 -0
  414. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +10 -0
  415. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +35 -0
  416. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +24 -0
  417. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  418. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +70 -0
  419. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +26 -0
  420. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +36 -0
  421. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +19 -0
  422. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts +3 -0
  423. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +61 -0
  424. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +23 -0
  425. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +3 -0
  426. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +10 -0
  427. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +42 -0
  428. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +35 -0
  429. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +12 -0
  430. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +33 -0
  431. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +9 -0
  432. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +34 -0
  433. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +22 -0
  434. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  435. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  436. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  437. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  438. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +102 -0
  439. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  440. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  441. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  442. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +20 -0
  443. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  444. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +12 -0
  445. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  446. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  447. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +22 -0
  448. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +23 -0
  449. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  450. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  451. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +32 -0
  452. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +34 -0
  453. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  454. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  455. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +54 -0
  456. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  457. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
  458. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  459. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +95 -0
  460. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +77 -0
  461. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  462. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  463. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +28 -0
  464. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  465. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  466. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  467. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +94 -0
  468. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  469. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  470. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +14 -0
  471. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  472. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +394 -0
  473. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +12 -0
  474. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
  475. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +120 -0
  476. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +28 -0
  477. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +17 -0
  478. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +246 -0
  479. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +20 -0
  480. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +457 -0
  481. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +8 -0
  482. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +3 -0
  483. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +2 -0
  484. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +22 -0
  485. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +18 -0
  486. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +11 -0
  487. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +11 -0
  488. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +4 -0
  489. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +4 -0
  490. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +5 -0
  491. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +8 -0
  492. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +5 -0
  493. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +26 -0
  494. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +7 -0
  495. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +10 -0
  496. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +18 -0
  497. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +30 -0
  498. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +2 -0
  499. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +16 -0
  500. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +3 -0
  501. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +3 -0
  502. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +9 -0
  503. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +31 -0
  504. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +21 -0
  505. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +2 -0
  506. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +31 -0
  507. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +5 -0
  508. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +12 -0
  509. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +3 -0
  510. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +15 -0
  511. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +3 -0
  512. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/index.mjs +1 -1
  513. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/package.json +1 -1
  514. package/dist/extensions/pi-subagents/test/integration/acceptance-file-report.test.ts +1 -1
  515. package/dist/extensions/pi-subagents/test/integration/async-execution.test.ts +198 -6
  516. package/dist/extensions/pi-subagents/test/integration/async-job-tracker.test.ts +250 -18
  517. package/dist/extensions/pi-subagents/test/integration/async-status.test.ts +323 -4
  518. package/dist/extensions/pi-subagents/test/integration/claude-code-smoke.test.ts +5 -5
  519. package/dist/extensions/pi-subagents/test/integration/claude-code-writer-smoke.test.ts +5 -5
  520. package/dist/extensions/pi-subagents/test/integration/codex-exec-smoke.test.ts +5 -5
  521. package/dist/extensions/pi-subagents/test/integration/codex-exec-writer-smoke.test.ts +5 -5
  522. package/dist/extensions/pi-subagents/test/integration/cursor-agent-smoke.test.ts +5 -5
  523. package/dist/extensions/pi-subagents/test/integration/cursor-agent-writer-smoke.test.ts +5 -5
  524. package/dist/extensions/pi-subagents/test/integration/detect-error.test.ts +1 -1
  525. package/dist/extensions/pi-subagents/test/integration/doctor-executor.test.ts +1 -1
  526. package/dist/extensions/pi-subagents/test/integration/error-handling.test.ts +1 -1
  527. package/dist/extensions/pi-subagents/test/integration/external-cli-runner.test.ts +1 -1
  528. package/dist/extensions/pi-subagents/test/integration/foreground-result-size.test.ts +1 -1
  529. package/dist/extensions/pi-subagents/test/integration/fork-context-execution.test.ts +52 -1
  530. package/dist/extensions/pi-subagents/test/integration/intercom-result-delivery.test.ts +4 -3
  531. package/dist/extensions/pi-subagents/test/integration/orca-progress-tabs.test.ts +1 -1
  532. package/dist/extensions/pi-subagents/test/integration/render-fork-badge.test.ts +1 -1
  533. package/dist/extensions/pi-subagents/test/integration/render-widget.test.ts +75 -7
  534. package/dist/extensions/pi-subagents/test/integration/result-watcher.test.ts +1 -1
  535. package/dist/extensions/pi-subagents/test/integration/session-tokens.test.ts +1 -1
  536. package/dist/extensions/pi-subagents/test/integration/single-execution.test.ts +274 -12
  537. package/dist/extensions/pi-subagents/test/integration/slash-commands.test.ts +46 -1
  538. package/dist/extensions/pi-subagents/test/integration/slash-live-state.test.ts +1 -1
  539. package/dist/extensions/pi-subagents/test/integration/template-resolution.test.ts +1 -1
  540. package/dist/extensions/pi-subagents/test/integration/top-level-async.test.ts +1 -1
  541. package/dist/extensions/pi-subagents/test/support/cursor-smoke-inputs.ts +5 -5
  542. package/dist/extensions/pi-subagents/test/support/helpers.ts +1 -1
  543. package/dist/extensions/pi-subagents/test/support/isolated-temp-root.mjs +1 -1
  544. package/dist/extensions/pi-subagents/test/support/mock-pi-script.mjs +1 -1
  545. package/dist/extensions/pi-subagents/test/support/mock-pi.ts +1 -1
  546. package/dist/extensions/pi-subagents/test/support/node-command.ts +1 -1
  547. package/dist/extensions/pi-subagents/test/support/real-session-child-cli.mjs +1 -1
  548. package/dist/extensions/pi-subagents/test/support/real-session-runner.ts +1 -1
  549. package/dist/extensions/pi-subagents/test/support/register-loader.mjs +1 -1
  550. package/dist/extensions/pi-subagents/test/support/session-lease-child.mjs +1 -1
  551. package/dist/extensions/pi-subagents/test/support/ts-loader.mjs +1 -1
  552. package/dist/extensions/pi-subagents/test/unit/abort-recovery.test.ts +1 -1
  553. package/dist/extensions/pi-subagents/test/unit/acceptance.test.ts +66 -1
  554. package/dist/extensions/pi-subagents/test/unit/accessible-dir.test.ts +1 -1
  555. package/dist/extensions/pi-subagents/test/unit/active-async-capacity.test.ts +1 -1
  556. package/dist/extensions/pi-subagents/test/unit/agent-contract.test.ts +1 -1
  557. package/dist/extensions/pi-subagents/test/unit/agent-disabled.test.ts +1 -1
  558. package/dist/extensions/pi-subagents/test/unit/agent-discovery-cache.test.ts +232 -0
  559. package/dist/extensions/pi-subagents/test/unit/agent-eject-disable.test.ts +1 -1
  560. package/dist/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts +3 -3
  561. package/dist/extensions/pi-subagents/test/unit/agent-management.test.ts +66 -6
  562. package/dist/extensions/pi-subagents/test/unit/agent-memory.test.ts +2 -2
  563. package/dist/extensions/pi-subagents/test/unit/agent-overrides.test.ts +1 -1
  564. package/dist/extensions/pi-subagents/test/unit/agent-refinements.test.ts +1 -1
  565. package/dist/extensions/pi-subagents/test/unit/agent-scope.test.ts +1 -1
  566. package/dist/extensions/pi-subagents/test/unit/agent-selection.test.ts +1 -1
  567. package/dist/extensions/pi-subagents/test/unit/agent-stream-options.test.ts +1 -1
  568. package/dist/extensions/pi-subagents/test/unit/anti-slop-oxlint.test.ts +16 -4
  569. package/dist/extensions/pi-subagents/test/unit/artifacts.test.ts +1 -1
  570. package/dist/extensions/pi-subagents/test/unit/async-execution.test.ts +9 -5
  571. package/dist/extensions/pi-subagents/test/unit/async-interrupt-action.test.ts +1 -1
  572. package/dist/extensions/pi-subagents/test/unit/async-permission-session.test.ts +1 -1
  573. package/dist/extensions/pi-subagents/test/unit/async-recovery-descriptor.test.ts +57 -1
  574. package/dist/extensions/pi-subagents/test/unit/async-resume.test.ts +1 -1
  575. package/dist/extensions/pi-subagents/test/unit/async-retention.test.ts +1 -1
  576. package/dist/extensions/pi-subagents/test/unit/async-status-projection.test.ts +1 -1
  577. package/dist/extensions/pi-subagents/test/unit/async-status-snapshot.test.ts +1 -1
  578. package/dist/extensions/pi-subagents/test/unit/atomic-json.test.ts +1 -1
  579. package/dist/extensions/pi-subagents/test/unit/authority-policy.test.ts +1 -1
  580. package/dist/extensions/pi-subagents/test/unit/auto-drain.test.ts +1 -1
  581. package/dist/extensions/pi-subagents/test/unit/background-process-options.test.ts +1 -1
  582. package/dist/extensions/pi-subagents/test/unit/background-work.test.ts +57 -2
  583. package/dist/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts +1 -1
  584. package/dist/extensions/pi-subagents/test/unit/capability-ceiling-pi-args.test.ts +1 -1
  585. package/dist/extensions/pi-subagents/test/unit/capability-ceiling.test.ts +1 -1
  586. package/dist/extensions/pi-subagents/test/unit/capacity-resilient-json.test.ts +1 -1
  587. package/dist/extensions/pi-subagents/test/unit/chain-append.test.ts +1 -1
  588. package/dist/extensions/pi-subagents/test/unit/chain-root-attachment.test.ts +1 -1
  589. package/dist/extensions/pi-subagents/test/unit/chain-serializer.test.ts +1 -1
  590. package/dist/extensions/pi-subagents/test/unit/child-launch-plan.test.ts +1 -1
  591. package/dist/extensions/pi-subagents/test/unit/child-protocol.test.ts +1 -1
  592. package/dist/extensions/pi-subagents/test/unit/child-session-name.test.ts +1 -1
  593. package/dist/extensions/pi-subagents/test/unit/child-transcript.test.ts +1 -1
  594. package/dist/extensions/pi-subagents/test/unit/claude-code-adapter.test.ts +1 -1
  595. package/dist/extensions/pi-subagents/test/unit/close-grace-timer.test.ts +1 -1
  596. package/dist/extensions/pi-subagents/test/unit/codex-exec-adapter.test.ts +1 -1
  597. package/dist/extensions/pi-subagents/test/unit/compaction-resume.test.ts +1 -1
  598. package/dist/extensions/pi-subagents/test/unit/completion-batcher.test.ts +1 -1
  599. package/dist/extensions/pi-subagents/test/unit/completion-dedupe.test.ts +1 -1
  600. package/dist/extensions/pi-subagents/test/unit/completion-evidence.test.ts +1 -1
  601. package/dist/extensions/pi-subagents/test/unit/completion-guard.test.ts +1 -1
  602. package/dist/extensions/pi-subagents/test/unit/completion-replay.test.ts +1 -1
  603. package/dist/extensions/pi-subagents/test/unit/config-dir-runtime.test.ts +1 -1
  604. package/dist/extensions/pi-subagents/test/unit/control-channel.test.ts +1 -1
  605. package/dist/extensions/pi-subagents/test/unit/control-notices.test.ts +1 -1
  606. package/dist/extensions/pi-subagents/test/unit/cursor-agent-adapter.test.ts +1 -1
  607. package/dist/extensions/pi-subagents/test/unit/cursor-smoke-inputs.test.ts +5 -5
  608. package/dist/extensions/pi-subagents/test/unit/default-extensions.test.ts +1 -1
  609. package/dist/extensions/pi-subagents/test/unit/delegation-api.test.ts +117 -1
  610. package/dist/extensions/pi-subagents/test/unit/doctor.test.ts +1 -1
  611. package/dist/extensions/pi-subagents/test/unit/dynamic-fanout.test.ts +1 -1
  612. package/dist/extensions/pi-subagents/test/unit/ensure-accessible-dir.test.ts +1 -1
  613. package/dist/extensions/pi-subagents/test/unit/extension-bindings.test.ts +1 -1
  614. package/dist/extensions/pi-subagents/test/unit/extension-context.test.ts +1 -1
  615. package/dist/extensions/pi-subagents/test/unit/external-cli-runner.test.ts +1 -1
  616. package/dist/extensions/pi-subagents/test/unit/external-job-runner.test.ts +1 -1
  617. package/dist/extensions/pi-subagents/test/unit/external-runs.test.ts +103 -1
  618. package/dist/extensions/pi-subagents/test/unit/extra-agent-dirs.test.ts +1 -1
  619. package/dist/extensions/pi-subagents/test/unit/fast-mode-extension.test.ts +1 -1
  620. package/dist/extensions/pi-subagents/test/unit/file-coalescer.test.ts +1 -1
  621. package/dist/extensions/pi-subagents/test/unit/file-system-retry.test.ts +1 -1
  622. package/dist/extensions/pi-subagents/test/unit/fleet-status.test.ts +1 -1
  623. package/dist/extensions/pi-subagents/test/unit/fleet-transcript.test.ts +1 -1
  624. package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +1 -1
  625. package/dist/extensions/pi-subagents/test/unit/foreground-control.test.ts +1 -1
  626. package/dist/extensions/pi-subagents/test/unit/foreground-tool-call-compaction.test.ts +1 -1
  627. package/dist/extensions/pi-subagents/test/unit/fork-cache-key.test.ts +2 -2
  628. package/dist/extensions/pi-subagents/test/unit/fork-context.test.ts +1 -1
  629. package/dist/extensions/pi-subagents/test/unit/formatters.test.ts +1 -1
  630. package/dist/extensions/pi-subagents/test/unit/get-final-output.test.ts +1 -1
  631. package/dist/extensions/pi-subagents/test/unit/herdr-inspector-bootstrap.test.ts +1 -1
  632. package/dist/extensions/pi-subagents/test/unit/herdr-inspector.test.ts +1 -1
  633. package/dist/extensions/pi-subagents/test/unit/herdr-session-roots-codec.test.ts +1 -1
  634. package/dist/extensions/pi-subagents/test/unit/herdr-shell-command.test.ts +1 -1
  635. package/dist/extensions/pi-subagents/test/unit/herdr-status-bridge.test.ts +1 -1
  636. package/dist/extensions/pi-subagents/test/unit/host-command.test.ts +1 -1
  637. package/dist/extensions/pi-subagents/test/unit/host-peer-runtime-imports.test.ts +1 -1
  638. package/dist/extensions/pi-subagents/test/unit/host-step-status.test.ts +1 -1
  639. package/dist/extensions/pi-subagents/test/unit/index-child-registration.test.ts +8 -4
  640. package/dist/extensions/pi-subagents/test/unit/index-segment.test.ts +1 -1
  641. package/dist/extensions/pi-subagents/test/unit/inspect-rpc.test.ts +1 -1
  642. package/dist/extensions/pi-subagents/test/unit/intercom-bridge.test.ts +1 -1
  643. package/dist/extensions/pi-subagents/test/unit/jsonl-writer.test.ts +1 -1
  644. package/dist/extensions/pi-subagents/test/unit/llm-intent-arbiter.test.ts +1 -1
  645. package/dist/extensions/pi-subagents/test/unit/mcp-direct-tool-grant.test.ts +1 -1
  646. package/dist/extensions/pi-subagents/test/unit/mission-goal-driver.test.ts +1 -1
  647. package/dist/extensions/pi-subagents/test/unit/mission-lifecycle.test.ts +1 -1
  648. package/dist/extensions/pi-subagents/test/unit/mission-store.test.ts +1 -1
  649. package/dist/extensions/pi-subagents/test/unit/mock-pi.test.ts +1 -1
  650. package/dist/extensions/pi-subagents/test/unit/model-exclusions.test.ts +1 -1
  651. package/dist/extensions/pi-subagents/test/unit/model-fallback.test.ts +102 -6
  652. package/dist/extensions/pi-subagents/test/unit/model-info.test.ts +1 -1
  653. package/dist/extensions/pi-subagents/test/unit/model-scope-settings.test.ts +1 -1
  654. package/dist/extensions/pi-subagents/test/unit/model-scope.test.ts +1 -1
  655. package/dist/extensions/pi-subagents/test/unit/mutation-evidence.test.ts +1 -1
  656. package/dist/extensions/pi-subagents/test/unit/native-supervisor-channel.test.ts +1 -1
  657. package/dist/extensions/pi-subagents/test/unit/nested-control.test.ts +1 -1
  658. package/dist/extensions/pi-subagents/test/unit/nested-events.test.ts +1 -1
  659. package/dist/extensions/pi-subagents/test/unit/node-executable.test.ts +1 -1
  660. package/dist/extensions/pi-subagents/test/unit/notify.test.ts +1 -1
  661. package/dist/extensions/pi-subagents/test/unit/orca-progress-tabs.test.ts +1 -1
  662. package/dist/extensions/pi-subagents/test/unit/owned-process-tree.test.ts +1 -1
  663. package/dist/extensions/pi-subagents/test/unit/package-manifest.test.ts +1 -1
  664. package/dist/extensions/pi-subagents/test/unit/parallel-handoff.test.ts +1 -1
  665. package/dist/extensions/pi-subagents/test/unit/parallel-utils.test.ts +1 -1
  666. package/dist/extensions/pi-subagents/test/unit/path-handling.test.ts +0 -1
  667. package/dist/extensions/pi-subagents/test/unit/path-resolution.test.ts +1 -1
  668. package/dist/extensions/pi-subagents/test/unit/permissions.test.ts +1 -1
  669. package/dist/extensions/pi-subagents/test/unit/pi-args-permission-system.test.ts +1 -1
  670. package/dist/extensions/pi-subagents/test/unit/pi-args.test.ts +5 -5
  671. package/dist/extensions/pi-subagents/test/unit/pi-coding-agent-dir.test.ts +2 -2
  672. package/dist/extensions/pi-subagents/test/unit/pi-spawn.test.ts +1 -1
  673. package/dist/extensions/pi-subagents/test/unit/preflight.test.ts +106 -1
  674. package/dist/extensions/pi-subagents/test/unit/proactive-skills.test.ts +1 -1
  675. package/dist/extensions/pi-subagents/test/unit/process-terminal.test.ts +1 -1
  676. package/dist/extensions/pi-subagents/test/unit/profiles.test.ts +1 -1
  677. package/dist/extensions/pi-subagents/test/unit/project-panes-public-api.test.ts +1 -1
  678. package/dist/extensions/pi-subagents/test/unit/prompt-template-bridge.test.ts +1 -1
  679. package/dist/extensions/pi-subagents/test/unit/prompt-workflows.test.ts +1 -1
  680. package/dist/extensions/pi-subagents/test/unit/pruned-fork.test.ts +1 -1
  681. package/dist/extensions/pi-subagents/test/unit/public-execution.test.ts +40 -3
  682. package/dist/extensions/pi-subagents/test/unit/reads-resolution.test.ts +1 -1
  683. package/dist/extensions/pi-subagents/test/unit/recursion-guard.test.ts +1 -1
  684. package/dist/extensions/pi-subagents/test/unit/render-helpers.test.ts +60 -10
  685. package/dist/extensions/pi-subagents/test/unit/result-delivery-ownership.test.ts +1 -1
  686. package/dist/extensions/pi-subagents/test/unit/result-files.test.ts +1 -1
  687. package/dist/extensions/pi-subagents/test/unit/result-intercom.test.ts +1 -1
  688. package/dist/extensions/pi-subagents/test/unit/retained-children.test.ts +1 -1
  689. package/dist/extensions/pi-subagents/test/unit/rpc.test.ts +98 -1
  690. package/dist/extensions/pi-subagents/test/unit/run-fanout-budget.test.ts +1 -1
  691. package/dist/extensions/pi-subagents/test/unit/run-id-resolver.test.ts +1 -1
  692. package/dist/extensions/pi-subagents/test/unit/run-status.test.ts +3 -3
  693. package/dist/extensions/pi-subagents/test/unit/runtime-acknowledged-extensions.test.ts +1 -1
  694. package/dist/extensions/pi-subagents/test/unit/runtime-agent-registration.test.ts +44 -2
  695. package/dist/extensions/pi-subagents/test/unit/scheduled-runs.test.ts +3 -3
  696. package/dist/extensions/pi-subagents/test/unit/scheduled-store-root.test.ts +1 -1
  697. package/dist/extensions/pi-subagents/test/unit/schemas.test.ts +48 -5
  698. package/dist/extensions/pi-subagents/test/unit/scripted-workflow.test.ts +427 -3
  699. package/dist/extensions/pi-subagents/test/unit/selector.test.ts +1 -1
  700. package/dist/extensions/pi-subagents/test/unit/session-lease.test.ts +1 -1
  701. package/dist/extensions/pi-subagents/test/unit/single-output.test.ts +1 -1
  702. package/dist/extensions/pi-subagents/test/unit/skills-fallback.test.ts +1 -1
  703. package/dist/extensions/pi-subagents/test/unit/slash-bridge.test.ts +1 -1
  704. package/dist/extensions/pi-subagents/test/unit/spawn-budget.test.ts +1 -1
  705. package/dist/extensions/pi-subagents/test/unit/stale-run-reconciler.test.ts +41 -1
  706. package/dist/extensions/pi-subagents/test/unit/status-format.test.ts +1 -1
  707. package/dist/extensions/pi-subagents/test/unit/steering-action.test.ts +1 -1
  708. package/dist/extensions/pi-subagents/test/unit/steering-notices.test.ts +1 -1
  709. package/dist/extensions/pi-subagents/test/unit/steering.test.ts +1 -1
  710. package/dist/extensions/pi-subagents/test/unit/streamed-progress-bounds.test.ts +1 -1
  711. package/dist/extensions/pi-subagents/test/unit/subagent-action-recovery.test.ts +1 -1
  712. package/dist/extensions/pi-subagents/test/unit/subagent-control.test.ts +1 -1
  713. package/dist/extensions/pi-subagents/test/unit/subagent-guide.test.ts +9 -1
  714. package/dist/extensions/pi-subagents/test/unit/subagent-prompt-runtime.test.ts +11 -11
  715. package/dist/extensions/pi-subagents/test/unit/subagent-startup-retry.test.ts +1 -1
  716. package/dist/extensions/pi-subagents/test/unit/subagent-wait.test.ts +5 -5
  717. package/dist/extensions/pi-subagents/test/unit/task-intent.test.ts +1 -1
  718. package/dist/extensions/pi-subagents/test/unit/temp-paths.test.ts +1 -1
  719. package/dist/extensions/pi-subagents/test/unit/thinking-ceiling.test.ts +1 -1
  720. package/dist/extensions/pi-subagents/test/unit/timeout-defaults.test.ts +1 -1
  721. package/dist/extensions/pi-subagents/test/unit/tool-budget.test.ts +1 -1
  722. package/dist/extensions/pi-subagents/test/unit/tool-description.test.ts +8 -6
  723. package/dist/extensions/pi-subagents/test/unit/tool-timeout.test.ts +3 -3
  724. package/dist/extensions/pi-subagents/test/unit/total-cost.test.ts +1 -1
  725. package/dist/extensions/pi-subagents/test/unit/ts-loader.test.ts +1 -1
  726. package/dist/extensions/pi-subagents/test/unit/types-fork-preamble.test.ts +1 -1
  727. package/dist/extensions/pi-subagents/test/unit/wait-completions.test.ts +1 -1
  728. package/dist/extensions/pi-subagents/test/unit/wait-subscriptions.test.ts +7 -5
  729. package/dist/extensions/pi-subagents/test/unit/watch-strategy.test.ts +1 -1
  730. package/dist/extensions/pi-subagents/test/unit/watchdog-change-signature.test.ts +1 -1
  731. package/dist/extensions/pi-subagents/test/unit/watchdog-child-status.test.ts +1 -1
  732. package/dist/extensions/pi-subagents/test/unit/watchdog-emission-guard.test.ts +1 -1
  733. package/dist/extensions/pi-subagents/test/unit/watchdog-lsp-diagnostics.test.ts +1 -1
  734. package/dist/extensions/pi-subagents/test/unit/watchdog-model-selection.test.ts +1 -1
  735. package/dist/extensions/pi-subagents/test/unit/watchdog-permission-arbiter.test.ts +1 -1
  736. package/dist/extensions/pi-subagents/test/unit/watchdog-render.test.ts +1 -1
  737. package/dist/extensions/pi-subagents/test/unit/watchdog-review.test.ts +1 -1
  738. package/dist/extensions/pi-subagents/test/unit/watchdog-runtime.test.ts +1 -1
  739. package/dist/extensions/pi-subagents/test/unit/watchdog-scope.test.ts +1 -1
  740. package/dist/extensions/pi-subagents/test/unit/watchdog-settings.test.ts +1 -1
  741. package/dist/extensions/pi-subagents/test/unit/watchdog-tool-actions.test.ts +1 -1
  742. package/dist/extensions/pi-subagents/test/unit/watchdog-turn-delta.test.ts +1 -1
  743. package/dist/extensions/pi-subagents/test/unit/widget-nested-render.test.ts +8 -6
  744. package/dist/extensions/pi-subagents/test/unit/windows-hide-spawn.test.ts +13 -1
  745. package/dist/extensions/pi-subagents/test/unit/workflow-chat-progress.test.ts +1 -1
  746. package/dist/extensions/pi-subagents/test/unit/workflow-detach-reconcile.test.ts +1 -1
  747. package/dist/extensions/pi-subagents/test/unit/workflow-graph.test.ts +1 -1
  748. package/dist/extensions/pi-subagents/test/unit/workflow-launch-params.test.ts +12 -1
  749. package/dist/extensions/pi-subagents/test/unit/workflow-preflight.test.ts +1 -1
  750. package/dist/extensions/pi-subagents/test/unit/workflow-receipt.test.ts +31 -1
  751. package/dist/extensions/pi-subagents/test/unit/workflow-resources.test.ts +98 -0
  752. package/dist/extensions/pi-subagents/test/unit/workflow-resume-hint.test.ts +1 -1
  753. package/dist/extensions/pi-subagents/test/unit/worktree-cleanup-plan.test.ts +1 -1
  754. package/dist/extensions/pi-subagents/test/unit/worktree.test.ts +1 -1
  755. package/dist/extensions/pi-subagents/test/unit/writer-budget-guidance.test.ts +1 -1
  756. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/effect/index.ts +1 -1
  757. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/effect/rules/no-service-constructor-imports.ts +1 -1
  758. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/index.ts +1 -1
  759. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-chained-type-assertions.ts +1 -1
  760. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-conditional-empty-object-spread.ts +1 -1
  761. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-known-value-widening.ts +1 -1
  762. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-module-mocking.ts +1 -1
  763. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-object-parameters.ts +1 -1
  764. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-reflect-apply.ts +1 -1
  765. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-reflect-get.ts +1 -1
  766. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-runtime-typeof.ts +1 -1
  767. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-shape-in-symbol-names.ts +1 -1
  768. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unknown-parameters.ts +1 -1
  769. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unknown-returns.ts +1 -1
  770. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unknown-type-aliases.ts +1 -1
  771. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unsafe-dictionary-type.ts +1 -1
  772. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-widen-then-assert.ts +1 -1
  773. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/require-safety-comment-for-type-assertion.ts +1 -1
  774. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/shared/dictionary-types.ts +1 -1
  775. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/shared/lexical-type-parameters.ts +1 -1
  776. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/shared/reflect-method.ts +1 -1
  777. package/dist/extensions/pi-subagents/tsconfig.json +1 -1
  778. package/dist/extensions/pi-web-agent/src/backends/settings-reader.ts +25 -25
  779. package/dist/extensions/pi-web-agent/src/cache/ttl-cache.ts +28 -28
  780. package/dist/extensions/pi-web-agent/src/changelog-notice.ts +136 -136
  781. package/dist/extensions/pi-web-agent/src/fetch/browser-resolution.ts +199 -199
  782. package/dist/extensions/pi-web-agent/src/fetch/firecrawl-fetch.ts +100 -100
  783. package/dist/extensions/pi-web-agent/src/fetch/headless-fetch.ts +117 -117
  784. package/dist/extensions/pi-web-agent/src/fetch/http-fetch.ts +67 -67
  785. package/dist/extensions/pi-web-agent/src/orchestration/answer-synthesizer.ts +60 -60
  786. package/dist/extensions/pi-web-agent/src/orchestration/index.ts +28 -28
  787. package/dist/extensions/pi-web-agent/src/orchestration/query-planner.ts +47 -47
  788. package/dist/extensions/pi-web-agent/src/orchestration/stop-decider.ts +81 -81
  789. package/dist/extensions/pi-web-agent/src/presentation/config-store.ts +210 -210
  790. package/dist/extensions/pi-web-agent/src/presentation/config.ts +75 -75
  791. package/dist/extensions/pi-web-agent/src/presentation/fetch-presentation.ts +54 -54
  792. package/dist/extensions/pi-web-agent/src/presentation/select-view.ts +20 -20
  793. package/dist/extensions/pi-web-agent/src/presentation/types.ts +63 -63
  794. package/dist/extensions/pi-web-agent/src/search/brave.ts +114 -114
  795. package/dist/extensions/pi-web-agent/src/search/searxng.ts +96 -96
  796. package/dist/extensions/pi-web-agent/src/tools/web-explore.ts +71 -71
  797. package/dist/extensions/pi-web-agent/src/tools/web-fetch-headless.ts +31 -31
  798. package/dist/extensions/pi-web-agent/src/tools/web-fetch.ts +31 -31
  799. package/dist/extensions/ponytail/package.json +8 -8
  800. package/dist/extensions/question/constants.ts +30 -30
  801. package/dist/extensions/question/helpers.ts +58 -58
  802. package/dist/extensions/question/navigation.ts +14 -14
  803. package/dist/extensions/question/package.json +19 -19
  804. package/dist/extensions/question/selection-mode.ts +46 -46
  805. package/dist/extensions/question/shortcuts.ts +44 -44
  806. package/dist/extensions/question/types.ts +132 -132
  807. package/dist/extensions/test-resolve-hook-impl.mjs +6 -6
  808. package/dist/extensions/test-resolve-hook.mjs +6 -6
  809. package/dist/extensions/web-agent-onboarding.ts +222 -222
  810. package/dist/package-manager-cli.js +71 -71
  811. package/dist/rpc-entry.js +0 -0
  812. package/dist/skills/improve-codebase/REFERENCE.md +78 -78
  813. package/docs/compaction.md +396 -396
  814. package/docs/containerization.md +111 -111
  815. package/docs/development.md +71 -71
  816. package/docs/docs.json +164 -164
  817. package/docs/environment-variables.md +86 -86
  818. package/docs/images/selesai-wordmark.png +0 -0
  819. package/docs/images/tokenin-preview.png +0 -0
  820. package/docs/index.md +83 -83
  821. package/docs/json.md +82 -82
  822. package/docs/models.md +502 -502
  823. package/docs/packages.md +227 -227
  824. package/docs/plans/subagent-delegation/phase-0-correctness.md +264 -264
  825. package/docs/plans/subagent-delegation/phase-1-behavioral-contract.md +485 -485
  826. package/docs/plans/subagent-delegation/phase-2-context-controls.md +281 -281
  827. package/docs/plans/subagent-delegation/phase-3-advisory-routing.md +361 -361
  828. package/docs/plans/subagent-delegation/phase-4-optional-enforcement.md +380 -380
  829. package/docs/prompt-templates.md +95 -95
  830. package/docs/providers.md +293 -293
  831. package/docs/security.md +59 -59
  832. package/docs/session-format.md +414 -414
  833. package/docs/sessions.md +145 -145
  834. package/docs/shared-host-extensions.md +109 -109
  835. package/docs/shell-aliases.md +13 -13
  836. package/docs/skills.md +231 -231
  837. package/docs/terminal-setup.md +142 -142
  838. package/docs/termux.md +127 -127
  839. package/docs/themes.md +295 -295
  840. package/docs/tmux.md +63 -63
  841. package/docs/tui.md +927 -927
  842. package/docs/windows.md +17 -17
  843. package/examples/README.md +25 -25
  844. package/examples/extensions/README.md +211 -211
  845. package/examples/extensions/auto-commit-on-exit.ts +49 -49
  846. package/examples/extensions/bash-spawn-hook.ts +30 -30
  847. package/examples/extensions/bookmark.ts +50 -50
  848. package/examples/extensions/border-status-editor.ts +150 -150
  849. package/examples/extensions/built-in-tool-renderer.ts +249 -249
  850. package/examples/extensions/claude-rules.ts +86 -86
  851. package/examples/extensions/commands.ts +72 -72
  852. package/examples/extensions/confirm-destructive.ts +59 -59
  853. package/examples/extensions/custom-compaction.ts +130 -130
  854. package/examples/extensions/custom-footer.ts +64 -64
  855. package/examples/extensions/custom-header.ts +73 -73
  856. package/examples/extensions/custom-provider-anthropic/index.ts +610 -610
  857. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -24
  858. package/examples/extensions/custom-provider-anthropic/package.json +19 -19
  859. package/examples/extensions/custom-provider-gitlab-duo/index.ts +404 -404
  860. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -16
  861. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -82
  862. package/examples/extensions/dirty-repo-guard.ts +56 -56
  863. package/examples/extensions/doom-overlay/README.md +46 -46
  864. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -21
  865. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  866. package/examples/extensions/doom-overlay/doom/build.sh +152 -152
  867. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -72
  868. package/examples/extensions/doom-overlay/doom-component.ts +132 -132
  869. package/examples/extensions/doom-overlay/doom-engine.ts +173 -173
  870. package/examples/extensions/doom-overlay/doom-keys.ts +104 -104
  871. package/examples/extensions/doom-overlay/index.ts +74 -74
  872. package/examples/extensions/doom-overlay/wad-finder.ts +51 -51
  873. package/examples/extensions/dynamic-resources/SKILL.md +8 -8
  874. package/examples/extensions/dynamic-resources/dynamic.json +79 -79
  875. package/examples/extensions/dynamic-resources/dynamic.md +5 -5
  876. package/examples/extensions/dynamic-resources/index.ts +15 -15
  877. package/examples/extensions/dynamic-tools.ts +74 -74
  878. package/examples/extensions/event-bus.ts +43 -43
  879. package/examples/extensions/file-trigger.ts +41 -41
  880. package/examples/extensions/git-checkpoint.ts +53 -53
  881. package/examples/extensions/git-merge-and-resolve.ts +115 -115
  882. package/examples/extensions/github-issue-autocomplete.ts +185 -185
  883. package/examples/extensions/gondolin/index.ts +531 -531
  884. package/examples/extensions/gondolin/package-lock.json +185 -185
  885. package/examples/extensions/gondolin/package.json +19 -19
  886. package/examples/extensions/handoff.ts +199 -199
  887. package/examples/extensions/hello.ts +26 -26
  888. package/examples/extensions/hidden-thinking-label.ts +53 -53
  889. package/examples/extensions/inline-bash.ts +94 -94
  890. package/examples/extensions/input-transform-streaming.ts +39 -39
  891. package/examples/extensions/input-transform.ts +43 -43
  892. package/examples/extensions/interactive-shell.ts +196 -196
  893. package/examples/extensions/mac-system-theme.ts +47 -47
  894. package/examples/extensions/message-renderer.ts +59 -59
  895. package/examples/extensions/minimal-mode.ts +426 -426
  896. package/examples/extensions/modal-editor.ts +85 -85
  897. package/examples/extensions/model-status.ts +31 -31
  898. package/examples/extensions/notify.ts +55 -55
  899. package/examples/extensions/overlay-qa-tests.ts +1450 -1450
  900. package/examples/extensions/overlay-test.ts +153 -153
  901. package/examples/extensions/permission-gate.ts +34 -34
  902. package/examples/extensions/pirate.ts +47 -47
  903. package/examples/extensions/plan-mode/README.md +66 -66
  904. package/examples/extensions/plan-mode/index.ts +390 -390
  905. package/examples/extensions/plan-mode/utils.ts +168 -168
  906. package/examples/extensions/preset.ts +436 -436
  907. package/examples/extensions/project-trust.ts +64 -64
  908. package/examples/extensions/prompt-customizer.ts +97 -97
  909. package/examples/extensions/protected-paths.ts +30 -30
  910. package/examples/extensions/provider-payload.ts +18 -18
  911. package/examples/extensions/qna.ts +122 -122
  912. package/examples/extensions/question.ts +285 -285
  913. package/examples/extensions/questionnaire.ts +448 -448
  914. package/examples/extensions/rainbow-editor.ts +88 -88
  915. package/examples/extensions/reload-runtime.ts +37 -37
  916. package/examples/extensions/rpc-demo.ts +118 -118
  917. package/examples/extensions/sandbox/index.ts +321 -321
  918. package/examples/extensions/sandbox/package-lock.json +92 -92
  919. package/examples/extensions/sandbox/package.json +19 -19
  920. package/examples/extensions/send-user-message.ts +97 -97
  921. package/examples/extensions/session-name.ts +27 -27
  922. package/examples/extensions/shutdown-command.ts +63 -63
  923. package/examples/extensions/snake.ts +343 -343
  924. package/examples/extensions/space-invaders.ts +560 -560
  925. package/examples/extensions/ssh.ts +220 -220
  926. package/examples/extensions/status-line.ts +32 -32
  927. package/examples/extensions/structured-output.ts +65 -65
  928. package/examples/extensions/subagent/README.md +175 -175
  929. package/examples/extensions/subagent/agents/planner.md +37 -37
  930. package/examples/extensions/subagent/agents/reviewer.md +35 -35
  931. package/examples/extensions/subagent/agents/scout.md +50 -50
  932. package/examples/extensions/subagent/agents/worker.md +24 -24
  933. package/examples/extensions/subagent/agents.ts +126 -126
  934. package/examples/extensions/subagent/index.ts +1015 -1015
  935. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -10
  936. package/examples/extensions/subagent/prompts/implement.md +10 -10
  937. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -9
  938. package/examples/extensions/summarize.ts +209 -209
  939. package/examples/extensions/system-prompt-header.ts +17 -17
  940. package/examples/extensions/tic-tac-toe.ts +1008 -1008
  941. package/examples/extensions/timed-confirm.ts +70 -70
  942. package/examples/extensions/titlebar-spinner.ts +58 -58
  943. package/examples/extensions/todo.ts +297 -297
  944. package/examples/extensions/tool-override.ts +144 -144
  945. package/examples/extensions/tools.ts +146 -146
  946. package/examples/extensions/trigger-compact.ts +50 -50
  947. package/examples/extensions/truncated-tool.ts +195 -195
  948. package/examples/extensions/widget-placement.ts +9 -9
  949. package/examples/extensions/with-deps/index.ts +32 -32
  950. package/examples/extensions/with-deps/package-lock.json +31 -31
  951. package/examples/extensions/with-deps/package.json +22 -22
  952. package/examples/extensions/working-indicator.ts +123 -123
  953. package/examples/extensions/working-message-test.ts +25 -25
  954. package/examples/rpc-extension-ui.ts +632 -632
  955. package/examples/sdk/01-minimal.ts +26 -26
  956. package/examples/sdk/02-custom-model.ts +53 -53
  957. package/examples/sdk/03-custom-prompt.ts +75 -75
  958. package/examples/sdk/04-skills.ts +55 -55
  959. package/examples/sdk/05-tools.ts +48 -48
  960. package/examples/sdk/06-extensions.ts +99 -99
  961. package/examples/sdk/07-context-files.ts +47 -47
  962. package/examples/sdk/08-prompt-templates.ts +51 -51
  963. package/examples/sdk/09-api-keys-and-oauth.ts +52 -52
  964. package/examples/sdk/10-settings.ts +53 -53
  965. package/examples/sdk/11-sessions.ts +52 -52
  966. package/examples/sdk/12-full-control.ts +79 -79
  967. package/examples/sdk/13-session-runtime.ts +67 -67
  968. package/examples/sdk/README.md +144 -144
  969. package/package.json +1 -1
  970. package/dist/extensions/pi-subagents/banner.png +0 -0
@@ -1,486 +1,486 @@
1
- # Phase 1 Plan: Always-Visible Delegation Contract and Dynamic Agent Catalog
2
-
3
- ## Objective
4
-
5
- Make delegation behavior reliable through prompt/catalog contracts, without runtime enforcement changes:
6
-
7
- - Keep tiny, targeted reads and simple answers with the parent.
8
- - Delegate broad local investigation, external research, and mutation/implementation work when a capable configured agent exists.
9
- - Require runtime catalog discovery before selection.
10
- - Keep policy generic: static tool text must not name bundled agents.
11
- - Expose the same dynamic catalog as concise human text and versioned machine metadata.
12
- - Preserve capability ceilings, aliases, overrides, child boundaries, and existing execution semantics.
13
-
14
- ## Discovery completed
15
-
16
- Verified ownership and seams:
17
-
18
- - Main prompt assembly: `src/core/system-prompt.ts`, invoked by `src/core/agent-session.ts:_rebuildSystemPrompt`.
19
- - Parent tool registration: `src/extensions/pi-subagents/src/extension/index.ts`.
20
- - Full/compact/custom tool descriptions: `src/extensions/pi-subagents/src/extension/tool-description.ts`.
21
- - Child-safe fanout tool: `src/extensions/pi-subagents/src/extension/fanout-child.ts`.
22
- - Runtime discovery/listing: `src/extensions/pi-subagents/src/agents/agent-management.ts:handleList`.
23
- - Dynamic agent model: `src/extensions/pi-subagents/src/agents/agents.ts:AgentConfig`.
24
- - Result metadata: `src/extensions/pi-subagents/src/shared/types.ts:Details`.
25
- - Parent-only skill: `src/extensions/pi-subagents/skills/pi-subagents/SKILL.md`.
26
- - Bundled agent descriptions: `src/extensions/pi-subagents/agents/*.md`.
27
- - Existing test seams: core Vitest tests, extension unit tests, and faux-provider E2E tests.
28
-
29
- ## Phase 0 dependency
30
-
31
- Do not begin Phase 1 until Phase 0 is merged or rebased into the worktree.
32
-
33
- Phase 1 relies on Phase 0 to establish truthful bundled-agent documentation and capabilities, including:
34
-
35
- - Correct `.selesai` discovery paths.
36
- - Correct fresh/fork defaults.
37
- - Correct child tool declarations and extension/MCP availability.
38
- - Correct role tables and output contracts.
39
- - Regenerated `dist/extensions/pi-subagents/**` assets.
40
-
41
- Before editing, run `git status --short` and inspect the Phase 0 diff. Resolve conflicts in bundled agent frontmatter before adding the Phase 1 descriptions and `acceptanceRole` fields below.
42
-
43
- ---
44
-
45
- ## Policy ownership contract
46
-
47
- | Surface | Owner | Required content | Must not own |
48
- |---|---|---|---|
49
- | Selesai main guidance | `buildSystemPrompt` | Generic routing threshold: retain tiny targeted reads locally; delegate broad local, external, or mutation work when delegation is available | Agent names, catalog snapshots, enforcement |
50
- | Mandatory parent tool guidance | Parent `subagent` tool registration and mandatory description block | Catalog-first selection, executable-only requirement, parent decision/writer responsibility | Builtin agent names or role-name routing |
51
- | Parent-only skill | `skills/pi-subagents/SKILL.md` | Detailed orchestration procedure and writer/reviewer workflow | Child behavior or tool authorization |
52
- | Agent descriptions | Bundled/custom agent frontmatter `description` | What each agent is best for; custom agents remain dynamic | Global routing policy |
53
- | `action:list` human output | `handleList` | Current executable/restricted state, source, role, context, aliases, declared tools | Full system prompts or stale static agent tables |
54
- | `action:list` machine metadata | `Details.catalog` | Versioned structured equivalent of the visible catalog | Authorization changes or a new request parameter |
55
-
56
- `action:list` is the runtime source of truth. Prompt text tells the model to call it; it must not embed a copied catalog.
57
-
58
- ---
59
-
60
- ## Ordered implementation tasks
61
-
62
- ### Task 1 — Make active-tool prompt guidance survive both default and custom system prompts
63
-
64
- #### Discovery
65
- Inspect:
66
-
67
- - `src/core/system-prompt.ts:buildSystemPrompt`
68
- - `src/core/agent-session.ts:_rebuildSystemPrompt`
69
- - `src/core/extensions/types.ts:ToolDefinition`
70
- - Existing tests under `src/core/*.test.ts`
71
-
72
- Confirm that `promptGuidelines` are collected from active tools but currently appear only in the default prompt path.
73
-
74
- #### Identification
75
- Modify:
76
-
77
- - `src/core/system-prompt.ts`
78
- - Add `src/core/system-prompt.test.ts`
79
-
80
- Do not modify resource loading, skill formatting, `formatAgentsForPrompt`, or tool activation rules. The existing agent XML is read-tool-gated and is not a capability-ceiling-aware delegation catalog.
81
-
82
- #### Change
83
- 1. Add one generic, conditional delegation-routing guideline to the core prompt construction:
84
- - It must say “when a delegation/subagent tool is available,” so sessions without the extension are unaffected.
85
- - It must direct the parent to keep tiny targeted reads/simple answers local.
86
- - It must direct broad local investigation, external research, and mutation/implementation work to a capable delegated agent.
87
- - It must direct catalog/list inspection before selection.
88
- - It must retain parent decision authority and one-writer safety.
89
-
90
- 2. Render active `promptGuidelines` in the custom-prompt branch as well as the default-prompt branch.
91
- - Preserve the caller’s custom prompt text unchanged.
92
- - Append a clearly delimited guidelines section only when non-empty guidelines exist.
93
- - Use the same normalized/deduplicated guidance collected by `_rebuildSystemPrompt`.
94
- - Do not require `read` to render these active-tool guidelines.
95
-
96
- 3. Keep existing default tool snippets, skills, agents XML, project context, append prompt behavior, and current-working-directory suffix unchanged.
97
-
98
- #### Verification
99
- Success:
100
- - Default prompt contains the generic delegation threshold.
101
- - A custom system prompt with an active tool guideline includes both the original custom prompt and the guideline.
102
- - Empty `promptGuidelines` does not add an empty section.
103
-
104
- Regression:
105
- - Skills and generic agents remain gated by `read`.
106
- - Custom prompt still replaces the default prose.
107
- - No tool is made active by prompt construction.
108
-
109
- Failure:
110
- - A custom prompt must not silently lose mandatory active-tool guidance.
111
-
112
- ---
113
-
114
- ### Task 2 — Add generic mandatory parent-tool delegation guidance and remove static bundled names
115
-
116
- #### Discovery
117
- Inspect:
118
-
119
- - `src/extensions/pi-subagents/src/extension/tool-description.ts`
120
- - `src/extensions/pi-subagents/src/extension/index.ts`
121
- - `src/extensions/pi-subagents/src/extension/fanout-child.ts`
122
- - `src/extensions/pi-subagents/test/unit/tool-description.test.ts`
123
- - `src/extensions/pi-subagents/test/unit/index-child-registration.test.ts`
124
-
125
- #### Identification
126
- Modify:
127
-
128
- - `src/extensions/pi-subagents/src/extension/tool-description.ts`
129
- - `src/extensions/pi-subagents/src/extension/index.ts`
130
- - `src/extensions/pi-subagents/test/unit/tool-description.test.ts`
131
- - `src/extensions/pi-subagents/test/unit/index-child-registration.test.ts` only if needed to assert parent-vs-child registration behavior.
132
-
133
- Do not modify schemas, execution requests, delegation protocol versions, capability ceilings, or child runtime boundaries.
134
-
135
- #### Change
136
- 1. Define a shared exported parent-routing guidance constant in `tool-description.ts`.
137
- - It must be generic and contain no bundled agent names.
138
- - It must require `{ action: "list" }` before execution.
139
- - It must require selecting only executable entries using current role/context/tool metadata.
140
- - It must state the tiny-local-read versus broad/external/mutation delegation threshold.
141
- - It must state that the parent remains decision-maker and normally the sole writer.
142
-
143
- 2. Include that guidance in:
144
- - `FULL_SUBAGENT_TOOL_DESCRIPTION`.
145
- - `COMPACT_SUBAGENT_TOOL_DESCRIPTION`.
146
- - The mandatory block appended by `withMandatorySafetyGuidance`, so custom descriptions cannot remove it.
147
-
148
- 3. In `extension/index.ts`, attach the shared routing text as `promptGuidelines` on the parent `subagent` `ToolDefinition`.
149
- - This is the always-visible active-tool path delivered by Task 1.
150
- - Do not attach it to child-safe fanout registration.
151
-
152
- 4. Replace existing hardcoded bundled-agent examples in static parent tool prose—currently eject/disable/enable/reset examples—with `"agent-name"` placeholders.
153
- - Strengthen the invariant: full, compact, and custom-rendered static descriptions must contain none of the six bundled names.
154
- - Generic chain placeholders such as `"agent-a"` remain acceptable.
155
-
156
- 5. Keep `fanout-child.ts` intentionally narrower:
157
- - It may continue to describe its allowed child-safe actions.
158
- - Do not give ordinary children the parent routing contract or imply that all children can orchestrate.
159
-
160
- #### Verification
161
- Success:
162
- - Full, compact, and custom descriptions contain catalog-first routing and the local-vs-delegated threshold.
163
- - Registered parent tool exposes `promptGuidelines`.
164
- - Static descriptions contain none of `architect`, `builder`, `commentator`, `explorer`, `recapper`, or `researcher`.
165
- - Mandatory guidance remains last for custom descriptions.
166
-
167
- Regression:
168
- - Full/compact/custom fallback behavior remains unchanged.
169
- - Safety block still cannot be overridden by custom prose.
170
- - Child-safe fanout still blocks mutating management actions and remains distinct from parent registration.
171
-
172
- Failure:
173
- - Invalid custom description mode still falls back to full mode.
174
- - A custom description cannot omit mandatory routing/safety guidance.
175
-
176
- ---
177
-
178
- ### Task 3 — Publish a stronger dynamic catalog in human output and machine metadata
179
-
180
- #### Discovery
181
- Inspect:
182
-
183
- - `src/extensions/pi-subagents/src/agents/agent-management.ts:handleList`
184
- - `formatAgentDetail`
185
- - `src/extensions/pi-subagents/src/agents/agents.ts:AgentConfig`
186
- - `src/extensions/pi-subagents/src/shared/types.ts:Details`
187
- - `src/extensions/pi-subagents/test/unit/agent-management.test.ts`
188
- - `src/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts`
189
-
190
- #### Identification
191
- Modify:
192
-
193
- - `src/extensions/pi-subagents/src/agents/agent-management.ts`
194
- - `src/extensions/pi-subagents/src/shared/types.ts`
195
- - `src/extensions/pi-subagents/test/unit/agent-management.test.ts`
196
- - `src/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts`
197
-
198
- Do not change:
199
-
200
- - Agent discovery precedence.
201
- - Alias resolution.
202
- - Capability ceiling parsing/version/env propagation.
203
- - `models` action’s builtin-only behavior.
204
- - Execution preflight or authorization.
205
-
206
- #### Change
207
- 1. Add optional versioned catalog metadata to `Details`, for example:
208
- - `catalog.version: 1`
209
- - `catalog.agents`
210
- - `catalog.chains`
211
- - `catalog.capabilityCeilingSources` when applicable.
212
-
213
- 2. Define catalog-agent metadata from the already resolved, visible runtime agents:
214
- - `name` — canonical runtime name.
215
- - `source` — builtin/package/user/project.
216
- - `description`.
217
- - `executable` — `true` for allowed visible agents; `false` for ceiling-restricted visible agents.
218
- - `restrictionSources` only when restricted.
219
- - `aliases` when present.
220
- - `defaultContext`, normalized to explicit `"fresh"` when unset.
221
- - `acceptanceRole` when declared.
222
- - Effective declared `tools`, combining normal tools and `mcp:`-prefixed direct MCP tools as already done in `formatAgentDetail`.
223
-
224
- 3. Define catalog-chain metadata from the currently listed chains:
225
- - `name`, `source`, `description`.
226
- - Do not expose full chain steps in list metadata; callers can use `get`.
227
-
228
- 4. Refactor the existing local “effective tools” formatting into one private helper if needed, so `formatAgentDetail`, human list text, and machine metadata cannot disagree.
229
-
230
- 5. Change `handleList` human output to make selection-relevant fields visible without needing `get`, using a stable compact line format such as:
231
- - executable/restricted status by section;
232
- - canonical name;
233
- - source;
234
- - role when declared;
235
- - normalized context;
236
- - aliases;
237
- - tools;
238
- - description.
239
-
240
- 6. Preserve current behavior:
241
- - Disabled agents remain absent.
242
- - Restricted agents remain visible but non-executable.
243
- - Scope filtering and shadowing remain unchanged.
244
- - Proactive recommendations and diagnostics remain after catalog sections.
245
- - `get` remains the full-detail path.
246
-
247
- #### Verification
248
- Success:
249
- - A custom agent appears with its dynamic name, source, aliases, role, context, declared tools, and description in both text and `details.catalog`.
250
- - A capability-ceiling-restricted agent appears as `executable: false` with restriction sources in metadata and remains in the restricted human section.
251
- - A project override still shadows lower-priority entries.
252
- - Chains appear in both human and machine catalog output.
253
-
254
- Regression:
255
- - Disabled agents do not leak into either catalog representation.
256
- - Ceiling-restricted agents cannot be launched despite being visible.
257
- - Existing text headings remain recognizable: `Executable agents:`, `Restricted agents`, and `Chains:`.
258
-
259
- Failure:
260
- - Invalid list scope behavior remains unchanged.
261
- - Empty catalog still returns `(none)` text and valid `{ version: 1, agents: [], chains: [] }` metadata.
262
-
263
- ---
264
-
265
- ### Task 4 — Align parent-only skill and bundled agent descriptions with the generic catalog contract
266
-
267
- #### Discovery
268
- Inspect after Phase 0 merge:
269
-
270
- - `src/extensions/pi-subagents/skills/pi-subagents/SKILL.md`
271
- - `src/extensions/pi-subagents/agents/{architect,builder,commentator,explorer,recapper,researcher}.md`
272
- - `src/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts`
273
-
274
- #### Identification
275
- Modify:
276
-
277
- - `src/extensions/pi-subagents/skills/pi-subagents/SKILL.md`
278
- - `src/extensions/pi-subagents/agents/architect.md`
279
- - `src/extensions/pi-subagents/agents/builder.md`
280
- - `src/extensions/pi-subagents/agents/commentator.md`
281
- - `src/extensions/pi-subagents/agents/explorer.md`
282
- - `src/extensions/pi-subagents/agents/recapper.md`
283
- - `src/extensions/pi-subagents/agents/researcher.md`
284
- - `src/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts`
285
-
286
- Do not edit child boundary instructions or add new frontmatter schema fields.
287
-
288
- #### Change
289
- 1. In the parent-only `SKILL.md`, add one concise routing rule near “Selesai default”:
290
- - Keep tiny targeted reads/simple responses with the parent.
291
- - For broad local investigation, external research, or mutation work, call `action:list`, choose an executable entry from its runtime metadata, then delegate.
292
- - Treat list output—not hardcoded role names—as the agent-selection authority.
293
- - Keep existing parent ownership, capability ceiling, one-writer, and child-boundary rules.
294
-
295
- 2. Update only the `description:` frontmatter values for the six bundled agents so they advertise their purpose without making static tool text depend on their names:
296
- - architect: read-only architecture and implementation planning.
297
- - builder: mutation-capable scoped implementation.
298
- - commentator: read-only evidence-based review.
299
- - explorer: read-only local codebase reconnaissance.
300
- - recapper: read-only handoff/context synthesis.
301
- - researcher: read-only external/code-first research.
302
-
303
- 3. Add declared `acceptanceRole` fields where absent:
304
- - `builder`: `writer`.
305
- - All bundled advisory/read-only agents: `read-only`.
306
- - Preserve the architect’s existing `read-only` declaration.
307
-
308
- 4. Do not alter tool allowlists, context defaults, model settings, system prompts, skills, aliases, or child permissions in this phase.
309
-
310
- 5. Add frontmatter assertions that bundled descriptions and declared roles survive discovery. These assertions should read the discovered agent configurations rather than duplicate path-specific parsing logic.
311
-
312
- #### Verification
313
- Success:
314
- - Catalog role metadata is populated for all bundled agents.
315
- - Bundled descriptions clearly communicate intended routing capability.
316
- - Existing acceptance behavior remains equivalent for current bundled roles.
317
-
318
- Regression:
319
- - `acceptanceRole` continues to influence acceptance inference only; it must not grant tools.
320
- - Builder remains the only bundled mutation-capable agent by declared edit/write tools.
321
- - Existing aliases and fresh/fork defaults remain unchanged.
322
-
323
- Failure:
324
- - Any malformed frontmatter continues to produce existing discovery diagnostics rather than a catalog crash.
325
-
326
- ---
327
-
328
- ### Task 5 — Add contract, catalog, and faux-provider behavior coverage; package only through build
329
-
330
- #### Discovery
331
- Inspect:
332
-
333
- - `src/core/system-prompt.test.ts` after Task 1.
334
- - `src/extensions/pi-subagents/test/unit/tool-description.test.ts`
335
- - `src/extensions/pi-subagents/test/unit/agent-management.test.ts`
336
- - `src/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts`
337
- - `src/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts`
338
- - `src/extensions/pi-subagents/test/support/real-session-runner.ts`
339
- - Root `package.json` and extension `package.json` scripts.
340
-
341
- #### Identification
342
- Modify:
343
-
344
- - The tests listed above.
345
- - Do not manually edit `dist/**`; root `npm run build` copies extension assets into `dist`.
346
-
347
- #### Change
348
- 1. Core prompt tests:
349
- - Default prompt includes generic delegation guidance.
350
- - Custom prompt receives active `promptGuidelines`.
351
- - No empty guideline block when none are supplied.
352
-
353
- 2. Tool-description tests:
354
- - Full, compact, and custom modes carry generic routing requirements.
355
- - Registered parent tool includes `promptGuidelines`.
356
- - All six bundled names are forbidden in static descriptions.
357
- - Child-safe registration remains separate and does not receive parent-only routing guidance.
358
-
359
- 3. Catalog tests:
360
- - Create a temporary custom project agent with alias, `writer` role, `fork` default context, core tools, and an `mcp:` tool.
361
- - Assert equivalent human and `details.catalog` fields.
362
- - Assert scope shadowing, disabled omission, and restricted-ceiling metadata.
363
-
364
- 4. Faux-provider E2E tests in `real-session-subagent.test.ts`:
365
- - **Broad mutation route:** Create a temporary project-only custom writer agent with a non-bundled name. Script the faux parent to call `action:list`, then delegate to the name it discovered. Assert the first tool result contains the custom catalog entry and the second result contains the child marker.
366
- - **Tiny targeted read stays local:** Script a faux parent response to a narrow read-only prompt without a `subagent` tool call. Assert no subagent tool result and a normal parent response.
367
- - Treat these as controlled routing-contract tests, not proof that a real LLM will reason identically. The deterministic assertions are the visible tool contract, catalog result, and observed call sequence.
368
-
369
- 5. Run focused tests before the full suite, then build:
370
- - `npx vitest run src/core/system-prompt.test.ts`
371
- - `npm run test:unit` from `src/extensions/pi-subagents`
372
- - `npm run test:e2e` from `src/extensions/pi-subagents`
373
- - `npm run build` from repository root.
374
-
375
- #### Verification
376
- Success:
377
- - All focused, unit, and E2E tests pass.
378
- - Build regenerates extension assets in `dist`.
379
- - No new dependency or lockfile change is required.
380
-
381
- Failure:
382
- - If faux-provider runtime packages are unavailable, E2E retains its existing graceful skip behavior; unit coverage must still pass.
383
- - Any description test failure caused by a bundled name indicates a static-tool-description regression.
384
-
385
- ---
386
-
387
- ## Compatibility
388
-
389
- - `Details.catalog` is optional and additive; existing consumers reading `mode` and `results` continue to work.
390
- - Catalog metadata reflects runtime discovery and capability ceilings; it does not replace launch authorization.
391
- - Human `action:list` becomes richer but retains current headings and section ordering.
392
- - Custom tool descriptions still work; mandatory routing/safety text is appended.
393
- - Custom system prompts gain only active mandatory tool guidance, preserving their supplied content.
394
- - No request schema, delegation protocol, capability-ceiling version, environment variable, or persisted agent file format changes are introduced.
395
- - `models` remains explicitly builtin-oriented and is not redefined as a generic catalog endpoint.
396
-
397
- ## Risks and mitigations
398
-
399
- | Severity | Risk | Mitigation |
400
- |---|---|---|
401
- | High | Custom prompts currently omit tool guidelines, so contract could be invisible | Task 1 renders active guidelines in both prompt paths and adds direct tests |
402
- | High | Static tool text currently includes bundled names | Replace examples with placeholders; test all six names are absent |
403
- | Medium | Human and machine catalogs could drift | Build both from shared effective-tool/catalog helpers in `handleList` |
404
- | Medium | `acceptanceRole` could be mistaken for authorization | Preserve existing semantics; test it remains metadata/acceptance-only |
405
- | Medium | Catalog may overstate actual extension availability | Report declared tools only; preserve launch-time availability diagnostics as authority |
406
- | Medium | Faux tests can become flaky | Reuse existing isolated faux-provider runner and custom project-agent fixtures |
407
- | Low | Richer list text may affect string consumers | Preserve existing headings and use additive fields |
408
- | Low | Dist can become stale | Regenerate only through root build; never hand-edit generated assets |
409
-
410
- ## Explicit non-goals
411
-
412
- - No runtime enforcement that rejects a parent’s local mutation.
413
- - No automatic model routing/classifier changes.
414
- - No changes to `task-intent.ts` or `acceptance.ts` heuristics in this phase.
415
- - No new agent frontmatter schema or model-visible tool parameter.
416
- - No capability-ceiling version bump.
417
- - No changes to nested delegation depth, spawn budgets, tool budgets, async behavior, or worktree behavior.
418
- - No expansion of `models` beyond bundled agents.
419
- - No broad refactor of generic Selesai agents/skills XML.
420
-
421
- ## Acceptance criteria
422
-
423
- 1. Main sessions always receive a generic delegation-routing threshold, including custom system prompt sessions when the parent `subagent` tool is active.
424
- 2. Full, compact, and custom parent tool descriptions require catalog-first, executable-only agent selection and contain no bundled agent names.
425
- 3. The parent-only skill owns detailed delegation workflow; ordinary child behavior remains unchanged.
426
- 4. Bundled agent descriptions and declared roles make local reconnaissance, external research, review, handoff, planning, and mutation capability discoverable.
427
- 5. `action:list` exposes runtime-resolved human and machine catalogs with source, aliases, context, role, declared tools, executable status, and restriction source.
428
- 6. Disabled entries remain hidden; restricted entries remain visible but cannot execute.
429
- 7. Faux-provider E2E coverage demonstrates list-then-delegate behavior with a non-bundled writer and a no-delegation tiny-read path.
430
- 8. Focused, extension unit/E2E, and root build commands pass.
431
-
432
- ## Rollback
433
-
434
- 1. Revert the Phase 1 commit as one unit.
435
- 2. If only catalog consumers regress, revert `Details.catalog` and the richer `handleList` line format while retaining existing list text.
436
- 3. If custom prompt compatibility regresses, revert only custom-path guideline rendering and keep default/tool-description coverage for follow-up.
437
- 4. Rebuild root artifacts after any rollback; do not hand-edit `dist`.
438
-
439
- ```acceptance-report
440
- {
441
- "criteriaSatisfied": [
442
- {
443
- "id": "criterion-1",
444
- "status": "satisfied",
445
- "evidence": "Verified exact ownership paths for core prompt assembly, parent tool registration, tool descriptions, dynamic action:list output, Details metadata, parent-only skill, bundled agents, unit tests, and faux-provider E2E support. The plan names concrete files, symbols, ordered edits, tests, compatibility constraints, Phase 0 dependency, risks, acceptance criteria, and rollback."
446
- }
447
- ],
448
- "changedFiles": [],
449
- "testsAddedOrUpdated": [],
450
- "commandsRun": [
451
- {
452
- "command": "Static source/test inspection via read and grep",
453
- "result": "passed",
454
- "summary": "Verified source ownership and existing test seams; no implementation or shell commands were run."
455
- },
456
- {
457
- "command": "npx vitest run src/core/system-prompt.test.ts; npm run test:unit; npm run test:e2e; npm run build",
458
- "result": "not-run",
459
- "summary": "Planned verification commands only; this task was planning-only."
460
- }
461
- ],
462
- "validationOutput": [
463
- "src/core/system-prompt.ts currently omits promptGuidelines in the custom-prompt branch.",
464
- "src/extensions/pi-subagents/src/extension/index.ts registers the parent subagent tool without promptGuidelines.",
465
- "src/extensions/pi-subagents/src/agents/agent-management.ts:handleList currently produces text-only catalog output and generic management Details.",
466
- "src/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts and test/support/real-session-runner.ts provide an existing faux-provider route for deterministic delegation behavior tests."
467
- ],
468
- "residualRisks": [
469
- "Phase 1 must wait for Phase 0’s bundled-agent/frontmatter and documentation corrections to avoid conflicts and stale capability claims.",
470
- "Faux-provider E2E tests validate the exposed prompt/catalog contract and scripted call sequence, not emergent behavior from production models.",
471
- "Declared tool metadata is not proof that a child extension/provider is available; existing launch validation remains authoritative."
472
- ],
473
- "noStagedFiles": true,
474
- "diffSummary": "Planning-only artifact; no repository files were edited.",
475
- "reviewFindings": [
476
- "high: src/core/system-prompt.ts: custom prompts currently skip active tool promptGuidelines, leaving mandatory delegation policy invisible in that mode.",
477
- "high: src/extensions/pi-subagents/src/extension/tool-description.ts: static management examples currently hardcode the bundled name commentator, conflicting with the generic-catalog requirement.",
478
- "medium: src/extensions/pi-subagents/src/agents/agent-management.ts:handleList returns no versioned machine-readable catalog metadata; consumers must parse display text.",
479
- "medium: src/extensions/pi-subagents/src/shared/types.ts:Details has no catalog field despite management result details being the correct additive metadata channel.",
480
- "medium: src/extensions/pi-subagents/src/runs/shared/task-intent.ts and acceptance.ts retain bundled-name heuristics; this plan intentionally excludes them because Phase 1 is contract/catalog work, not enforcement."
481
- ],
482
- "manualNotes": "No implementation was performed. Phase 0 completion and a clean/rebased worktree are prerequisites before executing this plan."
483
- }
484
- ```
485
-
1
+ # Phase 1 Plan: Always-Visible Delegation Contract and Dynamic Agent Catalog
2
+
3
+ ## Objective
4
+
5
+ Make delegation behavior reliable through prompt/catalog contracts, without runtime enforcement changes:
6
+
7
+ - Keep tiny, targeted reads and simple answers with the parent.
8
+ - Delegate broad local investigation, external research, and mutation/implementation work when a capable configured agent exists.
9
+ - Require runtime catalog discovery before selection.
10
+ - Keep policy generic: static tool text must not name bundled agents.
11
+ - Expose the same dynamic catalog as concise human text and versioned machine metadata.
12
+ - Preserve capability ceilings, aliases, overrides, child boundaries, and existing execution semantics.
13
+
14
+ ## Discovery completed
15
+
16
+ Verified ownership and seams:
17
+
18
+ - Main prompt assembly: `src/core/system-prompt.ts`, invoked by `src/core/agent-session.ts:_rebuildSystemPrompt`.
19
+ - Parent tool registration: `src/extensions/pi-subagents/src/extension/index.ts`.
20
+ - Full/compact/custom tool descriptions: `src/extensions/pi-subagents/src/extension/tool-description.ts`.
21
+ - Child-safe fanout tool: `src/extensions/pi-subagents/src/extension/fanout-child.ts`.
22
+ - Runtime discovery/listing: `src/extensions/pi-subagents/src/agents/agent-management.ts:handleList`.
23
+ - Dynamic agent model: `src/extensions/pi-subagents/src/agents/agents.ts:AgentConfig`.
24
+ - Result metadata: `src/extensions/pi-subagents/src/shared/types.ts:Details`.
25
+ - Parent-only skill: `src/extensions/pi-subagents/skills/pi-subagents/SKILL.md`.
26
+ - Bundled agent descriptions: `src/extensions/pi-subagents/agents/*.md`.
27
+ - Existing test seams: core Vitest tests, extension unit tests, and faux-provider E2E tests.
28
+
29
+ ## Phase 0 dependency
30
+
31
+ Do not begin Phase 1 until Phase 0 is merged or rebased into the worktree.
32
+
33
+ Phase 1 relies on Phase 0 to establish truthful bundled-agent documentation and capabilities, including:
34
+
35
+ - Correct `.selesai` discovery paths.
36
+ - Correct fresh/fork defaults.
37
+ - Correct child tool declarations and extension/MCP availability.
38
+ - Correct role tables and output contracts.
39
+ - Regenerated `dist/extensions/pi-subagents/**` assets.
40
+
41
+ Before editing, run `git status --short` and inspect the Phase 0 diff. Resolve conflicts in bundled agent frontmatter before adding the Phase 1 descriptions and `acceptanceRole` fields below.
42
+
43
+ ---
44
+
45
+ ## Policy ownership contract
46
+
47
+ | Surface | Owner | Required content | Must not own |
48
+ |---|---|---|---|
49
+ | Selesai main guidance | `buildSystemPrompt` | Generic routing threshold: retain tiny targeted reads locally; delegate broad local, external, or mutation work when delegation is available | Agent names, catalog snapshots, enforcement |
50
+ | Mandatory parent tool guidance | Parent `subagent` tool registration and mandatory description block | Catalog-first selection, executable-only requirement, parent decision/writer responsibility | Builtin agent names or role-name routing |
51
+ | Parent-only skill | `skills/pi-subagents/SKILL.md` | Detailed orchestration procedure and writer/reviewer workflow | Child behavior or tool authorization |
52
+ | Agent descriptions | Bundled/custom agent frontmatter `description` | What each agent is best for; custom agents remain dynamic | Global routing policy |
53
+ | `action:list` human output | `handleList` | Current executable/restricted state, source, role, context, aliases, declared tools | Full system prompts or stale static agent tables |
54
+ | `action:list` machine metadata | `Details.catalog` | Versioned structured equivalent of the visible catalog | Authorization changes or a new request parameter |
55
+
56
+ `action:list` is the runtime source of truth. Prompt text tells the model to call it; it must not embed a copied catalog.
57
+
58
+ ---
59
+
60
+ ## Ordered implementation tasks
61
+
62
+ ### Task 1 — Make active-tool prompt guidance survive both default and custom system prompts
63
+
64
+ #### Discovery
65
+ Inspect:
66
+
67
+ - `src/core/system-prompt.ts:buildSystemPrompt`
68
+ - `src/core/agent-session.ts:_rebuildSystemPrompt`
69
+ - `src/core/extensions/types.ts:ToolDefinition`
70
+ - Existing tests under `src/core/*.test.ts`
71
+
72
+ Confirm that `promptGuidelines` are collected from active tools but currently appear only in the default prompt path.
73
+
74
+ #### Identification
75
+ Modify:
76
+
77
+ - `src/core/system-prompt.ts`
78
+ - Add `src/core/system-prompt.test.ts`
79
+
80
+ Do not modify resource loading, skill formatting, `formatAgentsForPrompt`, or tool activation rules. The existing agent XML is read-tool-gated and is not a capability-ceiling-aware delegation catalog.
81
+
82
+ #### Change
83
+ 1. Add one generic, conditional delegation-routing guideline to the core prompt construction:
84
+ - It must say “when a delegation/subagent tool is available,” so sessions without the extension are unaffected.
85
+ - It must direct the parent to keep tiny targeted reads/simple answers local.
86
+ - It must direct broad local investigation, external research, and mutation/implementation work to a capable delegated agent.
87
+ - It must direct catalog/list inspection before selection.
88
+ - It must retain parent decision authority and one-writer safety.
89
+
90
+ 2. Render active `promptGuidelines` in the custom-prompt branch as well as the default-prompt branch.
91
+ - Preserve the caller’s custom prompt text unchanged.
92
+ - Append a clearly delimited guidelines section only when non-empty guidelines exist.
93
+ - Use the same normalized/deduplicated guidance collected by `_rebuildSystemPrompt`.
94
+ - Do not require `read` to render these active-tool guidelines.
95
+
96
+ 3. Keep existing default tool snippets, skills, agents XML, project context, append prompt behavior, and current-working-directory suffix unchanged.
97
+
98
+ #### Verification
99
+ Success:
100
+ - Default prompt contains the generic delegation threshold.
101
+ - A custom system prompt with an active tool guideline includes both the original custom prompt and the guideline.
102
+ - Empty `promptGuidelines` does not add an empty section.
103
+
104
+ Regression:
105
+ - Skills and generic agents remain gated by `read`.
106
+ - Custom prompt still replaces the default prose.
107
+ - No tool is made active by prompt construction.
108
+
109
+ Failure:
110
+ - A custom prompt must not silently lose mandatory active-tool guidance.
111
+
112
+ ---
113
+
114
+ ### Task 2 — Add generic mandatory parent-tool delegation guidance and remove static bundled names
115
+
116
+ #### Discovery
117
+ Inspect:
118
+
119
+ - `src/extensions/pi-subagents/src/extension/tool-description.ts`
120
+ - `src/extensions/pi-subagents/src/extension/index.ts`
121
+ - `src/extensions/pi-subagents/src/extension/fanout-child.ts`
122
+ - `src/extensions/pi-subagents/test/unit/tool-description.test.ts`
123
+ - `src/extensions/pi-subagents/test/unit/index-child-registration.test.ts`
124
+
125
+ #### Identification
126
+ Modify:
127
+
128
+ - `src/extensions/pi-subagents/src/extension/tool-description.ts`
129
+ - `src/extensions/pi-subagents/src/extension/index.ts`
130
+ - `src/extensions/pi-subagents/test/unit/tool-description.test.ts`
131
+ - `src/extensions/pi-subagents/test/unit/index-child-registration.test.ts` only if needed to assert parent-vs-child registration behavior.
132
+
133
+ Do not modify schemas, execution requests, delegation protocol versions, capability ceilings, or child runtime boundaries.
134
+
135
+ #### Change
136
+ 1. Define a shared exported parent-routing guidance constant in `tool-description.ts`.
137
+ - It must be generic and contain no bundled agent names.
138
+ - It must require `{ action: "list" }` before execution.
139
+ - It must require selecting only executable entries using current role/context/tool metadata.
140
+ - It must state the tiny-local-read versus broad/external/mutation delegation threshold.
141
+ - It must state that the parent remains decision-maker and normally the sole writer.
142
+
143
+ 2. Include that guidance in:
144
+ - `FULL_SUBAGENT_TOOL_DESCRIPTION`.
145
+ - `COMPACT_SUBAGENT_TOOL_DESCRIPTION`.
146
+ - The mandatory block appended by `withMandatorySafetyGuidance`, so custom descriptions cannot remove it.
147
+
148
+ 3. In `extension/index.ts`, attach the shared routing text as `promptGuidelines` on the parent `subagent` `ToolDefinition`.
149
+ - This is the always-visible active-tool path delivered by Task 1.
150
+ - Do not attach it to child-safe fanout registration.
151
+
152
+ 4. Replace existing hardcoded bundled-agent examples in static parent tool prose—currently eject/disable/enable/reset examples—with `"agent-name"` placeholders.
153
+ - Strengthen the invariant: full, compact, and custom-rendered static descriptions must contain none of the six bundled names.
154
+ - Generic chain placeholders such as `"agent-a"` remain acceptable.
155
+
156
+ 5. Keep `fanout-child.ts` intentionally narrower:
157
+ - It may continue to describe its allowed child-safe actions.
158
+ - Do not give ordinary children the parent routing contract or imply that all children can orchestrate.
159
+
160
+ #### Verification
161
+ Success:
162
+ - Full, compact, and custom descriptions contain catalog-first routing and the local-vs-delegated threshold.
163
+ - Registered parent tool exposes `promptGuidelines`.
164
+ - Static descriptions contain none of `architect`, `builder`, `commentator`, `explorer`, `recapper`, or `researcher`.
165
+ - Mandatory guidance remains last for custom descriptions.
166
+
167
+ Regression:
168
+ - Full/compact/custom fallback behavior remains unchanged.
169
+ - Safety block still cannot be overridden by custom prose.
170
+ - Child-safe fanout still blocks mutating management actions and remains distinct from parent registration.
171
+
172
+ Failure:
173
+ - Invalid custom description mode still falls back to full mode.
174
+ - A custom description cannot omit mandatory routing/safety guidance.
175
+
176
+ ---
177
+
178
+ ### Task 3 — Publish a stronger dynamic catalog in human output and machine metadata
179
+
180
+ #### Discovery
181
+ Inspect:
182
+
183
+ - `src/extensions/pi-subagents/src/agents/agent-management.ts:handleList`
184
+ - `formatAgentDetail`
185
+ - `src/extensions/pi-subagents/src/agents/agents.ts:AgentConfig`
186
+ - `src/extensions/pi-subagents/src/shared/types.ts:Details`
187
+ - `src/extensions/pi-subagents/test/unit/agent-management.test.ts`
188
+ - `src/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts`
189
+
190
+ #### Identification
191
+ Modify:
192
+
193
+ - `src/extensions/pi-subagents/src/agents/agent-management.ts`
194
+ - `src/extensions/pi-subagents/src/shared/types.ts`
195
+ - `src/extensions/pi-subagents/test/unit/agent-management.test.ts`
196
+ - `src/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts`
197
+
198
+ Do not change:
199
+
200
+ - Agent discovery precedence.
201
+ - Alias resolution.
202
+ - Capability ceiling parsing/version/env propagation.
203
+ - `models` action’s builtin-only behavior.
204
+ - Execution preflight or authorization.
205
+
206
+ #### Change
207
+ 1. Add optional versioned catalog metadata to `Details`, for example:
208
+ - `catalog.version: 1`
209
+ - `catalog.agents`
210
+ - `catalog.chains`
211
+ - `catalog.capabilityCeilingSources` when applicable.
212
+
213
+ 2. Define catalog-agent metadata from the already resolved, visible runtime agents:
214
+ - `name` — canonical runtime name.
215
+ - `source` — builtin/package/user/project.
216
+ - `description`.
217
+ - `executable` — `true` for allowed visible agents; `false` for ceiling-restricted visible agents.
218
+ - `restrictionSources` only when restricted.
219
+ - `aliases` when present.
220
+ - `defaultContext`, normalized to explicit `"fresh"` when unset.
221
+ - `acceptanceRole` when declared.
222
+ - Effective declared `tools`, combining normal tools and `mcp:`-prefixed direct MCP tools as already done in `formatAgentDetail`.
223
+
224
+ 3. Define catalog-chain metadata from the currently listed chains:
225
+ - `name`, `source`, `description`.
226
+ - Do not expose full chain steps in list metadata; callers can use `get`.
227
+
228
+ 4. Refactor the existing local “effective tools” formatting into one private helper if needed, so `formatAgentDetail`, human list text, and machine metadata cannot disagree.
229
+
230
+ 5. Change `handleList` human output to make selection-relevant fields visible without needing `get`, using a stable compact line format such as:
231
+ - executable/restricted status by section;
232
+ - canonical name;
233
+ - source;
234
+ - role when declared;
235
+ - normalized context;
236
+ - aliases;
237
+ - tools;
238
+ - description.
239
+
240
+ 6. Preserve current behavior:
241
+ - Disabled agents remain absent.
242
+ - Restricted agents remain visible but non-executable.
243
+ - Scope filtering and shadowing remain unchanged.
244
+ - Proactive recommendations and diagnostics remain after catalog sections.
245
+ - `get` remains the full-detail path.
246
+
247
+ #### Verification
248
+ Success:
249
+ - A custom agent appears with its dynamic name, source, aliases, role, context, declared tools, and description in both text and `details.catalog`.
250
+ - A capability-ceiling-restricted agent appears as `executable: false` with restriction sources in metadata and remains in the restricted human section.
251
+ - A project override still shadows lower-priority entries.
252
+ - Chains appear in both human and machine catalog output.
253
+
254
+ Regression:
255
+ - Disabled agents do not leak into either catalog representation.
256
+ - Ceiling-restricted agents cannot be launched despite being visible.
257
+ - Existing text headings remain recognizable: `Executable agents:`, `Restricted agents`, and `Chains:`.
258
+
259
+ Failure:
260
+ - Invalid list scope behavior remains unchanged.
261
+ - Empty catalog still returns `(none)` text and valid `{ version: 1, agents: [], chains: [] }` metadata.
262
+
263
+ ---
264
+
265
+ ### Task 4 — Align parent-only skill and bundled agent descriptions with the generic catalog contract
266
+
267
+ #### Discovery
268
+ Inspect after Phase 0 merge:
269
+
270
+ - `src/extensions/pi-subagents/skills/pi-subagents/SKILL.md`
271
+ - `src/extensions/pi-subagents/agents/{architect,builder,commentator,explorer,recapper,researcher}.md`
272
+ - `src/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts`
273
+
274
+ #### Identification
275
+ Modify:
276
+
277
+ - `src/extensions/pi-subagents/skills/pi-subagents/SKILL.md`
278
+ - `src/extensions/pi-subagents/agents/architect.md`
279
+ - `src/extensions/pi-subagents/agents/builder.md`
280
+ - `src/extensions/pi-subagents/agents/commentator.md`
281
+ - `src/extensions/pi-subagents/agents/explorer.md`
282
+ - `src/extensions/pi-subagents/agents/recapper.md`
283
+ - `src/extensions/pi-subagents/agents/researcher.md`
284
+ - `src/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts`
285
+
286
+ Do not edit child boundary instructions or add new frontmatter schema fields.
287
+
288
+ #### Change
289
+ 1. In the parent-only `SKILL.md`, add one concise routing rule near “Selesai default”:
290
+ - Keep tiny targeted reads/simple responses with the parent.
291
+ - For broad local investigation, external research, or mutation work, call `action:list`, choose an executable entry from its runtime metadata, then delegate.
292
+ - Treat list output—not hardcoded role names—as the agent-selection authority.
293
+ - Keep existing parent ownership, capability ceiling, one-writer, and child-boundary rules.
294
+
295
+ 2. Update only the `description:` frontmatter values for the six bundled agents so they advertise their purpose without making static tool text depend on their names:
296
+ - architect: read-only architecture and implementation planning.
297
+ - builder: mutation-capable scoped implementation.
298
+ - commentator: read-only evidence-based review.
299
+ - explorer: read-only local codebase reconnaissance.
300
+ - recapper: read-only handoff/context synthesis.
301
+ - researcher: read-only external/code-first research.
302
+
303
+ 3. Add declared `acceptanceRole` fields where absent:
304
+ - `builder`: `writer`.
305
+ - All bundled advisory/read-only agents: `read-only`.
306
+ - Preserve the architect’s existing `read-only` declaration.
307
+
308
+ 4. Do not alter tool allowlists, context defaults, model settings, system prompts, skills, aliases, or child permissions in this phase.
309
+
310
+ 5. Add frontmatter assertions that bundled descriptions and declared roles survive discovery. These assertions should read the discovered agent configurations rather than duplicate path-specific parsing logic.
311
+
312
+ #### Verification
313
+ Success:
314
+ - Catalog role metadata is populated for all bundled agents.
315
+ - Bundled descriptions clearly communicate intended routing capability.
316
+ - Existing acceptance behavior remains equivalent for current bundled roles.
317
+
318
+ Regression:
319
+ - `acceptanceRole` continues to influence acceptance inference only; it must not grant tools.
320
+ - Builder remains the only bundled mutation-capable agent by declared edit/write tools.
321
+ - Existing aliases and fresh/fork defaults remain unchanged.
322
+
323
+ Failure:
324
+ - Any malformed frontmatter continues to produce existing discovery diagnostics rather than a catalog crash.
325
+
326
+ ---
327
+
328
+ ### Task 5 — Add contract, catalog, and faux-provider behavior coverage; package only through build
329
+
330
+ #### Discovery
331
+ Inspect:
332
+
333
+ - `src/core/system-prompt.test.ts` after Task 1.
334
+ - `src/extensions/pi-subagents/test/unit/tool-description.test.ts`
335
+ - `src/extensions/pi-subagents/test/unit/agent-management.test.ts`
336
+ - `src/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts`
337
+ - `src/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts`
338
+ - `src/extensions/pi-subagents/test/support/real-session-runner.ts`
339
+ - Root `package.json` and extension `package.json` scripts.
340
+
341
+ #### Identification
342
+ Modify:
343
+
344
+ - The tests listed above.
345
+ - Do not manually edit `dist/**`; root `npm run build` copies extension assets into `dist`.
346
+
347
+ #### Change
348
+ 1. Core prompt tests:
349
+ - Default prompt includes generic delegation guidance.
350
+ - Custom prompt receives active `promptGuidelines`.
351
+ - No empty guideline block when none are supplied.
352
+
353
+ 2. Tool-description tests:
354
+ - Full, compact, and custom modes carry generic routing requirements.
355
+ - Registered parent tool includes `promptGuidelines`.
356
+ - All six bundled names are forbidden in static descriptions.
357
+ - Child-safe registration remains separate and does not receive parent-only routing guidance.
358
+
359
+ 3. Catalog tests:
360
+ - Create a temporary custom project agent with alias, `writer` role, `fork` default context, core tools, and an `mcp:` tool.
361
+ - Assert equivalent human and `details.catalog` fields.
362
+ - Assert scope shadowing, disabled omission, and restricted-ceiling metadata.
363
+
364
+ 4. Faux-provider E2E tests in `real-session-subagent.test.ts`:
365
+ - **Broad mutation route:** Create a temporary project-only custom writer agent with a non-bundled name. Script the faux parent to call `action:list`, then delegate to the name it discovered. Assert the first tool result contains the custom catalog entry and the second result contains the child marker.
366
+ - **Tiny targeted read stays local:** Script a faux parent response to a narrow read-only prompt without a `subagent` tool call. Assert no subagent tool result and a normal parent response.
367
+ - Treat these as controlled routing-contract tests, not proof that a real LLM will reason identically. The deterministic assertions are the visible tool contract, catalog result, and observed call sequence.
368
+
369
+ 5. Run focused tests before the full suite, then build:
370
+ - `npx vitest run src/core/system-prompt.test.ts`
371
+ - `npm run test:unit` from `src/extensions/pi-subagents`
372
+ - `npm run test:e2e` from `src/extensions/pi-subagents`
373
+ - `npm run build` from repository root.
374
+
375
+ #### Verification
376
+ Success:
377
+ - All focused, unit, and E2E tests pass.
378
+ - Build regenerates extension assets in `dist`.
379
+ - No new dependency or lockfile change is required.
380
+
381
+ Failure:
382
+ - If faux-provider runtime packages are unavailable, E2E retains its existing graceful skip behavior; unit coverage must still pass.
383
+ - Any description test failure caused by a bundled name indicates a static-tool-description regression.
384
+
385
+ ---
386
+
387
+ ## Compatibility
388
+
389
+ - `Details.catalog` is optional and additive; existing consumers reading `mode` and `results` continue to work.
390
+ - Catalog metadata reflects runtime discovery and capability ceilings; it does not replace launch authorization.
391
+ - Human `action:list` becomes richer but retains current headings and section ordering.
392
+ - Custom tool descriptions still work; mandatory routing/safety text is appended.
393
+ - Custom system prompts gain only active mandatory tool guidance, preserving their supplied content.
394
+ - No request schema, delegation protocol, capability-ceiling version, environment variable, or persisted agent file format changes are introduced.
395
+ - `models` remains explicitly builtin-oriented and is not redefined as a generic catalog endpoint.
396
+
397
+ ## Risks and mitigations
398
+
399
+ | Severity | Risk | Mitigation |
400
+ |---|---|---|
401
+ | High | Custom prompts currently omit tool guidelines, so contract could be invisible | Task 1 renders active guidelines in both prompt paths and adds direct tests |
402
+ | High | Static tool text currently includes bundled names | Replace examples with placeholders; test all six names are absent |
403
+ | Medium | Human and machine catalogs could drift | Build both from shared effective-tool/catalog helpers in `handleList` |
404
+ | Medium | `acceptanceRole` could be mistaken for authorization | Preserve existing semantics; test it remains metadata/acceptance-only |
405
+ | Medium | Catalog may overstate actual extension availability | Report declared tools only; preserve launch-time availability diagnostics as authority |
406
+ | Medium | Faux tests can become flaky | Reuse existing isolated faux-provider runner and custom project-agent fixtures |
407
+ | Low | Richer list text may affect string consumers | Preserve existing headings and use additive fields |
408
+ | Low | Dist can become stale | Regenerate only through root build; never hand-edit generated assets |
409
+
410
+ ## Explicit non-goals
411
+
412
+ - No runtime enforcement that rejects a parent’s local mutation.
413
+ - No automatic model routing/classifier changes.
414
+ - No changes to `task-intent.ts` or `acceptance.ts` heuristics in this phase.
415
+ - No new agent frontmatter schema or model-visible tool parameter.
416
+ - No capability-ceiling version bump.
417
+ - No changes to nested delegation depth, spawn budgets, tool budgets, async behavior, or worktree behavior.
418
+ - No expansion of `models` beyond bundled agents.
419
+ - No broad refactor of generic Selesai agents/skills XML.
420
+
421
+ ## Acceptance criteria
422
+
423
+ 1. Main sessions always receive a generic delegation-routing threshold, including custom system prompt sessions when the parent `subagent` tool is active.
424
+ 2. Full, compact, and custom parent tool descriptions require catalog-first, executable-only agent selection and contain no bundled agent names.
425
+ 3. The parent-only skill owns detailed delegation workflow; ordinary child behavior remains unchanged.
426
+ 4. Bundled agent descriptions and declared roles make local reconnaissance, external research, review, handoff, planning, and mutation capability discoverable.
427
+ 5. `action:list` exposes runtime-resolved human and machine catalogs with source, aliases, context, role, declared tools, executable status, and restriction source.
428
+ 6. Disabled entries remain hidden; restricted entries remain visible but cannot execute.
429
+ 7. Faux-provider E2E coverage demonstrates list-then-delegate behavior with a non-bundled writer and a no-delegation tiny-read path.
430
+ 8. Focused, extension unit/E2E, and root build commands pass.
431
+
432
+ ## Rollback
433
+
434
+ 1. Revert the Phase 1 commit as one unit.
435
+ 2. If only catalog consumers regress, revert `Details.catalog` and the richer `handleList` line format while retaining existing list text.
436
+ 3. If custom prompt compatibility regresses, revert only custom-path guideline rendering and keep default/tool-description coverage for follow-up.
437
+ 4. Rebuild root artifacts after any rollback; do not hand-edit `dist`.
438
+
439
+ ```acceptance-report
440
+ {
441
+ "criteriaSatisfied": [
442
+ {
443
+ "id": "criterion-1",
444
+ "status": "satisfied",
445
+ "evidence": "Verified exact ownership paths for core prompt assembly, parent tool registration, tool descriptions, dynamic action:list output, Details metadata, parent-only skill, bundled agents, unit tests, and faux-provider E2E support. The plan names concrete files, symbols, ordered edits, tests, compatibility constraints, Phase 0 dependency, risks, acceptance criteria, and rollback."
446
+ }
447
+ ],
448
+ "changedFiles": [],
449
+ "testsAddedOrUpdated": [],
450
+ "commandsRun": [
451
+ {
452
+ "command": "Static source/test inspection via read and grep",
453
+ "result": "passed",
454
+ "summary": "Verified source ownership and existing test seams; no implementation or shell commands were run."
455
+ },
456
+ {
457
+ "command": "npx vitest run src/core/system-prompt.test.ts; npm run test:unit; npm run test:e2e; npm run build",
458
+ "result": "not-run",
459
+ "summary": "Planned verification commands only; this task was planning-only."
460
+ }
461
+ ],
462
+ "validationOutput": [
463
+ "src/core/system-prompt.ts currently omits promptGuidelines in the custom-prompt branch.",
464
+ "src/extensions/pi-subagents/src/extension/index.ts registers the parent subagent tool without promptGuidelines.",
465
+ "src/extensions/pi-subagents/src/agents/agent-management.ts:handleList currently produces text-only catalog output and generic management Details.",
466
+ "src/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts and test/support/real-session-runner.ts provide an existing faux-provider route for deterministic delegation behavior tests."
467
+ ],
468
+ "residualRisks": [
469
+ "Phase 1 must wait for Phase 0’s bundled-agent/frontmatter and documentation corrections to avoid conflicts and stale capability claims.",
470
+ "Faux-provider E2E tests validate the exposed prompt/catalog contract and scripted call sequence, not emergent behavior from production models.",
471
+ "Declared tool metadata is not proof that a child extension/provider is available; existing launch validation remains authoritative."
472
+ ],
473
+ "noStagedFiles": true,
474
+ "diffSummary": "Planning-only artifact; no repository files were edited.",
475
+ "reviewFindings": [
476
+ "high: src/core/system-prompt.ts: custom prompts currently skip active tool promptGuidelines, leaving mandatory delegation policy invisible in that mode.",
477
+ "high: src/extensions/pi-subagents/src/extension/tool-description.ts: static management examples currently hardcode the bundled name commentator, conflicting with the generic-catalog requirement.",
478
+ "medium: src/extensions/pi-subagents/src/agents/agent-management.ts:handleList returns no versioned machine-readable catalog metadata; consumers must parse display text.",
479
+ "medium: src/extensions/pi-subagents/src/shared/types.ts:Details has no catalog field despite management result details being the correct additive metadata channel.",
480
+ "medium: src/extensions/pi-subagents/src/runs/shared/task-intent.ts and acceptance.ts retain bundled-name heuristics; this plan intentionally excludes them because Phase 1 is contract/catalog work, not enforcement."
481
+ ],
482
+ "manualNotes": "No implementation was performed. Phase 0 completion and a clean/rebased worktree are prerequisites before executing this plan."
483
+ }
484
+ ```
485
+
486
486
  ⧉ copy assistant: /cp 7669bb