Commit Graph

9716 Commits

Author SHA1 Message Date
gsxdsm
736ec6d175 FN-6957: prevent stale mailbox deep links from reselecting messages
Treat mailbox deep links as one-shot navigation so mobile users can switch messages without stale URL state restoring the prior selection.

- consume the current mailbox deep link before explicit user navigation, compose, delete, reply, and approval actions
- prevent repeated deep-link highlighting and clear stale selections when switching agent mailboxes or subtabs
- add regression coverage for modal and full mailbox views, plus a published CLI patch changeset

Files changed:
 .changeset/fn-6957-mailbox-stale-deeplink.md       |   5 +
 packages/dashboard/app/components/MailboxModal.tsx |  56 ++++++---
 packages/dashboard/app/components/MailboxView.tsx  |  60 +++++++---
 .../app/components/__tests__/MailboxModal.test.tsx |  76 ++++++++++++
 .../app/components/__tests__/MailboxView.test.tsx  | 130 +++++++++++++++++++++
 5 files changed, 293 insertions(+), 34 deletions(-)

Fusion-Task-Id: FN-6957

Fusion-Task-Lineage: 2a85c8d1-2163-434a-987f-2e842b847651
2026-06-23 12:17:04 -07:00
gsxdsm
d6a94d0062 Merge pull request #1735 from Runfusion/feature/memory-fix
[codex] Reduce dashboard SSE churn and TUI heap growth
2026-06-23 12:16:43 -07:00
gsxdsm
4704e58ed8 fix(cli): drain TUI performance entries 2026-06-23 12:10:40 -07:00
gsxdsm
61d2a1a609 fix(engine): bound one-shot CLI output capture 2026-06-23 11:48:38 -07:00
gsxdsm
a553459b76 FN-6926: target task worktrees in dev server
Adds an executing-task picker so dev server previews can run against in-progress task worktrees.

- Pass live task data into the Dev Server view from the main app and overflow dock.
- List in-progress tasks with worktrees, show the selected task descriptor, and prefer its worktree when starting the server.
- Fall back to the legacy start endpoint when an explicit cwd override is needed.
- Cover the picker, descriptor, cwd selection, restart guidance, and empty-state behavior with dashboard tests.
- Document task-targeted dev server previews in the dashboard guide.

Files changed:
 docs/dashboard-guide.md                            |   1 +
 packages/dashboard/app/App.tsx                     |   2 +-
 .../dashboard/app/components/DevServerView.css     |  61 +++++++++
 .../dashboard/app/components/DevServerView.tsx     |  85 +++++++++++-
 .../components/__tests__/DevServerView.test.tsx    | 146 +++++++++++++++++++++
 .../app/components/overflowViewRegistry.tsx        |   2 +-
 packages/dashboard/app/hooks/useDevServer.ts       |  13 +-
 7 files changed, 303 insertions(+), 7 deletions(-)

Fusion-Task-Id: FN-6926

Fusion-Task-Lineage: beb05a39-c9f1-4017-afcd-a8d361ef232c
2026-06-23 11:26:51 -07:00
gsxdsm
f6e9deb13f FN-6958: stop auto-focusing Planning Mode composer
Planning Mode now opens without forcing focus into the initial text area.\n\n- Remove the open-time autofocus effect while preserving explicit textarea focus behavior.\n- Cover mobile, embedded desktop, and initialPlan handoff behavior with regression tests.\n- Add a patch changeset for the published CLI package.\n\nFiles changed:\n .changeset/FN-6958-planning-focus.md               |  5 ++\n .../dashboard/app/components/PlanningModeModal.tsx | 10 ++--\n .../__tests__/PlanningModeModal.initial.test.tsx   | 69 ++++++++++++++++++++++\n 3 files changed, 78 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6958

Fusion-Task-Lineage: df030f3f-c9ca-4420-8618-bc3ec44d6e12
2026-06-23 11:26:50 -07:00
gsxdsm
54be35f537 Merge pull request #1732 from Runfusion/feature/memory-fix
[codex] Reduce dashboard SSE keepalive churn
2026-06-23 11:26:03 -07:00
gsxdsm
fade815c85 fix(dashboard): reduce SSE keepalive churn 2026-06-23 10:43:14 -07:00
gsxdsm
fe536b2af8 FN-6954: reconcile stale parked task assignments
Reconcile agent/task drift when durable agents remain linked to queued tasks without live execution proof.

- clear stale Agent.taskId links for parked todo/triage tasks while preserving task leases and queue state
- report stale parked assignments as active/no-live-run in Reports Health Check before reconciliation completes
- add scheduler and self-healing coverage for queued lease drift, overlap starvation, and audit events
- document the reconciliation behavior and add a published package patch changeset

Files changed:
 .changeset/fn-6954-agent-task-state-drift.md       |   5 +
 docs/architecture.md                               |   2 +
 .../src/__tests__/heartbeat-executor.test.ts       |  68 ++++++++++++
 .../__tests__/scheduler-overlap-starvation.test.ts |  68 +++++++++++-
 .../self-healing-agent-link-drift.test.ts          |  97 ++++++++++++++++-
 .../engine/src/__tests__/task-agent-sync.test.ts   |  33 +++++-
 packages/engine/src/agent-heartbeat.ts             | 121 +++++++++++++++++++--
 packages/engine/src/run-audit.ts                   |   5 +
 packages/engine/src/runtimes/in-process-runtime.ts |   1 +
 packages/engine/src/scheduler.ts                   |  24 +++-
 packages/engine/src/self-healing.ts                | 102 ++++++++++++++---
 packages/engine/src/task-agent-sync.ts             |  65 ++++++++++-
 12 files changed, 555 insertions(+), 36 deletions(-)

Fusion-Task-Id: FN-6954
Fusion-Task-Lineage: 24b8a2eb-5a33-4539-ab64-ae2bbfc2d195
2026-06-23 10:30:50 -07:00
gsxdsm
81f43e0e89 Merge pull request #1730 from Runfusion/feature/memory-fix
[codex] Dispose completed spawned child sessions
2026-06-23 10:29:30 -07:00
gsxdsm
a46800128a Address PR review feedback (#1730)
- Await async spawned child session disposal

- Use own-key iteration for structured tool result previews

- Add FNXC requirement comments for new regression assertions
2026-06-23 09:57:49 -07:00
gsxdsm
e59b1fa07d Merge pull request #1726 from plarson/fix/triage-spec-review-fallback
fix(triage): pass fallback model settings to spec review
2026-06-23 09:52:58 -07:00
gsxdsm
36b7ad90fd fix(engine): bound structured tool result log previews 2026-06-23 09:19:32 -07:00
gsxdsm
b02fb62c04 fix(core): avoid loading artifact content in registry lists 2026-06-23 09:16:57 -07:00
gsxdsm
d06e31693e fix(command-center): keep Recharts cards from blanking
Measure Command Center Recharts wrappers directly and keep usable fallback dimensions until lazy dashboard cards report a drawable box. This restores line charts such as Daily activity, Tokens trend, and Activity trend, plus model-share pies that used the same sizing path.
2026-06-23 09:12:44 -07:00
gsxdsm
466cf9ca8d fix(engine): dispose completed spawned child sessions 2026-06-23 09:12:28 -07:00
Phil Larson
823623e1c6 fix(triage): address spec review fallback PR comments 2026-06-23 08:51:58 -07:00
Phil Larson
945f0f176b chore: add triage fallback changeset 2026-06-23 08:43:11 -07:00
Phil Larson
40bef6dfce fix(triage): pass fallback model settings to spec review 2026-06-23 08:39:27 -07:00
gsxdsm
a670f5ce98 FN-6952: repair workflow-column lifecycle regressions
Restores core lifecycle compatibility while keeping workflow-column scheduling on the graduated runtime.\n\n- Split raw compatibility-flag checks from public workflow-column runtime enablement.\n- Keep scheduler and hold-release sweeps on workflow columns despite stale persisted false flags.\n- Preserve legacy moveTask guard bypass and invalid-transition behavior for compatibility paths.\n- Isolate the startup watch recovery fixture and add a patch changeset.\n\nFiles changed:\n .changeset/fn-6952-core-lifecycle-regressions.md |  5 ++++\n packages/core/src/__tests__/store-create.test.ts |  6 +++++\n packages/core/src/store.ts                       | 32 +++++++++++++++++-------\n packages/core/src/workflow-columns-settings.ts   |  8 ++----\n packages/engine/src/hold-release.ts              |  6 +++--\n packages/engine/src/scheduler.ts                 | 10 +++++++-\n 6 files changed, 49 insertions(+), 18 deletions(-)

Fusion-Task-Id: FN-6952

Fusion-Task-Lineage: cfd7ad99-db00-4454-b3d7-a07a72a7bbe7
2026-06-23 08:21:10 -07:00
gsxdsm
58630683e1 FN-6948: refresh weekly test velocity baseline
Refresh the weekly test velocity report with the latest captured baseline.

- Update the latest baseline timestamp, metric deltas, quarantine counts, and #leads posting text.
- Append the 2026-06-23 test velocity history row with wall times and slowest test files.

Files changed:
 docs/test-velocity-baseline.md     |  20 +++----
 scripts/test-velocity-history.json | 111 +++++++++++++++++++++++++++++++++++++
 2 files changed, 121 insertions(+), 10 deletions(-)

Fusion-Task-Id: FN-6948

Fusion-Task-Lineage: 7b2d265a-b6c9-494c-aa87-31ae2c71c5f0
2026-06-23 01:22:54 -07:00
gsxdsm
efb94c8623 FN-6876: add editable model pricing refresh
Add editable model pricing overrides and a LiteLLM refresh path for usage cost analytics.

- Add persisted model pricing override settings and apply them to token and team analytics cost calculations.
- Add a Command Center pricing fetch endpoint that imports chat pricing from LiteLLM and invalidates settings caches.
- Add a Global Models pricing editor with manual rows, removal, and one-click fetch support.
- Cover override lookup, settings parity, analytics, route behavior, and UI editing with tests and docs.

Files changed:
 .changeset/model-pricing-overrides.md              |   5 +
 docs/architecture.md                               |   3 +-
 docs/dashboard-guide.md                            |   5 +-
 docs/settings-reference.md                         |   3 +
 packages/core/src/__tests__/model-pricing.test.ts  | 101 +++++++++++
 .../core/src/__tests__/settings-parity.test.ts     |   4 +
 packages/core/src/__tests__/store-settings.test.ts |  25 +++
 .../core/src/__tests__/token-analytics.test.ts     |  39 +++++
 packages/core/src/index.ts                         |   4 +
 packages/core/src/model-pricing.ts                 | 118 +++++++++++--
 packages/core/src/settings-schema.ts               |   3 +
 packages/core/src/team-analytics.ts                |  17 +-
 packages/core/src/token-analytics.ts               |  19 +-
 packages/core/src/types.ts                         |  12 ++
 .../dashboard/app/components/SettingsModal.tsx     |   2 +
 .../settings/sections/GlobalModelsSection.tsx      |   8 +-
 .../settings/sections/ModelPricingSection.css      |  82 +++++++++
 .../settings/sections/ModelPricingSection.test.tsx | 126 ++++++++++++++
 .../settings/sections/ModelPricingSection.tsx      | 193 +++++++++++++++++++++
 .../register-command-center-routes.test.ts         | 172 +++++++++++++++++-
 .../src/routes/register-command-center-routes.ts   |  58 +++++++
 21 files changed, 967 insertions(+), 32 deletions(-)

Fusion-Task-Id: FN-6876

Fusion-Task-Lineage: 4d4e3b9d-bec4-4e14-b7bc-88f846465566
2026-06-23 01:14:11 -07:00
gsxdsm
b599b6ab41 chore(release): v0.45.0
Version bump via changesets.
2026-06-23 01:07:59 -07:00
gsxdsm
192a2f2e94 fix(FN-6951): preserve settings saves and inline file changes 2026-06-23 01:05:13 -07:00
gsxdsm
90cba95bdd FN-6933: show stopped engine state in footer
Show the dashboard footer when the global AI engine stop control is active.

- Add a stopped executor state derived from globalPause and expose it through the legacy API types.
- Render Stopped with error-red styling and a stop-rectangle icon in the executor status bar.
- Cover stopped state derivation, footer rendering, API responses, and localized labels.

Files changed:
 .../dashboard/app/__tests__/api-projects.test.ts   |  3 ++-
 packages/dashboard/app/api/legacy.ts               | 14 +++++++----
 .../dashboard/app/components/ExecutorStatusBar.tsx | 11 ++++++---
 .../__tests__/ExecutorStatusBar.test.tsx           | 27 ++++++++++++++++++++++
 .../app/hooks/__tests__/useExecutorStats.test.ts   | 22 ++++++++++++++++--
 packages/dashboard/app/hooks/useExecutorStats.ts   | 10 +++++---
 packages/i18n/locales/en/app.json                  |  1 +
 packages/i18n/locales/es/app.json                  |  2 ++
 packages/i18n/locales/fr/app.json                  |  2 ++
 packages/i18n/locales/ko/app.json                  |  2 ++
 packages/i18n/locales/zh-CN/app.json               |  2 ++
 packages/i18n/locales/zh-TW/app.json               |  2 ++
 12 files changed, 85 insertions(+), 13 deletions(-)

Fusion-Task-Id: FN-6933

Fusion-Task-Lineage: 1f128b36-105a-4133-87ce-75bb8df8a42f
2026-06-23 00:45:00 -07:00
gsxdsm
5e55d9c46c fix(FN-6950): show effective model icons in task chat 2026-06-23 00:38:14 -07:00
gsxdsm
a47222b3e5 fix(FN-6950): normalize pending changesets 2026-06-23 00:33:08 -07:00
gsxdsm
a147a983d5 fix(FN-6950): protect global settings and task chat icons 2026-06-23 00:31:58 -07:00
gsxdsm
8dc9973997 FN-6937: remove stale session cross-tab quarantine
Remove the orphaned session-cross-tab quarantine ledger entry after confirming the test remains active and rescued.

- Document FN-6937's rescue proof and ledger/config lockstep expectation in testing guidance.
- Keep the dashboard Vitest quarantine list empty with a note explaining the stale ledger-only cleanup.
- Remove the session-cross-tab row from the flaky-test quarantine ledger.

Files changed:
 docs/testing.md                     | 8 ++++++--
 packages/dashboard/vitest.config.ts | 3 +++
 scripts/lib/test-quarantine.json    | 8 +-------
 3 files changed, 10 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-6937
Fusion-Task-Lineage: 34a67bf3-2a7f-49ea-93ab-68fadc81f893
2026-06-23 00:26:16 -07:00
gsxdsm
4ed84be7d1 fix(FN-6950): polish dashboard modal and chat chrome 2026-06-23 00:20:55 -07:00
gsxdsm
826a7eea31 FN-6936: show agent model details on list cards
Agent list cards now surface model/runtime configuration alongside existing agent details.

- Add list-card model/runtime labeling with provider/model, legacy model, runtime hint, and Auto fallback handling.
- Style the new value badge for truncation and responsive wrapping.
- Cover configured, legacy, runtime, and automatic agent labels in AgentsView tests.
- Document the model/runtime field in the dashboard guide.

Files changed:
 docs/dashboard-guide.md                            |  1 +
 packages/dashboard/app/components/AgentsView.css   | 19 +++++++-
 packages/dashboard/app/components/AgentsView.tsx   | 38 ++++++++++++++++
 .../app/components/__tests__/AgentsView.test.tsx   | 50 ++++++++++++++++++++++
 4 files changed, 107 insertions(+), 1 deletion(-)

Fusion-Task-Id: FN-6936

Fusion-Task-Lineage: 7ce3591e-eae0-4968-8923-d9acab0f92c3
2026-06-23 00:15:38 -07:00
gsxdsm
deaa64218b FN-6931: fix org chart connector rendering
Render agent org chart connector paths from the measured SVG overlay without stale CSS connector lines.

- Size the absolute org chart SVG overlay to the chart canvas so connector paths are not clipped by the default SVG viewport.
- Remove legacy pseudo-element connector bus styles that could overlap or contradict measured SVG paths.
- Add regression coverage for connector SVG sizing, removed CSS connector rules, vertical paths, and empty/single-root data states.

Files changed:
 packages/dashboard/app/components/AgentsView.css   | 41 +++-----------------
 .../__tests__/AgentsView.orgchart.test.tsx         | 44 +++++++++++++++++++++-
 2 files changed, 49 insertions(+), 36 deletions(-)

Fusion-Task-Id: FN-6931

Fusion-Task-Lineage: d19d4c59-c836-4d91-9826-d4b29e178923
2026-06-23 00:08:27 -07:00
gsxdsm
2d038e7ffa feat(FN-6950): polish dashboard responsive chrome 2026-06-22 23:58:38 -07:00
gsxdsm
496167c3d4 feat(FN-6950): polish dashboard responsive chrome 2026-06-22 23:58:24 -07:00
gsxdsm
849b40d220 FN-6947: tolerate workflow project identity failures
Keep workflow IR resolution usable when project identity lookup is unavailable.

- Treat workflow settings project identity errors as an absent project scope.
- Preserve project-scoped cache and prompt override behavior when identity resolves.
- Add resolver regression coverage and a patch changeset for the fallback behavior.

Files changed:
 .changeset/fn-6947-workflow-ir-project-identity.md |  5 ++
 .../src/__tests__/workflow-ir-resolver.test.ts     | 62 +++++++++++++++++++++-
 packages/core/src/workflow-ir-resolver.ts          | 12 ++++-
 3 files changed, 76 insertions(+), 3 deletions(-)

Fusion-Task-Id: FN-6947

Fusion-Task-Lineage: f63b985f-6c43-4163-8391-8ca5efb83079
2026-06-22 23:56:34 -07:00
gsxdsm
a6685b7f03 FN-6930: add New Task duplicate preflight
Add duplicate detection parity to full-dialog task creation and improve duplicate warnings.\n\n- Run duplicate checks before New Task dialog creation and require explicit acknowledgement to create anyway.\n- Show duplicate task descriptions with title and empty-state fallbacks in the warning modal.\n- Cover duplicate warning and New Task duplicate flows with dashboard tests.\n- Document duplicate handling parity and add a published CLI changeset.\n\nFiles changed:\n .changeset/new-task-duplicates.md                  |   5 +\n docs/dashboard-guide.md                            |   4 +\n .../app/components/DuplicateWarningModal.css       |   6 +-\n .../app/components/DuplicateWarningModal.tsx       |   6 +-\n packages/dashboard/app/components/NewTaskModal.tsx | 324 ++++++++++++---------\n .../__tests__/DuplicateWarningModal.test.tsx       |  28 +-\n .../app/components/__tests__/NewTaskModal.test.tsx | 104 +++++++\n 7 files changed, 331 insertions(+), 146 deletions(-)

Fusion-Task-Id: FN-6930

Fusion-Task-Lineage: 06d75ec5-e7e8-4124-9b08-47a7adad4fad
2026-06-22 23:42:45 -07:00
gsxdsm
9218613552 FN-6949: fix auto-merge lifecycle finalization
Make auto-merge completion idempotent when landed tasks are left outside done.

- Add shared auto-merge finalization logic that refreshes task rows, clears stale queue/blocker state, and recovery-rehomes proven landed tasks to done.
- Route direct AI merge, merge-confirmed fast paths, and self-healing recovery through the shared finalizer with run-audit events for reconciled or blocked column mismatches.
- Extend lifecycle and recovery tests to cover todo/in-review mismatches, finalization failures, stale blockers, and cleanup idempotency.
- Add the required patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6949-auto-merge-lifecycle.md         |   5 +
 .../src/__tests__/merge-error-recovery.test.ts     |  50 ++++-
 packages/engine/src/__tests__/merger-ai.test.ts    |   8 +-
 .../src/__tests__/merger-merge-lifecycle.test.ts   | 155 +++++++++++++++
 .../ai-merge-cleanup-enoent-idempotent.test.ts     |   2 +-
 packages/engine/src/__tests__/self-healing.test.ts | 194 +++++++++++--------
 packages/engine/src/auto-merge-finalization.ts     | 208 +++++++++++++++++++++
 packages/engine/src/merger-ai.ts                   |  47 +++--
 packages/engine/src/project-engine.ts              |  87 +++++----
 packages/engine/src/run-audit.ts                   |   4 +
 packages/engine/src/self-healing.ts                |  92 ++++-----
 11 files changed, 663 insertions(+), 189 deletions(-)

Fusion-Task-Id: FN-6949

Fusion-Task-Lineage: db784ec0-68e9-4a37-9728-daa6f133e294
2026-06-22 23:18:28 -07:00
gsxdsm
0b8f299444 Merge pull request #1724 from Runfusion/fix/workflow-runtime-cutover
fix(engine): harden workflow runtime cutover
2026-06-22 22:42:03 -07:00
gsxdsm
acf0fff413 test(engine): cover workflow cutover recovery guards 2026-06-22 22:22:37 -07:00
gsxdsm
e60b1378b8 fix(engine): address workflow cutover review feedback 2026-06-22 22:17:30 -07:00
gsxdsm
65f509e193 fix(dashboard): declare markdown pipeline dependency 2026-06-22 21:57:43 -07:00
gsxdsm
32986f6b50 fix(core): tolerate missing done task mirrors on startup 2026-06-22 21:51:28 -07:00
gsxdsm
65c4dc5438 fix(engine): harden workflow runtime cutover 2026-06-22 21:45:05 -07:00
gsxdsm
bf3276295c fix(engine): complete workflow runtime cutover 2026-06-22 20:45:29 -07:00
gsxdsm
f9043d733e fix(dashboard): polish workflow and chrome defaults 2026-06-22 19:48:50 -07:00
gsxdsm
9b440c3b35 FN-6917: re-ratchet line-count baseline
Re-ratchet the opt-in line-count audit baseline so current oversized files no longer fail the ceiling check.

- Document that the pnpm test blocker premise is stale because the guard is opt-in.
- Refresh grandfathered line-count ceilings to the current merged tree.
- Add TerminalModal.tsx to the grandfathered oversized-file baseline and drop entries that no longer need it.

Files changed:
 scripts/check-file-line-count.mjs |  3 ++
 scripts/line-count-baseline.json  | 80 +++++++++++++++++++--------------------
 2 files changed, 42 insertions(+), 41 deletions(-)

Fusion-Task-Id: FN-6917

Fusion-Task-Lineage: aaa018d8-f1a3-47a5-b63b-f18bac87b910
2026-06-22 19:42:38 -07:00
gsxdsm
7ee36f26e5 FN-6913: localize right dock labels
Route right-dock accessibility labels through the app i18n namespace.\n\n- Replace hard-coded right dock and pop-out aria/title copy with translated keys and English fallbacks.\n- Add rightDock locale entries across app locale catalogs and typed resources.\n- Extend RightDock tests to cover localized dock and expanded modal affordance labels.\n\nFiles changed:\n packages/dashboard/app/components/RightDock.tsx          | 16 +++++++++++-----\n .../dashboard/app/components/RightDockExpandModal.tsx    | 12 +++++++++---\n .../app/components/__tests__/RightDock.test.tsx          | 15 ++++++++++++++-\n packages/i18n/locales/en/app.json                        | 11 +++++++++++\n packages/i18n/locales/es/app.json                        | 11 +++++++++++\n packages/i18n/locales/fr/app.json                        | 11 +++++++++++\n packages/i18n/locales/ko/app.json                        | 11 +++++++++++\n packages/i18n/locales/zh-CN/app.json                     | 11 +++++++++++\n packages/i18n/locales/zh-TW/app.json                     | 11 +++++++++++\n packages/i18n/src/resources.d.ts                         | 11 +++++++++++\n 10 files changed, 111 insertions(+), 9 deletions(-)

Fusion-Task-Id: FN-6913

Fusion-Task-Lineage: 1c07da14-d8a3-42ba-8c93-843c3fe1fa63
2026-06-22 19:35:26 -07:00
gsxdsm
584ed02541 FN-6897: update dashboard navigation docs
Refresh the documentation to match the reshuffled dashboard navigation model.

- Clarify that desktop/tablet content destinations live in the left sidebar while inline tools live in the right dock.
- Update Planning, Import Tasks, Git Manager Recovery, and plugin view navigation instructions across docs.
- Remove stale Header overflow, duplicate dock/sidebar, and standalone Stash Recovery wording.

Files changed:
 docs/architecture.md    |  2 +-
 docs/dashboard-guide.md | 55 +++++++++++++++++++++++++++----------------------
 docs/getting-started.md |  4 ++--
 docs/task-management.md |  4 ++--
 4 files changed, 35 insertions(+), 30 deletions(-)

Fusion-Task-Id: FN-6897

Fusion-Task-Lineage: d0009a23-c197-4c1b-8c54-5fe4a8dca03c
2026-06-22 19:24:55 -07:00
gsxdsm
e59d3d60e7 FN-6820: document artifact registry workflows
Document the user-facing artifact registry workflow from agent tools through dashboard discovery and storage behavior.

- Describe agent artifact registration, listing, viewing, and mailbox notification semantics.
- Expand the Artifacts dashboard workflow with gallery counts, previews, task links, and loading/error/empty states.
- Clarify artifact registry storage, hydration scope, retention, and concept terminology.

Files changed:
 CONCEPTS.md             |  2 +-
 docs/agents.md          | 17 ++++++++++++++---
 docs/dashboard-guide.md | 16 ++++++++++++----
 docs/storage.md         | 15 +++++++++++----
 4 files changed, 38 insertions(+), 12 deletions(-)

Fusion-Task-Id: FN-6820

Fusion-Task-Lineage: 1d3be0f3-fb4a-4d7e-9470-2110435e83a4
2026-06-22 19:18:49 -07:00
gsxdsm
ec1d29e818 FN-6922: guard worktree acquisition returns from repo root
Prevent task worktree acquisition from handing the project root back to executors.

- Add a repo-root return guard across resume, pool, and fresh acquisition paths.
- Clear invalid repo-root task assignments and create a fresh worktree fallback when safe.
- Share repo-root canonicalization and expand regression coverage for acquisition liveness.
- Document the acquisition guard and add a patch changeset.

Files changed:
 .changeset/fn-6922-repo-root-acquisition-guard.md  |   5 +
 .../repo-root-task-worktree-requeue-loop.md        |   9 +-
 .../__tests__/executor-worktree-liveness.test.ts   |  35 +++
 .../worktree-acquisition-secrets-env.test.ts       |   9 +-
 .../src/__tests__/worktree-acquisition.test.ts     |  91 ++++++-
 packages/engine/src/worktree-acquisition.ts        | 272 +++++++++++++--------
 packages/engine/src/worktree-pool.ts               |   8 +-
 7 files changed, 304 insertions(+), 125 deletions(-)

Fusion-Task-Id: FN-6922

Fusion-Task-Lineage: c16cee1b-de16-4d5f-90e0-132f94fa8377
2026-06-22 19:11:08 -07:00