@runfusion/fusion 0.75.0-beta.1 → 0.75.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/bin.js +389 -134
  2. package/dist/child-process-worker.js +224 -123
  3. package/dist/client/.vite/manifest.json +249 -249
  4. package/dist/client/assets/{AgentDetailView-CsCVX96A.js → AgentDetailView-C4Xpag_i.js} +1 -1
  5. package/dist/client/assets/{AgentPermissionPolicyEditor-Dh5wDe8g.js → AgentPermissionPolicyEditor-D-Fp7-sy.js} +1 -1
  6. package/dist/client/assets/{AgentsView-Dd_oZbFn.js → AgentsView-BmFsoY1Q.js} +3 -3
  7. package/dist/client/assets/{ChatView-gC7_BCmZ.js → ChatView-5KsB3BVO.js} +1 -1
  8. package/dist/client/assets/{CommandCenter-Bk6RQ-hm.js → CommandCenter-CacGI8AV.js} +1 -1
  9. package/dist/client/assets/{DevServerView-Da8h5OC-.js → DevServerView-DufjauVn.js} +1 -1
  10. package/dist/client/assets/{DirectoryPicker-DX9H1EdH.js → DirectoryPicker-DvwqfQDS.js} +1 -1
  11. package/dist/client/assets/{DocumentsView-BZ0g_Am7.js → DocumentsView-BbYJFIQ1.js} +1 -1
  12. package/dist/client/assets/{EvalsView-DsI_X6eQ.js → EvalsView-NBC8kOc-.js} +1 -1
  13. package/dist/client/assets/{ExperimentalAgentOnboardingModal-BfE5f-XK.js → ExperimentalAgentOnboardingModal-C809yXXY.js} +1 -1
  14. package/dist/client/assets/{GoalsView-43sqRFfC.js → GoalsView-CpNO9eI0.js} +1 -1
  15. package/dist/client/assets/{InsightsView-Dvgn_hrA.js → InsightsView-Cahy5FcR.js} +1 -1
  16. package/dist/client/assets/{MemoryView-DWbHznu3.js → MemoryView-BNJAQjqn.js} +1 -1
  17. package/dist/client/assets/{PiExtensionsManager-BKfmIRDt.js → PiExtensionsManager-DCHTyOmJ.js} +1 -1
  18. package/dist/client/assets/{PluginManager-xhkrAjSK.js → PluginManager-CBt-CqUz.js} +1 -1
  19. package/dist/client/assets/{PullRequestView-CyEwGgRD.js → PullRequestView-Dsb9RwmX.js} +1 -1
  20. package/dist/client/assets/{ReportModal--NSmch5M.js → ReportModal-8FjZOcbC.js} +1 -1
  21. package/dist/client/assets/{ResearchView-CgqZlNMD.js → ResearchView-DlSG7dOd.js} +1 -1
  22. package/dist/client/assets/{SecretsView-am_ZT9z8.js → SecretsView-BSajNE-f.js} +1 -1
  23. package/dist/client/assets/{SessionTerminal-DSc_7NQ-.js → SessionTerminal-M2fIpHrL.js} +1 -1
  24. package/dist/client/assets/{SettingsModal-Bp6sytUe.js → SettingsModal-DLcvlp44.js} +3 -3
  25. package/dist/client/assets/{SettingsModal-D2jjC8m8.js → SettingsModal-z6gOf7dG.js} +1 -1
  26. package/dist/client/assets/{SettingsTextareaRow-DjJJD-Af.js → SettingsTextareaRow-DeC19053.js} +1 -1
  27. package/dist/client/assets/{SetupWizardModal-DLIeefbh.js → SetupWizardModal-BOjMePFh.js} +2 -2
  28. package/dist/client/assets/{SkillsView-C67Gdb5y.js → SkillsView-BSBEC-Xm.js} +1 -1
  29. package/dist/client/assets/{WorkflowNodeEditor-BxhdNPdn.js → WorkflowNodeEditor-DZ9-RBqo.js} +1 -1
  30. package/dist/client/assets/{agent-import-generation-Bk9fEowy.js → agent-import-generation-COItiXMT.js} +1 -1
  31. package/dist/client/assets/{architectureDiagram-3BPJPVTR-s2YViNU1.js → architectureDiagram-3BPJPVTR-BwlCePoB.js} +1 -1
  32. package/dist/client/assets/{blockDiagram-GPEHLZMM-DMsf6VWl.js → blockDiagram-GPEHLZMM-KKrLi9v4.js} +1 -1
  33. package/dist/client/assets/{c4Diagram-AAUBKEIU-DXJExfmV.js → c4Diagram-AAUBKEIU-CkIDt_8M.js} +1 -1
  34. package/dist/client/assets/channel-CeYcnOtQ.js +1 -0
  35. package/dist/client/assets/{chunk-2J33WTMH-CH99GAl7.js → chunk-2J33WTMH-D9sbdaqY.js} +1 -1
  36. package/dist/client/assets/{chunk-4BX2VUAB-BTV9SXg5.js → chunk-4BX2VUAB-D3DtFoAY.js} +1 -1
  37. package/dist/client/assets/{chunk-55IACEB6-ntvLX3jz.js → chunk-55IACEB6-gxblxRIN.js} +1 -1
  38. package/dist/client/assets/{chunk-727SXJPM-DBNBtu-e.js → chunk-727SXJPM-D0AEDoHN.js} +1 -1
  39. package/dist/client/assets/{chunk-AQP2D5EJ-DvbtWh_x.js → chunk-AQP2D5EJ-BweoM7qY.js} +1 -1
  40. package/dist/client/assets/{chunk-FMBD7UC4-CUdRlAnf.js → chunk-FMBD7UC4-sjblhrjI.js} +1 -1
  41. package/dist/client/assets/{chunk-ND2GUHAM-B7J-met1.js → chunk-ND2GUHAM-CYuRENSs.js} +1 -1
  42. package/dist/client/assets/{chunk-QZHKN3VN-D7CahWp7.js → chunk-QZHKN3VN-CFKJr4kG.js} +1 -1
  43. package/dist/client/assets/classDiagram-4FO5ZUOK-CZwh2k1X.js +1 -0
  44. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CZwh2k1X.js +1 -0
  45. package/dist/client/assets/{cose-bilkent-S5V4N54A-6E0Aaw7K.js → cose-bilkent-S5V4N54A-6Jb6SgHM.js} +1 -1
  46. package/dist/client/assets/{dagre-BM42HDAG-Wi236AfH.js → dagre-BM42HDAG-FQJ87Ol3.js} +1 -1
  47. package/dist/client/assets/{dashboard-view-CrHqKsfL.js → dashboard-view-B1Rq2-73.js} +1 -1
  48. package/dist/client/assets/{dashboard-view-NpkFaG9s.js → dashboard-view-DH1Zo0m4.js} +1 -1
  49. package/dist/client/assets/{dashboard-view-hLsXVJJN.js → dashboard-view-DVMZNVoc.js} +1 -1
  50. package/dist/client/assets/{dashboard-view-BZDf9tzC.js → dashboard-view-DgLbkn5n.js} +1 -1
  51. package/dist/client/assets/{diagram-2AECGRRQ-B3TxtVcq.js → diagram-2AECGRRQ-CKYOu9to.js} +1 -1
  52. package/dist/client/assets/{diagram-5GNKFQAL-45Y_FHjp.js → diagram-5GNKFQAL-DPwjFnde.js} +1 -1
  53. package/dist/client/assets/{diagram-KO2AKTUF-D4w3m4cp.js → diagram-KO2AKTUF-DzZS9Nk3.js} +1 -1
  54. package/dist/client/assets/{diagram-LMA3HP47-Dv5F4ha2.js → diagram-LMA3HP47-DW9e5YSP.js} +1 -1
  55. package/dist/client/assets/{diagram-OG6HWLK6-CvOQ1IYN.js → diagram-OG6HWLK6-C7V3Mj63.js} +1 -1
  56. package/dist/client/assets/{erDiagram-TEJ5UH35-DYcp25dX.js → erDiagram-TEJ5UH35-DSQzBA0e.js} +1 -1
  57. package/dist/client/assets/{flowDiagram-I6XJVG4X-DnjuETCJ.js → flowDiagram-I6XJVG4X-BUuOq9tO.js} +1 -1
  58. package/dist/client/assets/{folder-open-ovJcpdOX.js → folder-open-DXNu4ED4.js} +1 -1
  59. package/dist/client/assets/{ganttDiagram-6RSMTGT7-SU7_CTa4.js → ganttDiagram-6RSMTGT7-Bc32G_Ef.js} +1 -1
  60. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DFvxZu8I.js → gitGraphDiagram-PVQCEYII-Cvfa0W6a.js} +1 -1
  61. package/dist/client/assets/{index-C_ZHzU4F.js → index-C5YdAqNQ.js} +14 -14
  62. package/dist/client/assets/index-DHk_s6rA.css +1 -0
  63. package/dist/client/assets/{infoDiagram-5YYISTIA-DgMEfdKk.js → infoDiagram-5YYISTIA-TqRUTfvy.js} +1 -1
  64. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CFjnOb7V.js → ishikawaDiagram-YF4QCWOH-D33iop1_.js} +1 -1
  65. package/dist/client/assets/{journeyDiagram-JHISSGLW-46dGsf_j.js → journeyDiagram-JHISSGLW-DH-TDR5Y.js} +1 -1
  66. package/dist/client/assets/{kanban-definition-UN3LZRKU-9-nz-BFT.js → kanban-definition-UN3LZRKU-CAcebzyW.js} +1 -1
  67. package/dist/client/assets/{mermaid.core-CYHDO5ss.js → mermaid.core-C3Nh1Sak.js} +4 -4
  68. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BYQE0Nqo.js → mindmap-definition-RKZ34NQL-CSIccWV8.js} +1 -1
  69. package/dist/client/assets/{pieDiagram-4H26LBE5-BNSMLSjW.js → pieDiagram-4H26LBE5-hXJ3G3MR.js} +1 -1
  70. package/dist/client/assets/{puzzle-D2SwAtRX.js → puzzle-DI3elldh.js} +1 -1
  71. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CNdSBA7P.js → quadrantDiagram-W4KKPZXB-B3wpvneC.js} +1 -1
  72. package/dist/client/assets/{requirementDiagram-4Y6WPE33-B6EJvc9H.js → requirementDiagram-4Y6WPE33-DPpYL2ca.js} +1 -1
  73. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-8DcYdUmL.js → sankeyDiagram-5OEKKPKP-BS9QXSEF.js} +1 -1
  74. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BjRXhtKa.js → sequenceDiagram-3UESZ5HK-C_fqU0MW.js} +1 -1
  75. package/dist/client/assets/{shield-alert-b4thCabv.js → shield-alert-CzZYSqmH.js} +1 -1
  76. package/dist/client/assets/{standing-instructions-template-B1X-jWip.js → standing-instructions-template-CsXA4WMZ.js} +1 -1
  77. package/dist/client/assets/{stateDiagram-AJRCARHV-Btrn_84P.js → stateDiagram-AJRCARHV-DbSZrprS.js} +1 -1
  78. package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-DiyZxQF1.js → stateDiagram-v2-BHNVJYJU-Cf_ckwmM.js} +1 -1
  79. package/dist/client/assets/{timeline-definition-PNZ67QCA-CjEYU1kO.js → timeline-definition-PNZ67QCA-B1ohvKjs.js} +1 -1
  80. package/dist/client/assets/{upload-DMts5fzZ.js → upload-D7nNe9wD.js} +1 -1
  81. package/dist/client/assets/{users-C9O98ACz.js → users-B79Dvre4.js} +1 -1
  82. package/dist/client/assets/{vennDiagram-CIIHVFJN-DtEb-r3I.js → vennDiagram-CIIHVFJN-CxZYCQ72.js} +1 -1
  83. package/dist/client/assets/{wardley-L42UT6IY-Ds-v1VZi.js → wardley-L42UT6IY-clJem8VU.js} +1 -1
  84. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-C15pYn-T.js → wardleyDiagram-YWT4CUSO-zE8lyaWe.js} +1 -1
  85. package/dist/client/assets/{xychartDiagram-2RQKCTM6-ChJ77iYU.js → xychartDiagram-2RQKCTM6-DsdjuSxQ.js} +1 -1
  86. package/dist/client/index.html +2 -2
  87. package/dist/client/version.json +1 -1
  88. package/dist/droid-cli/package.json +1 -1
  89. package/dist/extension.js +242 -125
  90. package/dist/migrations/0000_initial.sql +1 -0
  91. package/dist/migrations/0044_fn_8785_queued_episode_signature.sql +3 -0
  92. package/dist/pi-claude-cli/package.json +1 -1
  93. package/dist/plugin-sdk/index.d.ts +16 -0
  94. package/dist/plugin-sdk/index.js +6 -5
  95. package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +6 -5
  96. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  97. package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +6 -5
  98. package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
  99. package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +6 -5
  100. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  101. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +6 -5
  102. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  103. package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +6 -5
  104. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  105. package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +6 -5
  106. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  107. package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +6 -5
  108. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  109. package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +6 -5
  110. package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
  111. package/dist/plugins/fusion-plugin-hermes-runtime/.bundled.reload-3.js +19167 -0
  112. package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +6 -5
  113. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  114. package/dist/plugins/fusion-plugin-linear-import/bundled.js +6 -5
  115. package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
  116. package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +6 -5
  117. package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
  118. package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +6 -5
  119. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  120. package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +6 -5
  121. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  122. package/dist/plugins/fusion-plugin-quality/bundled.js +6 -5
  123. package/dist/plugins/fusion-plugin-quality/package.json +1 -1
  124. package/dist/plugins/fusion-plugin-reports/bundled.js +6 -5
  125. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  126. package/dist/plugins/fusion-plugin-roadmap/bundled.js +6 -5
  127. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  128. package/dist/plugins/fusion-plugin-todos/bundled.js +6 -5
  129. package/dist/plugins/fusion-plugin-todos/package.json +1 -1
  130. package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +6 -5
  131. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  132. package/package.json +1 -1
  133. package/dist/client/assets/channel-BRBjryTS.js +0 -1
  134. package/dist/client/assets/classDiagram-4FO5ZUOK-26ZYCgHv.js +0 -1
  135. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-26ZYCgHv.js +0 -1
  136. package/dist/client/assets/index-CJRmyxnw.css +0 -1
@@ -5799,6 +5799,7 @@ var tasks = projectSchema.table("tasks", {
5799
5799
  worktree: text("worktree"),
5800
5800
  blockedBy: text("blocked_by"),
5801
5801
  overlapBlockedBy: text("overlap_blocked_by"),
5802
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
5802
5803
  paused: integer("paused").default(0),
5803
5804
  userPaused: integer("user_paused").default(0),
5804
5805
  pausedReason: text("paused_reason"),
@@ -12384,7 +12385,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
12384
12385
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
12385
12386
 
12386
12387
  ## Duplicate check
12387
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
12389
 
12389
12390
  ## Required PROMPT.md shape
12390
12391
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -12652,9 +12653,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
12652
12653
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
12653
12654
 
12654
12655
  ## Duplicate check
12655
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12656
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
12657
- If a task already covers the same work (even if worded differently), do not write a spec.
12656
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12657
+ Do not search completed or archived work for duplicate candidates.
12658
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
12658
12659
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
12659
12660
  \`DUPLICATE: {existing-task-id}\`
12660
12661
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -12685,7 +12686,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
12685
12686
  ## Triage tools
12686
12687
  You have these extra tools during triage:
12687
12688
  - \`fn_task_list\` \u2014 list existing active tasks
12688
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
12689
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
12689
12690
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
12690
12691
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
12691
12692
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/hermes-runtime",
3
- "version": "0.2.83-beta.1",
3
+ "version": "0.2.83-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -5799,6 +5799,7 @@ var tasks = projectSchema.table("tasks", {
5799
5799
  worktree: text("worktree"),
5800
5800
  blockedBy: text("blocked_by"),
5801
5801
  overlapBlockedBy: text("overlap_blocked_by"),
5802
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
5802
5803
  paused: integer("paused").default(0),
5803
5804
  userPaused: integer("user_paused").default(0),
5804
5805
  pausedReason: text("paused_reason"),
@@ -12384,7 +12385,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
12384
12385
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
12385
12386
 
12386
12387
  ## Duplicate check
12387
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
12389
 
12389
12390
  ## Required PROMPT.md shape
12390
12391
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -12652,9 +12653,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
12652
12653
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
12653
12654
 
12654
12655
  ## Duplicate check
12655
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12656
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
12657
- If a task already covers the same work (even if worded differently), do not write a spec.
12656
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12657
+ Do not search completed or archived work for duplicate candidates.
12658
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
12658
12659
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
12659
12660
  \`DUPLICATE: {existing-task-id}\`
12660
12661
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -12685,7 +12686,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
12685
12686
  ## Triage tools
12686
12687
  You have these extra tools during triage:
12687
12688
  - \`fn_task_list\` \u2014 list existing active tasks
12688
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
12689
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
12689
12690
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
12690
12691
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
12691
12692
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/linear-import",
3
- "version": "0.1.15-beta.1",
3
+ "version": "0.1.15-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -5799,6 +5799,7 @@ var tasks = projectSchema.table("tasks", {
5799
5799
  worktree: text("worktree"),
5800
5800
  blockedBy: text("blocked_by"),
5801
5801
  overlapBlockedBy: text("overlap_blocked_by"),
5802
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
5802
5803
  paused: integer("paused").default(0),
5803
5804
  userPaused: integer("user_paused").default(0),
5804
5805
  pausedReason: text("paused_reason"),
@@ -12384,7 +12385,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
12384
12385
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
12385
12386
 
12386
12387
  ## Duplicate check
12387
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
12389
 
12389
12390
  ## Required PROMPT.md shape
12390
12391
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -12652,9 +12653,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
12652
12653
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
12653
12654
 
12654
12655
  ## Duplicate check
12655
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12656
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
12657
- If a task already covers the same work (even if worded differently), do not write a spec.
12656
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12657
+ Do not search completed or archived work for duplicate candidates.
12658
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
12658
12659
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
12659
12660
  \`DUPLICATE: {existing-task-id}\`
12660
12661
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -12685,7 +12686,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
12685
12686
  ## Triage tools
12686
12687
  You have these extra tools during triage:
12687
12688
  - \`fn_task_list\` \u2014 list existing active tasks
12688
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
12689
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
12689
12690
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
12690
12691
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
12691
12692
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/omp-runtime",
3
- "version": "0.1.8-beta.1",
3
+ "version": "0.1.8-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -5799,6 +5799,7 @@ var tasks = projectSchema.table("tasks", {
5799
5799
  worktree: text("worktree"),
5800
5800
  blockedBy: text("blocked_by"),
5801
5801
  overlapBlockedBy: text("overlap_blocked_by"),
5802
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
5802
5803
  paused: integer("paused").default(0),
5803
5804
  userPaused: integer("user_paused").default(0),
5804
5805
  pausedReason: text("paused_reason"),
@@ -12384,7 +12385,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
12384
12385
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
12385
12386
 
12386
12387
  ## Duplicate check
12387
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
12389
 
12389
12390
  ## Required PROMPT.md shape
12390
12391
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -12652,9 +12653,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
12652
12653
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
12653
12654
 
12654
12655
  ## Duplicate check
12655
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12656
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
12657
- If a task already covers the same work (even if worded differently), do not write a spec.
12656
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12657
+ Do not search completed or archived work for duplicate candidates.
12658
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
12658
12659
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
12659
12660
  \`DUPLICATE: {existing-task-id}\`
12660
12661
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -12685,7 +12686,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
12685
12686
  ## Triage tools
12686
12687
  You have these extra tools during triage:
12687
12688
  - \`fn_task_list\` \u2014 list existing active tasks
12688
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
12689
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
12689
12690
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
12690
12691
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
12691
12692
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/openclaw-runtime",
3
- "version": "0.2.83-beta.1",
3
+ "version": "0.2.83-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -5799,6 +5799,7 @@ var tasks = projectSchema.table("tasks", {
5799
5799
  worktree: text("worktree"),
5800
5800
  blockedBy: text("blocked_by"),
5801
5801
  overlapBlockedBy: text("overlap_blocked_by"),
5802
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
5802
5803
  paused: integer("paused").default(0),
5803
5804
  userPaused: integer("user_paused").default(0),
5804
5805
  pausedReason: text("paused_reason"),
@@ -12384,7 +12385,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
12384
12385
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
12385
12386
 
12386
12387
  ## Duplicate check
12387
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
12389
 
12389
12390
  ## Required PROMPT.md shape
12390
12391
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -12652,9 +12653,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
12652
12653
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
12653
12654
 
12654
12655
  ## Duplicate check
12655
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12656
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
12657
- If a task already covers the same work (even if worded differently), do not write a spec.
12656
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12657
+ Do not search completed or archived work for duplicate candidates.
12658
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
12658
12659
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
12659
12660
  \`DUPLICATE: {existing-task-id}\`
12660
12661
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -12685,7 +12686,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
12685
12686
  ## Triage tools
12686
12687
  You have these extra tools during triage:
12687
12688
  - \`fn_task_list\` \u2014 list existing active tasks
12688
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
12689
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
12689
12690
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
12690
12691
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
12691
12692
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/paperclip-runtime",
3
- "version": "0.2.83-beta.1",
3
+ "version": "0.2.83-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -5802,6 +5802,7 @@ var tasks = projectSchema.table("tasks", {
5802
5802
  worktree: text("worktree"),
5803
5803
  blockedBy: text("blocked_by"),
5804
5804
  overlapBlockedBy: text("overlap_blocked_by"),
5805
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
5805
5806
  paused: integer("paused").default(0),
5806
5807
  userPaused: integer("user_paused").default(0),
5807
5808
  pausedReason: text("paused_reason"),
@@ -12387,7 +12388,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
12387
12388
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
12388
12389
 
12389
12390
  ## Duplicate check
12390
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12391
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12391
12392
 
12392
12393
  ## Required PROMPT.md shape
12393
12394
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -12655,9 +12656,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
12655
12656
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
12656
12657
 
12657
12658
  ## Duplicate check
12658
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12659
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
12660
- If a task already covers the same work (even if worded differently), do not write a spec.
12659
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12660
+ Do not search completed or archived work for duplicate candidates.
12661
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
12661
12662
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
12662
12663
  \`DUPLICATE: {existing-task-id}\`
12663
12664
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -12688,7 +12689,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
12688
12689
  ## Triage tools
12689
12690
  You have these extra tools during triage:
12690
12691
  - \`fn_task_list\` \u2014 list existing active tasks
12691
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
12692
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
12692
12693
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
12693
12694
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
12694
12695
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/quality",
3
- "version": "0.1.8-beta.1",
3
+ "version": "0.1.8-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -5827,6 +5827,7 @@ var tasks = projectSchema.table("tasks", {
5827
5827
  worktree: text("worktree"),
5828
5828
  blockedBy: text("blocked_by"),
5829
5829
  overlapBlockedBy: text("overlap_blocked_by"),
5830
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
5830
5831
  paused: integer("paused").default(0),
5831
5832
  userPaused: integer("user_paused").default(0),
5832
5833
  pausedReason: text("paused_reason"),
@@ -12504,7 +12505,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
12504
12505
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
12505
12506
 
12506
12507
  ## Duplicate check
12507
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12508
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12508
12509
 
12509
12510
  ## Required PROMPT.md shape
12510
12511
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -12772,9 +12773,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
12772
12773
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
12773
12774
 
12774
12775
  ## Duplicate check
12775
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12776
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
12777
- If a task already covers the same work (even if worded differently), do not write a spec.
12776
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12777
+ Do not search completed or archived work for duplicate candidates.
12778
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
12778
12779
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
12779
12780
  \`DUPLICATE: {existing-task-id}\`
12780
12781
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -12805,7 +12806,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
12805
12806
  ## Triage tools
12806
12807
  You have these extra tools during triage:
12807
12808
  - \`fn_task_list\` \u2014 list existing active tasks
12808
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
12809
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
12809
12810
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
12810
12811
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
12811
12812
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/reports",
3
- "version": "0.1.52-beta.1",
3
+ "version": "0.1.52-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -5799,6 +5799,7 @@ var tasks = projectSchema.table("tasks", {
5799
5799
  worktree: text("worktree"),
5800
5800
  blockedBy: text("blocked_by"),
5801
5801
  overlapBlockedBy: text("overlap_blocked_by"),
5802
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
5802
5803
  paused: integer("paused").default(0),
5803
5804
  userPaused: integer("user_paused").default(0),
5804
5805
  pausedReason: text("paused_reason"),
@@ -12384,7 +12385,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
12384
12385
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
12385
12386
 
12386
12387
  ## Duplicate check
12387
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
12389
 
12389
12390
  ## Required PROMPT.md shape
12390
12391
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -12652,9 +12653,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
12652
12653
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
12653
12654
 
12654
12655
  ## Duplicate check
12655
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12656
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
12657
- If a task already covers the same work (even if worded differently), do not write a spec.
12656
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12657
+ Do not search completed or archived work for duplicate candidates.
12658
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
12658
12659
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
12659
12660
  \`DUPLICATE: {existing-task-id}\`
12660
12661
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -12685,7 +12686,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
12685
12686
  ## Triage tools
12686
12687
  You have these extra tools during triage:
12687
12688
  - \`fn_task_list\` \u2014 list existing active tasks
12688
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
12689
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
12689
12690
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
12690
12691
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
12691
12692
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/roadmap",
3
- "version": "0.1.52-beta.1",
3
+ "version": "0.1.52-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -5799,6 +5799,7 @@ var tasks = projectSchema.table("tasks", {
5799
5799
  worktree: text("worktree"),
5800
5800
  blockedBy: text("blocked_by"),
5801
5801
  overlapBlockedBy: text("overlap_blocked_by"),
5802
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
5802
5803
  paused: integer("paused").default(0),
5803
5804
  userPaused: integer("user_paused").default(0),
5804
5805
  pausedReason: text("paused_reason"),
@@ -12384,7 +12385,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
12384
12385
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
12385
12386
 
12386
12387
  ## Duplicate check
12387
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
12388
12389
 
12389
12390
  ## Required PROMPT.md shape
12390
12391
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -12652,9 +12653,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
12652
12653
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
12653
12654
 
12654
12655
  ## Duplicate check
12655
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12656
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
12657
- If a task already covers the same work (even if worded differently), do not write a spec.
12656
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
12657
+ Do not search completed or archived work for duplicate candidates.
12658
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
12658
12659
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
12659
12660
  \`DUPLICATE: {existing-task-id}\`
12660
12661
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -12685,7 +12686,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
12685
12686
  ## Triage tools
12686
12687
  You have these extra tools during triage:
12687
12688
  - \`fn_task_list\` \u2014 list existing active tasks
12688
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
12689
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
12689
12690
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
12690
12691
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
12691
12692
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/todos",
3
- "version": "0.1.1-beta.1",
3
+ "version": "0.1.1-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -163100,6 +163100,7 @@ var tasks = projectSchema.table("tasks", {
163100
163100
  worktree: text("worktree"),
163101
163101
  blockedBy: text("blocked_by"),
163102
163102
  overlapBlockedBy: text("overlap_blocked_by"),
163103
+ queuedLogEpisodeSignature: text("queued_log_episode_signature"),
163103
163104
  paused: integer("paused").default(0),
163104
163105
  userPaused: integer("user_paused").default(0),
163105
163106
  pausedReason: text("paused_reason"),
@@ -169685,7 +169686,7 @@ Write a lean, executable PROMPT.md quickly. Preserve safety gates, but skip heav
169685
169686
  - Preserve required safety sections for bugs, workflow routing, forensic tasks, and decision-only work.
169686
169687
 
169687
169688
  ## Duplicate check
169688
- Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` and inspect it before deciding. If an existing task covers the same work, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
169689
+ Before writing a spec, call \`fn_task_list\` for active work, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 targeted keyword phrases from the title/description, such as file paths, symptoms, and symbols. Do not search completed or archived work for duplicate candidates. When an active match is a duplicate, do not write a spec \u2014 but still write PROMPT.md, with its entire contents being the single line \`DUPLICATE: {existing-task-id}\` and nothing else. That file is how the duplicate is recorded; announcing it only in your reply leaves no plan behind and re-plans the task in a loop.
169689
169690
 
169690
169691
  ## Required PROMPT.md shape
169691
169692
  Write PROMPT.md with Original Description, Before \u2192 After Transformation, Mission, Dependencies, Context to Read First, File Scope, Steps, Documentation Requirements, Completion Criteria, Git Commit Convention, and Do NOT. Put \`## Original Description\` immediately after the title/\`Created\`/\`Size\` metadata with the operator's original task description copied **verbatim** (do not paraphrase). Put \`## Before \u2192 After Transformation\` next, before \`## Mission\`, with concise Before/After bullets: current state, target state, why it satisfies the user's request at a glance. In \`## Steps\`, every executable heading MUST use \`### Step N: <name>\` (e.g. \`### Step 1: Preflight\`). Do not write bare \`### Preflight\` / \`### Implementation\` headings, and do not add review-level, triage subtask, or proactive subtask headings.
@@ -169953,9 +169954,9 @@ Verified facts about this codebase's storage \u2014 cite these correctly so Plan
169953
169954
  - New Postgres migrations must be **registered explicitly** in \`packages/core/src/postgres/schema-applier.ts\` (version constant + bookkeeping check); a \`.sql\` file dropped in the migrations dir that is not wired there silently never runs.
169954
169955
 
169955
169956
  ## Duplicate check
169956
- Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
169957
- For any likely match in \`done\` or \`archived\`, call \`fn_task_show\` to inspect details before deciding.
169958
- If a task already covers the same work (even if worded differently), do not write a spec.
169957
+ Before writing a spec, first call \`fn_task_list\` to see active tasks, then call \`fn_task_search\` with \`includeDone: false\` and \`includeArchived: false\` for 2-4 distinct keyword phrases from the task title and description (for example file paths, error symptoms, and symbol names).
169958
+ Do not search completed or archived work for duplicate candidates.
169959
+ If an actionable task already covers the same work (even if worded differently), do not write a spec.
169959
169960
  Instead you MUST still write PROMPT.md, with its ENTIRE contents being this one line and nothing else:
169960
169961
  \`DUPLICATE: {existing-task-id}\`
169961
169962
  Writing that file IS how you report the duplicate. Reporting it only in your reply is not recorded:
@@ -169986,7 +169987,7 @@ Workflow policy can disable proactive oversized-task splitting for operators who
169986
169987
  ## Triage tools
169987
169988
  You have these extra tools during triage:
169988
169989
  - \`fn_task_list\` \u2014 list existing active tasks
169989
- - \`fn_task_search\` \u2014 keyword search across tasks, including done and archived tasks
169990
+ - \`fn_task_search\` \u2014 keyword search across active tasks by default; history is opt-in for non-duplicate research
169990
169991
  - \`fn_task_show\` \u2014 inspect a task and its PROMPT.md
169991
169992
  - \`fn_task_create\` \u2014 create a child/follow-up task while triaging
169992
169993
  - \`fn_task_document_write\` \u2014 save a planning document (e.g., key="plan")
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/whatsapp-chat",
3
- "version": "0.1.52-beta.1",
3
+ "version": "0.1.52-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runfusion/fusion",
3
- "version": "0.75.0-beta.1",
3
+ "version": "0.75.0-beta.2",
4
4
  "license": "MIT",
5
5
  "description": "Fusion CLI: HTTP API server, daemon, dashboard launcher, and task tooling for the Fusion AI coding agent.",
6
6
  "homepage": "https://github.com/Runfusion/Fusion#readme",
@@ -1 +0,0 @@
1
- import{U as a,C as n}from"./mermaid.core-CYHDO5ss.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as t,C as e}from"./chunk-727SXJPM-DBNBtu-e.js";import{_ as i}from"./mermaid.core-CYHDO5ss.js";import"./vendor-reactflow-BlIeoTu4.js";import"./chunk-FMBD7UC4-CUdRlAnf.js";import"./chunk-ND2GUHAM-B7J-met1.js";import"./chunk-55IACEB6-ntvLX3jz.js";import"./chunk-2J33WTMH-CH99GAl7.js";import"./index-C_ZHzU4F.js";import"./vendor-react-SZ_qB27O.js";import"./vendor-i18n-Duky4gdQ.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-xterm-BNq00GSj.js";import"./step-yuy0qJer.js";var k={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{k as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as t,C as e}from"./chunk-727SXJPM-DBNBtu-e.js";import{_ as i}from"./mermaid.core-CYHDO5ss.js";import"./vendor-reactflow-BlIeoTu4.js";import"./chunk-FMBD7UC4-CUdRlAnf.js";import"./chunk-ND2GUHAM-B7J-met1.js";import"./chunk-55IACEB6-ntvLX3jz.js";import"./chunk-2J33WTMH-CH99GAl7.js";import"./index-C_ZHzU4F.js";import"./vendor-react-SZ_qB27O.js";import"./vendor-i18n-Duky4gdQ.js";import"./vendor-codemirror-CcrtqoCy.js";import"./vendor-xterm-BNq00GSj.js";import"./step-yuy0qJer.js";var k={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{k as diagram};