@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.
- package/dist/bin.js +389 -134
- package/dist/child-process-worker.js +224 -123
- package/dist/client/.vite/manifest.json +249 -249
- package/dist/client/assets/{AgentDetailView-CsCVX96A.js → AgentDetailView-C4Xpag_i.js} +1 -1
- package/dist/client/assets/{AgentPermissionPolicyEditor-Dh5wDe8g.js → AgentPermissionPolicyEditor-D-Fp7-sy.js} +1 -1
- package/dist/client/assets/{AgentsView-Dd_oZbFn.js → AgentsView-BmFsoY1Q.js} +3 -3
- package/dist/client/assets/{ChatView-gC7_BCmZ.js → ChatView-5KsB3BVO.js} +1 -1
- package/dist/client/assets/{CommandCenter-Bk6RQ-hm.js → CommandCenter-CacGI8AV.js} +1 -1
- package/dist/client/assets/{DevServerView-Da8h5OC-.js → DevServerView-DufjauVn.js} +1 -1
- package/dist/client/assets/{DirectoryPicker-DX9H1EdH.js → DirectoryPicker-DvwqfQDS.js} +1 -1
- package/dist/client/assets/{DocumentsView-BZ0g_Am7.js → DocumentsView-BbYJFIQ1.js} +1 -1
- package/dist/client/assets/{EvalsView-DsI_X6eQ.js → EvalsView-NBC8kOc-.js} +1 -1
- package/dist/client/assets/{ExperimentalAgentOnboardingModal-BfE5f-XK.js → ExperimentalAgentOnboardingModal-C809yXXY.js} +1 -1
- package/dist/client/assets/{GoalsView-43sqRFfC.js → GoalsView-CpNO9eI0.js} +1 -1
- package/dist/client/assets/{InsightsView-Dvgn_hrA.js → InsightsView-Cahy5FcR.js} +1 -1
- package/dist/client/assets/{MemoryView-DWbHznu3.js → MemoryView-BNJAQjqn.js} +1 -1
- package/dist/client/assets/{PiExtensionsManager-BKfmIRDt.js → PiExtensionsManager-DCHTyOmJ.js} +1 -1
- package/dist/client/assets/{PluginManager-xhkrAjSK.js → PluginManager-CBt-CqUz.js} +1 -1
- package/dist/client/assets/{PullRequestView-CyEwGgRD.js → PullRequestView-Dsb9RwmX.js} +1 -1
- package/dist/client/assets/{ReportModal--NSmch5M.js → ReportModal-8FjZOcbC.js} +1 -1
- package/dist/client/assets/{ResearchView-CgqZlNMD.js → ResearchView-DlSG7dOd.js} +1 -1
- package/dist/client/assets/{SecretsView-am_ZT9z8.js → SecretsView-BSajNE-f.js} +1 -1
- package/dist/client/assets/{SessionTerminal-DSc_7NQ-.js → SessionTerminal-M2fIpHrL.js} +1 -1
- package/dist/client/assets/{SettingsModal-Bp6sytUe.js → SettingsModal-DLcvlp44.js} +3 -3
- package/dist/client/assets/{SettingsModal-D2jjC8m8.js → SettingsModal-z6gOf7dG.js} +1 -1
- package/dist/client/assets/{SettingsTextareaRow-DjJJD-Af.js → SettingsTextareaRow-DeC19053.js} +1 -1
- package/dist/client/assets/{SetupWizardModal-DLIeefbh.js → SetupWizardModal-BOjMePFh.js} +2 -2
- package/dist/client/assets/{SkillsView-C67Gdb5y.js → SkillsView-BSBEC-Xm.js} +1 -1
- package/dist/client/assets/{WorkflowNodeEditor-BxhdNPdn.js → WorkflowNodeEditor-DZ9-RBqo.js} +1 -1
- package/dist/client/assets/{agent-import-generation-Bk9fEowy.js → agent-import-generation-COItiXMT.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-s2YViNU1.js → architectureDiagram-3BPJPVTR-BwlCePoB.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-DMsf6VWl.js → blockDiagram-GPEHLZMM-KKrLi9v4.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-DXJExfmV.js → c4Diagram-AAUBKEIU-CkIDt_8M.js} +1 -1
- package/dist/client/assets/channel-CeYcnOtQ.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-CH99GAl7.js → chunk-2J33WTMH-D9sbdaqY.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-BTV9SXg5.js → chunk-4BX2VUAB-D3DtFoAY.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-ntvLX3jz.js → chunk-55IACEB6-gxblxRIN.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-DBNBtu-e.js → chunk-727SXJPM-D0AEDoHN.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-DvbtWh_x.js → chunk-AQP2D5EJ-BweoM7qY.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-CUdRlAnf.js → chunk-FMBD7UC4-sjblhrjI.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-B7J-met1.js → chunk-ND2GUHAM-CYuRENSs.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-D7CahWp7.js → chunk-QZHKN3VN-CFKJr4kG.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-CZwh2k1X.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CZwh2k1X.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-6E0Aaw7K.js → cose-bilkent-S5V4N54A-6Jb6SgHM.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-Wi236AfH.js → dagre-BM42HDAG-FQJ87Ol3.js} +1 -1
- package/dist/client/assets/{dashboard-view-CrHqKsfL.js → dashboard-view-B1Rq2-73.js} +1 -1
- package/dist/client/assets/{dashboard-view-NpkFaG9s.js → dashboard-view-DH1Zo0m4.js} +1 -1
- package/dist/client/assets/{dashboard-view-hLsXVJJN.js → dashboard-view-DVMZNVoc.js} +1 -1
- package/dist/client/assets/{dashboard-view-BZDf9tzC.js → dashboard-view-DgLbkn5n.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-B3TxtVcq.js → diagram-2AECGRRQ-CKYOu9to.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-45Y_FHjp.js → diagram-5GNKFQAL-DPwjFnde.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-D4w3m4cp.js → diagram-KO2AKTUF-DzZS9Nk3.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-Dv5F4ha2.js → diagram-LMA3HP47-DW9e5YSP.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-CvOQ1IYN.js → diagram-OG6HWLK6-C7V3Mj63.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-DYcp25dX.js → erDiagram-TEJ5UH35-DSQzBA0e.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-DnjuETCJ.js → flowDiagram-I6XJVG4X-BUuOq9tO.js} +1 -1
- package/dist/client/assets/{folder-open-ovJcpdOX.js → folder-open-DXNu4ED4.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-SU7_CTa4.js → ganttDiagram-6RSMTGT7-Bc32G_Ef.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-DFvxZu8I.js → gitGraphDiagram-PVQCEYII-Cvfa0W6a.js} +1 -1
- package/dist/client/assets/{index-C_ZHzU4F.js → index-C5YdAqNQ.js} +14 -14
- package/dist/client/assets/index-DHk_s6rA.css +1 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-DgMEfdKk.js → infoDiagram-5YYISTIA-TqRUTfvy.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CFjnOb7V.js → ishikawaDiagram-YF4QCWOH-D33iop1_.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-46dGsf_j.js → journeyDiagram-JHISSGLW-DH-TDR5Y.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-9-nz-BFT.js → kanban-definition-UN3LZRKU-CAcebzyW.js} +1 -1
- package/dist/client/assets/{mermaid.core-CYHDO5ss.js → mermaid.core-C3Nh1Sak.js} +4 -4
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-BYQE0Nqo.js → mindmap-definition-RKZ34NQL-CSIccWV8.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-BNSMLSjW.js → pieDiagram-4H26LBE5-hXJ3G3MR.js} +1 -1
- package/dist/client/assets/{puzzle-D2SwAtRX.js → puzzle-DI3elldh.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CNdSBA7P.js → quadrantDiagram-W4KKPZXB-B3wpvneC.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-B6EJvc9H.js → requirementDiagram-4Y6WPE33-DPpYL2ca.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-8DcYdUmL.js → sankeyDiagram-5OEKKPKP-BS9QXSEF.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BjRXhtKa.js → sequenceDiagram-3UESZ5HK-C_fqU0MW.js} +1 -1
- package/dist/client/assets/{shield-alert-b4thCabv.js → shield-alert-CzZYSqmH.js} +1 -1
- package/dist/client/assets/{standing-instructions-template-B1X-jWip.js → standing-instructions-template-CsXA4WMZ.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-Btrn_84P.js → stateDiagram-AJRCARHV-DbSZrprS.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-DiyZxQF1.js → stateDiagram-v2-BHNVJYJU-Cf_ckwmM.js} +1 -1
- package/dist/client/assets/{timeline-definition-PNZ67QCA-CjEYU1kO.js → timeline-definition-PNZ67QCA-B1ohvKjs.js} +1 -1
- package/dist/client/assets/{upload-DMts5fzZ.js → upload-D7nNe9wD.js} +1 -1
- package/dist/client/assets/{users-C9O98ACz.js → users-B79Dvre4.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-DtEb-r3I.js → vennDiagram-CIIHVFJN-CxZYCQ72.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-Ds-v1VZi.js → wardley-L42UT6IY-clJem8VU.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-C15pYn-T.js → wardleyDiagram-YWT4CUSO-zE8lyaWe.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-ChJ77iYU.js → xychartDiagram-2RQKCTM6-DsdjuSxQ.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/client/version.json +1 -1
- package/dist/droid-cli/package.json +1 -1
- package/dist/extension.js +242 -125
- package/dist/migrations/0000_initial.sql +1 -0
- package/dist/migrations/0044_fn_8785_queued_episode_signature.sql +3 -0
- package/dist/pi-claude-cli/package.json +1 -1
- package/dist/plugin-sdk/index.d.ts +16 -0
- package/dist/plugin-sdk/index.js +6 -5
- package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-claude-runtime/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-claude-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
- package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
- package/dist/plugins/fusion-plugin-cursor-runtime/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-dependency-graph/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
- package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-grok-runtime/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-grok-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/.bundled.reload-3.js +19167 -0
- package/dist/plugins/fusion-plugin-hermes-runtime/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-linear-import/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-linear-import/package.json +1 -1
- package/dist/plugins/fusion-plugin-omp-runtime/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-omp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-openclaw-runtime/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-paperclip-runtime/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-quality/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-quality/package.json +1 -1
- package/dist/plugins/fusion-plugin-reports/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-reports/package.json +1 -1
- package/dist/plugins/fusion-plugin-roadmap/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
- package/dist/plugins/fusion-plugin-todos/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-todos/package.json +1 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/bundled.js +6 -5
- package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
- package/package.json +1 -1
- package/dist/client/assets/channel-BRBjryTS.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-26ZYCgHv.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-26ZYCgHv.js +0 -1
- 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.
|
|
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
|
-
|
|
12657
|
-
If
|
|
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
|
|
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")
|
|
@@ -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.
|
|
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
|
-
|
|
12657
|
-
If
|
|
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
|
|
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")
|
|
@@ -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.
|
|
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
|
-
|
|
12657
|
-
If
|
|
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
|
|
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")
|
|
@@ -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.
|
|
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
|
-
|
|
12657
|
-
If
|
|
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
|
|
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")
|
|
@@ -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.
|
|
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
|
-
|
|
12657
|
-
If
|
|
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
|
|
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")
|
|
@@ -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.
|
|
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
|
-
|
|
12660
|
-
If
|
|
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
|
|
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")
|
|
@@ -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.
|
|
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
|
-
|
|
12777
|
-
If
|
|
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
|
|
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")
|
|
@@ -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.
|
|
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
|
-
|
|
12657
|
-
If
|
|
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
|
|
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")
|
|
@@ -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.
|
|
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
|
-
|
|
12657
|
-
If
|
|
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
|
|
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")
|
|
@@ -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.
|
|
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
|
-
|
|
169958
|
-
If
|
|
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
|
|
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")
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runfusion/fusion",
|
|
3
|
-
"version": "0.75.0-beta.
|
|
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};
|