Phil Larson
823623e1c6
fix(triage): address spec review fallback PR comments
2026-06-23 08:51:58 -07:00
Phil Larson
40bef6dfce
fix(triage): pass fallback model settings to spec review
2026-06-23 08:39:27 -07:00
gsxdsm
4929198b5a
FN-6629: Lower task-list text budget
...
Keep fn_task_list responses below host text imageification thresholds.\n\n- Lower the shared task-list text clamp to a 3,000 character host-safe budget.\n- Reuse the shared budget in CLI, dashboard, and engine fallback formatters.\n- Cover realistic column-filtered fn_task_list outputs and fallback budget behavior with regression tests.\n- Add a patch changeset for the published Fusion package.\n\nFiles changed:\n .changeset/fn-6629-task-list-budget.md | 5 ++\n packages/cli/src/__tests__/extension.test.ts | 88 ++++++++++++++++++++++\n packages/cli/src/extension.ts | 7 +-\n .../core/src/__tests__/task-list-format.test.ts | 25 ++++++\n packages/core/src/task-list-format.ts | 5 +-\n .../src/__tests__/planning-board-tools.test.ts | 4 +-\n packages/dashboard/src/planning-board-tools.ts | 8 +-\n packages/engine/src/__tests__/triage.test.ts | 4 +-\n packages/engine/src/triage.ts | 7 +-\n 9 files changed, 144 insertions(+), 9 deletions(-)
Fusion-Task-Id: FN-6629
Fusion-Task-Lineage: 6ec7cd33-d4e5-4c12-8512-c3823a9dfb3e
2026-06-18 03:24:57 -07:00
gsxdsm
593ebac85c
FN-6573: guard task-list formatter resolution
...
Make fn_task_list surfaces tolerate stale core runtimes without crashing.
- Resolve formatTaskListText from the runtime @fusion/core namespace with a typeof guard.
- Add bounded inline fallback formatting for CLI, dashboard planning-board, and engine triage task-list tools.
- Cover missing formatter exports with regression tests and add a published package changeset.
Files changed:
.changeset/fn-6573-task-list-format-resolve-fix.md | 5 +++
packages/cli/src/__tests__/extension.test.ts | 25 +++++++++------
packages/cli/src/extension.ts | 36 ++++++++++++++++++++--
.../src/__tests__/planning-board-tools.test.ts | 27 +++++++++++++++-
packages/dashboard/src/planning-board-tools.ts | 36 ++++++++++++++++++++--
packages/engine/src/__tests__/triage.test.ts | 25 +++++++++++++++
packages/engine/src/triage.ts | 36 ++++++++++++++++++++--
7 files changed, 174 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-6573
Fusion-Task-Lineage: 64577f09-5ca5-426e-a453-a91e6c2c3aee
2026-06-17 14:52:55 -07:00
gsxdsm
a84a8e1793
FN-6570: guard task list formatting fallback
...
Prevent fn_task_list surfaces from crashing when the runtime core namespace lacks the clamp export.
- Add a shared defensive task-list formatter with a bounded fallback clamp.
- Route CLI, dashboard planning-board, and engine triage fn_task_list output through the formatter.
- Cover missing, throwing, and non-string clamp behavior in core and CLI tests.
- Document the resilient task-list formatting behavior and add a patch changeset.
Files changed:
.changeset/fn-6570-task-list-resolve-fix.md | 5 ++
docs/cli-reference.md | 2 +-
packages/cli/src/__tests__/extension.test.ts | 57 +++++++++++++++++++++-
packages/cli/src/extension.ts | 8 ++-
.../core/src/__tests__/task-list-format.test.ts | 49 ++++++++++++++++++-
packages/core/src/index.ts | 2 +-
packages/core/src/task-list-format.ts | 35 +++++++++++++
packages/dashboard/src/planning-board-tools.ts | 8 ++-
packages/engine/src/triage.ts | 8 ++-
9 files changed, 164 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-6570
Fusion-Task-Lineage: 455f38a8-5e4f-4643-a3ce-088ef0c92b01
2026-06-17 06:14:10 -07:00
gsxdsm
0db81349bb
FN-6492: clamp task list text output
...
Bound fn_task_list responses now stay as plain text across board-tool surfaces.\n\n- Add a shared task-list text clamp with an explicit truncation marker.\n- Route CLI, dashboard planning-board, and engine triage task-list output through the shared formatter.\n- Cover bounded and column-filtered output with core and CLI regression tests.\n- Record the patch changeset and quarantine the observed engine CLI executor flake.\n\nFiles changed:\n .changeset/fn-6492-task-list-text-bound.md | 5 ++\n packages/cli/src/__tests__/extension.test.ts | 79 +++++++++++++++++++++-\n packages/cli/src/extension.ts | 7 +-\n .../core/src/__tests__/task-list-format.test.ts | 75 ++++++++++++++++++++\n packages/core/src/index.ts | 1 +\n packages/core/src/task-list-format.ts | 45 ++++++++++++\n packages/dashboard/src/planning-board-tools.ts | 8 ++-\n packages/engine/src/triage.ts | 7 +-\n packages/engine/vitest.config.ts | 5 ++\n scripts/lib/test-quarantine.json | 5 ++\n 10 files changed, 232 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-6492
Fusion-Task-Lineage: 8b347efb-bc17-4bbe-937c-4f07c63df318
2026-06-16 19:31:33 -07:00
gsxdsm
0093678ee6
FN-6481: require release triage authorization
...
Block release-class tasks from automatic triage dispatch unless they come from a user-authored source with explicit authorization.
- Add release intent classification and authorization-marker enforcement before final triage transitions.
- Record activity/log details when release tasks are parked awaiting manual approval.
- Surface the new release-authorization activity in dashboard activity views.
- Cover release gating behavior with engine tests and document the architecture pattern.
- Add a changeset for the published CLI package.
Files changed:
.changeset/fn-6481-release-triage-authorization.md | 5 +
.../release-triage-requires-user-authorization.md | 33 +++++
packages/core/src/types.ts | 2 +
packages/core/vitest.config.ts | 4 +
packages/dashboard/app/components/ActivityFeed.tsx | 5 +
.../dashboard/app/components/ActivityLogModal.tsx | 6 +
.../__tests__/triage-release-authorization.test.ts | 158 +++++++++++++++++++++
.../engine/src/triage-release-authorization.ts | 100 +++++++++++++
packages/engine/src/triage.ts | 51 +++++++
scripts/lib/test-quarantine.json | 8 +-
10 files changed, 371 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-6481
Fusion-Task-Lineage: 0bddb77a-87e5-4fa5-b31a-e773bdae7a29
2026-06-16 15:08:24 -07:00
gsxdsm
4f7b3ac78f
FN-6439: clear stale near-duplicate flags
...
Clear near-duplicate decisions when their canonical task is no longer active.
- Add a shared canonical activity helper for near-duplicate detection.
- Clear stale persisted near-duplicate metadata when canonical tasks are done, archived, or deleted.
- Prevent triage and dashboard surfaces from presenting duplicate decisions for inactive canonicals.
- Cover stale-flag cleanup and hidden dashboard affordances with regression tests.
Files changed:
docs/task-management.md | 4 +-
.../near-duplicate-stale-flag-clear.test.ts | 105 +++++++++++++++++++++
packages/core/src/__tests__/near-duplicate.test.ts | 19 +++-
packages/core/src/index.ts | 2 +
packages/core/src/near-duplicate-canonical.ts | 25 +++++
packages/core/src/near-duplicate.ts | 3 +
packages/core/src/store.ts | 102 +++++++++++++++++++-
packages/dashboard/app/App.tsx | 7 +-
packages/dashboard/app/components/Column.tsx | 10 ++
packages/dashboard/app/components/TaskCard.tsx | 12 ++-
.../dashboard/app/components/TaskDetailModal.tsx | 12 ++-
packages/dashboard/app/components/WorktreeGroup.tsx | 30 +++++-
.../app/components/__tests__/TaskCard.test.tsx | 28 ++++++
.../__tests__/TaskDetailModal.rendering.test.tsx | 26 +++++
.../near-duplicate-intake.test.ts | 24 +++++
packages/engine/src/triage.ts | 10 ++
16 files changed, 411 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-6439
Fusion-Task-Lineage: e57b80e8-36aa-4b96-ad13-53b5a431477d
2026-06-14 15:29:35 -07:00
gsxdsm
e305b1aa4c
FN-6361: respect paused tasks during triage planning
...
Keep triage planning from advancing or continuing work after a task is paused.
- Abort active triage sessions and reviewer subagents when task updates mark the task paused.
- Skip approved-spec recovery and final approved-spec transitions while a task remains paused.
- Add regression coverage for paused planning, pause-driven aborts, and published package changeset metadata.
Files changed:
.changeset/pause-triage-planning.md | 5 +
.../src/__tests__/triage-pause-abort.test.ts | 237 +++++++++++++++++++++
packages/engine/src/triage.ts | 57 +++++
3 files changed, 299 insertions(+)
Fusion-Task-Id: FN-6361
Fusion-Task-Lineage: 33d849d5-1461-49ae-9fe0-be98b534ac35
2026-06-13 08:38:59 -07:00
gsxdsm
039d3ce440
FN-6236: move fast triage into workflow settings
...
Move fast triage prompting into the workflow/settings prompt model.
- Add a core-owned fast triage prompt and expose the workflow prompt mode type.
- Add a fast-mode builtin workflow variant and route triage prompt selection through workflow settings.
- Remove the engine-local fast triage prompt constant and update triage tests for workflow-driven fast mode.
- Document the fast triage prompt mode setting and add a patch changeset.
Files changed:
.changeset/FN-6236-fast-mode-workflow-variant.md | 7 +
docs/settings-reference.md | 2 +
packages/core/src/__tests__/agent-prompts.test.ts | 16 +-
.../builtin-workflow-settings-triage.test.ts | 5 +
packages/core/src/agent-prompts.ts | 221 +++++++++++++++++++
packages/core/src/builtin-workflow-prompts.ts | 12 +-
packages/core/src/builtin-workflow-settings.ts | 18 +-
packages/core/src/index.ts | 5 +
packages/core/src/types.ts | 4 +
.../triage-duplicate-search-regression.test.ts | 18 +-
.../triage-fast-mode-workflow-variant.test.ts | 219 +++++++++++++++++++
.../triage-planning-prompt-single-source.test.ts | 8 +-
packages/engine/src/__tests__/triage.test.ts | 64 +++---
packages/engine/src/triage.ts | 235 ++-------------------
14 files changed, 565 insertions(+), 269 deletions(-)
Fusion-Task-Id: FN-6236
Fusion-Task-Lineage: 369954d8-41e7-4d88-aa6d-e6bbca077d50
2026-06-12 14:39:51 -07:00
gsxdsm
f7f2cae9d0
FN-6237: apply frontend UX criteria as workflow policy
...
Move frontend UX criteria out of triage self-instructions and into deterministic workflow policy.
- Add a shared frontend UX policy helper that matches frontend file scopes and injects the byte-equivalent checklist idempotently.
- Apply the policy during triage finalization and persist the updated PROMPT.md when applicable.
- Replace the legacy prompt-based injection instructions with a pointer to the deterministic policy.
- Cover path matching, insertion behavior, and checklist parity with focused core tests.
- Add a minor changeset for the published Fusion package.
Files changed:
.changeset/fn-6237-frontend-ux-policy.md | 5 +
.../core/src/__tests__/frontend-ux-policy.test.ts | 119 +++++++++++++++++
packages/core/src/agent-prompts.ts | 29 +---
packages/core/src/frontend-ux-policy.ts | 148 +++++++++++++++++++++
packages/core/src/index.ts | 1 +
packages/engine/src/triage.ts | 19 ++-
6 files changed, 291 insertions(+), 30 deletions(-)
Fusion-Task-Id: FN-6237
Fusion-Task-Lineage: 7ac95064-9ec6-4760-8609-20c35075aca1
2026-06-12 09:24:02 -07:00
gsxdsm
e22afece56
FN-6233: add typed triage policy settings
...
Render triage planning thresholds from typed workflow settings instead of hard-coded prompt constants.
- Add typed triage threshold/default workflow settings, migration coverage, exports, and docs.
- Render built-in triage prompt placeholders before engine prompt execution and tests.
- Remove the duplicate standard triage prompt from engine in favor of the core workflow IR source.
- Add regression coverage for default and customized triage policy rendering.
Files changed:
.changeset/FN-6233-triage-threshold-settings.md | 7 +
docs/settings-reference.md | 19 ++
docs/workflow-steps.md | 2 +-
packages/core/src/__tests__/agent-prompts.test.ts | 16 +-
.../builtin-workflow-settings-triage.test.ts | 63 ++++
.../src/__tests__/settings-consistency.test.ts | 24 +-
.../core/src/__tests__/settings-migration.test.ts | 12 +-
.../src/__tests__/workflow-ir-settings.test.ts | 11 +-
packages/core/src/agent-prompts.ts | 20 +-
packages/core/src/builtin-workflow-settings.ts | 154 ++++++++-
packages/core/src/index.ts | 7 +-
packages/core/src/moved-settings.ts | 13 +-
.../triage-planning-prompt-single-source.test.ts | 9 +-
.../__tests__/triage-threshold-settings.test.ts | 84 +++++
packages/engine/src/__tests__/triage.test.ts | 17 +-
packages/engine/src/triage.ts | 343 +--------------------
packages/engine/vitest.config.ts | 5 +-
17 files changed, 423 insertions(+), 383 deletions(-)
Fusion-Task-Id: FN-6233
Fusion-Task-Lineage: b2a986df-fa37-4297-a359-84d8463b0867
2026-06-11 20:53:01 -07:00
gsxdsm
3cb0f9f371
FN-6231: enlarge tablet modal and expose triage prompt
...
Increase tablet task detail modal height while keeping triage prompt contracts testable.\n\n- Set tablet task detail modal height to 92vh with a dynamic viewport max-height guard.\n- Add CSS regression coverage for desktop, tablet, mobile, and embedded modal height invariants.\n- Export the standard triage prompt and include it in invariant wording tests.\n\nFiles changed:\n .../dashboard/app/components/TaskDetailModal.css | 2 +\n .../__tests__/core-modals-mobile.test.tsx | 74 ++++-\n packages/engine/src/__tests__/triage.test.ts | 5 +-\n packages/engine/src/triage.ts | 333 +++++++++++++++++++++\n 4 files changed, 406 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-6231
Fusion-Task-Lineage: 58e990dd-2dbb-4c6e-869d-661b02699cef
2026-06-11 17:15:24 -07:00
gsxdsm
1a716f2f95
FN-6232: centralize triage planning prompt resolution
...
Route standard triage prompt construction through workflow IR while keeping custom and fast-mode overrides intact.
- Export the workflow planning prompt resolver and use it as the standard triage prompt source.
- Move duplicated triage policy text into the shared core prompt definition.
- Add regression coverage for workflow-sourced planning prompts, duplicate search guidance, and prompt override behavior.
- Add a patch changeset for the published CLI bundle.
Files changed:
.changeset/FN-6232-triage-prompt-single-source.md | 5 +
packages/core/src/__tests__/agent-prompts.test.ts | 58 ++--
packages/core/src/agent-prompts.ts | 111 +++++--
packages/core/src/index.ts | 2 +
packages/core/src/workflow-ir-resolver.ts | 28 ++
.../triage-duplicate-search-regression.test.ts | 19 +-
.../triage-planning-prompt-single-source.test.ts | 179 +++++++++++
packages/engine/src/__tests__/triage.test.ts | 91 +++---
packages/engine/src/triage.ts | 352 +--------------------
9 files changed, 413 insertions(+), 432 deletions(-)
Fusion-Task-Id: FN-6232
Fusion-Task-Lineage: c70c33ed-c61b-49d2-bcea-d860899c1512
2026-06-11 09:21:23 -07:00
gsxdsm
4ea9d66b4f
FN-6219: prefer fresh agent model settings for automatic runs
...
Automatic agent runs now resolve lane-specific task and settings models before falling back to durable runtime defaults.
- Prefer fresh execution, planning, heartbeat, merger, and validator model resolution over stale assigned-agent runtime config when complete settings are available.
- Centralize validator session model resolution and align mission validation with the shared helper.
- Add regression coverage for automatic run model precedence and test-mode handling.
- Add a patch changeset for the published CLI package.
Files changed:
.changeset/fuzzy-agents-run.md | 5 +
.../core/src/__tests__/model-resolution.test.ts | 40 +++++
.../agent-session-helpers-test-mode.test.ts | 35 ++--
.../src/__tests__/agent-session-helpers.test.ts | 199 ++++++++++++++++++---
.../src/__tests__/heartbeat-executor.test.ts | 10 +-
.../src/__tests__/mission-execution-loop.test.ts | 6 +-
packages/engine/src/__tests__/triage.test.ts | 4 +-
packages/engine/src/agent-session-helpers.ts | 111 +++++++-----
packages/engine/src/mission-execution-loop.ts | 33 +---
packages/engine/src/triage.ts | 6 +-
10 files changed, 326 insertions(+), 123 deletions(-)
Fusion-Task-Id: FN-6219
Fusion-Task-Lineage: c3ef6d91-234f-4ed1-97c7-9be8408cd86c
2026-06-11 09:21:23 -07:00
gsxdsm
1f366c8de1
FN-6229: enforce symptom verification in triage and review
...
Require bug-class specs and reviews to prove original symptoms are reproduced and fixed.
- Add Symptom Verification guidance to triage prompt templates and self-review rules.
- Teach reviewer prompts to REVISE missing symptom verification or green-build-only acceptance.
- Document symptom-based acceptance alongside Surface Enumeration and cover the prompt contracts with tests.
Files changed:
AGENTS.md | 1 +
docs/testing.md | 12 +++++++++++
packages/engine/src/__tests__/reviewer.test.ts | 29 +++++++++++++++++++++++++-
packages/engine/src/__tests__/triage.test.ts | 23 +++++++++++++++++---
packages/engine/src/reviewer.ts | 2 ++
packages/engine/src/triage.ts | 20 ++++++++++++++++++
6 files changed, 83 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-6229
Fusion-Task-Lineage: 01ad963f-c62b-410f-8571-57bc68307288
2026-06-11 09:21:23 -07:00
gsxdsm
1b7e52ea99
FN-6168: expose workflow routing in triage
...
Add workflow discovery, selection, and investigation-task routing guidance to triage.
- document workflow routing guidance in standard and fast triage prompts
- add workflow list/select tools to triage sessions for task specification
- pass workflow_id and noCommitsExpected through fn_task_create for child tasks
- cover prompt/tool availability and child-task routing in triage tests
- add a changeset and workflow docs for triage workflow selection behavior
Files changed:
.changeset/fn-6168-triage-workflow-routing.md | 5 ++
docs/workflow-steps.md | 2 +
packages/engine/src/__tests__/triage.test.ts | 93 +++++++++++++++++++++++++++
packages/engine/src/triage.ts | 27 ++++++++
4 files changed, 127 insertions(+)
Fusion-Task-Id: FN-6168
Fusion-Task-Lineage: acfcebd5-bb9c-42ba-90a0-e9bcb90216b3
2026-06-09 22:34:34 -07:00
gsxdsm
b5d19bd480
FN-6134: extend surface-enumeration gates to UI affordance changes
...
Apply the surface-enumeration review gate to UI affordance add/remove work across triage, review, tests, and docs.
- require triage prompts to add Surface Enumeration guidance for UI affordance add/remove tasks in standard and fast modes
- tighten reviewer guidance to block single-surface UI affordance coverage and leftover shell cleanup gaps
- expand engine prompt tests to cover the new UI affordance gate wording
- document the shared checklist and motivating incidents in AGENTS.md and docs/testing.md
Files changed:
AGENTS.md | 3 +++
docs/testing.md | 6 +++++-
packages/engine/src/__tests__/reviewer.test.ts | 26 ++++++++++++++++++++++++--
packages/engine/src/__tests__/triage.test.ts | 19 ++++++++++++++++++-
packages/engine/src/reviewer.ts | 5 +++--
packages/engine/src/triage.ts | 24 ++++++++++++++----------
6 files changed, 67 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-6134
Fusion-Task-Lineage: 0bc733eb-d160-48cc-817d-69138290faec
2026-06-09 15:12:26 -07:00
gsxdsm
f0fa75b270
fix(FN-6043): address stuck task PR feedback
...
- align triage prompt templates on impacted-first verification
- guard verification max lifetime when timeout is disabled
- share idle semaphore leak recovery across scheduler and triage
Fusion-Task-Id: FN-6043
2026-06-08 20:29:37 -07:00
gsxdsm
aa8bd3dc92
fix(FN-6043): recover stuck task processing
...
Fusion-Task-Id: FN-6043
2026-06-08 18:14:48 -07:00
gsxdsm
fab8a62b55
FN-5977: expose goal retrieval tools across engine agents
...
Make goal lookup tools available and citable throughout engine-driven agent sessions.
- add shared engine goal list/show tools with concise list snippets, full detail lookup, and retrieval audit coverage
- expose fn_goal_list and fn_goal_show in executor, heartbeat, and triage tool surfaces and classify them as readonly coordination-exempt tools
- extend CLI and engine regression coverage, refresh tool reference docs, and add a published changeset for the CLI package
Files changed:
.changeset/FN-5977-goal-retrieval-engine-tools.md | 7 +
packages/cli/skill/fusion/references/engine-tools.md | 2 +
packages/cli/src/__tests__/extension-goal-tools-audit.test.ts | 8 +-
packages/cli/src/__tests__/extension-goal-tools.test.ts | 118 +++++++++++-
packages/cli/src/__tests__/goal-store-resolution.test.ts | 2 +-
packages/cli/src/extension.ts | 38 +++-
packages/engine/src/__tests__/agent-tools-goal.test.ts | 213 +++++++++++++++++++++
packages/engine/src/__tests__/gating-classifications.test.ts | 4 +
packages/engine/src/__tests__/heartbeat-executor.test.ts | 22 ++-
packages/engine/src/__tests__/heartbeat-session-prompt.test.ts | 8 +-
packages/engine/src/agent-heartbeat.ts | 4 +-
packages/engine/src/agent-tools.ts | 180 ++++++++++++++++-
packages/engine/src/executor.ts | 8 +
packages/engine/src/gating-classifications.ts | 2 +
packages/engine/src/triage.ts | 26 ++-
15 files changed, 600 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-5977
Fusion-Task-Lineage: 46f7e777-da4d-4e9c-b014-329a5cb1e3da
2026-06-07 18:51:46 -07:00
gsxdsm
e8e54bf343
feat(engine): per-task effective workflow settings — resolver, two-tier entry merge, fallback alignment
2026-06-04 22:37:51 -07:00
gsxdsm
60e9938f5a
feat(core,engine): U7 — builtin stepwise coding workflow + trajectory parity & invariant suite; agent-tool surfaces for custom fields and IR authoring
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-04 13:15:49 -07:00
gsxdsm
ee00d9f1b7
FN-5928: enforce surface enumeration for bug-fix invariants
...
Require bug-fix specs and reviews to enumerate affected surfaces and reject repro-only regression coverage.
- add a required `## Surface Enumeration` section to triage prompt templates and bug-fix planning guidance
- tighten reviewer guidance to block missing surface enumeration and repro-only regression tests
- document the canonical surface checklist in `docs/testing.md` and cover the new wording with prompt/reviewer tests
Files changed:
AGENTS.md | 6 ++--
docs/testing.md | 9 +++++
packages/core/src/__tests__/agent-prompts.test.ts | 22 ++++++++++++
packages/core/src/agent-prompts.ts | 16 +++++++++
packages/engine/src/__tests__/reviewer.test.ts | 17 ++++++++++
packages/engine/src/__tests__/triage.test.ts | 41 ++++++++++++++++++++---
packages/engine/src/reviewer.ts | 3 ++
packages/engine/src/triage.ts | 24 +++++++++++++
8 files changed, 131 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-5928
Fusion-Task-Lineage: 717ddcbe-f3a6-4589-ad90-4e640f7a9ff2
2026-06-02 21:57:21 -07:00
gsxdsm
65ddb4d4f5
FN-5893: require invariant-level bug regression coverage
...
Add invariant-first regression guidance to triage prompts and testing docs.
- add an AGENTS standing rule to cover bug-fix invariants across all known surfaces
- update standard, fast, and core triage prompt templates to require invariant-level regression tests
- add triage regression tests that lock the new wording into standard, fast, and core prompts
- link docs/testing guidance back to the new invariant-over-repro rule
Files changed:
AGENTS.md | 7 ++++++
docs/testing.md | 1 +
packages/core/src/agent-prompts.ts | 3 ++-
packages/engine/src/__tests__/triage.test.ts | 32 ++++++++++++++++++++++++++++
packages/engine/src/triage.ts | 6 ++++--
5 files changed, 46 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-5893
Fusion-Task-Lineage: 31c082c6-2a0a-4619-a13b-94dad97eef62
2026-06-02 14:02:36 -07:00
gsxdsm
d98ff8780c
FN-5759: inject active-goal context across engine lanes
...
Enable always-on active-goal prompt injection and diagnostic wiring across triage/executor flows.
- Refactor goal-context injection so agent heartbeat, executor, and triage all apply the active-goal seam consistently.
- Extend goal injection diagnostics implementation and exports, plus anchoring audit touchpoints.
- Add and update tests for goal context injection behavior and diagnostics wiring.
- Update architecture and diagnostics docs to describe the new always-on seam.
Files changed:
docs/architecture.md | 2 +-
docs/diagnostics.md | 2 +-
.../src/__tests__/goal-context-injection.test.ts | 19 ++++-
.../goal-injection-diagnostics-wiring.test.ts | 98 +++++++++++++++++++++-
packages/engine/src/agent-heartbeat.ts | 31 ++-----
packages/engine/src/executor.ts | 32 ++-----
packages/engine/src/goal-anchoring-audit.ts | 2 +-
packages/engine/src/goal-injection-diagnostics.ts | 42 +++++++++-
packages/engine/src/index.ts | 2 +
packages/engine/src/triage.ts | 28 +++++--
10 files changed, 191 insertions(+), 67 deletions(-)
Fusion-Task-Id: FN-5759
Fusion-Task-Lineage: 1419de34-2e86-4459-bcd4-426f15c067fe
2026-05-30 21:54:06 -07:00
gsxdsm
24e0c44b4a
FN-5731: require confirmation before archiving near-duplicate tasks
...
Stop silent near-duplicate auto-archive by routing duplicates through explicit user confirmation in API, engine, and dashboard flows.
- add new near-duplicate confirmation metadata/types and preserve duplicate task rows until confirmation
- update workflow routes and triage logic to return confirmation-required outcomes instead of immediate archive
- add TaskCard and TaskDetailModal UI/actions plus styling and hook updates for confirming or rejecting duplicate handling
- expand dashboard and engine tests and task-management docs to cover the new confirmation path
Files changed:
docs/task-management.md | 14 ++++-
packages/core/src/types.ts | 4 ++
packages/dashboard/app/api/legacy.ts | 1 +
packages/dashboard/app/components/TaskCard.css | 59 ++++++++++++++++++
packages/dashboard/app/components/TaskCard.tsx | 46 +++++++++++++-
packages/dashboard/app/components/TaskDetailModal.css | 34 +++++++++++
packages/dashboard/app/components/TaskDetailModal.tsx | 71 +++++++++++++++++++++-
packages/dashboard/app/components/__tests__/TaskCard.test.tsx | 71 ++++++++++++++++++++++
packages/dashboard/app/components/__tests__/TaskDetailModal.rendering.test.tsx | 68 +++++++++++++++++++++
packages/dashboard/app/hooks/useTasks.ts | 2 +-
packages/dashboard/src/__tests__/routes-tasks-near-duplicate.test.ts | 45 ++++++++++++++
packages/dashboard/src/routes/register-task-workflow-routes.ts | 9 ++-
packages/engine/src/__tests__/reliability-interactions/near-duplicate-intake.test.ts | 16 +++--
packages/engine/src/triage.ts | 19 +++---
14 files changed, 433 insertions(+), 26 deletions(-)
Fusion-Task-Id: FN-5731
Fusion-Task-Lineage: fa004129-7bce-4457-b8c3-ceb9fb953319
2026-05-30 15:52:46 -07:00
gsxdsm
cec191eac3
FN-5638: migrate pi-ai and pi-coding-agent packages to @earendil-works scope
...
Fusion-Task-Id: FN-5638
Fusion-Task-Lineage: 6e99c156-5f6c-42e6-bd26-618e08ffd05f
2026-05-28 21:23:48 -07:00
gsxdsm
7a20b95502
feat(FN-5544): emit runtime-resolved audit event across engine lanes
...
Adds a "session runtime resolved" audit event that flows through the engine's main execution lanes — triage, executor, reviewer, merger, heartbeat, step-session-executor, and mission-execution-loop — with runtime mutation support and test coverage, plus a compile-fix for the merger auditor wiring.
Fusion-Task-Id: FN-5544
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
Fusion-Task-Id: FN-5544
2026-05-23 12:14:07 -07:00
gsxdsm
ba6b41f533
chore(engine): remove triage broad-scope heuristics
...
Removes the BROAD_SCOPE_FLAG_VERSION/decideBroadScopeFlag pipeline,
the triage.ts call site that wrote `broadScopeFlag` source metadata
and emitted task:broad-scope-flagged-at-triage audit events, the
DatabaseMutationType enum entry, the diagnostic doc section, and the
associated unit + reliability-interaction tests.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-23 03:08:41 -07:00
gsxdsm
76bd3a7d90
feat(FN-5205): add workflow-step test mode dispatch and routing for mock pr
...
Implements workflow step test mode (FN-5205) by wiring mock dispatch, context forwarding, and routing through executor, merger, and mock provider, plus adding corresponding tests and docs. Also adds broad-scope triage heuristics to improve task-scope detection, touching triage.ts, triage-broad-scope
Fusion-Task-Id: FN-5205
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
Fusion-Task-Id: FN-5205
2026-05-23 02:25:00 -07:00
Fusion (runfusion.ai)
b8147dd3b1
feat(FN-5405): remove broad-scope triage heuristics and UI advisory chips/b
...
Removes the broad-scope detection feature end-to-end: the TaskCard chip and TaskDetailModal advisory banner are gone from the dashboard, the triage heuristic that flagged tasks as broad-scope has been deleted from the engine along with its associated run-audit events, and documentation references ha
Fusion-Task-Id: FN-5405
2026-05-21 15:07:15 -07:00
Fusion (runfusion.ai)
b06cf64cd4
feat(FN-5321): add evidence gap detector for external integration manifests
...
Implements external integration validation (FN-5321) with a manifest validator scaffold, worktrunk manifest wiring, and an evidence gap detector that runs during spec validation and triage; the reviewer also gates on external integration readiness. Includes tests for manifest, evidence gap, and tria
Fusion-Task-Id: FN-5321
2026-05-20 15:54:44 -07:00
Fusion (runfusion.ai)
8f2d5e7e61
feat(FN-5220): guard explicit duplicate markers in triage and self-healing
...
Adds an explicit duplicate-marker guard (FN-5220) spanning core helper, dashboard API endpoint, triage short-circuit, and self-healing sweep to detect and handle duplicate task creation attempts; includes comprehensive test coverage across unit, API, and integration layers plus documentation.
Fusion-Task-Id: FN-5220
2026-05-20 14:28:45 -07:00
gsxdsm
e33f84fb0a
feat(FN-5253): merge fusion/fn-5253
2026-05-20 06:32:21 -07:00
Fusion (runfusion.ai)
37d4115bb6
feat(FN-5231): detect and flag broad-scope tasks at triage to prompt scope
...
- docs(FN-5231): complete Step 6 — AGENTS.md + delivery summary + dashboard follow-up
- test(FN-5231): complete Step 5 — verification gates green
- test(FN-5231): complete Step 4 — reliability interaction regression for broad-scope flag
- feat(FN-5231): complete Step 3 — wire broad-scope flag into finalizeApprovedTask
- feat(FN-5231): complete Step 2 — register broad-scope audit event type
- feat(FN-5231): complete Step 1 — broad-scope heuristic helper
Fusion-Task-Id: FN-5231
2026-05-20 05:28:36 -07:00
Fusion (runfusion.ai)
c9fd41ef26
feat(FN-5175): thread soft-delete audit context and add reconciliation scri
...
Adds a reconcile script to recover leaked soft-deleted tasks, threads delete audit context through all callers, and records soft-delete audit events with archive column tracking across core/engine/cli/dashboard, with reliability backstop tests covering caller alignment.
Fusion-Task-Id: FN-5175
2026-05-20 02:46:49 -07:00
Fusion (runfusion.ai)
ab0a253004
feat(FN-5264): abort in-flight executor/merge/triage work on soft-delete (F
...
Implements in-flight abort for soft-deleted tasks across all three execution lanes: executor, merger, and triage now check for `deletedAt` before proceeding and emit `task:soft-delete-in-flight-abort` audits rather than continuing work on a deleted task. The 829-line addition is dominated by integra
Fusion-Task-Id: FN-5264
Fusion-Task-Lineage: 4ee8e63b-abf0-43e2-9130-39a05434d8f9
2026-05-20 01:16:06 -07:00
gsxdsm
87da1cb757
test(dashboard): align github-tracking-documentation phrases with current docs
...
The doc was rewritten to cover "every task-creation path" (with an
explicit enumeration of surfaces) instead of the older "task creation
flows (including ...)" wording, and uses "best-effort and non-blocking"
instead of "Creation is best-effort and non-blocking". Update the
documentation contract test to match the current phrasing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
Fusion-Task-Id: FN-5208
2026-05-19 19:23:47 -07:00
gsxdsm
b7e57f84a9
chore: minor cleanups — docs index, test-project fixture, empty catches, triage timestamp guard
...
- Add diagnostics.md and FN-4886/FN-5048 entries to docs/README.md index
- Fix test-project.test.ts spy target (updateSettings → init) to match fixture flow
- Remove unused DEFAULT_PROJECT_SETTINGS import and skip empty settings patch
- Add explanatory comments to empty catch blocks in secrets-env-writer
- Refine near-duplicate timestamp guard in triage for cleaner NaN handling
2026-05-19 14:22:11 -07:00
Fusion (runfusion.ai)
41d18b3f6d
fix(FN-5150): unblock workspace gates with near-duplicate timestamp guard
...
Fusion-Task-Id: FN-5150
Fusion-Task-Lineage: 09bf24f1-5d23-4049-bd5e-7afbea0a59ae
2026-05-19 12:13:46 -07:00
Fusion (runfusion.ai)
4d9068d927
test(FN-5152): cover same-millisecond near-duplicate finalize race
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:55 -07:00
Fusion (runfusion.ai)
80ffed7a47
fix(FN-5152): clarify newer-task near-duplicate archive rule
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:55 -07:00
Fusion (runfusion.ai)
2c6662f13b
fix(FN-5152): complete Step 7 — clear verification lint issue
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:55 -07:00
Fusion (runfusion.ai)
d9a66571d0
feat(FN-5152): complete Step 5 — add triage near-duplicate backstop
...
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:55 -07:00
Fusion (runfusion.ai)
2c7ae1c1a4
feat(FN-5131): add lineage-unlink flag to triage parent deletes
...
Adds a `lineage-unlink` flag to triage parent deletes (FN-5131), enabling the split-into-subtasks path to break parent-child lineage on deletion. The primary addition is a comprehensive new test covering that split scenario, with minor adjustments to two existing lineage-related test files.
Fusion-Task-Id: FN-5131
Fusion-Task-Lineage: cb720e8f-8c49-42e4-873a-9949f3ba3427
2026-05-19 07:20:28 -07:00
Fusion (runfusion.ai)
574d661134
feat(FN-5112): complete Step 2 — gate fn_review_spec on dangling-ref detector
...
Fusion-Task-Id: FN-5112
Fusion-Task-Lineage: 692fba2a-5856-4256-8144-d87bda56e1aa
2026-05-19 01:02:38 -07:00
Fusion (runfusion.ai)
a54496f45d
feat(FN-5060): complete Step 5 — wire engine and mission dedup guard
2026-05-18 19:44:33 -07:00
Fusion (runfusion.ai)
67d6a292c1
feat(FN-4899): complete Step 3 — capture duplicate lineage in triage finalize
...
Fusion-Task-Id: FN-4899
Fusion-Task-Lineage: 2ae24667-6635-4268-a620-d6012266d8f2
2026-05-18 08:02:21 -07:00
Fusion (runfusion.ai)
19e4aeb87b
feat(FN-4892): complete Step 6 — wire ghost-bug preflight at triage finalize
...
Fusion-Task-Id: FN-4892
Fusion-Task-Lineage: 6f56b468-a827-416d-ba1f-444e1326d613
2026-05-18 00:53:23 -07:00