Commit Graph

1779 Commits

Author SHA1 Message Date
gsxdsm
d9efea9e27 docs(workspace): capture Task-field persistence gotcha learning
Adds a docs/solutions learning: a Task field is silently dropped on persist
unless it has a SQLite column + defineTaskColumn + rowToTask mapping (applyTaskPatch
writes the DB-round-tripped task back over task.json). Plus a CONCEPTS.md entry for
the active-session lease (the path-keyed exclusivity/liveness registry whose key
choice caused the concurrent-workspace collision).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 15:35:49 -07:00
gsxdsm
038ac3060b FN-6963: disable tool output log details by default
Agent logs now keep tool timeline rows while requiring an explicit opt-in to persist verbose tool payloads.

- Default persistAgentToolOutput to false in global settings and direct AgentLogger construction.
- Update the settings UI, API expectations, documentation, and changeset to describe opt-in tool payload persistence.
- Adjust engine and dashboard tests for the new default-off behavior while preserving explicit opt-in coverage.

Files changed:
 .changeset/FN-6963-tool-output-default-off.md      |  5 ++++
 docs/settings-reference.md                         |  2 +-
 packages/core/src/settings-schema.ts               |  6 ++++-
 .../components/__tests__/SettingsModal.test.tsx    | 22 +++++++++++++---
 .../settings/sections/GlobalGeneralSection.tsx     |  2 +-
 .../src/__tests__/routes-settings.test.ts          |  4 +--
 packages/engine/src/__tests__/agent-logger.test.ts | 30 ++++++++++++++++++----
 .../src/__tests__/heartbeat-executor.test.ts       |  4 +--
 .../src/__tests__/merger-merge-details.test.ts     |  2 +-
 .../src/__tests__/merger-verification.test.ts      |  2 +-
 .../src/__tests__/step-session-executor.test.ts    |  4 +--
 packages/engine/src/__tests__/triage.test.ts       |  2 +-
 packages/engine/src/agent-logger.ts                |  8 ++++--
 13 files changed, 71 insertions(+), 22 deletions(-)

Fusion-Task-Id: FN-6963

Fusion-Task-Lineage: 7db32871-f539-4a27-a324-02c55ce5bd04
2026-06-23 23:35:33 -07:00
gsxdsm
cf2f3ba5e4 FN-6956: close task detail immediately after confirmed deletes
Close task detail surfaces as soon as delete confirmations finish while preserving async result toasts.

- Move Task Detail close requests ahead of delete request settlement and reuse them for conflict retry paths.
- Cover dialog, mobile-header, embedded host, retry, and cancelled-confirmation delete behavior in tests.
- Document the immediate-close delete behavior and add a patch changeset.

Files changed:
 .changeset/fn-6956-immediate-delete-close.md       |   5 +
 docs/dashboard-guide.md                            |   1 +
 .../dashboard/app/components/TaskDetailModal.tsx   |  20 ++-
 .../components/__tests__/TaskDetailModal.test.tsx  | 140 ++++++++++++++++++++-
 4 files changed, 160 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6956

Fusion-Task-Lineage: 02f70c0c-c807-4a22-945e-646acbfe8def
2026-06-23 23:35:32 -07:00
gsxdsm
4a1fd88d57 Merge remote-tracking branch 'origin/main' into latest3-1718 2026-06-23 19:58:03 -07:00
gsxdsm
1293f3432d Merge remote-tracking branch 'origin/main' into latest-1718
# Conflicts:
#	packages/engine/src/executor.ts
2026-06-23 17:41:30 -07:00
gsxdsm
0b111bbb03 Merge remote-tracking branch 'origin/main' into latest-1714
# Conflicts:
#	packages/engine/src/executor.ts
2026-06-23 17:39:37 -07:00
gsxdsm
37b2cb38ac Merge branch 'main' into feature/workflow-branch-group 2026-06-23 17:16:16 -07:00
gsxdsm
e9a6955b49 FN-6939: add narrow dock preview modal
Adds an accessible preview modal path for constrained Dev Server right-dock layouts.

- Detect narrow direct right-dock hosts while preserving inline previews for full-page, mobile, and expanded modal hosts.
- Replace the crowded inline preview with a compact Open preview launcher and accessible modal controls in narrow docks.
- Add focused preview/mobile coverage, documentation, styling, and a published package changeset.

Files changed:
 .../fn-6939-dev-server-narrow-preview-modal.md     |   5 +
 docs/dashboard-guide.md                            |   3 +
 .../dashboard/app/components/DevServerView.css     | 100 ++++-
 .../dashboard/app/components/DevServerView.tsx     | 449 +++++++++++++++------
 .../__tests__/DevServerView.mobile.test.tsx        |  17 +-
 .../__tests__/DevServerView.preview.test.tsx       | 148 +++++++
 6 files changed, 603 insertions(+), 119 deletions(-)

Fusion-Task-Id: FN-6939

Fusion-Task-Lineage: 745ea56d-16bf-4246-bfe7-0461754466d9
2026-06-23 16:47:38 -07:00
gsxdsm
9822fbd6a8 Merge remote-tracking branch 'origin/main' into conflict-resolution-1718
# Conflicts:
#	packages/engine/src/__tests__/executor-recovery.test.ts
#	packages/engine/src/agent-tools.ts
#	packages/engine/src/executor.ts
#	packages/engine/src/merger-ai.ts
#	packages/engine/src/project-engine.ts
#	packages/engine/src/run-audit.ts
#	packages/engine/src/self-healing.ts
#	packages/engine/src/worktree-acquisition.ts
2026-06-23 16:23:28 -07:00
gsxdsm
941343f483 Merge remote-tracking branch 'origin/main' into conflict-resolution-1714
# Conflicts:
#	packages/engine/src/__tests__/executor-recovery.test.ts
#	packages/engine/src/agent-tools.ts
#	packages/engine/src/executor.ts
#	packages/engine/src/worktree-acquisition.ts
2026-06-23 16:01:38 -07:00
gsxdsm
4faadd4f75 Merge remote-tracking branch 'origin/main' into conflict-resolution-1712
# Conflicts:
#	packages/dashboard/app/components/WorkflowNodeEditor.tsx
#	packages/engine/src/__tests__/executor-fast-mode-workflows.test.ts
2026-06-23 15:44:52 -07:00
gsxdsm
a8abecd043 Merge remote-tracking branch 'origin/main' into conflict-resolution-1711
# Conflicts:
#	packages/engine/src/executor.ts
2026-06-23 15:37:29 -07:00
gsxdsm
41f3b045ea FN-6920: add LOC backfill controls to productivity
Adds an explicit Productivity-area workflow for previewing and applying historical LOC diff-stat backfills.\n\n- Add preview and confirmed apply actions for commit-association LOC backfills in Command Center Productivity.\n- Surface dry-run/applied report counts, pending, and error states while preserving unavailable LOC sentinels.\n- Reuse tokenized responsive backfill styling and add localized strings, docs, regression coverage, and a patch changeset.\n\nFiles changed:\n .changeset/loc-backfill-command-center.md          |   5 +\n docs/dashboard-guide.md                            |   2 +-\n .../components/command-center/CommandCenter.css    |  21 ++-\n .../command-center/areas/ProductivityArea.tsx      | 142 ++++++++++++++-\n .../command-center/areas/__tests__/areas.test.tsx  | 200 +++++++++++++++++++++\n packages/i18n/locales/en/app.json                  |  15 ++\n packages/i18n/locales/es/app.json                  |  15 ++\n packages/i18n/locales/fr/app.json                  |  15 ++\n packages/i18n/locales/ko/app.json                  |  15 ++\n packages/i18n/locales/zh-CN/app.json               |  15 ++\n packages/i18n/locales/zh-TW/app.json               |  15 ++\n packages/i18n/src/resources.d.ts                   |  29 ++-\n 12 files changed, 476 insertions(+), 13 deletions(-)

Fusion-Task-Id: FN-6920

Fusion-Task-Lineage: 2e81ec44-46f3-49a9-ba4a-a4a72a38a6e8
2026-06-23 12:17:04 -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
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
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
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
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
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
65c4dc5438 fix(engine): harden workflow runtime cutover 2026-06-22 21:45:05 -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
gsxdsm
f528cd06cf FN-6897: document dashboard navigation reshuffle
Refresh dashboard documentation to match the current left-sidebar and right-dock navigation model.

- Document the desktop/tablet sidebar destinations, Import Tasks workflow, terminal launcher, and Git Manager placement.
- Normalize Git Manager naming and update the UX audit's historical header-overload note.
- Keep the lazy-view inventory aligned with underscore-prefixed embedded view chunks that reuse existing lazy imports.

Files changed:
 AGENTS.md                                          |   2 +-
 docs/README.md                                     |   2 +-
 docs/dashboard-guide.md                            | 111 +++++++++++++++++----
 docs/ux-audit-report.md                            |   5 +-
 .../app/__tests__/lazy-loaded-views-docs.test.ts   |   5 +
 5 files changed, 104 insertions(+), 21 deletions(-)

Fusion-Task-Id: FN-6897

Fusion-Task-Lineage: d0009a23-c197-4c1b-8c54-5fe4a8dca03c
2026-06-22 18:12:11 -07:00
gsxdsm
c229a15e20 FN-6934: restrict agent workflow reassignment
Clarify agent workflow-routing prompts so agents do not reassign tasks they did not create unless directed.

- Add executor guardrails against changing the current task workflow without explicit user instruction.
- Update triage workflow-routing guidance to distinguish existing tasks from agent-created tasks.
- Cover workflow ownership policy in prompt and engine tests, docs, and a patch changeset.

Files changed:
 .changeset/fn-6934-workflow-movement-policy.md     |  5 +++++
 docs/agents.md                                     |  6 ++++++
 docs/custom-workflow-reliability-acceptance-map.md |  7 +++++--
 docs/settings-reference.md                         |  9 +++++++--
 docs/workflow-steps.md                             |  9 +++++++--
 packages/core/src/__tests__/agent-prompts.test.ts  | 15 ++++++++++++++
 packages/core/src/agent-prompts.ts                 | 23 ++++++++++++++++------
 .../src/__tests__/executor-review-verdicts.test.ts |  3 +++
 .../__tests__/triage-threshold-settings.test.ts    |  3 +++
 packages/engine/src/__tests__/triage.test.ts       |  2 +-
 packages/engine/src/executor.ts                    |  5 +++++
 11 files changed, 74 insertions(+), 13 deletions(-)

Fusion-Task-Id: FN-6934

Fusion-Task-Lineage: cc583806-b160-4a08-b1a7-e798a575dbd5
2026-06-22 17:58:27 -07:00
gsxdsm
ff06443bd7 FN-6921: refresh test velocity baseline
Refresh the weekly test velocity report with the latest measured results.

- Update the baseline capture timestamp, deltas, quarantine count, and #leads summary text.
- Record the latest velocity measurement row in the historical JSON log.
- Preserve already-landed branch changes by applying only the remaining FN-6921 measurement update after duplicate-commit detection.

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

Fusion-Task-Id: FN-6921

Fusion-Task-Lineage: e0f08944-0709-43de-ba25-57903c4a58b6
2026-06-22 17:52:26 -07:00
gsxdsm
2bfac78b47 fix(onboarding): simplify agent setup copy 2026-06-22 05:37:58 -07:00
gsxdsm
08aeb5a145 fix(onboarding): widen project agent setup 2026-06-22 05:30:31 -07:00
gsxdsm
1432724a2b fix(onboarding): simplify first-run project setup 2026-06-22 05:20:22 -07:00
gsxdsm
6fe4b2dffc Merge remote-tracking branch 'origin/main' into feature/onboarding-improve 2026-06-22 04:44:02 -07:00
gsxdsm
f0fbc59991 feat(onboarding): align first-agent setup flow 2026-06-22 04:39:35 -07:00
gsxdsm
130fea2973 feat(onboarding): ask for optional first agent in setup 2026-06-22 03:48:08 -07:00
gsxdsm
8dd9697468 FN-6714: backfill commit-association diff stats
Backfill historical commit-association diff stats so Command Center LOC can use real persisted git data.

- Add a core backfill API that inspects local git commits for associations with missing additions/deletions and supports dry-run reporting.
- Expose an authenticated Command Center productivity backfill endpoint and route it through the legacy API shim.
- Keep productivity LOC/hour sentinels safe for legacy payloads and document the backfill contract.
- Cover the backfill path, auth gate, productivity analytics, and route registration with tests.

Files changed:
 .changeset/fn-6714-command-center-loc-backfill.md  |   5 +
 docs/architecture.md                               |   4 +-
 docs/storage.md                                    |   4 +-
 ...mmit-association-diff-backfill.real-git.test.ts | 140 +++++++++++++++++++++
 packages/core/src/index.ts                         |   1 +
 packages/core/src/store.ts                         |  76 ++++++++++-
 packages/core/src/types.ts                         |   9 ++
 packages/dashboard/app/api/legacy.ts               |  16 +++
 .../command-center/areas/ProductivityArea.tsx      |   8 +-
 .../register-command-center-routes.auth.test.ts    |  48 ++++---
 .../register-command-center-routes.test.ts         |  49 +++++++-
 .../src/routes/register-command-center-routes.ts   |  20 +++
 12 files changed, 354 insertions(+), 26 deletions(-)

Fusion-Task-Id: FN-6714

Fusion-Task-Lineage: 657c7789-bbe4-4611-abca-127af05b0300
2026-06-22 03:42:24 -07:00
gsxdsm
a6f49b847c feat(dashboard): integrate stashed workflow-selection refactor; Dashboard rename; resolve CC conflicts
- Resolve the stash-pop conflicts in command-center CSS/test by keeping the current branch's newer FN-6784 responsive clamps, Team heartbeat docs, and recharts assertions (the stashed snapshot was older).
- Land the stashed workflow-selection refactor (Board/NewTaskModal/WorkflowSwitcher; remove lastSelectedWorkflow util).
- Rename Command Center -> Dashboard (i18n source) and move it to the top of the left sidebar; workflow switcher chevron sized to match the project selector.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 03:34:15 -07:00
gsxdsm
c0ab7f43b8 FN-6923: default new tasks to the selected workflow lane
New Task now inherits the project's current or last valid workflow lane.

- Persist explicit Board and List workflow switcher selections per project.
- Seed the New Task workflow selector from the cached valid lane without marking the pristine dialog dirty.
- Preserve default-workflow inheritance when no remembered lane exists or the remembered lane was deleted.
- Cover quick-add parity, workflow defaulting, stale-lane fallback, and storage helper behavior in tests.
- Document New Task workflow selector defaulting in the dashboard guide.

Files changed:
 docs/dashboard-guide.md                            |   2 +
 packages/dashboard/app/components/Board.tsx        |  12 +-
 packages/dashboard/app/components/ListView.tsx     |  12 +-
 packages/dashboard/app/components/NewTaskModal.tsx |  21 ++-
 .../app/components/__tests__/NewTaskModal.test.tsx | 142 ++++++++++++++++++++-
 .../utils/__tests__/lastSelectedWorkflow.test.ts   |  67 ++++++++++
 .../dashboard/app/utils/lastSelectedWorkflow.ts    |  31 +++++
 7 files changed, 279 insertions(+), 8 deletions(-)

Fusion-Task-Id: FN-6923
Fusion-Task-Lineage: 6e3c8efd-3865-4975-a754-2f0d5ff89ab0
2026-06-22 03:34:15 -07:00
gsxdsm
0b410d54e1 FN-6915: surface user comments in agent prompts
User task chat and steering comments now flow into planning, review, and merge agent context.

- Add a shared user-comment formatter and selector for prompt context.
- Inject latest user comments into planner-triggered review, reviewer, merger, and clean-room AI merge prompts.
- Cover comment selection, prompt formatting, review/merge propagation, and docs updates with targeted tests.

Files changed:
 docs/architecture.md                               |  1 +
 docs/dashboard-guide.md                            |  1 +
 .../src/__tests__/agent-user-comments.test.ts      | 81 ++++++++++++++++++++++
 .../executor-review-step-indexing.test.ts          | 28 +++++++-
 packages/engine/src/__tests__/merger-ai.test.ts    | 54 +++++++++++++++
 .../src/__tests__/merger-prompt-and-utils.test.ts  | 29 ++++++++
 packages/engine/src/__tests__/reviewer.test.ts     | 37 ++++++++--
 packages/engine/src/__tests__/triage.test.ts       | 23 ++++++
 packages/engine/src/agent-user-comments.ts         | 60 ++++++++++++++++
 packages/engine/src/executor.ts                    | 14 ++--
 packages/engine/src/merger-ai.ts                   | 23 +++++-
 packages/engine/src/merger.ts                      | 22 +++++-
 packages/engine/src/reviewer.ts                    | 13 ++++
 13 files changed, 372 insertions(+), 14 deletions(-)

Fusion-Task-Id: FN-6915

Fusion-Task-Lineage: 02de0c12-481a-4489-b495-70c9c00619bc
2026-06-22 03:34:15 -07:00
gsxdsm
7f9849d6ed FN-6908: add expandable artifact media previews
Adds a polished media gallery experience for image and video artifacts in Documents.

- Make image and video artifact cards open an accessible lightbox with keyboard, backdrop, and close-button dismissal.
- Style expandable previews, hover affordances, and responsive full-size media presentation.
- Cover the media lightbox behavior in DocumentsView tests and document the dashboard gallery behavior.
- Add localized labels for expanding and closing artifact previews.

Files changed:
 docs/dashboard-guide.md                            |   4 +-
 .../dashboard/app/components/DocumentsView.css     | 156 +++++++++++++++++++--
 .../dashboard/app/components/DocumentsView.tsx     | 121 +++++++++++++++-
 .../components/__tests__/DocumentsView.test.tsx    |  46 +++++-
 packages/i18n/locales/en/app.json                  |   6 +-
 packages/i18n/locales/es/app.json                  |   6 +-
 packages/i18n/locales/fr/app.json                  |   6 +-
 packages/i18n/locales/ko/app.json                  |   6 +-
 packages/i18n/locales/zh-CN/app.json               |   6 +-
 packages/i18n/locales/zh-TW/app.json               |   6 +-
 10 files changed, 338 insertions(+), 25 deletions(-)

Fusion-Task-Id: FN-6908

Fusion-Task-Lineage: cf4d7d83-f58f-4686-ade9-b8b260bf400d
2026-06-22 03:34:15 -07:00
gsxdsm
af06170a51 FN-6778: add agent artifact registry tools
Adds engine and chat tools for registering, discovering, and viewing artifacts with inbox notifications.

- Add fn_artifact_register, fn_artifact_list, and fn_artifact_view tools for heartbeat, executor, and chat sessions.
- Send best-effort dashboard system inbox notifications when artifacts are registered.
- Classify artifact tools for action gating and coordination exemptions, with coverage for executor, heartbeat, permanent agent, and chat flows.
- Document the artifact registry behavior and update package metadata, quarantine ledger, and line-count baseline.

Files changed:
 .changeset/fn-6778-artifact-agent-tools.md         |   5 +
 CONCEPTS.md                                        |   3 +
 docs/agents.md                                     |   1 +
 packages/core/src/db.ts                            |   1 +
 .../src/__tests__/session-error-recovery.test.ts   |   1 +
 .../session-persistence-roundtrip.test.ts          |   1 +
 .../src/__tests__/session-reconnect.test.ts        |   1 +
 .../src/__tests__/session-resume-history.test.ts   |   1 +
 packages/dashboard/src/chat.ts                     |   6 +-
 packages/dashboard/src/planning.ts                 |   4 +
 packages/dashboard/src/test/mockCoreEngine.ts      |   1 +
 .../engine/src/__tests__/agent-action-gate.test.ts |   3 +
 .../src/__tests__/agent-artifact-tools.test.ts     | 458 +++++++++++++++++++++
 .../src/__tests__/executor-step-session.test.ts    |  48 +++
 .../src/__tests__/gating-classifications.test.ts   |   3 +
 .../src/__tests__/heartbeat-executor.test.ts       |  40 +-
 .../src/__tests__/heartbeat-session-prompt.test.ts |  25 +-
 .../src/__tests__/permanent-agent-gating.test.ts   |   6 +
 packages/engine/src/agent-heartbeat.ts             |   6 +-
 packages/engine/src/agent-tools.ts                 | 288 ++++++++++++-
 packages/engine/src/executor.ts                    |  25 ++
 packages/engine/src/gating-classifications.ts      |   7 +
 packages/engine/src/index.ts                       |   9 +
 scripts/lib/test-quarantine.json                   |   8 +-
 scripts/line-count-baseline.json                   |  54 +--
 25 files changed, 945 insertions(+), 60 deletions(-)

Fusion-Task-Id: FN-6778
Fusion-Task-Lineage: 7eb4afcb-8140-4f86-9540-eb3b83e64148
2026-06-22 03:34:14 -07:00
gsxdsm
b591430e12 docs(workspace): Phase D plan (U8/U9 self-healing + e2e), forks resolved 2026-06-22 01:19:29 -07:00
gsxdsm
f4a9c65509 fix(review): address PR #1714 review findings
- base-commit-capture: POSIX single-quote integration branch refs instead of
  JSON.stringify (double quotes are subject to $-expansion in the shell)
- executor: add per-repo no_commits guard to the workspace verifyWorktreeInvariants
  branch (parity with the singular path), gated by the same task-wide no-commit
  eligibility
- executor: reviewWorkspacePerRepo failure message now states the per-repo verdict
  list is partial (evaluation stops at first failure)
- worktree-acquisition: defensively wrap non-fatal/outer-catch logEntry/audit so a
  logging throw cannot promote a non-fatal error to fatal or mask the original error
- docs/plans: add code-fence language tags and fix MD028 blank-line-in-blockquote

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 00:21:49 -07:00
gsxdsm
accb32e9b6 fix(review): address PR #1711 review findings
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 00:19:15 -07:00
gsxdsm
a91388198b FN-6899: make right dock persistent
Make the right dock a persistent far-right surface with its own collapse control.

- Default the right dock to visible and preserve a collapsed rail instead of hiding it entirely.\n- Remove Header right-dock toggle props and routing so More views remains a menu and left-sidebar mode has no duplicate Header toggle.\n- Update docs, changeset, and regression tests for persistent dock behavior.\n\nFiles changed:\n .changeset/fn-6899-click-revealed-right-dock.md    |  5 ++\n docs/dashboard-guide.md                            |  6 +-\n packages/dashboard/app/App.tsx                     |  1 -\n .../mobile-feature-access-regression.test.tsx      | 32 ++------\n packages/dashboard/app/components/Header.tsx       | 57 +++-----------\n packages/dashboard/app/components/RightDock.css    | 18 +++++\n packages/dashboard/app/components/RightDock.tsx    | 86 ++++++++++++----------\n .../app/components/__tests__/Header.test.tsx       | 57 +++-----------\n .../app/components/__tests__/RightDock.test.tsx    | 31 ++++++--\n .../app/components/useRightDockController.tsx      |  4 +-\n 10 files changed, 132 insertions(+), 165 deletions(-)

Fusion-Task-Id: FN-6899

Fusion-Task-Lineage: 96c4ba70-eb73-4034-8254-6a192402d905
2026-06-21 23:37:25 -07:00
gsxdsm
bb663a4705 FN-6906: improve non-coding workflow artifact prompts
Non-coding built-in workflows now guide agents toward structured, reviewable artifacts.

- Expand marketing and lead-generation prompts with explicit inputs, output structure, quality bars, and persisted task-document deliverables.
- Require design execution to persist a reviewable preview document and update design review guidance to inspect it.
- Document the new artifact-oriented behavior and cover prompt routing with regression tests while preserving coding workflow defaults.
- Add a patch changeset for the published Fusion package.

Files changed:
 .changeset/fn-6906-non-coding-workflow-prompts.md  |  5 +++++
 docs/workflow-steps.md                             | 11 +++++++----
 .../builtin-lead-generation-workflow-ir.test.ts    |  2 ++
 .../core/src/__tests__/builtin-workflows.test.ts   | 22 ++++++++++++++++++++++
 .../src/builtin-lead-generation-workflow-ir.ts     | 13 ++++++++-----
 packages/core/src/builtin-marketing-workflow-ir.ts |  9 ++++++---
 packages/core/src/builtin-workflows.ts             | 16 ++++++++++++++--
 7 files changed, 64 insertions(+), 14 deletions(-)

Fusion-Task-Id: FN-6906
Fusion-Task-Lineage: 76f39350-e441-4dde-8571-35a6fbf6fcda
2026-06-21 23:15:46 -07:00
gsxdsm
edd79a87dc docs(workspace): Phase C plan — per-repo merge loop (U5/U6/U7), forks resolved 2026-06-21 23:15:38 -07:00
gsxdsm
7fd14eb88c FN-6907: rename task documents to artifacts
Rename the task-modal Documents tab to Artifacts and include task-scoped media outputs alongside task documents.

- Add shared artifact media rendering for global and task-local artifact cards.
- Surface image, video, audio, document, and generic artifacts in the task Artifacts tab.
- Update tab labels, empty states, counts, translations, tests, docs, and release notes for the Artifacts wording.

Files changed:
 .changeset/fn-6907-task-artifacts-tab.md           |   5 +
 docs/dashboard-guide.md                            |   5 +-
 .../dashboard/app/components/ArtifactMedia.tsx     |  55 +++++++
 .../dashboard/app/components/DocumentsView.tsx     |  47 +-----
 .../dashboard/app/components/TaskDetailModal.tsx   |   3 +-
 .../dashboard/app/components/TaskDocumentsTab.css  |  33 +++++
 .../dashboard/app/components/TaskDocumentsTab.tsx  | 109 ++++++++++++--
 .../TaskDetailModal.attachments-and-tabs.test.tsx  |   4 +-
 .../TaskDetailModal.definition-actions.test.tsx    |  20 +--
 .../components/__tests__/TaskDocumentsTab.test.tsx | 160 ++++++++++++++++++++-
 packages/i18n/locales/en/app.json                  |  16 ++-
 packages/i18n/locales/es/app.json                  |  16 ++-
 packages/i18n/locales/fr/app.json                  |  16 ++-
 packages/i18n/locales/ko/app.json                  |  16 ++-
 packages/i18n/locales/zh-CN/app.json               |  16 ++-
 packages/i18n/locales/zh-TW/app.json               |  16 ++-
 16 files changed, 436 insertions(+), 101 deletions(-)

Fusion-Task-Id: FN-6907

Fusion-Task-Lineage: a1318ed5-4d47-42f8-8b6c-fe91506e11fb
2026-06-21 23:07:55 -07:00
gsxdsm
f4d2fa2ece FN-6910: hide subtask quick-add behind experiment
Hide the AI subtask-breakdown quick-add action unless the experimental flag is explicitly enabled.

- Gate Subtask Breakdown callbacks from App on the default-off subtaskBreakdown experiment.
- Remove Subtask quick-add buttons from inline create and quick entry surfaces when no callback is wired.
- Add settings, quick-add, documentation, and changeset coverage for the new experiment toggle.

Files changed:
 .changeset/fn-6910-subtask-breakdown-flag.md       |  5 ++++
 docs/dashboard-guide.md                            |  2 +-
 packages/dashboard/app/App.tsx                     |  8 ++++---
 .../dashboard/app/components/InlineCreateCard.tsx  | 27 ++++++++++++----------
 .../dashboard/app/components/QuickEntryBox.tsx     | 27 ++++++++++++----------
 .../dashboard/app/components/SettingsModal.tsx     |  2 ++
 .../components/__tests__/InlineCreateCard.test.tsx | 13 +++++++++++
 .../components/__tests__/QuickEntryBox.test.tsx    | 12 ++++++++++
 .../components/__tests__/SettingsModal.test.tsx    | 13 +++++++++++
 9 files changed, 81 insertions(+), 28 deletions(-)

Fusion-Task-Id: FN-6910

Fusion-Task-Lineage: a7738b1f-7b41-438d-bd94-79ef56928262
2026-06-21 23:02:16 -07:00
gsxdsm
0367fa54d9 docs(workspace): Phase B implementation plan (U3/U4) 2026-06-21 22:44:53 -07:00
gsxdsm
7034b55288 FN-6887: add footer terminal launcher
Move terminal access from the header into a footer launcher and resizable bottom panel.

- Add a TerminalLauncher footer control with dock, resize, collapse, and pop-out affordances.
- Extend TerminalModal to support bottom-panel layout, drag resizing, and persistent panel state.
- Remove terminal/script controls from header overflow while preserving compact Mailbox and tool ordering.
- Update executor footer spacing, dashboard docs, changeset, and focused terminal/header tests.

Files changed:
 .changeset/fn-6887-terminal-footer-panel.md        |   5 +
 docs/dashboard-guide.md                            |   2 +
 packages/dashboard/app/App.tsx                     |   6 +-
 .../app/__tests__/tablet-header-controls.test.tsx  |  95 +---
 .../dashboard/app/components/ExecutorStatusBar.css |   8 +
 .../dashboard/app/components/ExecutorStatusBar.tsx |  27 +-
 packages/dashboard/app/components/Header.css       |  27 -
 packages/dashboard/app/components/Header.tsx       | 549 +--------------------
 .../dashboard/app/components/TerminalLauncher.css  | 180 +++++++
 .../dashboard/app/components/TerminalLauncher.tsx  | 306 ++++++++++++
 .../dashboard/app/components/TerminalModal.css     | 117 +++++
 .../dashboard/app/components/TerminalModal.tsx     | 360 +++++++++++++-
 .../__tests__/ExecutorStatusBar.test.tsx           |  52 +-
 .../app/components/__tests__/Header.test.tsx       | 304 ++----------
 .../components/__tests__/TerminalLauncher.test.tsx |  57 +++
 .../components/__tests__/TerminalModal.test.tsx    | 111 +++++
 16 files changed, 1282 insertions(+), 924 deletions(-)

Fusion-Task-Id: FN-6887

Fusion-Task-Lineage: 755f28b1-1ba5-43f8-b13c-264e31507658
2026-06-21 22:43:34 -07:00
gsxdsm
8f4897d3aa FN-6905: add build preflight to velocity measurement
Add a non-measured build setup step so velocity baselines do not misclassify missing dist artifacts as lane time.

- Run a default `pnpm build` preflight before measured test velocity lanes, with an explicit skip flag for pre-built CI.
- Add injectable command-runner coverage for preflight ordering, failure reporting, and skip behavior.
- Document the preflight behavior in the generated baseline report and testing docs.

Files changed:
 docs/test-velocity-baseline.md                    |   2 +
 docs/testing.md                                   |   4 +-
 scripts/__tests__/test-velocity-baseline.test.mjs | 159 ++++++++++++++++++++++
 scripts/test-velocity-baseline.mjs                |  38 +++++-
 4 files changed, 195 insertions(+), 8 deletions(-)

Fusion-Task-Id: FN-6905

Fusion-Task-Lineage: 3016a542-4395-4d06-9f2e-1a91f4939e07
2026-06-21 22:29:13 -07:00