Commit Graph

1511 Commits

Author SHA1 Message Date
gsxdsm
959f7cd4eb chore(release): v0.32.0
Version bump via changesets.
2026-05-19 22:09:26 -07:00
gsxdsm
a164e84b46 fix(core): harden fusion.db pragmas against mid-write crashes
Switch synchronous from NORMAL to FULL and restore the default
wal_autocheckpoint of 1000 (was 100). The aggressive checkpoint
cadence + NORMAL fsync left a wide window for torn pages whenever
a writer crashed mid-checkpoint, which is exactly what happened
when node:sqlite SIGSEGV'd inside pager_write and corrupted the
production db.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 22:05:36 -07:00
Fusion (runfusion.ai)
61dd439e20 feat(FN-5252): update done-card files chip display logic
Adds a new files chip on done-state TaskCards showing insertion/deletion counts, backed by new types (`filesChanged`, `insertions`, `deletions`) in core; architecture docs updated to reflect the change. The component implementation is a net reduction of 20 lines, with corresponding test coverage add

Fusion-Task-Id: FN-5252
2026-05-19 21:33:08 -07:00
Fusion (runfusion.ai)
6b24b56b81 feat(FN-5242): add merge queue storage and lease API to task store
- docs(FN-5242): complete Step 7 — document merge queue storage
- docs(FN-5242): complete Step 5 — add changeset and exports
- fix(FN-5242): order merge queue audit assertions chronologically
- test(FN-5242): complete Step 4 — cover merge queue leasing
- feat(FN-5242): complete Step 2 — add merge queue lease API
- feat(FN-5242): complete Step 1 — add mergeQueue schema v89

Fusion-Task-Id: FN-5242
2026-05-19 21:14:49 -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
Fusion (runfusion.ai)
7fe6cd362a fix(FN-5188): complete Step 5 — restore green verification
Fusion-Task-Id: FN-5188
Fusion-Task-Lineage: 6d238ff1-2d69-44e7-8694-ec19e412f8ef
2026-05-19 17:27:21 -07:00
Fusion (runfusion.ai)
2c75ac6227 feat(FN-5188): complete Step 2 — persist bootstrappedAt
Fusion-Task-Id: FN-5188
Fusion-Task-Lineage: 6d238ff1-2d69-44e7-8694-ec19e412f8ef
2026-05-19 17:27:20 -07:00
Fusion (runfusion.ai)
1565b6dc52 feat(FN-5188): complete Step 1 — linked worktree refusal
Fusion-Task-Id: FN-5188
Fusion-Task-Lineage: 6d238ff1-2d69-44e7-8694-ec19e412f8ef
2026-05-19 17:27:20 -07:00
Fusion (runfusion.ai)
818db4a714 feat(FN-5189): complete Step 3 — migrate supervised spawns
Fusion-Task-Id: FN-5189
Fusion-Task-Lineage: 4caa3f0a-af81-4c60-88e8-de229ed72e08
2026-05-19 17:19:02 -07:00
Fusion (runfusion.ai)
87ea63c7c3 feat(FN-5189): complete Step 2 — implement process supervisor
Fusion-Task-Id: FN-5189
Fusion-Task-Lineage: 4caa3f0a-af81-4c60-88e8-de229ed72e08
2026-05-19 17:19:02 -07:00
gsxdsm
19e2ff0279 fix(core): suppress activity-log writes for polling-emitted events
When multiple TaskStore instances watch the same SQLite DB (dashboard +
engine runtime + per-project stores in one dashboard process), every
column move was recorded once per polling instance — inflating
task:moved rows 3x and amplifying failure noise (146k+ moves and 781
task:failed events in 24h against ~165 real done tasks).

Set suppressActivityLogForPollingEmit while checkForChanges fires
re-emit events, and skip the activity-log listeners when it's set. The
originating instance's in-process emit path remains the sole writer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 16:25:53 -07:00
Fusion (runfusion.ai)
95707dc98f fix(FN-5168): harden db temp-dir cleanup
Fusion-Task-Id: FN-5168
Fusion-Task-Lineage: 0c865d3e-0886-4e51-a7ff-cb4c713dcc54
2026-05-19 16:15:25 -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)
d8309d2920 feat(FN-5152): complete Step 2 — add near-duplicate activity event type
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:54 -07:00
Fusion (runfusion.ai)
7d01a666a9 feat(FN-5152): complete Step 1 — add near-duplicate core helper
Fusion-Task-Id: FN-5152
Fusion-Task-Lineage: 954570d8-82e1-4519-a739-c52ee790d2db
2026-05-19 11:30:54 -07:00
gsxdsm
abfbbcda1e feat(FN-5140): merge fusion/fn-5140 2026-05-19 10:29:42 -07:00
Fusion (runfusion.ai)
4955ccf6ea feat(FN-5132): align soft-delete-lineage-children test assertion with FN-51
Updates the `soft-delete-lineage-children` test to align assertions with the contract established by the previously landed FN-5127, ensuring idempotent re-delete behavior is verified correctly.

Fusion-Task-Id: FN-5132
2026-05-19 07:26:43 -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)
97f46dbad8 test(FN-5115): complete Step 7 — stabilize migrations and verification
Fusion-Task-Id: FN-5115
Fusion-Task-Lineage: 5c3d9d42-9dcd-4ebb-ba10-8a4b14d541dd
2026-05-19 06:51:26 -07:00
Fusion (runfusion.ai)
250f7ccab8 test(FN-5115): complete Step 5 — add done pause backfill migration test
Fusion-Task-Id: FN-5115
Fusion-Task-Lineage: 5c3d9d42-9dcd-4ebb-ba10-8a4b14d541dd
2026-05-19 06:51:26 -07:00
Fusion (runfusion.ai)
63aaadf953 test(FN-5115): complete Step 4 — add completion pause regression tests
Fusion-Task-Id: FN-5115
Fusion-Task-Lineage: 5c3d9d42-9dcd-4ebb-ba10-8a4b14d541dd
2026-05-19 06:51:26 -07:00
Fusion (runfusion.ai)
f36172f564 feat(FN-5115): complete Step 2 — add done pause backfills
Fusion-Task-Id: FN-5115
Fusion-Task-Lineage: 5c3d9d42-9dcd-4ebb-ba10-8a4b14d541dd
2026-05-19 06:51:25 -07:00
Fusion (runfusion.ai)
35b00d2869 feat(FN-5115): complete Step 1 — clear done pause fields
Fusion-Task-Id: FN-5115
Fusion-Task-Lineage: 5c3d9d42-9dcd-4ebb-ba10-8a4b14d541dd
2026-05-19 06:51:25 -07:00
Fusion (runfusion.ai)
e0c0745c00 test(FN-5129): add lineage soft-delete and archive regression coverage
Fusion-Task-Id: FN-5129
Fusion-Task-Lineage: 77519a37-0552-4e8b-8061-ce84012de978
2026-05-19 06:37:56 -07:00
Fusion (runfusion.ai)
bd8bd745d5 feat(FN-5129): complete Step 3 — gate archiveTask lineage references
Fusion-Task-Id: FN-5129
Fusion-Task-Lineage: 77519a37-0552-4e8b-8061-ce84012de978
2026-05-19 06:37:56 -07:00
Fusion (runfusion.ai)
5d9669ad35 feat(FN-5129): complete Step 2 — enforce lineage gate in deleteTask
Fusion-Task-Id: FN-5129
Fusion-Task-Lineage: 77519a37-0552-4e8b-8061-ce84012de978
2026-05-19 06:37:56 -07:00
Fusion (runfusion.ai)
911125f1c9 feat(FN-5129): complete Step 1 — add lineage child guard primitives
Fusion-Task-Id: FN-5129
Fusion-Task-Lineage: 77519a37-0552-4e8b-8061-ce84012de978
2026-05-19 06:37:56 -07:00
Fusion (runfusion.ai)
5ea5252549 test(FN-5127): align FN-5124 QA test with idempotent re-delete
Fusion-Task-Id: FN-5127
Fusion-Task-Lineage: aafbc6a7-fa26-4dad-ab16-96ea79f8cee2
2026-05-19 06:10:35 -07:00
Fusion (runfusion.ai)
9046182b51 test(FN-5127): regression for idempotent soft-delete
Fusion-Task-Id: FN-5127
Fusion-Task-Lineage: aafbc6a7-fa26-4dad-ab16-96ea79f8cee2
2026-05-19 06:10:35 -07:00
Fusion (runfusion.ai)
c3178b564b fix(FN-5127): complete Step 1 — make deleteTask idempotent on re-delete
Fusion-Task-Id: FN-5127
Fusion-Task-Lineage: aafbc6a7-fa26-4dad-ab16-96ea79f8cee2
2026-05-19 06:10:35 -07:00
Fusion (runfusion.ai)
15bb84f862 feat(FN-5124): add soft-delete QA boundary regression coverage
Adds a regression test for FN-5124 covering soft-delete QA boundary cases, targeting the engine reliability interaction suite. The single new test file exercises edge conditions in the soft-delete path to guard against future regressions.

Fusion-Task-Id: FN-5124

Fusion-Task-Lineage: 7166e252-9c98-4f51-956a-1402dae6f402
2026-05-19 05:52:09 -07:00
Fusion (runfusion.ai)
7380adc7b6 fix(FN-5105): complete Step 6 — stabilize verification gates
Fusion-Task-Id: FN-5105
Fusion-Task-Lineage: a876d5eb-d828-415e-b6f0-07bbc8713417
2026-05-19 05:16:37 -07:00
Fusion (runfusion.ai)
e4178718ef test(FN-5105): expand soft-delete behavioral coverage
Fusion-Task-Id: FN-5105
Fusion-Task-Lineage: a876d5eb-d828-415e-b6f0-07bbc8713417
2026-05-19 05:16:37 -07:00
Fusion (runfusion.ai)
7c9209bba1 test(FN-5105): complete Step 5 — align soft-delete regressions
Fusion-Task-Id: FN-5105
Fusion-Task-Lineage: a876d5eb-d828-415e-b6f0-07bbc8713417
2026-05-19 05:16:37 -07:00
Fusion (runfusion.ai)
44df53c2fb feat(FN-5105): implement soft-delete readers and FTS filtering
Fusion-Task-Id: FN-5105
Fusion-Task-Lineage: a876d5eb-d828-415e-b6f0-07bbc8713417
2026-05-19 05:16:37 -07:00
Fusion (runfusion.ai)
a12047b603 feat(FN-5105): complete Step 1 — add deletedAt schema plumbing
Fusion-Task-Id: FN-5105
Fusion-Task-Lineage: a876d5eb-d828-415e-b6f0-07bbc8713417
2026-05-19 05:16:36 -07:00
Fusion (runfusion.ai)
d683cbda33 feat(FN-5122): export dependency-blocked-todo-report symbols from core
Exports dependency-blocked-todo-report symbols from `@fusion/core`'s public surface so they can be imported directly from the package.

Fusion-Task-Id: FN-5122
2026-05-19 04:23:18 -07:00
Fusion (runfusion.ai)
dd78e42f75 fix(FN-5093): complete Step 7-8 — verification fixes and changeset
Fusion-Task-Id: FN-5093
Fusion-Task-Lineage: fe96617a-88f8-4a3c-b96c-c516d2206331
2026-05-19 03:54:49 -07:00
Fusion (runfusion.ai)
85bc219279 feat(FN-5093): complete Step 3 — hydrate inReviewStalled in TaskStore
Fusion-Task-Id: FN-5093
Fusion-Task-Lineage: fe96617a-88f8-4a3c-b96c-c516d2206331
2026-05-19 03:54:48 -07:00
Fusion (runfusion.ai)
274f86ffaa feat(FN-5093): complete Step 2 — wire types settings and exports
Fusion-Task-Id: FN-5093
Fusion-Task-Lineage: fe96617a-88f8-4a3c-b96c-c516d2206331
2026-05-19 03:54:48 -07:00
Fusion (runfusion.ai)
d251cbecd1 feat(FN-5093): complete Step 1 — core detector module
Fusion-Task-Id: FN-5093
Fusion-Task-Lineage: fe96617a-88f8-4a3c-b96c-c516d2206331
2026-05-19 03:54:48 -07:00
Fusion (runfusion.ai)
8e3e71744b feat(FN-5091): complete Step 2 — wire settings and exports
Fusion-Task-Id: FN-5091
Fusion-Task-Lineage: f59dc7dd-abc2-4d1d-a755-1fe446314131
2026-05-19 03:21:17 -07:00
Fusion (runfusion.ai)
e97efc9f3c feat(FN-5091): complete Step 1 — add core dependency blocked detector
Fusion-Task-Id: FN-5091
Fusion-Task-Lineage: f59dc7dd-abc2-4d1d-a755-1fe446314131
2026-05-19 03:21:16 -07:00
Fusion (runfusion.ai)
d192154b2b feat(FN-5034): complete Step 4 — hydrate stale paused todo in TaskStore
Fusion-Task-Id: FN-5034
Fusion-Task-Lineage: 1e315656-30d8-41d2-9802-0d9e155f0ba8
2026-05-19 03:10:25 -07:00
Fusion (runfusion.ai)
b35843c2ea feat(FN-5034): complete Step 3 — wire stale paused todo types settings exports
Fusion-Task-Id: FN-5034
Fusion-Task-Lineage: 1e315656-30d8-41d2-9802-0d9e155f0ba8
2026-05-19 03:10:25 -07:00
Fusion (runfusion.ai)
8e1ee3efa0 feat(FN-5034): complete Step 2 — add stale paused todo detector
Fusion-Task-Id: FN-5034
Fusion-Task-Lineage: 1e315656-30d8-41d2-9802-0d9e155f0ba8
2026-05-19 03:10:25 -07:00
Fusion (runfusion.ai)
e53cf7e0b1 fix(FN-5089): add trailer settings typing defaults
Fusion-Task-Id: FN-5089
Fusion-Task-Lineage: ad7ea32a-c024-45bb-b68e-b65665b9b7c6
2026-05-19 02:34:37 -07:00
Fusion (runfusion.ai)
ac9c83c106 test(FN-5089): add commit-msg hook coverage and wiring
Fusion-Task-Id: FN-5089
Fusion-Task-Lineage: ad7ea32a-c024-45bb-b68e-b65665b9b7c6
2026-05-19 02:34:35 -07:00
Fusion (runfusion.ai)
4420abe6af feat(FN-5103): complete Step 1 — add merge details attribution flags
Fusion-Task-Id: FN-5103
Fusion-Task-Lineage: e4e4d9ba-4884-4feb-b18b-a30e799c3fb1
2026-05-19 01:24:54 -07:00
Fusion (runfusion.ai)
76790c424f feat(FN-5053): fix verification gate registration for workspace test stabil
Fix FN-5053 restores workspace test stability for the verification gate by adjusting the duplicate guard and task workflow route registration, with updated coverage in the branch-conflicts and diff-volume-gate test suites.

Fusion-Task-Id: FN-5053

Fusion-Task-Lineage: cc8a561a-fd56-4275-b06c-0966c80c2868
2026-05-18 23:14:27 -07:00