Commit Graph

6559 Commits

Author SHA1 Message Date
Fusion (runfusion.ai)
97d92dabd3 feat(FN-4905): complete Step 5 — add release changeset
Fusion-Task-Id: FN-4905
Fusion-Task-Lineage: 677b6f08-90d7-4785-a0b8-195acc42f79e
2026-05-17 09:51:50 -07:00
Fusion (runfusion.ai)
2a9ef2ba36 fix(FN-4905): unblock workspace verification type errors
Fusion-Task-Id: FN-4905
Fusion-Task-Lineage: 677b6f08-90d7-4785-a0b8-195acc42f79e
2026-05-17 09:51:49 -07:00
Fusion (runfusion.ai)
c61ebb85d7 test(FN-4905): complete Step 3 — cover lifecycle stale-settings refresh
Fusion-Task-Id: FN-4905
Fusion-Task-Lineage: 677b6f08-90d7-4785-a0b8-195acc42f79e
2026-05-17 09:51:49 -07:00
Fusion (runfusion.ai)
8bcc381041 feat(FN-4905): complete Step 2 — add lifecycle refresh fallback
Fusion-Task-Id: FN-4905
Fusion-Task-Lineage: 677b6f08-90d7-4785-a0b8-195acc42f79e
2026-05-17 09:51:49 -07:00
Fusion (runfusion.ai)
10455b7992 feat(FN-4898): reconcile task title-id drift in storage migrations
Adds a title-id drift detection and reconciliation system to prevent duplicate tasks when task titles change after initial creation. Core adds the `task-title-id-drift.ts` module with `markTitleIdStable` and `resolveTitleIdDrift` logic, wired through `db.ts`, `store.ts`, and `archive-db.ts`, with co

Fusion-Task-Id: FN-4898
2026-05-17 09:51:10 -07:00
Fusion (runfusion.ai)
3d0cce72f2 feat(FN-4885): complete Step 7 — finalize docs and changeset
Fusion-Task-Id: FN-4885
Fusion-Task-Lineage: 31110eed-5ca3-4d67-8f11-581185056dc6
2026-05-17 09:31:07 -07:00
Fusion (runfusion.ai)
5793c4bcd7 feat(FN-4885): complete Step 6 — add deadlock disposition dashboard copy
Fusion-Task-Id: FN-4885
Fusion-Task-Lineage: 31110eed-5ca3-4d67-8f11-581185056dc6
2026-05-17 09:31:07 -07:00
Fusion (runfusion.ai)
ddfc927abd test(FN-4885): complete Step 5 — add deadlock disposition reliability interaction
Fusion-Task-Id: FN-4885
Fusion-Task-Lineage: 31110eed-5ca3-4d67-8f11-581185056dc6
2026-05-17 09:31:07 -07:00
Fusion (runfusion.ai)
4e9bfd6062 test(FN-4885): complete Step 4 — expand self-healing stall disposition coverage
Fusion-Task-Id: FN-4885
Fusion-Task-Lineage: 31110eed-5ca3-4d67-8f11-581185056dc6
2026-05-17 09:31:06 -07:00
Fusion (runfusion.ai)
7555f3d12f feat(FN-4885): complete Step 2 — add in-review stall deadlock disposition path
Fusion-Task-Id: FN-4885
Fusion-Task-Lineage: 31110eed-5ca3-4d67-8f11-581185056dc6
2026-05-17 09:31:06 -07:00
Fusion (runfusion.ai)
e3cfd0b05e feat(FN-4885): complete Step 1 — core deadlock threshold primitives
Fusion-Task-Id: FN-4885
Fusion-Task-Lineage: 31110eed-5ca3-4d67-8f11-581185056dc6
2026-05-17 09:31:06 -07:00
gsxdsm
67aff5de80 fix(dashboard): auto-invalidate index.html and view-chunk caches on mtime change
The dashboard server cached index.html and the Vite view-chunk manifest
forever with no invalidation. When the on-disk files changed (release
upgrade, rebuild) the server kept serving stale HTML referencing chunk
hashes that no longer existed, leaving the browser stuck on a blank
white page until the server was restarted.

Both caches now key on file mtime and refresh automatically. The
serveIndexHtml catch path also logs the failure and clears the
templated cache so the next request can recover instead of silently
404ing until restart.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 09:24:28 -07:00
Fusion (runfusion.ai)
c502820f68 fix(FN-4893): cast fn_secret_get context fields via local alias
Fusion-Task-Id: FN-4893
Fusion-Task-Lineage: 14912482-9b55-47ae-831e-03e149714d72
2026-05-17 09:20:08 -07:00
Fusion (runfusion.ai)
813001bc8b feat(FN-4893): add secrets_access approval action category
Fusion-Task-Id: FN-4893
Fusion-Task-Lineage: 14912482-9b55-47ae-831e-03e149714d72
2026-05-17 09:20:08 -07:00
Fusion (runfusion.ai)
0360dd193d fix(FN-4893): type resolvedScope scopes as SecretScope
Fusion-Task-Id: FN-4893
Fusion-Task-Lineage: 14912482-9b55-47ae-831e-03e149714d72
2026-05-17 09:20:08 -07:00
Fusion (runfusion.ai)
72834ebcb1 chore(FN-4900): add changeset and repair verification build break
Fusion-Task-Id: FN-4900
Fusion-Task-Lineage: ec7d26d7-4d38-4afd-b029-4b68d5f2db6f
2026-05-17 09:07:28 -07:00
Fusion (runfusion.ai)
96b19af10a test(FN-4900): align pi fallback test with standalone dispatch
Fusion-Task-Id: FN-4900
Fusion-Task-Lineage: ec7d26d7-4d38-4afd-b029-4b68d5f2db6f
2026-05-17 09:07:28 -07:00
Fusion (runfusion.ai)
6e2f4274ff fix(FN-4900): stop standalone promptWithFallback redispatch loop
Fusion-Task-Id: FN-4900
Fusion-Task-Lineage: ec7d26d7-4d38-4afd-b029-4b68d5f2db6f
2026-05-17 09:07:28 -07:00
Fusion (runfusion.ai)
890494d00b test(FN-4900): add failing recursion regression
Fusion-Task-Id: FN-4900
Fusion-Task-Lineage: ec7d26d7-4d38-4afd-b029-4b68d5f2db6f
2026-05-17 09:07:28 -07:00
Fusion (runfusion.ai)
0338b371f6 feat(FN-4760): complete Step 7 — document PR checks endpoint
Fusion-Task-Id: FN-4760
Fusion-Task-Lineage: 71db4a53-ee59-49f0-a1f7-232954b86660
2026-05-17 08:49:51 -07:00
Fusion (runfusion.ai)
038d2dea2b fix(FN-4760): repair self-healing type errors blocking workspace tests
Fusion-Task-Id: FN-4760
Fusion-Task-Lineage: 71db4a53-ee59-49f0-a1f7-232954b86660
2026-05-17 08:49:51 -07:00
Fusion (runfusion.ai)
9be005cd46 feat(FN-4760): complete Step 5 — wire live checks into PR panel
Fusion-Task-Id: FN-4760
Fusion-Task-Lineage: 71db4a53-ee59-49f0-a1f7-232954b86660
2026-05-17 08:49:51 -07:00
Fusion (runfusion.ai)
a58c5df697 feat(FN-4760): complete Step 4 — add PR checks list UI
Fusion-Task-Id: FN-4760
Fusion-Task-Lineage: 71db4a53-ee59-49f0-a1f7-232954b86660
2026-05-17 08:49:51 -07:00
Fusion (runfusion.ai)
76c5142f4f feat(FN-4760): complete Step 3 — add PR checks polling hook
Fusion-Task-Id: FN-4760
Fusion-Task-Lineage: 71db4a53-ee59-49f0-a1f7-232954b86660
2026-05-17 08:49:51 -07:00
Fusion (runfusion.ai)
49daa3046d feat(FN-4760): complete Step 2 — add PR checks endpoint and client
Fusion-Task-Id: FN-4760
Fusion-Task-Lineage: 71db4a53-ee59-49f0-a1f7-232954b86660
2026-05-17 08:49:51 -07:00
Fusion (runfusion.ai)
ef43957d72 feat(FN-4760): complete Step 1 — add PR check details and all-checks API
Fusion-Task-Id: FN-4760
Fusion-Task-Lineage: 71db4a53-ee59-49f0-a1f7-232954b86660
2026-05-17 08:49:50 -07:00
Fusion (runfusion.ai)
66ac44fa88 fix(FN-4847): keep engine contract test build-safe
Fusion-Task-Id: FN-4847
Fusion-Task-Lineage: af551b65-a484-496a-8bab-b46193e06104
2026-05-17 08:47:16 -07:00
Fusion (runfusion.ai)
49bc9dd0eb docs(FN-4847): update sync-status denial reason docs and changeset
Fusion-Task-Id: FN-4847
Fusion-Task-Lineage: af551b65-a484-496a-8bab-b46193e06104
2026-05-17 08:47:16 -07:00
Fusion (runfusion.ai)
a49b8553fb test(FN-4847): complete Step 4 — add denial-reason contract backstop
Fusion-Task-Id: FN-4847
Fusion-Task-Lineage: af551b65-a484-496a-8bab-b46193e06104
2026-05-17 08:47:16 -07:00
Fusion (runfusion.ai)
ab31aaceb4 feat(FN-4847): add actionable denial reason to sync-status
Fusion-Task-Id: FN-4847
Fusion-Task-Lineage: af551b65-a484-496a-8bab-b46193e06104
2026-05-17 08:47:16 -07:00
Fusion (runfusion.ai)
af8999f6c6 test(FN-4847): complete Step 2 — add edge-case auth/ownership tests
Fusion-Task-Id: FN-4847
Fusion-Task-Lineage: af551b65-a484-496a-8bab-b46193e06104
2026-05-17 08:47:16 -07:00
gsxdsm
0d0d818b77 feat(FN-4891): merge fusion/fn-4891 2026-05-17 08:24:49 -07:00
Fusion (runfusion.ai)
da6598a4c0 fix(FN-4759): complete Step 5-6 — pass gates and add changeset
Fusion-Task-Id: FN-4759
Fusion-Task-Lineage: af79d2a6-fd7b-40e0-b3c9-6c74569d9aa0
2026-05-17 08:22:26 -07:00
Fusion (runfusion.ai)
d0573d8fe6 feat(FN-4759): complete Step 2-4 — render draft/check rollup badge
Fusion-Task-Id: FN-4759
Fusion-Task-Lineage: af79d2a6-fd7b-40e0-b3c9-6c74569d9aa0
2026-05-17 08:22:26 -07:00
Fusion (runfusion.ai)
73b219dae9 feat(FN-4759): complete Step 1 — extend PrInfo draft/check rollup types
Fusion-Task-Id: FN-4759
Fusion-Task-Lineage: af79d2a6-fd7b-40e0-b3c9-6c74569d9aa0
2026-05-17 08:22:26 -07:00
Fusion (runfusion.ai)
96a19309ae fix(FN-4884): finalize docs and keep workspace gates green
Fusion-Task-Id: FN-4884
Fusion-Task-Lineage: b906ade4-a9f1-4f2e-b684-4ebf49c3e7e6
2026-05-17 07:26:21 -07:00
Fusion (runfusion.ai)
030a27b40d feat(FN-4884): complete Step 2-3 fast-path and coverage
Fusion-Task-Id: FN-4884
Fusion-Task-Lineage: b906ade4-a9f1-4f2e-b684-4ebf49c3e7e6
2026-05-17 07:26:21 -07:00
gsxdsm
83ed893382 feat(FN-4879): merge fusion/fn-4879 2026-05-17 06:23:00 -07:00
Fusion (runfusion.ai)
7b48387a74 feat(FN-4758): document CLI PR create entry points
- Add a dedicated `fn pr create <task-id>` help section in the CLI usage output
- Recast `fn task pr-create` in help text as an alias of the new PR command
- Add a changeset describing the dashboard Create-PR entry points and CLI command rollout

Fusion-Task-Id: FN-4758
2026-05-17 04:38:21 -07:00
Fusion (runfusion.ai)
7bd7ad4eac fix(FN-4873): align PrPanel check-state typing with API payloads
Fusion-Task-Id: FN-4873
Fusion-Task-Lineage: 8aec8200-a12e-4b89-9b62-e61d19696723
2026-05-17 04:26:14 -07:00
Fusion (runfusion.ai)
a747479cc6 test(FN-4873): complete Step 5 — add PR checks and core export coverage
Fusion-Task-Id: FN-4873
Fusion-Task-Lineage: 8aec8200-a12e-4b89-9b62-e61d19696723
2026-05-17 04:26:14 -07:00
Fusion (runfusion.ai)
92cf1d1354 feat(FN-4873): complete Step 2 — re-export PR check types
Fusion-Task-Id: FN-4873
Fusion-Task-Lineage: 8aec8200-a12e-4b89-9b62-e61d19696723
2026-05-17 04:26:14 -07:00
Fusion (runfusion.ai)
c84d9b8b05 fix(FN-4871): restore workspace typecheck compatibility
Fusion-Task-Id: FN-4871
Fusion-Task-Lineage: afa2af88-9c7d-4809-bf8f-2aa6cf79ce40
2026-05-17 04:20:00 -07:00
Fusion (runfusion.ai)
a08e94477b feat(FN-4871): complete Step 4 — add security changeset
Fusion-Task-Id: FN-4871
Fusion-Task-Lineage: afa2af88-9c7d-4809-bf8f-2aa6cf79ce40
2026-05-17 04:20:00 -07:00
Fusion (runfusion.ai)
ae76e6285e test(FN-4871): unskip and expand inbound auth regression matrix
Fusion-Task-Id: FN-4871
Fusion-Task-Lineage: afa2af88-9c7d-4809-bf8f-2aa6cf79ce40
2026-05-17 04:19:59 -07:00
Fusion (runfusion.ai)
1ea7a93aa4 fix(FN-4871): reject empty bearer/apiKey on inbound sync
Fusion-Task-Id: FN-4871
Fusion-Task-Lineage: afa2af88-9c7d-4809-bf8f-2aa6cf79ce40
2026-05-17 04:19:59 -07:00
Fusion (runfusion.ai)
6aee8923db feat(FN-4869): add regression tests for inbound sync empty apiKey handling
Adds regression test coverage for the inbound node-sync empty apiKey validation path in `routes-nodes-sync.test.ts`.

Fusion-Task-Id: FN-4869
2026-05-17 04:00:02 -07:00
Fusion (runfusion.ai)
9339473732 feat(FN-4870): add missing-URL denial regression test for node settings syn
Adds regression test coverage for missing-URL denial scenarios in the node settings sync contract, ensuring the API correctly rejects requests without a target URL.

Fusion-Task-Id: FN-4870
2026-05-17 03:50:40 -07:00
Fusion (runfusion.ai)
fe2ebfb13b docs(FN-4859): complete Step 9 — add changeset
Fusion-Task-Id: FN-4859
Fusion-Task-Lineage: 9254ee9f-5600-4895-8ac4-41c9d89fce4d
2026-05-17 03:34:56 -07:00
Fusion (runfusion.ai)
cec86d23ab test(FN-4859): expand cache hydration coverage across views
Fusion-Task-Id: FN-4859
Fusion-Task-Lineage: 9254ee9f-5600-4895-8ac4-41c9d89fce4d
2026-05-17 03:34:56 -07:00