Fixes chat hooks to flush queued messages when recovery completes, preventing stale messages from lingering in useChat and useQuickChat; includes tests for both hooks.
Fusion-Task-Id: FN-4381
- Unstage gitignored paths before squash merge commit creation using git check-ignore
- Re-run the guard on the verification-fix squash restore path to keep ignored artifacts out of final merges
- Add merger tests covering forced .fusion artifacts, spaced ignored paths, and ignored-only squash results
- Document the gitignored-path merge guard and add a published package changeset
Fusion-Task-Id: FN-4309
Stop the post-merge audit from parking tasks as `failed` when deterministic
merge verification already proved the merged tree. Adds `postMergeAuditMode`
project setting (`block` | `warn` | `off`, default `block`) and a
verified-tree short-circuit for rebase-strategy overlap-only findings.
- packages/engine/src/merger.ts: new `resolvePostMergeAuditAction` helper
+ audit call site gated on `postMergeAuditMode` and verification-cache
lookup. Rebase + overlap-only + verified-tree → pass through with a
short-circuit log entry instead of throwing SquashAuditError.
- packages/core/src/types.ts, settings-schema.ts, index.ts: new
`PostMergeAuditMode` type, `postMergeAuditMode` field on Settings,
default `block`, exports `normalizePostMergeAuditMode`.
- packages/engine/src/__tests__/post-merge-audit-action.test.ts: unit
tests for the decision helper.
- packages/dashboard/app/components/SettingsModal.tsx: settings UI row.
- .changeset: minor bump for @runfusion/fusion.
The FN-3936 silent-drop guard is preserved: duplicate-subject findings
still block in `block` mode and squash-strategy audits still block
(no equivalent deterministic guarantee).
Fusion-Task-Id: FN-4333
- Keep the inline GitHub tracking Enable button mounted during save
- Disable the button while showing the in-flight tracking status spinner
- Update dashboard tests to assert the stable mounted-button behavior
- Add a changeset for the published CLI package
Fusion-Task-Id: FN-4162
Fixes a live-log empty-state regression in the workflow results tab by adding test coverage for the stale agent-log case, with a changeset prepared to publish the patch.
Fusion-Task-Id: FN-4214
Fusion-Task-Lineage: da180434-6d1d-497e-8f5a-f29d07a874f2
Adds a tracking issue mechanism for GitHub-imported tasks, creating an internal Fusion task to track the import lifecycle. The TaskCard component gains visibility into tracking status, backed by new tests in both TaskCard and GitHub tracking modules.
Fusion-Task-Id: FN-4271
Closes a gap in the stale merging fanout recovery path by adding recovery logic in the self-healing module, backed by unit tests covering the new behavior.
Fusion-Task-Id: FN-4241
Refactored App.tsx to ensure FileBrowserProvider wraps all render branches, with a new test verifying the coverage. A design doc was added to document the approach, and vitest config received a minor adjustment.
Fusion-Task-Id: FN-4250
The rule flagged every committed reservation pointing at an existing task ID
as an anomaly, but that's the happy-path steady state — reservations
transition to `committed` immediately after the task row is inserted, so a
committed reservation is always expected to reference an existing task. On
any node with task history, the dashboard banner fired with hundreds of
"affected" IDs and the store emitted a spurious `[task-id-integrity] anomaly
detected` error log.
Removes the rule, its type/label/reader, and updates tests (core regression
guard now asserts committed reservations don't trigger anomalies; dashboard
server-test fixtures use a still-valid anomaly kind).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>