cli-jaw 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.ko.md +2 -2
  2. package/README.md +21 -2
  3. package/README.zh-CN.md +2 -2
  4. package/dist/bin/cli-jaw.js +5 -1
  5. package/dist/bin/cli-jaw.js.map +1 -1
  6. package/dist/bin/commands/dispatch.js +50 -0
  7. package/dist/bin/commands/dispatch.js.map +1 -0
  8. package/dist/lib/mcp-sync.js +1 -1
  9. package/dist/lib/mcp-sync.js.map +1 -1
  10. package/dist/lib/upload.js +14 -1
  11. package/dist/lib/upload.js.map +1 -1
  12. package/dist/server.js +53 -40
  13. package/dist/server.js.map +1 -1
  14. package/dist/src/agent/events.js +72 -13
  15. package/dist/src/agent/events.js.map +1 -1
  16. package/dist/src/agent/spawn.js +65 -24
  17. package/dist/src/agent/spawn.js.map +1 -1
  18. package/dist/src/cli/commands.js +6 -6
  19. package/dist/src/cli/commands.js.map +1 -1
  20. package/dist/src/cli/handlers.js +11 -9
  21. package/dist/src/cli/handlers.js.map +1 -1
  22. package/dist/src/cli/registry.js +7 -1
  23. package/dist/src/cli/registry.js.map +1 -1
  24. package/dist/src/core/config.js +15 -8
  25. package/dist/src/core/config.js.map +1 -1
  26. package/dist/src/core/db.js +18 -3
  27. package/dist/src/core/db.js.map +1 -1
  28. package/dist/src/core/employees.js +34 -0
  29. package/dist/src/core/employees.js.map +1 -0
  30. package/dist/src/discord/bot.js +72 -9
  31. package/dist/src/discord/bot.js.map +1 -1
  32. package/dist/src/discord/commands.js +12 -8
  33. package/dist/src/discord/commands.js.map +1 -1
  34. package/dist/src/orchestrator/distribute.js +41 -24
  35. package/dist/src/orchestrator/distribute.js.map +1 -1
  36. package/dist/src/orchestrator/gateway.js +3 -1
  37. package/dist/src/orchestrator/gateway.js.map +1 -1
  38. package/dist/src/orchestrator/pipeline.js +93 -27
  39. package/dist/src/orchestrator/pipeline.js.map +1 -1
  40. package/dist/src/orchestrator/research.js +5 -5
  41. package/dist/src/orchestrator/research.js.map +1 -1
  42. package/dist/src/orchestrator/scope.js +55 -0
  43. package/dist/src/orchestrator/scope.js.map +1 -0
  44. package/dist/src/orchestrator/state-machine.js +23 -21
  45. package/dist/src/orchestrator/state-machine.js.map +1 -1
  46. package/dist/src/orchestrator/worker-registry.js +9 -2
  47. package/dist/src/orchestrator/worker-registry.js.map +1 -1
  48. package/dist/src/prompt/builder.js +78 -37
  49. package/dist/src/prompt/builder.js.map +1 -1
  50. package/dist/src/prompt/templates/a1-system.md +40 -0
  51. package/dist/src/prompt/templates/employee.md +10 -1
  52. package/dist/src/prompt/templates/orchestration.md +17 -1
  53. package/dist/src/telegram/bot.js +7 -1
  54. package/dist/src/telegram/bot.js.map +1 -1
  55. package/package.json +4 -2
  56. package/public/assets/fonts/GeistVF.woff2 +0 -0
  57. package/public/assets/fonts/JetBrainsMono-Variable.woff2 +0 -0
  58. package/public/assets/providers/claude-color.svg +1 -0
  59. package/public/assets/providers/claude.svg +1 -0
  60. package/public/assets/providers/copilot-color.svg +1 -0
  61. package/public/assets/providers/copilot.svg +1 -0
  62. package/public/assets/providers/discord.svg +1 -0
  63. package/public/assets/providers/gemini-color.svg +1 -0
  64. package/public/assets/providers/gemini.svg +1 -0
  65. package/public/assets/providers/openai.svg +1 -0
  66. package/public/assets/providers/opencode.svg +1 -0
  67. package/public/assets/providers/telegram.svg +1 -0
  68. package/public/css/chat.css +79 -51
  69. package/public/css/diagram.css +348 -0
  70. package/public/css/layout.css +33 -10
  71. package/public/css/markdown.css +64 -18
  72. package/public/css/modals.css +3 -3
  73. package/public/css/orc-state.css +9 -9
  74. package/public/css/sidebar.css +37 -3
  75. package/public/css/tool-ui.css +46 -11
  76. package/public/css/variables.css +63 -63
  77. package/public/dist/assets/api-Bbmmo0o1.js +1 -0
  78. package/public/dist/assets/architecture-YZFGNWBL-BxiHqtOH.js +1 -0
  79. package/public/dist/assets/architectureDiagram-Q4EWVU46-CJTGDw5p.js +1 -0
  80. package/public/dist/assets/blockDiagram-DXYQGD6D-Btl5Y-Er.js +1 -0
  81. package/public/dist/assets/c4Diagram-AHTNJAMY-sDfjW4ZF.js +1 -0
  82. package/public/dist/assets/classDiagram-6PBFFD2Q-ByCgggL2.js +1 -0
  83. package/public/dist/assets/classDiagram-v2-HSJHXN6E-t1amaXkU.js +1 -0
  84. package/public/dist/assets/constants-C8_0OtK2.js +1 -0
  85. package/public/dist/assets/cose-bilkent-S5V4N54A-eOSFGdaE.js +1 -0
  86. package/public/dist/assets/dagre-KV5264BT-OCB5j8Q6.js +1 -0
  87. package/public/dist/assets/diagram-5BDNPKRD-C-4fgK5P.js +1 -0
  88. package/public/dist/assets/diagram-G4DWMVQ6-C6vmHKDV.js +1 -0
  89. package/public/dist/assets/diagram-MMDJMWI5-BMCo_wmt.js +1 -0
  90. package/public/dist/assets/diagram-TYMM5635-DaCLdttJ.js +1 -0
  91. package/public/dist/assets/employees-D5n7mX5v.js +39 -0
  92. package/public/dist/assets/erDiagram-SMLLAGMA-BiTRdm5s.js +1 -0
  93. package/public/dist/assets/flowDiagram-DWJPFMVM-sv6jVi0d.js +1 -0
  94. package/public/dist/assets/ganttDiagram-T4ZO3ILL-jCP3OW23.js +1 -0
  95. package/public/dist/assets/gitGraph-7Q5UKJZL-BIeKLxpm.js +1 -0
  96. package/public/dist/assets/gitGraphDiagram-UUTBAWPF-CokylnbW.js +1 -0
  97. package/public/dist/assets/index-Br2UdKlR.css +1 -0
  98. package/public/dist/assets/index-CmAU0d96.js +49 -0
  99. package/public/dist/assets/info-OMHHGYJF-CIEl5dWF.js +1 -0
  100. package/public/dist/assets/infoDiagram-42DDH7IO-BBnK1Bh2.js +1 -0
  101. package/public/dist/assets/ishikawaDiagram-UXIWVN3A-qXIz0VhS.js +1 -0
  102. package/public/dist/assets/journeyDiagram-VCZTEJTY-BdrOLof3.js +1 -0
  103. package/public/dist/assets/kanban-definition-6JOO6SKY-CcX7CE04.js +1 -0
  104. package/public/dist/assets/mermaid.core-BoxIvw7E.js +1 -0
  105. package/public/dist/assets/mindmap-definition-QFDTVHPH-CdXARskX.js +1 -0
  106. package/public/dist/assets/packet-4T2RLAQJ-Bz4ZwYZ3.js +1 -0
  107. package/public/dist/assets/pie-ZZUOXDRM-AtGL3wZ2.js +1 -0
  108. package/public/dist/assets/pieDiagram-DEJITSTG-B5SOq9Yr.js +1 -0
  109. package/public/dist/assets/quadrantDiagram-34T5L4WZ-D0uNWgpI.js +1 -0
  110. package/public/dist/assets/radar-PYXPWWZC-AbJSfeqB.js +1 -0
  111. package/public/dist/assets/render-C8N0rp4L.js +25 -0
  112. package/public/dist/assets/requirementDiagram-MS252O5E-62td6IQ-.js +1 -0
  113. package/public/dist/assets/sankeyDiagram-XADWPNL6-Crg_02iC.js +1 -0
  114. package/public/dist/assets/sequenceDiagram-FGHM5R23-fbCocZHj.js +1 -0
  115. package/public/dist/assets/settings-BJR-IGM5.js +41 -0
  116. package/public/dist/assets/settings-Dm6OnPmY.js +1 -0
  117. package/public/dist/assets/skills-D6jv9AIs.js +1 -0
  118. package/public/dist/assets/skills-uywskdFh.js +12 -0
  119. package/public/dist/assets/slash-commands-CCDonT40.js +1 -0
  120. package/public/dist/assets/{slash-commands-DMsE88bu.js → slash-commands-DWvL-VDU.js} +1 -1
  121. package/public/dist/assets/stateDiagram-FHFEXIEX-Gy3DhXxQ.js +1 -0
  122. package/public/dist/assets/stateDiagram-v2-QKLJ7IA2-DJc-FW9O.js +1 -0
  123. package/public/dist/assets/timeline-definition-GMOUNBTQ-B3cA9DgY.js +1 -0
  124. package/public/dist/assets/treeView-SZITEDCU-Cn58DIbB.js +1 -0
  125. package/public/dist/assets/treemap-W4RFUUIX-DPcYjDzH.js +1 -0
  126. package/public/dist/assets/ui-C1daR00l.js +1 -0
  127. package/public/dist/assets/ui-D-oFkXed.js +131 -0
  128. package/public/dist/assets/vendor-icons-1Ec7ZWcT.js +1 -0
  129. package/public/dist/assets/{vendor-mermaid-COidH9HB.js → vendor-mermaid-lvHqQdfg.js} +4 -4
  130. package/public/dist/assets/vennDiagram-DHZGUBPP-DkBfxilo.js +1 -0
  131. package/public/dist/assets/wardley-RL74JXVD-6Dg0PJ4H.js +1 -0
  132. package/public/dist/assets/wardleyDiagram-NUSXRM2D-Dsntl_vy.js +1 -0
  133. package/public/dist/assets/ws-Dnn8HG8B.js +2 -0
  134. package/public/dist/assets/xychartDiagram-5P7HB3ND-B_McB5GE.js +1 -0
  135. package/public/dist/index.html +63 -55
  136. package/public/index.html +62 -53
  137. package/public/js/constants.ts +8 -2
  138. package/public/js/diagram/iframe-renderer.ts +559 -0
  139. package/public/js/diagram/types.ts +129 -0
  140. package/public/js/diagram/widget-validator.ts +82 -0
  141. package/public/js/features/chat.ts +24 -12
  142. package/public/js/features/employees.ts +3 -2
  143. package/public/js/features/heartbeat.ts +4 -3
  144. package/public/js/features/memory.ts +4 -3
  145. package/public/js/features/process-block.ts +12 -11
  146. package/public/js/features/settings-cli-status.ts +10 -7
  147. package/public/js/features/settings-core.ts +13 -3
  148. package/public/js/features/settings-discord.ts +9 -0
  149. package/public/js/features/settings-mcp.ts +8 -7
  150. package/public/js/features/settings-stt.ts +4 -4
  151. package/public/js/features/settings-templates.ts +10 -8
  152. package/public/js/features/settings-types.ts +1 -1
  153. package/public/js/features/settings.ts +1 -1
  154. package/public/js/features/sidebar.ts +4 -2
  155. package/public/js/features/skills.ts +4 -3
  156. package/public/js/features/theme.ts +4 -0
  157. package/public/js/features/tool-ui.ts +6 -5
  158. package/public/js/features/voice-recorder.ts +2 -1
  159. package/public/js/icons.ts +257 -0
  160. package/public/js/main.ts +9 -3
  161. package/public/js/provider-icons.ts +88 -0
  162. package/public/js/render.ts +493 -30
  163. package/public/js/streaming-render.ts +3 -3
  164. package/public/js/ui.ts +38 -18
  165. package/public/js/ws.ts +17 -10
  166. package/public/locales/en.json +89 -88
  167. package/public/locales/ko.json +89 -88
  168. package/scripts/release-preview.sh +1 -1
  169. package/public/dist/assets/api-BlPw3bUI.js +0 -1
  170. package/public/dist/assets/architecture-YZFGNWBL-BkS7SZQi.js +0 -1
  171. package/public/dist/assets/architectureDiagram-Q4EWVU46-Dl3iBKeR.js +0 -1
  172. package/public/dist/assets/blockDiagram-DXYQGD6D-DPr4D17p.js +0 -1
  173. package/public/dist/assets/c4Diagram-AHTNJAMY-CfoxJtDk.js +0 -1
  174. package/public/dist/assets/classDiagram-6PBFFD2Q-BOAdHnnB.js +0 -1
  175. package/public/dist/assets/classDiagram-v2-HSJHXN6E-B2QCJXWC.js +0 -1
  176. package/public/dist/assets/constants-DshMUJbo.js +0 -1
  177. package/public/dist/assets/cose-bilkent-S5V4N54A-CA14jk7w.js +0 -1
  178. package/public/dist/assets/dagre-KV5264BT-BVwNaSwC.js +0 -1
  179. package/public/dist/assets/diagram-5BDNPKRD-CHqIAvdc.js +0 -1
  180. package/public/dist/assets/diagram-G4DWMVQ6-DxvsCvTP.js +0 -1
  181. package/public/dist/assets/diagram-MMDJMWI5-DqOPO7dl.js +0 -1
  182. package/public/dist/assets/diagram-TYMM5635-C9xMWPQn.js +0 -1
  183. package/public/dist/assets/employees-CFRlsbHm.js +0 -39
  184. package/public/dist/assets/erDiagram-SMLLAGMA-BTmpfRkm.js +0 -1
  185. package/public/dist/assets/flowDiagram-DWJPFMVM-DZBSQAKA.js +0 -1
  186. package/public/dist/assets/ganttDiagram-T4ZO3ILL-TAEMCRbT.js +0 -1
  187. package/public/dist/assets/gitGraph-7Q5UKJZL-bbxndRNA.js +0 -1
  188. package/public/dist/assets/gitGraphDiagram-UUTBAWPF-CBxtx0MB.js +0 -1
  189. package/public/dist/assets/index-1Gg-6jeC.css +0 -1
  190. package/public/dist/assets/index-CQHqXjrK.js +0 -49
  191. package/public/dist/assets/info-OMHHGYJF-DRXq_Ywr.js +0 -1
  192. package/public/dist/assets/infoDiagram-42DDH7IO-C7FFwX4m.js +0 -1
  193. package/public/dist/assets/ishikawaDiagram-UXIWVN3A-DEZJE79j.js +0 -1
  194. package/public/dist/assets/journeyDiagram-VCZTEJTY-ZHLiY6GV.js +0 -1
  195. package/public/dist/assets/kanban-definition-6JOO6SKY-NP7pY7ML.js +0 -1
  196. package/public/dist/assets/mermaid.core-CHuluSlD.js +0 -1
  197. package/public/dist/assets/mindmap-definition-QFDTVHPH-Bd1OgfN_.js +0 -1
  198. package/public/dist/assets/packet-4T2RLAQJ-CGu8ST97.js +0 -1
  199. package/public/dist/assets/pie-ZZUOXDRM-CDG65mhS.js +0 -1
  200. package/public/dist/assets/pieDiagram-DEJITSTG-BbMBHLDM.js +0 -1
  201. package/public/dist/assets/quadrantDiagram-34T5L4WZ-CDCDgI1e.js +0 -1
  202. package/public/dist/assets/radar-PYXPWWZC-1gS-6ylu.js +0 -1
  203. package/public/dist/assets/render-YHvL5VM_.js +0 -6
  204. package/public/dist/assets/requirementDiagram-MS252O5E-DkmvOtYz.js +0 -1
  205. package/public/dist/assets/sankeyDiagram-XADWPNL6-GNcXIYsL.js +0 -1
  206. package/public/dist/assets/sequenceDiagram-FGHM5R23-BFrw2n6x.js +0 -1
  207. package/public/dist/assets/settings-BQF_u5px.js +0 -37
  208. package/public/dist/assets/settings-C5Q9IPjJ.js +0 -1
  209. package/public/dist/assets/skills-9Pd2rOw-.js +0 -1
  210. package/public/dist/assets/skills-BI7sQAdk.js +0 -12
  211. package/public/dist/assets/slash-commands-FMpJzlDB.js +0 -1
  212. package/public/dist/assets/stateDiagram-FHFEXIEX-BLgKnllT.js +0 -1
  213. package/public/dist/assets/stateDiagram-v2-QKLJ7IA2-CbzuWsSa.js +0 -1
  214. package/public/dist/assets/timeline-definition-GMOUNBTQ-CcZTJ3gL.js +0 -1
  215. package/public/dist/assets/treeView-SZITEDCU-BDqBsaH1.js +0 -1
  216. package/public/dist/assets/treemap-W4RFUUIX-BaWHA3Di.js +0 -1
  217. package/public/dist/assets/ui-BukgLHuh.js +0 -29
  218. package/public/dist/assets/ui-Bvz1JfTE.js +0 -1
  219. package/public/dist/assets/vennDiagram-DHZGUBPP-BWV_j1bh.js +0 -1
  220. package/public/dist/assets/wardley-RL74JXVD-C7gKA3d7.js +0 -1
  221. package/public/dist/assets/wardleyDiagram-NUSXRM2D-BUoq_wug.js +0 -1
  222. package/public/dist/assets/ws-S_AZgx7L.js +0 -2
  223. package/public/dist/assets/xychartDiagram-5P7HB3ND-PvT5Ec82.js +0 -1
  224. /package/public/dist/assets/{api-B8XKQ4OT.js → api-Ci-lgwRp.js} +0 -0
  225. /package/public/dist/assets/{locale-BjoAcbis.js → locale-DIXc-_34.js} +0 -0
@@ -0,0 +1,55 @@
1
+ import { settings } from '../core/config.js';
2
+ import { listActiveOrcStates } from '../core/db.js';
3
+ function normalizeRemoteKey(target, chatId) {
4
+ if (chatId !== undefined && chatId !== null)
5
+ return String(chatId);
6
+ if (!target)
7
+ return 'default';
8
+ if (typeof target === 'string')
9
+ return target;
10
+ return String(target.channelId
11
+ || target.threadId
12
+ || target.id
13
+ || 'default');
14
+ }
15
+ export function resolveOrcScope(input = {}) {
16
+ if (input.persistedScopeId)
17
+ return String(input.persistedScopeId);
18
+ const origin = String(input.origin || 'web').trim() || 'web';
19
+ const workingDir = String(input.workingDir ?? settings.workingDir ?? '~').trim() || '~';
20
+ if (origin === 'telegram' || origin === 'discord') {
21
+ return `${origin}:${normalizeRemoteKey(input.target, input.chatId)}:${workingDir}`;
22
+ }
23
+ return `local:${workingDir}`;
24
+ }
25
+ /**
26
+ * Find an existing active (non-IDLE) scope row matching the given origin/chatId.
27
+ * Used when workingDir may have changed mid-phase — the old scope row has the
28
+ * persisted scopeId that should be reused.
29
+ *
30
+ * When multiple active rows match, returns the most recently updated one.
31
+ * This is a best-effort heuristic: if a user runs concurrent PABCD flows
32
+ * from different directories, the most-recently-active flow wins.
33
+ */
34
+ export function findActiveScope(origin, chatId) {
35
+ const activeRows = listActiveOrcStates.all();
36
+ if (!activeRows.length)
37
+ return null;
38
+ let matches;
39
+ if (origin === 'telegram' || origin === 'discord') {
40
+ const chatKey = normalizeRemoteKey(undefined, chatId);
41
+ const prefix = `${origin}:${chatKey}:`;
42
+ matches = activeRows.filter(r => r.id.startsWith(prefix));
43
+ }
44
+ else {
45
+ matches = activeRows.filter(r => r.id.startsWith('local:'));
46
+ }
47
+ if (matches.length === 0)
48
+ return null;
49
+ if (matches.length === 1)
50
+ return matches[0].id;
51
+ // Multiple active scopes for this origin — pick most recently updated
52
+ matches.sort((a, b) => (b.updated_at > a.updated_at ? 1 : -1));
53
+ return matches[0].id;
54
+ }
55
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/orchestrator/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAWpD,SAAS,kBAAkB,CAAC,MAAqB,EAAE,MAAwB;IACvE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,MAAM,CACR,MAA8B,CAAC,SAAS;WACrC,MAA8B,CAAC,QAAQ;WACvC,MAA8B,CAAC,EAAE;WAClC,SAAS,CACf,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAuB,EAAE;IACrD,IAAI,KAAK,CAAC,gBAAgB;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;IAExF,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,GAAG,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;IACvF,CAAC;IAED,OAAO,SAAS,UAAU,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,MAAwB;IACpE,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,EAA+C,CAAC;IAC1F,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEpC,IAAI,OAAkD,CAAC;IAEvD,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,GAAG,CAAC;QACvC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;IAEhD,sEAAsE;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;AAC1B,CAAC"}
@@ -6,12 +6,12 @@ import { getOrcState, setOrcState, resetOrcState } from '../core/db.js';
6
6
  import { broadcast } from '../core/bus.js';
7
7
  import { readLatestWorklog } from '../memory/worklog.js';
8
8
  // ─── State Read/Write (DB-backed) ───────────────────
9
- export function getState() {
10
- const row = getOrcState();
9
+ export function getState(scope = 'default') {
10
+ const row = getOrcState.get(scope);
11
11
  return row?.state || 'IDLE';
12
12
  }
13
- export function getCtx() {
14
- const row = getOrcState();
13
+ export function getCtx(scope = 'default') {
14
+ const row = getOrcState.get(scope);
15
15
  if (!row?.ctx)
16
16
  return null;
17
17
  try {
@@ -24,30 +24,32 @@ export function getCtx() {
24
24
  return null;
25
25
  }
26
26
  }
27
- export function setState(s, ctx) {
27
+ export function setState(s, ctx, scope = 'default', titleOverride) {
28
28
  const ctxJson = ctx !== undefined
29
29
  ? (ctx ? JSON.stringify(ctx) : null)
30
- : getOrcState()?.ctx || null;
31
- setOrcState.run(s, ctxJson, 'default');
30
+ : (getOrcState.get(scope)?.ctx || null);
31
+ setOrcState.run(scope, s, ctxJson);
32
32
  // Parse worklog title (max 2 words + …)
33
- let title = 'PABCD';
34
- try {
35
- const wl = readLatestWorklog();
36
- if (wl?.content) {
37
- const firstLine = wl.content.split('\n')[0] || '';
38
- const raw = firstLine.replace(/^#\s*Work Log:\s*"?/, '').replace(/"?\s*$/, '').trim();
39
- if (raw) {
40
- const words = raw.split(/\s+/);
41
- title = words.slice(0, 2).join(' ') + (words.length > 2 ? '…' : '');
33
+ let title = titleOverride || 'PABCD';
34
+ if (!titleOverride) {
35
+ try {
36
+ const wl = readLatestWorklog();
37
+ if (wl?.content) {
38
+ const firstLine = wl.content.split('\n')[0] || '';
39
+ const raw = firstLine.replace(/^#\s*Work Log:\s*"?/, '').replace(/"?\s*$/, '').trim();
40
+ if (raw) {
41
+ const words = raw.split(/\s+/);
42
+ title = words.slice(0, 2).join(' ') + (words.length > 2 ? '…' : '');
43
+ }
42
44
  }
43
45
  }
46
+ catch { /* fallback to PABCD */ }
44
47
  }
45
- catch { /* fallback to PABCD */ }
46
- broadcast('orc_state', { state: s, title });
48
+ broadcast('orc_state', { state: s, title, scope });
47
49
  }
48
- export function resetState() {
49
- resetOrcState();
50
- broadcast('orc_state', { state: 'IDLE', title: '' });
50
+ export function resetState(scope = 'default') {
51
+ resetOrcState.run(scope);
52
+ broadcast('orc_state', { state: 'IDLE', title: '', scope });
51
53
  }
52
54
  // ─── Prefix Map ─────────────────────────────────────
53
55
  // B state: only worker results get Bb2 prefix, user messages get no prefix.
@@ -1 +1 @@
1
- {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../src/orchestrator/state-machine.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,mFAAmF;AACnF,6CAA6C;AAC7C,kEAAkE;AAElE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAmBzD,uDAAuD;AAEvD,MAAM,UAAU,QAAQ;IACtB,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,OAAQ,GAAG,EAAE,KAAsB,IAAI,MAAM,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QACxE,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAe,EAAE,GAAuB;IAC/D,MAAM,OAAO,GAAG,GAAG,KAAK,SAAS;QAC/B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC;IAC/B,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAEvC,wCAAwC;IACxC,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;QAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtF,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC/B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAEnC,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,aAAa,EAAE,CAAC;IAChB,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,uDAAuD;AACvD,4EAA4E;AAE5E,MAAM,QAAQ,GAA2B;IACvC,GAAG,EAAE;;;;;;;WAOI;IAET,GAAG,EAAE;;;;;;;;kBAQW;IAEhB,GAAG,EAAE;;;;;;;;kBAQW;CACjB,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,KAAmB,EAAE,SAA4B,MAAM;IAC/E,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAC,GAAI,CAAC;IACxC,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAC,GAAI,CAAC;IACxC,IAAI,KAAK,KAAK,GAAG,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC,GAAI,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uDAAuD;AAEvD,MAAM,aAAa,GAA2B;IAC5C,CAAC,EAAE;;;;;;;;;;;;;;;;;qFAiBgF;IAEnF,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;qDAoBgD;IAEnD,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;qDAsBgD;IAEnD,CAAC,EAAE;;;;;;;;;0EASqE;IAExE,CAAC,EAAE;;;;;uBAKkB;CACtB,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,uDAAuD;AAEvD,MAAM,iBAAiB,GAA6B;IAClD,IAAI,EAAE,CAAC,GAAG,CAAC;IACX,CAAC,EAAE,CAAC,GAAG,CAAC;IACR,CAAC,EAAE,CAAC,GAAG,CAAC;IACR,CAAC,EAAE,CAAC,GAAG,CAAC;IACR,CAAC,EAAE,CAAC,GAAG,CAAC;IACR,CAAC,EAAE,CAAC,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,IAAkB,EAAE,EAAgB;IAChE,OAAO,iBAAiB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../src/orchestrator/state-machine.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export function claimWorker(emp, task) {
14
14
  completedAt: null,
15
15
  pendingReplay: false,
16
16
  replayClaimed: false,
17
+ replayAttempts: 0,
17
18
  result: null,
18
19
  };
19
20
  workers.set(emp.id, slot);
@@ -42,7 +43,7 @@ export function failWorker(agentId, result) {
42
43
  slot.state = 'failed';
43
44
  slot.completedAt = Date.now();
44
45
  slot.result = result;
45
- slot.pendingReplay = true;
46
+ slot.pendingReplay = false; // Failed workers don't need replay — no result to feed back to Boss
46
47
  }
47
48
  export function cancelWorker(agentId) {
48
49
  const slot = workers.get(agentId);
@@ -73,7 +74,7 @@ export function hasPendingWorkerReplays() {
73
74
  export function listPendingWorkerResults() {
74
75
  const results = [];
75
76
  for (const slot of workers.values()) {
76
- if (slot.pendingReplay && !slot.replayClaimed && slot.result) {
77
+ if (slot.state === 'done' && slot.pendingReplay && !slot.replayClaimed && slot.result) {
77
78
  results.push({ agentId: slot.agentId, text: slot.result });
78
79
  }
79
80
  }
@@ -100,6 +101,12 @@ export function releaseWorkerReplay(agentId) {
100
101
  if (!slot)
101
102
  return;
102
103
  slot.replayClaimed = false;
104
+ slot.replayAttempts++;
105
+ if (slot.replayAttempts >= 3) {
106
+ console.error(`[worker-registry] ${agentId} replay failed 3 times — marking as failed`);
107
+ slot.state = 'failed';
108
+ slot.pendingReplay = false;
109
+ }
103
110
  }
104
111
  export function clearAllWorkers() {
105
112
  workers.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"worker-registry.js","sourceRoot":"","sources":["../../../src/orchestrator/worker-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-registry.js","sourceRoot":"","sources":["../../../src/orchestrator/worker-registry.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@ import { describeHeartbeatSchedule, normalizeHeartbeatSchedule } from '../memory
9
9
  import { buildTaskSnapshot, getMemoryStatus, loadProfileSummary } from '../memory/runtime.js';
10
10
  import { loadAndRender, loadTemplate, renderTemplate, parseWorkerContexts, clearTemplateCache } from './template-loader.js';
11
11
  const promptCache = new Map();
12
+ function getRepoBundledSkillPath(...parts) {
13
+ return join(process.cwd(), ...parts);
14
+ }
15
+ function findFirstExistingPath(paths) {
16
+ return paths.find(p => fs.existsSync(p)) || null;
17
+ }
12
18
  // ─── Legacy A1 Source Hashes ─────────────────────────
13
19
  // MD5 hashes of source templates (unrendered) for every historical pre-hash version.
14
20
  // Used to identify known stock files during pre-hash migration.
@@ -384,28 +390,29 @@ export function getSystemPrompt(opts = {}) {
384
390
  }
385
391
  }
386
392
  catch { /* vision-click not ready */ }
387
- // ─── Subagent prohibition for pipe-mode CLIs ───
388
- // Pipe-mode CLIs (codex, claude, gemini, opencode) exit after a single
389
- // session. Internal Agent/subagent tools will fail because the process
390
- // terminates before the subagent completes. ACP (copilot) is excluded
391
- // because it maintains a persistent session.
393
+ // ─── Delegation rules: jaw employees vs CLI sub-agents ───
394
+ // Both tools exist. The prompt must clarify WHEN to use which.
395
+ // Sub-agents (Task tool) are always available for internal work.
396
+ // jaw employees are dispatched via subtask JSON (server) or cli-jaw dispatch (pipe).
392
397
  const pipeActiveCli = opts.activeCli || settings.cli;
393
398
  const PIPE_MODE_CLIS = ['codex', 'claude', 'gemini', 'opencode'];
394
- if (!opts.forDisk && PIPE_MODE_CLIS.includes(pipeActiveCli || '')) {
395
- prompt += '\n\n---\n## Agent/Subagent Prohibition\n';
396
- prompt += 'You are running in non-interactive pipe mode. ';
397
- prompt += '**Do NOT use Agent tools, subagent spawning, or delegation tools.** ';
398
- prompt += 'These tools will fail because the process exits after your response. ';
399
- prompt += 'Instead, do the work directly yourself in this single session. ';
400
- prompt += 'If the task is too large, break it into concrete steps and execute them sequentially — ';
401
- prompt += 'do NOT delegate to another agent.\n';
402
- }
403
- if (opts.forDisk) {
404
- prompt += '\n\n---\n## Agent/Subagent Prohibition\n';
405
- prompt += 'Do NOT use Agent, subagent, or delegation tools. ';
406
- prompt += 'This session runs in pipe mode subprocesses will not complete. ';
407
- prompt += 'Do all work directly. Break large tasks into sequential steps.\n';
399
+ const isPipe = !opts.forDisk && PIPE_MODE_CLIS.includes(pipeActiveCli || '');
400
+ prompt += '\n\n---\n## Delegation Rules\n';
401
+ prompt += '### CLI Sub-agents (Task/Agent tool)\n';
402
+ prompt += 'You CAN use your CLI\'s Task/Agent tools for internal subtasks: research, parallel file reads, code analysis.\n';
403
+ prompt += 'Subagents you spawn must NOT spawn further subagents (1-level only).\n';
404
+ prompt += 'When spawning a subagent, include: "Do NOT use Agent, subagent, or delegation tools. Do all work directly."\n';
405
+ prompt += '\n### jaw Employee Dispatch\n';
406
+ if (isPipe) {
407
+ prompt += 'subtask JSON is NOT parsed in pipe mode. Use the CLI command:\n';
408
+ prompt += '```bash\ncli-jaw dispatch --agent "Frontend" --task "task description"\n```\n';
409
+ }
410
+ else {
411
+ prompt += 'Output subtask JSON to dispatch jaw employees. jaw handles the rest.\n';
408
412
  }
413
+ prompt += '\n### ⛔ Do NOT confuse the two\n';
414
+ prompt += '- Do NOT use CLI Task tool to "dispatch" jaw employees — use subtask JSON or `cli-jaw dispatch`.\n';
415
+ prompt += '- Do NOT assign simple research to jaw employees — use your CLI sub-agents instead.\n';
409
416
  return prompt;
410
417
  }
411
418
  // ─── Employee Prompt (orchestration-free) ────────────
@@ -438,22 +445,43 @@ export function getEmployeePromptV2(emp, role, currentPhase) {
438
445
  return promptCache.get(cacheKey);
439
446
  let prompt = getEmployeePrompt(emp);
440
447
  // ─── 1. Common dev skill (always injected)
441
- const devCommonPath = join(SKILLS_DIR, 'dev', 'SKILL.md');
442
- if (fs.existsSync(devCommonPath)) {
448
+ const devCommonPath = findFirstExistingPath([
449
+ join(SKILLS_DIR, 'dev', 'SKILL.md'),
450
+ getRepoBundledSkillPath('skills', 'dev', 'SKILL.md'),
451
+ ]);
452
+ if (devCommonPath) {
443
453
  prompt += `\n\n## Development Guide (Common)\n${fs.readFileSync(devCommonPath, 'utf8')}`;
444
454
  }
445
455
  // ─── 1b. Scaffolding guide (always injected)
446
- const scaffoldingPath = join(SKILLS_DIR, 'dev-scaffolding', 'SKILL.md');
447
- if (fs.existsSync(scaffoldingPath)) {
456
+ const scaffoldingPath = findFirstExistingPath([
457
+ join(SKILLS_DIR, 'dev-scaffolding', 'SKILL.md'),
458
+ getRepoBundledSkillPath('skills', 'dev-scaffolding', 'SKILL.md'),
459
+ ]);
460
+ if (scaffoldingPath) {
448
461
  prompt += `\n\n## Project Scaffolding Guide\n${fs.readFileSync(scaffoldingPath, 'utf8')}`;
449
462
  }
450
463
  // ─── 2. Role-based dev skill injection
451
464
  const ROLE_SKILL_MAP = {
452
- frontend: join(SKILLS_DIR, 'dev-frontend', 'SKILL.md'),
453
- backend: join(SKILLS_DIR, 'dev-backend', 'SKILL.md'),
454
- research: join(SKILLS_REF_DIR, 'research-worker', 'SKILL.md'),
455
- data: join(SKILLS_DIR, 'dev-data', 'SKILL.md'),
456
- docs: join(SKILLS_DIR, 'documentation', 'SKILL.md'),
465
+ frontend: findFirstExistingPath([
466
+ join(SKILLS_DIR, 'dev-frontend', 'SKILL.md'),
467
+ getRepoBundledSkillPath('skills', 'dev-frontend', 'SKILL.md'),
468
+ ]),
469
+ backend: findFirstExistingPath([
470
+ join(SKILLS_DIR, 'dev-backend', 'SKILL.md'),
471
+ getRepoBundledSkillPath('skills', 'dev-backend', 'SKILL.md'),
472
+ ]),
473
+ research: findFirstExistingPath([
474
+ join(SKILLS_REF_DIR, 'research-worker', 'SKILL.md'),
475
+ getRepoBundledSkillPath('skills_ref', 'research-worker', 'SKILL.md'),
476
+ ]),
477
+ data: findFirstExistingPath([
478
+ join(SKILLS_DIR, 'dev-data', 'SKILL.md'),
479
+ getRepoBundledSkillPath('skills', 'dev-data', 'SKILL.md'),
480
+ ]),
481
+ docs: findFirstExistingPath([
482
+ join(SKILLS_DIR, 'documentation', 'SKILL.md'),
483
+ getRepoBundledSkillPath('skills', 'documentation', 'SKILL.md'),
484
+ ]),
457
485
  custom: null,
458
486
  };
459
487
  const skillPath = ROLE_SKILL_MAP[role];
@@ -462,15 +490,25 @@ export function getEmployeePromptV2(emp, role, currentPhase) {
462
490
  }
463
491
  // ─── 3a. Plan audit phase(2) → inject dev-code-reviewer
464
492
  if (phase === 2) {
465
- const reviewerPath = join(SKILLS_DIR, 'dev-code-reviewer', 'SKILL.md');
466
- if (fs.existsSync(reviewerPath)) {
493
+ const reviewerPath = findFirstExistingPath([
494
+ join(SKILLS_DIR, 'dev-code-reviewer', 'SKILL.md'),
495
+ join(SKILLS_REF_DIR, 'dev-code-reviewer', 'SKILL.md'),
496
+ getRepoBundledSkillPath('skills', 'dev-code-reviewer', 'SKILL.md'),
497
+ getRepoBundledSkillPath('skills_ref', 'dev-code-reviewer', 'SKILL.md'),
498
+ ]);
499
+ if (reviewerPath) {
467
500
  prompt += `\n\n## Code Review Guide (Phase 2 — Strict Audit)\n${fs.readFileSync(reviewerPath, 'utf8')}`;
468
501
  }
469
502
  }
470
503
  // ─── 3b. Debug/check phase(4) → inject dev-testing
471
504
  if (phase === 4) {
472
- const testingPath = join(SKILLS_DIR, 'dev-testing', 'SKILL.md');
473
- if (fs.existsSync(testingPath)) {
505
+ const testingPath = findFirstExistingPath([
506
+ join(SKILLS_DIR, 'dev-testing', 'SKILL.md'),
507
+ join(SKILLS_REF_DIR, 'dev-testing', 'SKILL.md'),
508
+ getRepoBundledSkillPath('skills', 'dev-testing', 'SKILL.md'),
509
+ getRepoBundledSkillPath('skills_ref', 'dev-testing', 'SKILL.md'),
510
+ ]);
511
+ if (testingPath) {
474
512
  prompt += `\n\n## Testing Guide (Phase 4)\n${fs.readFileSync(testingPath, 'utf8')}`;
475
513
  }
476
514
  }
@@ -483,17 +521,20 @@ export function getEmployeePromptV2(emp, role, currentPhase) {
483
521
  prompt += `\n- Do not touch files outside your assigned scope`;
484
522
  prompt += `\n- Focus only on your assigned area`;
485
523
  prompt += `\n- Report results clearly with specific file paths and line numbers`;
486
- // ─── Subagent prohibition (employees always run in pipe mode) ───
487
- prompt += `\n\n## Agent/Subagent Prohibition`;
488
- prompt += `\nYou are running as a worker agent in pipe mode.`;
489
- prompt += `\nDo NOT use Agent tools or subagent delegation.`;
490
- prompt += `\nComplete all work directly in this session.`;
524
+ // ─── Sub-agent usage (employees CAN use sub-agents; must NOT dispatch jaw employees) ───
525
+ prompt += `\n\n## Sub-agent Usage Rules`;
526
+ prompt += `\nYou CAN use your CLI's Task/Agent tools for your own work (parallel file reads, research, code analysis).`;
527
+ prompt += `\nSubagents you spawn must NOT spawn further subagents (1-level only).`;
528
+ prompt += `\nWhen spawning a subagent, include: "Do NOT use Agent, subagent, or delegation tools. Do all work directly."`;
529
+ prompt += `\n\n⛔ You must NOT output jaw employee subtask JSON — only the Boss can dispatch jaw employees.`;
530
+ prompt += `\nIf a task seems too large, use your CLI sub-agents to parallelize — do NOT try to dispatch other jaw employees.`;
491
531
  promptCache.set(cacheKey, prompt);
492
532
  return prompt;
493
533
  }
494
534
  export function clearPromptCache() { promptCache.clear(); }
495
535
  export function regenerateB() {
496
536
  clearTemplateCache();
537
+ clearPromptCache();
497
538
  const fullPrompt = getSystemPrompt({ forDisk: true });
498
539
  fs.writeFileSync(join(PROMPTS_DIR, 'B.md'), fullPrompt);
499
540
  // Generate {workDir}/AGENTS.md — read by Codex, Copilot, and OpenCode
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/prompt/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAmB,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE5H,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;AAE9B,wDAAwD;AACxD,qFAAqF;AACrF,gEAAgE;AAChE,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACnC,kCAAkC,EAAE,kBAAkB;IACtD,kCAAkC,EAAE,oBAAoB;IACxD,kCAAkC,EAAE,iBAAiB;IACrD,kCAAkC,EAAE,oBAAoB;IACxD,kCAAkC,EAAE,kBAAkB;IACtD,kCAAkC,EAAE,kBAAkB;CACzD,CAAC,CAAC;AAEH,wDAAwD;AAExD,SAAS,wBAAwB,CAAC,OAAe;IAC7C,OAAO,OAAO;SACT,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC;SACpC,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;AAC7D,CAAC;AAID,MAAM,UAAU,wBAAwB,CAAC,IAIxC;IACG,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,iBAAiB;QAAE,OAAO,wBAAwB,CAAC;IACxF,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACzF,OAAO,sBAAsB,CAAC;AAClC,CAAC;AAED,wDAAwD;AAExD,mDAAmD;AACnD,MAAM,UAAU,gBAAgB;IAC5B,IAAI,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACrD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvD,GAAG,CAAC,CAAC,CAAC,EAAE;YACL,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAClE,OAAO;gBACH,EAAE,EAAE,CAAC,CAAC,IAAI;gBACV,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI;gBACtC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;gBACzC,OAAO;aACV,CAAC;QACN,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,iBAAiB;IAC7B,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,eAAe;IAC3B,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,+BAA+B;IAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,CAAE,CAAC,EAAE;YACT,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,CAAE,CAAC,IAAI;YAC9B,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS;YACtC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS;YACtC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;YAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,WAAW;YAC1C,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,CAAE,CAAC,WAAW;YACnD,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS;YACtC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS;YACtC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;YACnC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;YACjC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SACpF,CAAC,CAAC;IACP,CAAC;IAED,sCAAsC;IACtC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC;gBACR,GAAG,CAAC;gBACJ,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,wDAAwD;AAExD,iDAAiD;AACjD,SAAS,eAAe;IACpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,4CAA4C;AAC5C,SAAS,YAAY;IACjB,OAAO,aAAa,CAAC,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,2CAA2C;AAC3C,SAAS,YAAY;IACjB,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;AACzC,CAAC;AAED,kDAAkD;AAClD,SAAS,mBAAmB;IACxB,OAAO,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAChD,CAAC;AAED,wDAAwD;AAExD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AAEhE,wDAAwD;AAExD,MAAM,UAAU,eAAe;IAC3B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACnC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,gBAAgB;QAChB,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC5B,mDAAmD;YACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1F,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,sCAAsC;gBACtC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACrC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACJ,kEAAkE;gBAClE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,yEAAyE;QACzE,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC;aACvC,MAAM,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;aAC7C,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC;aACtC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;aACpC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,wBAAwB,CAAC;YACpC,kBAAkB;YAClB,iBAAiB;YACjB,iBAAiB,EAAE,sBAAsB;SAC5C,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;YACtC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACrC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACJ,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,YAAY;IACxB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC;QAC1B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACrF,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvB,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,WAAW;oBAAE,MAAM;gBAClD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC;YAC9B,CAAC;YACD,IAAI,SAAS,IAAI,WAAW;gBAAE,MAAM;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,mCAAmC,OAAO,CAAC,MAAM,aAAa,SAAS,QAAQ,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,OAAO,CAAC,MAAM;YACjB,CAAC,CAAC,uCAAuC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChG,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,wDAAwD;AAExD,SAAS,yBAAyB,CAAC,MAAc;IAC7C,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,kBAAkB,GAAG,cAAc,KAAK,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,IAAI,QAAQ,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,0BAA0B,kBAAkB,WAAW,cAAc,GAAG,CAAC,CAAC;YAC1F,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,mCAAmC,kBAAkB,IAAI,SAAS,cAAc,cAAc,GAAG,CAAC,CAAC;QACnH,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,IAAI,QAAQ;YAAE,IAAI,IAAI,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI;oBACnC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,qDAAqD;oBAChF,CAAC,CAAC,OAAO,CAAC;gBACd,IAAI,IAAI,2BAA2B,GAAG,SAAS,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,8BAA8B,SAAS,CAAC,MAAM,QAAQ,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAElC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc,EAAE,aAAqB,EAAE,gBAAgB,GAAG,EAAE;IAC7F,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,gBAAgB,IAAI,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5E,IAAI,IAAI,8BAA8B,CAAC;IACvC,IAAI,IAAI,sCAAsC,CAAC;IAC/C,IAAI,IAAI,0EAA0E,CAAC;IACnF,IAAI,OAAO,EAAE,CAAC;QACV,IAAI,IAAI,0BAA0B,GAAG,OAAO,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACX,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,SAAyB;IAClE,OAAO,SAAS,KAAK,OAAO,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAmG,EAAE;IACjI,uEAAuE;IACvE,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACtF,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,IAAI,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC;IAC9B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAE9B,oEAAoE;IACpE,6EAA6E;IAE7E,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;QACrD,MAAM,GAAG,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,6BAA6B,CAAC;QACxC,MAAM,IAAI,0CAA0C,CAAC;QACrD,MAAM,IAAI,iDAAiD,CAAC;IAChE,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACtB,MAAO,CAAS,CAAC,IAAI,WAAY,CAAS,CAAC,GAAG,OAAQ,CAAS,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAChG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,OAAO,GAAI,IAAI,CAAC,CAAC,CAAS,CAAC,IAAI,CAAC;YACtC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,MAAM,IAAI,WAAW,CAAC;YACtB,MAAM,IAAI,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;YAEjE,8DAA8D;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YAC5D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,qCAAqC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;YACxF,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAElC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACzC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1D,OAAO,KAAK,MAAM,KAAK,GAAG,CAAC,IAAI,OAAO,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACpH,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,IAAI,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAE1C,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,6BAA6B,CAAC;YAExC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAE,CAAC,IAAI,KAAK,CAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtF,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9D,yCAAyC;YACzC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,gDAAgD;gBAChD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,MAAM,IAAI,cAAc,CAAC,aAAa,GAAG,qBAAqB,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACJ,kBAAkB;gBAClB,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;gBACvC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACxE,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAElC,oDAAoD;IACpD,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC;QACjD,IAAI,4BAA4B,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;YACrE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,IAAI,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAExC,kDAAkD;IAClD,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,6CAA6C;IAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC;IACrD,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,0CAA0C,CAAC;QACrD,MAAM,IAAI,gDAAgD,CAAC;QAC3D,MAAM,IAAI,sEAAsE,CAAC;QACjF,MAAM,IAAI,uEAAuE,CAAC;QAClF,MAAM,IAAI,iEAAiE,CAAC;QAC5E,MAAM,IAAI,yFAAyF,CAAC;QACpG,MAAM,IAAI,qCAAqC,CAAC;IACpD,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,IAAI,0CAA0C,CAAC;QACrD,MAAM,IAAI,mDAAmD,CAAC;QAC9D,MAAM,IAAI,mEAAmE,CAAC;QAC9E,MAAM,IAAI,kEAAkE,CAAC;IACjF,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACtC,MAAM,IAAI,GAA2B;QACjC,QAAQ,EAAE,GAAG,CAAC,IAAI;QAClB,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,mBAAmB;QACzC,qBAAqB,EAAE,EAAE;KAC5B,CAAC;IAEF,kCAAkC;IAClC,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACxC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,OAAO,GAAG,uBAAuB,YAAY,CAAC,MAAM,KAAK,CAAC;YAC9D,OAAO,IAAI,0DAA0D,CAAC;YACtE,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC3B,OAAO,IAAI,KAAK,CAAE,CAAC,IAAI,KAAK,CAAE,CAAC,EAAE,KAAK,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;QACzC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAElC,OAAO,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,mBAAmB,CAAC,GAAQ,EAAE,IAAS,EAAE,YAA6B;IAClF,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;IACxF,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEhE,IAAI,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEpC,4CAA4C;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC1D,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,sCAAsC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IAC7F,CAAC;IAED,8CAA8C;IAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACxE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,qCAAqC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC;IAC9F,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG;QACnB,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC;QACtD,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC;QACpD,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,UAAU,CAAC;QAC7D,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;QAC9C,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC;QACnD,MAAM,EAAE,IAAI;KACf,CAAC;IAEF,MAAM,SAAS,GAAI,cAAsC,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,6BAA6B,IAAI,MAAM,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;IAC1F,CAAC;IAED,yDAAyD;IACzD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;QACvE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,sDAAsD,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5G,CAAC;IACL,CAAC;IAED,oDAAoD;IACpD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,mCAAmC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;QACxF,CAAC;IACL,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,yBAAyB,GAAG,EAAE,CAAC;IACzC,MAAM,IAAI,wBAAwB,CAAC;IACnC,MAAM,IAAI,kDAAkD,CAAC;IAC7D,MAAM,IAAI,oDAAoD,CAAC;IAC/D,MAAM,IAAI,sCAAsC,CAAC;IACjD,MAAM,IAAI,sEAAsE,CAAC;IAEjF,mEAAmE;IACnE,MAAM,IAAI,mCAAmC,CAAC;IAC9C,MAAM,IAAI,mDAAmD,CAAC;IAC9D,MAAM,IAAI,kDAAkD,CAAC;IAC7D,MAAM,IAAI,+CAA+C,CAAC;IAE1D,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAE3D,MAAM,UAAU,WAAW;IACvB,kBAAkB,EAAE,CAAC;IACrB,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;IAExD,sEAAsE;IACtE,IAAI,CAAC;QACD,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC/C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;IACjF,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,4CAA4C;AAChD,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/prompt/builder.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ Execute tasks on the user's computer via CLI tools.
7
7
  - Follow the user's instructions precisely
8
8
  - Respond in the user's language
9
9
  - Report results clearly with file paths and outputs
10
+ - Prefer short, structured Markdown and actively use heading levels from `#` through `####` when they improve scanability
11
+ - Avoid dense wall-of-text; group findings, actions, and next steps into scan-friendly sections
10
12
  - Ask for clarification when ambiguous
11
13
  - Never run git commit/push/branch/reset/clean unless the user explicitly asks in the same turn
12
14
  - Default delivery is file changes + verification report (no commit/push)
@@ -24,6 +26,18 @@ Execute tasks on the user's computer via CLI tools.
24
26
 
25
27
  **Rule**: Use jaw employees for orchestrated multi-agent tasks. Use CLI sub-agents for your own internal subtasks (if available). Do not use one for the other.
26
28
 
29
+ ### When to Use Which — Decision Tree
30
+
31
+ 1. "I need Frontend to fix CSS and Backend to update the API" → **jaw Employee dispatch** (subtask JSON or `cli-jaw dispatch`)
32
+ 2. "I need to investigate 3 files in parallel before deciding" → **CLI Sub-agent** (Task tool)
33
+ 3. "Pipe mode, need to send employee" → `cli-jaw dispatch --agent "Name" --task "..."` (NOT subtask JSON, NOT Task tool)
34
+ 4. "Employee needs to research before implementing" → Tell the employee to use **their own CLI sub-agents** (Task tool) — this is allowed
35
+
36
+ ⛔ Do NOT:
37
+ - Use CLI Task tool to "dispatch" a jaw employee (Task tool spawns a subprocess, not a jaw employee)
38
+ - Assign simple file reads or research to jaw employees (use your own CLI sub-agents instead — faster, cheaper)
39
+ - Confuse the two: jaw employees are registered agents with their own CLI; CLI sub-agents are your internal tool
40
+
27
41
  ## How jaw Works (Architecture)
28
42
 
29
43
  User message → jaw server → You (Boss agent)
@@ -154,3 +168,29 @@ Before writing ANY code, you MUST read the relevant dev skill guides:
154
168
  3. **How to read**: `cat {{JAW_HOME}}/skills/dev/SKILL.md` or `cli-jaw skill read dev`
155
169
  4. Follow ALL guidelines from the skill before and during implementation
156
170
  5. If a skill contradicts these rules, the skill takes priority (skills are project-specific)
171
+
172
+ ## Diagrams (MANDATORY — diagram skill file FIRST, always)
173
+
174
+ **Stop-and-read trigger**: any request involving `diagram / chart / graph / visualize / flowchart / mermaid / SVG / heatmap / sankey / radar / treemap / gauge / funnel / candlestick / map / sequence / class / state machine / timeline / mind map / 다이어그램 / 도식 / 시각화 / 차트 / 지도` — or any user intent that would benefit from a visual explanation — means you **MUST read `{{JAW_HOME}}/skills/diagram/SKILL.md` before writing a single line of output**. Do not rely on prior knowledge. Do not skip this step because "I already know how to make an SVG". The skill file has the current routing table, color system, complexity budget, delivery rules, and reference pointers — none of which you can reconstruct from memory.
175
+
176
+ **The diagram skill is the single source of truth.** Follow all its guidelines. If it seems to miss something for your use case, **update the skill file** — do NOT invent rules inside the response. A1 only lists triggers; every actual rule lives in the skill.
177
+
178
+ ### Required reading order
179
+
180
+ 1. **Always first**: `{{JAW_HOME}}/skills/diagram/SKILL.md` (or `cli-jaw skill read diagram`)
181
+ 2. **Then the matching reference module** — pick the one(s) that match your output type:
182
+ - `reference/svg-components.md` — static inline SVG (viewBox, nodes, connectors, text, font calibration)
183
+ - `reference/color-palette.md` — 9 color ramps, assignment rules, CSS variable map
184
+ - `reference/module-chart.md` — Chart.js, D3 + **ECharts 6** (heatmap / sankey / radar / treemap / gauge / funnel / candlestick / chord)
185
+ - `reference/module-widget.md` — Three.js (WebGL 2 default + optional WebGPU), p5.js, Tone.js, Matter.js, Math.js
186
+ - `reference/module-interactive.md` — sliders, selects, segmented buttons, play/pause, throttle/debounce, sendPrompt
187
+ - `reference/module-map.md` — Leaflet interactive maps (OSM tiles, markers, popups, dark mode)
188
+ - `reference/module-mockup.md` / `reference/module-art.md` — UI wireframes, decorative SVG
189
+
190
+ ### Delivery show-stoppers (the skill file has full detail — these three are the ones that silently break things)
191
+
192
+ `<svg>`, ` ```mermaid `, and ` ```diagram-html ` blocks render **inline in the chat response**; the jaw frontend mounts `diagram-html` in a sandboxed `<iframe>` automatically. Paste raw blocks directly into your reply — that is the entire delivery mechanism.
193
+
194
+ - ❌ Never save diagrams to a file (`.svg` / `.html` / `.png`) via Write / `cat >` / `fs.writeFile`, and never send them through `/api/channel/send` or Telegram/Discord — they are **response text, not attachments**.
195
+ - ❌ Never wrap `diagram-html` content in your own `<iframe>` / `<html>` / `<body>` / `<head>` — the host injects all of that.
196
+ - ✅ Only write a file when the user **explicitly** asks for a file on disk. Even then, show the diagram inline first so they can see it rendered.
@@ -35,6 +35,15 @@ Long-term memory:
35
35
  - Search memory before claiming remembered facts
36
36
  - Save only durable facts, decisions, and preferences
37
37
 
38
+ ## Diagram & Visualization Delivery
39
+ If your task involves creating diagrams, charts, or visualizations:
40
+ - **Inline SVG**: paste `<svg>` markup directly in your response text
41
+ - **Interactive/JS diagrams**: use ` ```diagram-html ` code fence (EXACT tag — not `html`, not `interactive-html`, not `diagram`)
42
+ - The jaw frontend auto-mounts `diagram-html` blocks in sandboxed iframes
43
+ - ❌ Never save diagrams to files (`.svg` / `.html` / `.png`)
44
+ - ❌ Never wrap in `<iframe>` / `<html>` / `<body>` — the host does that
45
+ - ❌ Never send diagrams via `/api/channel/send` — they render inline
46
+
38
47
  ## Your Identity
39
48
 
40
49
  You are **{{EMP_NAME}}**, a jaw employee (role: {{EMP_ROLE}}).
@@ -43,7 +52,7 @@ You are **{{EMP_NAME}}**, a jaw employee (role: {{EMP_ROLE}}).
43
52
  - Complete your assigned task thoroughly and report results.
44
53
  - Your results will be reviewed by the Boss, who may dispatch follow-up tasks.
45
54
  - Do NOT output orchestration JSON (subtasks, phase transitions) — that's the Boss's responsibility.
46
- - If your CLI has sub-agent features (Task tool), you may use them for your own work.
55
+ - You CAN use your CLI's sub-agent features (Task tool) for internal parallel work (file reads, research, analysis). But you must NOT output jaw employee dispatch JSON — only the Boss does that.
47
56
 
48
57
  ## Task Completion Protocol
49
58
  Do NOT output subtask JSON — you are an executor, not a planner.
@@ -7,7 +7,9 @@ CLI session and reports back to you. You do NOT spawn them — jaw handles dispa
7
7
  {{EMPLOYEE_LIST}}
8
8
 
9
9
  ### Dispatch Format
10
- To assign work, output EXACTLY this format (triple-backtick fenced JSON block):
10
+
11
+ **jaw 서버 경유 세션 (Web UI / Telegram):**
12
+ Output EXACTLY this format (triple-backtick fenced JSON block):
11
13
 
12
14
  \`\`\`json
13
15
  {
@@ -21,6 +23,20 @@ To assign work, output EXACTLY this format (triple-backtick fenced JSON block):
21
23
  }
22
24
  \`\`\`
23
25
 
26
+ **Pipe 모드 세션 (Claude Code CLI 직접 실행):**
27
+ subtask JSON은 파싱되지 않습니다. 두 가지 도구를 구분하세요:
28
+
29
+ **jaw Employee dispatch** (역할 기반 작업 위임):
30
+ ```bash
31
+ cli-jaw dispatch --agent "Frontend" --task "Specific task instruction"
32
+ ```
33
+ 결과가 stdout으로 동기 반환됩니다.
34
+
35
+ **CLI Sub-agents** (자기 작업 내 병렬화):
36
+ CLI의 Task/Agent 도구는 Pipe 모드에서도 정상 동작합니다.
37
+ 리서치, 파일 탐색, 코드 분석 등 자기 작업에는 CLI Sub-agent를 사용하세요.
38
+ jaw Employee를 CLI Task tool로 보내지 마세요 — `cli-jaw dispatch`를 사용하세요.
39
+
24
40
  ### CRITICAL RULES
25
41
  1. JSON MUST be wrapped in ```json ... ``` code blocks (mandatory)
26
42
  2. Never output raw JSON without code blocks
@@ -13,8 +13,9 @@ import { bumpSessionOwnershipGeneration } from '../agent/session-persistence.js'
13
13
  import { parseCommand, executeCommand } from '../cli/commands.js';
14
14
  import { getTelegramMenuCommands } from '../command-contract/policy.js';
15
15
  import { downloadTelegramFile } from '../../lib/upload.js';
16
- import { clearMainSessionState } from '../core/main-session.js';
16
+ import { clearMainSessionState, resetSessionPreservingHistory } from '../core/main-session.js';
17
17
  import { applyRuntimeSettingsPatch } from '../core/runtime-settings.js';
18
+ import { seedDefaultEmployees } from '../core/employees.js';
18
19
  import { handleVoice } from './voice.js';
19
20
  import { registerTransport, setLastActiveTarget, setLatestSeenTarget } from '../messaging/runtime.js';
20
21
  import { registerSendTransport } from '../messaging/send.js';
@@ -175,6 +176,11 @@ function makeTelegramCommandCtx() {
175
176
  bumpSessionOwnershipGeneration();
176
177
  clearMainSessionState();
177
178
  },
179
+ resetSession: () => {
180
+ bumpSessionOwnershipGeneration();
181
+ resetSessionPreservingHistory();
182
+ },
183
+ resetEmployees: () => seedDefaultEmployees({ reset: true, notify: true }),
178
184
  });
179
185
  }
180
186
  // ─── Init ────────────────────────────────────────────