gsxdsm
38891bfd81
FN-8296: add chat-requested task verification
...
Enable chat agents to queue and monitor executor-owned verification runs.
- Persist task verification requests through a new PostgreSQL migration.
- Expose action-gated chat request and status tools with executor processing.
- Show verification status in task and Command Center views.
- Advance the schema baseline to migration 0024 and keep chat mocks complete.
Files changed:
.changeset/fn-8296-feature.md | 7 ++
docs/agent-tool-surface-full-loop.md | 10 +--
docs/dashboard-guide.md | 4 +
packages/core/src/index.ts | 2 +
.../core/src/postgres/migrations/0000_initial.sql | 20 +++++
.../migrations/0024_task_verification_request.sql | 20 +++++
packages/core/src/postgres/schema-applier.ts | 13 ++-
packages/core/src/postgres/schema/project.ts | 25 ++++++
packages/core/src/store.ts | 16 +++-
packages/core/src/task-store/reads.ts | 14 +++-
packages/core/src/task-store/remaining-ops-6.ts | 49 ++++++++++-
packages/core/src/types.ts | 30 +++++++
packages/dashboard/app/api/legacy.ts | 1 +
packages/dashboard/app/api/task-content.ts | 10 +++
.../dashboard/app/components/TaskDetailModal.tsx | 17 +++-
.../app/components/TaskVerificationStatus.css | 94 ++++++++++++++++++++++
.../app/components/TaskVerificationStatus.tsx | 39 +++++++++
.../__tests__/TaskVerificationStatus.test.tsx | 28 +++++++
.../components/command-center/CommandCenter.css | 33 ++++++++
.../components/command-center/CommandCenter.tsx | 37 ++++++++-
packages/dashboard/src/__tests__/chat.test.ts | 1 +
packages/dashboard/src/chat.ts | 55 +++++++++++++
.../src/routes/register-command-center-routes.ts | 20 +++++
.../src/routes/register-task-workflow-routes.ts | 17 ++++
packages/engine/src/executor.ts | 51 +++++++++++-
packages/engine/src/gating-classifications.ts | 5 ++
packages/engine/src/index.ts | 2 +-
27 files changed, 605 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-8296
Fusion-Task-Lineage: f94647cf-c89f-4f0e-b25f-cbf5b56683bc
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 18:38:47 -07:00
gsxdsm
e2b5532290
FN-8288: add native structure preview foundation
...
Provide reusable, typed previews for native dashboard structures.
- Define five-kind native structure references and preview payloads.
- Add project-scoped preview resolution API with unavailable states and capped excerpts.
- Add a callback-driven inline preview card, tests, documentation, and release note.
Files changed:
.changeset/fn-8288-native-structure-preview.md | 7 ++
docs/dashboard-guide.md | 4 +
packages/core/src/index.gate.ts | 2 +-
packages/core/src/index.ts | 1 +
packages/core/src/types.ts | 54 ++++++++++
packages/dashboard/app/api/legacy.ts | 1 +
packages/dashboard/app/api/task-content.ts | 13 ++-
.../app/components/NativeStructurePreview.css | 61 +++++++++++
.../app/components/NativeStructurePreview.tsx | 115 +++++++++++++++++++++
.../__tests__/NativeStructurePreview.test.tsx | 102 ++++++++++++++++++
packages/dashboard/src/native-structure-preview.ts | 88 ++++++++++++++++
.../native-structure-preview-routes.test.ts | 102 ++++++++++++++++++
.../src/routes/register-task-workflow-routes.ts | 23 +++++
13 files changed, 571 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-8288
Fusion-Task-Lineage: 1a4ce369-9f9e-4a45-b533-2d53b5f1020c
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 18:11:02 -07:00
gsxdsm
4cc8002c97
FN-8341: rework planning interviews for reactive validation
...
Make planning interviews user-controlled and context-aware from validation through task creation.
- Replace fixed-depth and deepening checkpoints with reactive follow-up questions
- Add explicit planning validation and require it before creating or breaking down work
- Expose validation through the API, CLI, routes, types, documentation, and release notes
- Update localized copy and PlanningModeModal mocks and assertions for the revised workflow
Files changed:
.changeset/fn-8341-deepening-checkpoint-removal.md | 7 +
.changeset/fn-8341-planning-reactive-backend.md | 7 +
docs/dashboard-guide.md | 8 +-
packages/cli/src/commands/task.ts | 12 +-
packages/core/src/index.gate.ts | 2 +-
packages/core/src/index.ts | 2 +-
packages/core/src/types.ts | 38 +-
packages/dashboard/app/api/legacy.ts | 15 +-
.../dashboard/app/components/PlanningModeModal.tsx | 192 +-----
.../__tests__/PlanningModeModal.autosize.test.tsx | 4 +
.../__tests__/PlanningModeModal.initial.test.tsx | 50 +-
.../PlanningModeModal.planning-flow.test.tsx | 442 +------------
.../__tests__/PlanningModeModal.test-helpers.ts | 1 +
.../PlanningModeModal.ui-interactions.test.tsx | 3 +
.../__tests__/planning-infinite-interview.test.ts | 221 +++++++
packages/dashboard/src/planning.ts | 711 ++++++---------------
.../src/routes/register-planning-subtask-routes.ts | 64 +-
packages/i18n/locales/en/app.json | 1 -
packages/i18n/locales/es/app.json | 1 -
packages/i18n/locales/fr/app.json | 1 -
packages/i18n/locales/ko/app.json | 1 -
packages/i18n/locales/zh-CN/app.json | 1 -
packages/i18n/locales/zh-TW/app.json | 1 -
23 files changed, 536 insertions(+), 1249 deletions(-)
Fusion-Task-Id: FN-8341
Fusion-Task-Lineage: 102f88af-2675-43f5-8e08-5403a0e17da8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 17:53:20 -07:00
gsxdsm
7e7c3c999b
FN-8317: add reviewed report screenshots and activity traces
...
Capture optional report context while preserving scrubbed text-first filing.\n\n- Add browser screenshot capture, review, validation, and compensating upload cleanup.\n- Include bounded activity traces in report drafts and filing flows.\n- Preserve roadmap deduplication and document report privacy behavior.\n\nFiles changed:\n .changeset/fn-8317-report-context.md | 7 +
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/api/report.ts | 15 +-
packages/dashboard/app/components/ReportModal.css | 5 +-
packages/dashboard/app/components/ReportModal.tsx | 52 +++----
.../app/components/__tests__/ReportModal.test.tsx | 14 ++
packages/dashboard/app/hooks/useViewState.ts | 7 +
.../app/utils/__tests__/report-capture.test.ts | 17 +++
packages/dashboard/app/utils/report-capture.ts | 47 +++++++
packages/dashboard/package.json | 1 -
.../src/__tests__/report-pipeline.test.ts | 100 +++++++++++++-
.../dashboard/src/__tests__/report-routes.test.ts | 17 +++
.../dashboard/src/__tests__/report-scrub.test.ts | 8 ++
packages/dashboard/src/github.ts | 107 +++++++++++++++
packages/dashboard/src/report-pipeline.ts | 152 ++++++++++++++++-----
packages/dashboard/src/report-scrub.ts | 8 ++
.../dashboard/src/routes/register-report-routes.ts | 103 ++++++--------
pnpm-lock.yaml | 129 +++++++++--------
18 files changed, 590 insertions(+), 203 deletions(-)
Fusion-Task-Id: FN-8317
Fusion-Task-Lineage: 9d200cee-cf69-4827-9e1e-f7789adf09e0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 17:06:34 -07:00
gsxdsm
c95e08ea21
FN-8297: add research finding promotion to mission features
...
Bridge completed research findings into durable mission roadmap features.
- Persist stable finding and citation provenance on mission features
- Add idempotent promotion APIs, dashboard controls, and agent tooling
- Document the promotion flow and cover finding identity and feature synchronization
Files changed:
.changeset/fn-8297-research-mission-bridge.md | 7 ++++
docs/missions.md | 4 +++
docs/research.md | 4 +++
.../__tests__/research-finding-identity.test.ts | 15 +++++++++
packages/core/src/async-mission-store-queries.ts | 26 +++++++++++++++
packages/core/src/async-mission-store.ts | 16 +++++++++
packages/core/src/index.gate.ts | 3 ++
packages/core/src/index.ts | 3 ++
packages/core/src/mission-types.ts | 13 ++++++++
.../core/src/postgres/migrations/0000_initial.sql | 4 +++
.../0023_research_feature_provenance.sql | 8 +++++
packages/core/src/postgres/schema-applier.ts | 13 +++++++-
packages/core/src/postgres/schema/project.ts | 5 +++
packages/core/src/research-feature-promotion.ts | 38 ++++++++++++++++++++++
packages/core/src/research-types.ts | 21 ++++++++++++
packages/core/src/types.ts | 1 +
packages/dashboard/app/api/legacy.ts | 21 ++++++++++++
packages/dashboard/app/components/ResearchView.tsx | 19 ++++++-----
packages/dashboard/app/hooks/useResearch.ts | 3 ++
packages/dashboard/src/chat.ts | 4 +--
packages/dashboard/src/research-routes.ts | 37 +++++++++++++++++----
.../src/__tests__/agent-mission-tools.test.ts | 14 +++++++-
.../src/__tests__/mission-feature-sync.test.ts | 20 ++++++++++++
packages/engine/src/agent-tools.ts | 26 +++++++++++++++
packages/engine/src/mission-feature-sync.ts | 1 +
25 files changed, 308 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-8297
Fusion-Task-Lineage: ffef4d26-1372-466a-8d3d-2b9b5cc9a53b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 16:18:15 -07:00
gsxdsm
1215c76d9a
FN-8326: add roadmap report deduplication
...
Add an optional public-roadmap source for report deduplication.
- Add project settings and localized controls for roadmap matching.
- Resolve roadmap entries through the plugin API and stop strong duplicate reports before filing.
- Cover report pipeline, route, UI, and roadmap store behavior with tests.
Files changed:
.changeset/fn-8326-roadmap-report-dedup.md | 7 +++
docs/dashboard-guide.md | 2 +
docs/settings-reference.md | 1 +
.../core/src/__tests__/settings-parity.test.ts | 3 +
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 6 ++
packages/dashboard/app/components/ReportModal.tsx | 11 +++-
.../app/components/__tests__/ReportModal.test.tsx | 14 +++++
.../__tests__/SettingsModal.general.test.tsx | 2 +
.../settings/sections/GeneralSection.tsx | 10 ++++
.../settings-default-descriptions.test.tsx | 1 +
.../src/__tests__/report-pipeline.test.ts | 31 +++++++++++
.../src/__tests__/report-roadmap-source.test.ts | 32 +++++++++++
.../dashboard/src/__tests__/report-routes.test.ts | 27 +++++++--
packages/dashboard/src/index.ts | 1 +
packages/dashboard/src/report-pipeline.ts | 36 +++++++++++-
packages/dashboard/src/report-roadmap-source.ts | 64 ++++++++++++++++++++++
.../dashboard/src/routes/register-report-routes.ts | 3 +
packages/i18n/locales/en/app.json | 10 +++-
packages/i18n/locales/es/app.json | 10 +++-
packages/i18n/locales/fr/app.json | 10 +++-
packages/i18n/locales/ko/app.json | 10 +++-
packages/i18n/locales/zh-CN/app.json | 10 +++-
packages/i18n/locales/zh-TW/app.json | 10 +++-
.../src/__tests__/roadmap-store-factory.test.ts | 25 +++++++++
.../src/routes/roadmap-routes.ts | 24 +-------
plugins/fusion-plugin-roadmap/src/server/index.ts | 34 ++++++++++++
27 files changed, 360 insertions(+), 35 deletions(-)
Fusion-Task-Id: FN-8326
Fusion-Task-Lineage: e9731c3f-dd92-44ac-910b-0e0efbaaf288
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 14:23:14 -07:00
gsxdsm
589e2503a9
docs(FN-8280): index agent tool-surface audit
2026-07-18 14:21:41 -07:00
gsxdsm
bcdad279d7
FN-8289: add feature-video review artifacts
...
Add gated local feature-video capture to completed user-facing deliverables.
- Capture loopback scenario WebM recordings through the existing artifact registry.
- Keep recording failures non-blocking and cover gated, unsafe, and failed capture paths.
- Document the scenario contract and package the Playwright runtime dependency.
Files changed:
.changeset/fn-8289-feature-video.md | 7 +
docs/workflow-steps.md | 8 +
packages/cli/package.json | 3 +-
packages/cli/tsup.config.ts | 7 +
packages/engine/package.json | 3 +-
.../__tests__/executor-review-artifacts.test.ts | 44 ++++
packages/engine/src/executor.ts | 33 +++
.../src/review-artifacts/feature-video.test.ts | 75 +++++++
.../engine/src/review-artifacts/feature-video.ts | 226 +++++++++++++++++++++
packages/engine/src/review-artifacts/index.ts | 10 +
pnpm-lock.yaml | 6 +
11 files changed, 420 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-8289
Fusion-Task-Lineage: 8a34675a-2417-4669-a14a-b74c4aa99331
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 13:53:58 -07:00
gsxdsm
02ee8a4fd5
fix: hide stale task-card oversight icons ( #2318 )
...
## Summary
Task cards now remove the overseer eye as soon as their workflow's
effective oversight becomes `off`, instead of reusing an active value
cached before the setting changed.
The invalidation covers card remounts as well as mounted cards, and
authoritative writes from the dashboard, agents, and configuration
rollback reach the board through the existing project-scoped SSE stream.
Older in-flight responses cannot restore the eye after a newer `off`
value wins, while unrelated workflow-setting saves leave active
indicators undisturbed.
## Validation
- 99 focused dashboard regression tests passed across selected and
aggregate cards, desktop and mobile, SSE delivery, and out-of-order
responses
- Core and dashboard typechecks passed
- `pnpm lint` and `pnpm check:changesets` passed
- `pnpm verify:fast` passed production builds and the CLI/server boot
smoke
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Planner-overseer eye badges now disappear immediately when workflow
oversight is turned off.
- Prevented stale or out-of-order updates from displaying incorrect
oversight status.
- Oversight indicators now remain hidden when the effective setting
cannot be confirmed.
- Live workflow setting changes now update task cards without requiring
a page refresh.
- **Documentation**
- Clarified eye badge visibility rules, tooltip meaning, and active
oversight states in the dashboard guide.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-18 13:50:58 -07:00
gsxdsm
e0d2fd6085
FN-8332: preserve planning session progress after reload
...
Restore persisted Planning Mode sessions without starting a new generation.
- Limit automatic retries to generations started by the current mounted UI
- Render saved questions, summaries, thinking, and errors with manual retry after reload or resume
- Cover desktop, mobile, stream, and polling recovery paths and document the behavior
- Add a patch changeset for the published package
Files changed:
.changeset/fn-8332-planning-reload-resume.md | 7 +
docs/dashboard-guide.md | 4 +-
.../dashboard/app/components/PlanningModeModal.tsx | 36 ++++-
.../PlanningModeModal.planning-flow.test.tsx | 175 +++++++++++++++++----
4 files changed, 180 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-8332
Fusion-Task-Lineage: 6b128dc3-a091-4e81-bc6a-9c541d8e4cf5
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 13:32:33 -07:00
gsxdsm
d51ce46db5
FN-8295: add persisted ideation mission handoffs
...
Persist bounded ideation sessions through agent tools, the Command Center, and atomic Mission convergence.
- Store ideation sessions and divergent candidates in PostgreSQL with async APIs and migration support.
- Expose gated ideation tools, chat routes, and agent lifecycle integration.
- Add the Ideation panel, documentation, release metadata, and regression coverage.
Files changed:
.changeset/fn-8295-ideation-diverge-converge.md | 7 ++
docs/ideation/persisted-diverge-converge.md | 22 ++++
docs/missions.md | 4 +
.../__tests__/postgres/ideation-store.pg.test.ts | 57 +++++++++
packages/core/src/async-ideation-store-queries.ts | 117 +++++++++++++++++
packages/core/src/async-ideation-store.ts | 138 +++++++++++++++++++++
packages/core/src/async-mission-store.ts | 27 ++--
packages/core/src/ideation-types.ts | 69 +++++++++++
packages/core/src/index.ts | 3 +
.../core/src/postgres/migrations/0022_ideation.sql | 67 ++++++++++
packages/core/src/postgres/schema-applier.ts | 18 ++-
packages/core/src/postgres/schema/project.ts | 49 +++++++-
packages/core/src/store.ts | 8 +-
packages/core/src/task-store/remaining-ops-8.ts | 14 +++
.../components/command-center/CommandCenter.tsx | 7 +-
.../components/command-center/IdeationPanel.css | 18 +++
.../components/command-center/IdeationPanel.tsx | 58 +++++++++
.../__tests__/CommandCenter.test.tsx | 6 +-
.../dashboard/src/__tests__/chat-manager.test.ts | 1 +
packages/dashboard/src/__tests__/chat.test.ts | 1 +
.../__tests__/ideation-tool-route-parity.test.ts | 29 +++++
packages/dashboard/src/chat.ts | 4 +
packages/dashboard/src/ideation-routes.ts | 50 ++++++++
.../src/routes/register-integrated-routers.ts | 2 +
.../src/__tests__/agent-ideation-tools.test.ts | 40 ++++++
.../src/__tests__/gating-classifications.test.ts | 16 +++
.../src/__tests__/permanent-agent-gating.test.ts | 2 +
packages/engine/src/agent-heartbeat.ts | 4 +-
packages/engine/src/agent-tools.ts | 67 ++++++++++
packages/engine/src/executor.ts | 2 +
packages/engine/src/gating-classifications.ts | 8 ++
packages/engine/src/index.ts | 1 +
packages/engine/src/triage.ts | 2 +
33 files changed, 897 insertions(+), 21 deletions(-)
Fusion-Task-Id: FN-8295
Fusion-Task-Lineage: 1b8b0752-22bd-4b2f-aebd-4305c63abcf9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 13:18:08 -07:00
gsxdsm
13f936eb7b
FN-8286: add review artifact controls and galleries
...
Add configurable review-deliverable policies and surface eligible artifacts in review workflows.
- Add project and PROMPT.md review-artifact modes with task eligibility enforcement.
- Display video and live-demo deliverables in Task Review and Command Center galleries.
- Document, localize, and test the new review-artifact controls.
Files changed:
.changeset/fn-8286-review-artifacts.md | 7 ++
docs/settings-reference.md | 1 +
.../core/src/__tests__/review-artifacts.test.ts | 53 +++++++++++++++
.../core/src/__tests__/settings-parity.test.ts | 5 ++
packages/core/src/index.ts | 4 +-
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 75 ++++++++++++++++++++++
packages/core/src/types/execution-and-ui.ts | 8 +++
.../dashboard/app/components/TaskReviewTab.tsx | 28 +++++++-
.../__tests__/SettingsModal.general.test.tsx | 8 +++
.../components/__tests__/TaskReviewTab.test.tsx | 27 ++++++++
.../components/command-center/CommandCenter.tsx | 5 ++
.../command-center/areas/ReviewArtifactsArea.tsx | 59 +++++++++++++++++
.../areas/__tests__/ReviewArtifactsArea.test.tsx | 39 +++++++++++
.../app/components/settings/section-keys.ts | 1 +
.../settings/sections/GeneralSection.tsx | 20 ++++++
.../settings-default-descriptions.test.tsx | 1 +
.../src/__tests__/agent-artifact-tools.test.ts | 19 +++++-
packages/engine/src/agent-tools.ts | 26 ++++++++
packages/i18n/locales/en/app.json | 7 ++
packages/i18n/src/resources.d.ts | 7 ++
21 files changed, 397 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-8286
Fusion-Task-Lineage: 357ccbe3-510d-4ffd-ba7c-6bf79fe40a09
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 13:09:38 -07:00
gsxdsm
551074537f
FN-8331: require planning interview before summaries
...
Ensure Planning Mode collects mandatory user context before it can generate a plan.
- Reject and re-prompt first-turn completion responses until a clarifying question is available.
- Preserve the interview invariant for streaming sessions and legacy session rehydration.
- Update Planning Mode defaults, documentation, regression coverage, and release metadata.
Files changed:
.changeset/fn-8331-planning-interview.md | 7 +
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 2 +-
.../dashboard/app/components/PlanningModeModal.tsx | 10 +-
.../PlanningModeModal.planning-flow.test.tsx | 4 +-
.../src/__tests__/routes-planning.test.ts | 120 ++++++++++++++++-
packages/dashboard/src/planning.ts | 145 ++++++++++++++-------
7 files changed, 233 insertions(+), 57 deletions(-)
Fusion-Task-Id: FN-8331
Fusion-Task-Lineage: 6fc98f2e-f263-4830-b88c-e52d1ba6551f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 13:01:35 -07:00
gsxdsm
500275ac0c
FN-8311: capture report activity context safely
...
Keep report traces useful while preserving local-only screenshot retention.
- Record report submissions, toast messages, and uncaught client errors in bounded report context
- Preserve single-upload screenshot artifacts across draft review and filing
- Document report-context capture and add a release changeset
Files changed:
.changeset/fn-8311-report-context.md | 7 +++++++
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/App.tsx | 11 ++++++++++-
packages/dashboard/app/components/ReportModal.tsx | 1 +
4 files changed, 19 insertions(+), 2 deletions(-)
Fusion-Task-Id: FN-8311
Fusion-Task-Lineage: bca77264-7607-45d6-99f0-a83a4ba6631d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 12:57:04 -07:00
gsxdsm
88b0db0f4d
FN-8309: add report screenshot and activity capture
...
Add opt-in local screenshot attachments and scrubbed activity traces to reports.
- Capture, preview, confirm, and locally retain report screenshots without GitHub egress.
- Include bounded activity traces in draft and filing context with server-side validation.
- Add report pipeline coverage, documentation, and release metadata.
Files changed:
.changeset/fn-8309-report-capture.md | 7 ++
docs/dashboard-guide.md | 2 +
packages/dashboard/app/App.tsx | 10 ++
packages/dashboard/app/api/report.ts | 16 ++-
packages/dashboard/app/components/ReportModal.css | 3 +
packages/dashboard/app/components/ReportModal.tsx | 45 ++++++-
.../app/utils/__tests__/activity-trace.test.ts | 19 +++
packages/dashboard/app/utils/activity-trace.ts | 37 ++++++
packages/dashboard/app/utils/capture-screenshot.ts | 22 ++++
packages/dashboard/package.json | 5 +-
.../src/__tests__/report-pipeline.test.ts | 13 +++
packages/dashboard/src/report-pipeline.ts | 29 ++++-
packages/dashboard/src/routes.ts | 2 +-
.../dashboard/src/routes/register-report-routes.ts | 85 +++++++++++++-
packages/dashboard/src/routes/types.ts | 4 +-
pnpm-lock.yaml | 129 ++++++++++-----------
16 files changed, 341 insertions(+), 87 deletions(-)
Fusion-Task-Id: FN-8309
Fusion-Task-Lineage: db9c14a6-1721-4e81-8891-cfd301473cd0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 12:41:42 -07:00
gsxdsm
d5db5fd58d
FN-8304: detect foreign issue-form content for translation
...
Recognize foreign GitHub and GitLab issue-form prose so import translation remains available.
- Remove issue-form scaffolding before content-language scoring.
- Identify Czech as unsupported foreign Latin content and offer translation.
- Cover automatic and manual translation paths with issue-form fixtures.
- Document the expanded import translation behavior and add a patch changeset.
Files changed:
.changeset/fn-8304-issue-form-translation.md | 7 ++
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 2 +-
packages/core/src/detect-content-language.ts | 66 ++++++++++--
.../__tests__/GitHubImportAutoTranslate.test.tsx | 42 +++++++-
.../utils/__tests__/detectContentLanguage.test.ts | 120 +++++++++++++++++++++
.../src/__tests__/import-translate-service.test.ts | 56 ++++++++++
7 files changed, 284 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-8304
Fusion-Task-Lineage: ef6ca70c-aa67-40ff-a23a-077940b5a5f0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 12:32:07 -07:00
gsxdsm
d593d87686
feat(FN-8064): make proactive task chat optional
...
Fusion-Task-Id: FN-8064
2026-07-18 12:21:08 -07:00
gsxdsm
9debeaa951
FN-8300: show planner activity on status-null cards
...
Keep planning cards visibly active while fresh planner logs precede authoritative task status updates.
- Track bounded client-only planner activity from fresh triage log events
- Render matching pulsing Planning badges in board and list card views
- Cover transient activity, authoritative clearing, and inactive edge cases
Files changed:
docs/dashboard-guide.md | 2 +
packages/core/src/types.ts | 6 +++
packages/dashboard/app/components/ListView.tsx | 26 ++++++++---
packages/dashboard/app/components/TaskCard.tsx | 20 +++++---
.../app/components/__tests__/ListView.test.tsx | 38 +++++++++++++++
.../app/components/__tests__/TaskCard.test.tsx | 19 +++++++-
.../dashboard/app/hooks/__tests__/useTasks.test.ts | 54 ++++++++++++++++++++++
packages/dashboard/app/hooks/useTasks.ts | 44 +++++++++++++-----
.../app/utils/__tests__/taskActivity.test.ts | 22 ++++++++-
packages/dashboard/app/utils/taskActivity.ts | 15 +++++-
10 files changed, 219 insertions(+), 27 deletions(-)
Fusion-Task-Id: FN-8300
Fusion-Task-Lineage: e12f1277-5628-45a1-b731-54310027540e
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 12:13:20 -07:00
gsxdsm
3568a86a66
FN-8284: add organization portability controls
...
Add Command Center tools for safe organization portability and configuration recovery.
- Register project-scoped organization export/import and revision rollback routes.
- Add localized, responsive Command Center controls for bundle preview, import, and rollback.
- Invalidate stale dry-run responses and retain only the exact previewed bundle for import.
- Cover portability routes and editing-during-preview behavior with tests.
Files changed:
docs/dashboard-guide.md | 2 +
.../command-center/CommandCenterControls.tsx | 3 +
.../command-center/OrgPortabilityControls.css | 81 +++++++++
.../command-center/OrgPortabilityControls.tsx | 184 +++++++++++++++++++++
.../__tests__/CommandCenter.mobile-scroll.test.tsx | 2 +
.../__tests__/OrgPortabilityControls.test.tsx | 94 +++++++++++
packages/dashboard/src/routes.ts | 2 +
.../register-org-portability-routes.test.ts | 109 ++++++++++++
.../src/routes/register-org-portability-routes.ts | 129 +++++++++++++++
packages/i18n/locales/en/app.json | 37 +++++
10 files changed, 643 insertions(+)
Fusion-Task-Id: FN-8284
Fusion-Task-Lineage: 1fa06550-8064-417f-a8d0-40f693206404
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 12:06:00 -07:00
gsxdsm
baa1baff9f
FN-8283: add secret-scrubbed organization bundle CLI
...
Add portable, secret-scrubbed organization export and import workflows.
- Assemble agents, raw skills, routines, automations, and settings into versioned bundles.
- Add org-export and org-import CLI commands with dry-run and collision controls.
- Preserve existing skills by default or materialize suffixed destinations, with CLI coverage.
Files changed: .changeset/fn-8283-org-bundle.md | 7 +
docs/cli-reference.md | 9 ++
docs/secrets.md | 10 ++
packages/cli/src/__tests__/bin.test.ts | 17 ++
packages/cli/src/bin.ts | 26 ++-
.../cli/src/commands/__tests__/org-export.test.ts | 30 ++++
.../cli/src/commands/__tests__/org-import.test.ts | 31 ++++
packages/cli/src/commands/org-export.ts | 19 +++
packages/cli/src/commands/org-import.ts | 18 +++
packages/core/src/__tests__/org-bundle.test.ts | 69 ++++++++
packages/core/src/index.ts | 17 ++
packages/core/src/org-bundle.ts | 176 +++++++++++++++++++++
12 files changed, 428 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-8283
Fusion-Task-Lineage: 93877746-8e57-4c79-bdbe-8e4ec7a2efe6
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 11:49:11 -07:00
gsxdsm
bcb1256d6b
FN-8282: add configuration revision history and rollback
...
Record configuration revisions so prior settings can be restored safely.
- Add revision storage interfaces, PostgreSQL schema, migration, and pruning.
- Capture changes to global settings, routines, automations, and async task settings.
- Expose revision listing and restore operations with coverage and storage documentation.
Files changed:
.changeset/fn-8282-config-versioning.md | 7 +
docs/storage.md | 6 +
.../__tests__/configuration-revision-store.test.ts | 26 +++
.../src/__tests__/postgres/schema-applier.test.ts | 15 +-
.../core/src/async-configuration-revision-store.ts | 192 +++++++++++++++++++++
packages/core/src/automation-store.ts | 88 +++++++++-
packages/core/src/configuration-revision-store.ts | 33 ++++
packages/core/src/global-settings.ts | 172 +++++++++++++++++-
packages/core/src/index.gate.ts | 3 +
packages/core/src/index.ts | 3 +
.../migrations/0021_configuration_revisions.sql | 40 +++++
packages/core/src/postgres/schema-applier.ts | 19 +-
packages/core/src/postgres/schema/project.ts | 27 +++
packages/core/src/routine-store.ts | 103 ++++++++++-
packages/core/src/store.ts | 21 ++-
packages/core/src/task-store/async-settings.ts | 14 +-
packages/core/src/task-store/remaining-ops-2.ts | 86 ++++++++-
packages/core/src/task-store/settings-ops.ts | 104 +++++++----
packages/core/src/types.ts | 36 ++++
packages/engine/src/agent-tools.ts | 7 +-
20 files changed, 928 insertions(+), 74 deletions(-)
Fusion-Task-Id: FN-8282
Fusion-Task-Lineage: fd681798-10b0-47ce-b96b-6f33eecdf70a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 11:34:42 -07:00
gsxdsm
e8c37b076e
FN-8277: add in-app agentic reporting
...
Add guided in-app reporting that safely files or endorses GitHub issues and discussions.
- Add report actions, modal UI, API routes, and configurable per-action filing modes.
- Scrub report payloads, self-check Help requests, and deduplicate before filing or endorsing.
- Extend GitHub discussion support and cover the report pipeline with tests and documentation.
Files changed:
.changeset/fn-8277-agentic-reports.md | 7 +
docs/dashboard-guide.md | 8 +
docs/settings-reference.md | 2 +
.../core/src/__tests__/settings-parity.test.ts | 9 +
packages/core/src/index.gate.ts | 2 +-
packages/core/src/index.ts | 2 +-
packages/core/src/settings-schema.ts | 2 +
packages/core/src/types.ts | 10 +
packages/dashboard/app/api.ts | 1 +
packages/dashboard/app/api/report.ts | 11 +
packages/dashboard/app/components/Header.tsx | 30 +++
.../dashboard/app/components/ReportActionMenu.css | 6 +
.../dashboard/app/components/ReportActionMenu.tsx | 22 ++
packages/dashboard/app/components/ReportModal.css | 6 +
packages/dashboard/app/components/ReportModal.tsx | 81 ++++++++
.../app/components/__tests__/Header.test.tsx | 7 +-
.../components/__tests__/ReportActionMenu.test.tsx | 18 ++
.../app/components/__tests__/ReportModal.test.tsx | 94 +++++++++
.../__tests__/SettingsModal.general.test.tsx | 15 ++
.../settings/sections/GeneralSection.tsx | 31 ++-
.../src/__tests__/report-pipeline.test.ts | 127 ++++++++++++
.../dashboard/src/__tests__/report-routes.test.ts | 51 +++++
.../dashboard/src/__tests__/report-scrub.test.ts | 47 +++++
packages/dashboard/src/github.ts | 151 +++++++++++++-
packages/dashboard/src/index.ts | 3 +
packages/dashboard/src/report-help-selfcheck.ts | 13 ++
packages/dashboard/src/report-pipeline.ts | 225 +++++++++++++++++++++
packages/dashboard/src/report-scrub.ts | 66 ++++++
packages/dashboard/src/routes.ts | 2 +
.../dashboard/src/routes/register-report-routes.ts | 118 +++++++++++
30 files changed, 1156 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-8277
Fusion-Task-Lineage: d50dc1da-7534-4324-ab05-1f8a0ad77c6a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 10:55:50 -07:00
gsxdsm
8d1620ea23
FN-8294: expose action-gated Mission hierarchy tools
...
Expose project-scoped Mission hierarchy operations to engine agents and eligible dashboard chat sessions.
- Add Mission, milestone, slice, and feature tool definitions backed by MissionStore
- Classify hierarchy mutations for action and permanent-agent approval gates
- Wire gated tool access through triage, executor, heartbeat, CLI, and chat lanes
- Cover tool availability, mutation gating, and chat integration with tests and documentation
Files changed:
.changeset/fn-8294-mission-engine-tools.md | 7 ++
docs/missions.md | 8 ++
packages/cli/src/extension.ts | 2 +-
.../dashboard/src/__tests__/chat-manager.test.ts | 48 +++++++++
packages/dashboard/src/__tests__/chat.test.ts | 1 +
packages/dashboard/src/chat.ts | 113 ++++++++++++++++++++-
.../src/__tests__/agent-mission-tools.test.ts | 43 ++++++++
packages/engine/src/__tests__/triage.test.ts | 34 ++++++-
packages/engine/src/agent-heartbeat.ts | 4 +-
packages/engine/src/agent-tools.ts | 64 ++++++++++++
packages/engine/src/executor.ts | 2 +
packages/engine/src/gating-classifications.ts | 11 ++
packages/engine/src/index.ts | 17 ++++
packages/engine/src/triage.ts | 111 ++++++++++++++++++++
14 files changed, 457 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-8294
Fusion-Task-Lineage: ab0f248b-8a38-40e3-b297-79f9dbe18075
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 10:31:59 -07:00
gsxdsm
a6f1ed07e2
FN-8287: unify task-detail action button sizing
...
Standardize task-detail inline action controls across themes.
- Apply shared tokenized square sizing, borders, and radii to all inline metadata actions.
- Add a regression test for the common sizing rule and document the control cluster.
- Add a patch changeset for consistent task-detail action buttons.
Files changed:
.changeset/fn-8287-task-detail-button-sizes.md | 7 +++
docs/dashboard-guide.md | 2 +-
.../dashboard/app/components/TaskDetailModal.css | 73 ++++++++--------------
...etailModal.responsive-and-dependencies.test.tsx | 24 +++++++
4 files changed, 57 insertions(+), 49 deletions(-)
Fusion-Task-Id: FN-8287
Fusion-Task-Lineage: 21ce01e1-7443-4a41-8a7d-faaa2bcddb28
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 10:08:33 -07:00
gsxdsm
2b455672c6
FN-8275: clarify mission merge behavior
...
Clarify mission merge choices and surface shared branch status in mission detail.
- Explain auto-merge and single-pull-request behavior in mission forms
- Show mission-owned shared branch member and PR status
- Cover UI behavior and PostgreSQL triage auto-merge cascading
Files changed:
.changeset/fn-8275-mission-merge-summary.md | 7 ++
docs/missions.md | 2 +-
.../dashboard/app/components/MissionManager.tsx | 75 ++++++++++++++++++++++
.../__tests__/MissionManager.auto-merge.test.tsx | 64 ++++++++++++++++++
.../mission-auto-merge-cascade.pg.test.ts | 58 +++++++++++++++++
5 files changed, 205 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-8275
Fusion-Task-Lineage: cd259293-b68e-4bc5-803e-40d2287d8438
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 09:41:25 -07:00
gsxdsm
119fcedcfe
FN-8276: unify mobile board snap behavior
...
Make JavaScript the sole authority for mobile Kanban pan settlement.
- Suspend native proximity snapping while a user pan settles, then restore its inline baseline.
- Restore snapping after wheels with no horizontal scroll as well as pointer and touch completion.
- Document the unified magnetism behavior and cover restoration paths with hook tests.
Files changed:
.changeset/fn-8276-unify-board-magnetism.md | 7 +++
docs/dashboard-guide.md | 3 +-
.../hooks/__tests__/useColumnScrollSnap.test.ts | 53 +++++++++++++++--
.../dashboard/app/hooks/useColumnScrollSnap.ts | 66 ++++++++++++++++++++--
4 files changed, 119 insertions(+), 10 deletions(-)
Fusion-Task-Id: FN-8276
Fusion-Task-Lineage: 1ff3ae24-51e8-4c4f-aa5a-7a7b7c84d37c
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 09:05:51 -07:00
gsxdsm
88fd8f3e7a
FN-8280: document full-loop agent tool-surface plan
...
Document the current agent/chat build-loop surface, its gaps, and a safe delivery plan.
- Audit ideation, research, roadmap, execution, verification, and concurrency boundaries
- Define canonical-operation parity and guardrails for future tool exposure
- Link the audit from the agent tooling documentation
Files changed:
docs/agent-tool-surface-full-loop.md | 138 +++++++++++++++++++++++++++++++++++
docs/agents.md | 2 +-
2 files changed, 139 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-8280
Fusion-Task-Lineage: ff28e0f4-c934-40a4-b030-9541b74bb913
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 08:47:18 -07:00
gsxdsm
69e7a34077
FN-8273: add mission auto-merge overrides
...
Allow operators to override project auto-merge behavior for each mission.
- Add create and update API support for mission auto-merge overrides, including clearing inherited behavior.
- Expose inherited, auto-merge, and single-pull-request choices in all mission forms.
- Apply disabled mission auto-merge to newly triaged tasks and cover storage, API, and UI behavior.
- Document the override and add a CLI changeset.
Files changed:
.changeset/fn-8273-mission-auto-merge.md | 7 ++
docs/missions.md | 4 +
.../mission-store.sync-auto-merge.test.ts | 22 ++++
.../__tests__/postgres/mission-store.pg.test.ts | 35 ++++++
packages/core/src/async-mission-store.ts | 5 +
packages/core/src/mission-store.ts | 5 +
packages/dashboard/app/api/legacy.ts | 4 +-
.../dashboard/app/components/MissionManager.tsx | 55 +++++++++
.../__tests__/MissionManager.auto-merge.test.tsx | 132 +++++++++++++++++++++
packages/dashboard/app/components/mission-types.ts | 2 +
packages/dashboard/src/mission-routes.ts | 18 ++-
.../routes/__tests__/mission-autoMerge-e2e.test.ts | 66 +++++++++++
12 files changed, 351 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-8273
Fusion-Task-Lineage: d24d7c22-5a14-4446-b3e1-c35b2f0480c3
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 08:01:44 -07:00
gsxdsm
7c23771433
FN-8265: add task follow-up proposal creation
...
Enable configured ephemeral workers to propose and create follow-up tasks from mailbox messages.
- Add persisted task-proposal claim state, migrations, and async messaging APIs.
- Register task-proposal creation routes, SSE events, agent tool support, and CLI integration.
- Add mailbox creation controls, settings, documentation, localization, and regression coverage.
Files changed:
.changeset/fn-8265-task-follow-up-policy.md | 7 ++
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 12 ++-
packages/cli/src/extension.ts | 34 ++++---
.../src/__tests__/postgres/sqlite-migrator.test.ts | 14 ++-
.../postgres/task-proposal-claim.pg.test.ts | 51 +++++++++++
packages/core/src/async-message-store.ts | 39 ++++++++
packages/core/src/index.gate.ts | 4 +-
packages/core/src/index.ts | 4 +-
packages/core/src/message-store.ts | 46 ++++++++++
.../core/src/postgres/migrations/0000_initial.sql | 2 +
.../migrations/0020_task_proposal_claim.sql | 4 +
packages/core/src/postgres/schema-applier.ts | 13 ++-
packages/core/src/postgres/schema/project.ts | 3 +
packages/core/src/settings-schema.ts | 19 +++-
packages/core/src/task-store/async-persistence.ts | 2 +-
packages/core/src/task-store/persistence.ts | 4 +-
packages/core/src/task-store/serialization.ts | 1 +
packages/core/src/task-store/task-creation.ts | 51 +++++++++++
packages/core/src/task-store/task-row-mappers.ts | 2 +-
packages/core/src/types.ts | 56 +++++++++++-
packages/dashboard/app/api/legacy.ts | 5 +
packages/dashboard/app/components/MailboxModal.tsx | 4 +
.../app/components/MailboxTaskProposal.css | 3 +
.../app/components/MailboxTaskProposal.tsx | 33 +++++++
packages/dashboard/app/components/MailboxView.tsx | 4 +
.../__tests__/MailboxTaskProposal.test.tsx | 43 +++++++++
.../app/components/settings/section-keys.ts | 2 +-
.../settings/sections/GeneralSection.search.ts | 13 ++-
.../settings/sections/GeneralSection.tsx | 22 +++--
.../settings-default-descriptions.test.tsx | 4 +-
.../routes/__tests__/task-proposal-routes.test.ts | 99 ++++++++++++++++++++
.../src/routes/register-messaging-scripts.ts | 101 +++++++++++++++++++++
packages/dashboard/src/sse.ts | 7 ++
packages/engine/src/agent-tools.ts | 30 ++++--
packages/engine/src/executor.ts | 9 +-
packages/engine/src/step-session-executor.ts | 8 +-
packages/i18n/locales/en/app.json | 5 +
38 files changed, 696 insertions(+), 66 deletions(-)
Fusion-Task-Id: FN-8265
Fusion-Task-Lineage: 4e864a2f-3485-4a54-8be7-1699b5479a94
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 03:48:38 -07:00
gsxdsm
91eb1b088a
FN-8266: add GitHub import Chat prefill
...
Let operators open Chat from a selected GitHub issue or pull request with its link ready in the composer.
- Add GitHub-only Chat actions to import detail views and route their prefill through modal and embedded surfaces.
- Seed and focus the direct Chat composer without sending, while preserving saved drafts after failed default-session creation.
- Document the workflow and cover import, prefill, and draft-restoration behavior.
Files changed:
docs/dashboard-guide.md | 12 +++-
packages/dashboard/app/App.tsx | 16 +++++
packages/dashboard/app/components/AppModals.tsx | 3 +
packages/dashboard/app/components/ChatView.tsx | 70 +++++++++++++++++++-
.../dashboard/app/components/GitHubImportModal.tsx | 28 +++++++-
.../components/__tests__/ChatView.draft.test.tsx | 74 ++++++++++++++++++++++
.../__tests__/GitHubImportModal.test.tsx | 49 ++++++++++++++
.../app/components/dashboard/MainContent.tsx | 5 ++
.../dashboard/app/components/dashboard/types.ts | 3 +
9 files changed, 255 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-8266
Fusion-Task-Lineage: 30102ce8-5aca-4e34-8bb0-6f3c23e64044
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 02:41:35 -07:00
gsxdsm
ce3f55fec9
FN-8263: reflect session advisor state in task-detail eye
...
Keep the task-detail oversight indicator aligned with the effective session advisor state.
- Show and light the oversight eye for enabled advisor inheritance while lifecycle oversight is off or unresolved.
- Limit unresolved advisor-only menus to the session advisor toggle and repaint the icon after toggles.
- Cover desktop and mobile behavior and document the interaction.
Files changed:
.changeset/fn-8263-session-advisor-detail-eye.md | 7 ++
docs/dashboard-guide.md | 6 +-
.../dashboard/app/components/TaskDetailModal.tsx | 47 ++++++----
.../TaskDetailModal.oversight-controls.test.tsx | 101 +++++++++++++++++++++
.../TaskDetailModal.oversight-mobile.test.tsx | 40 ++++++++
5 files changed, 183 insertions(+), 18 deletions(-)
Fusion-Task-Id: FN-8263
Fusion-Task-Lineage: 61cd134c-7721-4e19-89a9-a406358f54a9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 02:20:31 -07:00
gsxdsm
4fd9ccd5ae
FN-8267: dismiss mobile artifact viewers on back
...
Ensure mobile artifact viewers close before dashboard navigation.
- Register mobile viewer entries with navigation history.
- Consume entries for header and Escape dismissals.
- Cover browser and native Back behavior and document it.
Files changed:
docs/dashboard-guide.md | 3 +-
.../dashboard/app/components/ArtifactsGallery.tsx | 26 +++-
.../__tests__/ArtifactsGallery.swipe-back.test.tsx | 170 +++++++++++++++++++++
3 files changed, 194 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-8267
Fusion-Task-Lineage: 5a5edb10-b6c5-4b9d-89a8-6623306953f6
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 02:05:35 -07:00
gsxdsm
44e20274d7
FN-8261: add GitHub issue planning import option
...
Add a Planning Mode path alongside direct GitHub issue imports.
- Pass selected issue context into Planning Mode after closing the import surface
- Preserve direct-import tracking while labeling its action clearly
- Cover issue planning behavior and document desktop and mobile flows
Files changed:
docs/dashboard-guide.md | 9 ++-
packages/dashboard/app/components/AppModals.tsx | 1 +
packages/dashboard/app/components/GitHubImportModal.tsx | 46 ++++++++++-
packages/dashboard/app/components/__tests__/GitHubImportModal.test.tsx | 91 ++++++++++++++++++++--
packages/dashboard/app/components/dashboard/MainContent.tsx | 1 +
5 files changed, 137 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-8261
Fusion-Task-Lineage: 6b121563-7cfa-4ba1-82c9-9ad574738a20
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 02:00:34 -07:00
gsxdsm
d88e4f9c90
FN-8255: hide inherited-default oversight eye
...
Suppress transient task-card oversight eyes for unconfigured inherited autonomous workflows.
- Reuse the meaningful oversight badge gate for planner-overseer eye rendering.
- Cover aggregate, selected-workflow, explicit override, and mobile states.
- Document the inherited-default suppression and add a patch changeset.
Files changed:
.changeset/fn-8255-card-eye-inherited-default-oversight.md | 7 ++
docs/dashboard-guide.md | 3 +-
packages/dashboard/app/components/TaskCard.tsx | 21 +++---
.../__tests__/TaskCard.oversight.test.tsx | 78 +++++++++++++++++++---
4 files changed, 88 insertions(+), 21 deletions(-)
Fusion-Task-Id: FN-8255
Fusion-Task-Lineage: 2c48f96f-9f06-4def-b7bb-1020e8505d7b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 01:53:14 -07:00
gsxdsm
2bd25b0605
FN-8260: prevent truncated planning completions
...
Prevent incomplete AI responses from reaching the Planning Complete checkpoint.
- Reject completion payloads repaired from truncated JSON and retry once
- Preserve tolerant question parsing and add regression coverage
- Document the retryable incomplete-response behavior and add a patch changeset
Files changed:
.../fn-8260-planning-truncated-completion.md | 7 ++
docs/dashboard-guide.md | 3 +-
.../planning-truncated-completion.test.ts | 35 +++++++++
packages/dashboard/src/planning.ts | 85 +++++++++++++++++++---
4 files changed, 117 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-8260
Fusion-Task-Lineage: aff1a1de-7b01-4cad-83a1-06b9684ed9de
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-18 01:36:38 -07:00
gsxdsm
d8735b3dbe
FN-8249: persist GitHub translations and show status
...
Persist legacy GitHub translation cache entries and expose background translation progress to import operators.
- Backfill historic unscoped translation cache partitions during schema migration.
- Display accessible translating and failure status in the GitHub issues import list.
- Add migration, service, and UI coverage plus operator documentation.
Files changed:
.../fn-8249-github-import-translation-status.md | 7 ++
docs/dashboard-guide.md | 2 +-
.../postgres/import-translation-cache.pg.test.ts | 13 +++-
.../src/__tests__/postgres/schema-applier.test.ts | 48 ++++++++++++
...translation_cache_legacy_partition_backfill.sql | 31 ++++++++
packages/core/src/postgres/schema-applier.ts | 29 ++++++-
.../dashboard/app/components/GitHubImportModal.css | 42 ++++++++++
.../dashboard/app/components/GitHubImportModal.tsx | 29 +++++++
.../__tests__/GitHubImportModal.test.tsx | 90 ++++++++++++++++++++++
.../src/__tests__/import-translate-service.test.ts | 62 +++++++++++++++
10 files changed, 346 insertions(+), 7 deletions(-)
Fusion-Task-Id: FN-8249
Fusion-Task-Lineage: 79c26d85-50f1-4d01-9341-a17db5e57f8f
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 16:46:42 -07:00
gsxdsm
b0654031bc
FN-8251: hide overseer eye when oversight is off
...
Resolve inherited workflow oversight before rendering task-card overseer indicators.
- Resolve selected-workflow oversight using the planning workflow identity
- Fail closed for unknown, pending, malformed, and failed inherited settings
- Cover workflow changes and mobile suppression, and document the behavior
- Add a patch changeset for the corrected card indicator
Files changed:
.changeset/fn-8251-card-eye-effective-oversight.md | 7 +
docs/dashboard-guide.md | 4 +-
packages/dashboard/app/components/TaskCard.tsx | 116 ++++++++-------
.../__tests__/TaskCard.oversight.test.tsx | 161 ++++++++++++++++++++-
.../app/components/__tests__/TaskCard.test.tsx | 6 +-
5 files changed, 234 insertions(+), 60 deletions(-)
Fusion-Task-Id: FN-8251
Fusion-Task-Lineage: 72dfa67e-e6d5-4557-91b3-23aff6dcf9e7
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 16:38:29 -07:00
gsxdsm
eee04bc1a8
FN-8248: fix Quick Chat popup stacking
...
Make Quick Chat and task popups honor their most recent interaction order.
- Place Quick Chat in the task-detail peer stack while retaining higher utility windows.
- Raise Create Room dialogs above Chat on each open, including mobile sheets.
- Add stacking regression coverage and operator documentation with screenshots.
Files changed:
docs/assets/fn-8248-chat-above-task.png | Bin 0 -> 55108 bytes
docs/assets/fn-8248-mobile-create-room.png | Bin 0 -> 56699 bytes
docs/assets/fn-8248-task-above-chat.png | Bin 0 -> 74263 bytes
docs/dashboard-guide.md | 5 +-
packages/dashboard/app/App.tsx | 13 +++-
.../dashboard/app/components/CreateRoomModal.tsx | 15 ++++-
.../dashboard/app/components/FloatingWindow.tsx | 11 +++-
.../components/__tests__/CreateRoomModal.test.tsx | 72 +++++++++++++++++++++
.../FloatingWindowStack.cross-type.test.tsx | 37 +++++++----
.../app/components/floatingWindowStack.ts | 10 +--
10 files changed, 139 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-8248
Fusion-Task-Lineage: 94ef20f1-96da-4249-9812-169f780c9451
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 16:34:16 -07:00
gsxdsm
62f121e0c9
FN-8247: stop session advisor with oversight
...
Stop now persists session-advisor disablement and reflects inherited advisor state in task details.
- Persist an explicit advisor-off override and clear its live runtime when stopping oversight.
- Resolve workflow-level advisor defaults for task-detail icons and toggle behavior.
- Cover stop cleanup and desktop/mobile oversight state transitions with regression tests.
- Document the combined stop contract and add a patch changeset.
Files changed:
.changeset/fn-8247-session-advisor-stop-and-icon.md | 7 ++
docs/dashboard-guide.md | 6 +-
packages/dashboard/app/components/TaskDetailModal.tsx | 86 +++++++++++------
packages/dashboard/app/components/__tests__/TaskDetailModal.oversight-controls.test.tsx | 104 +++++++++++++++++++++
packages/dashboard/app/components/__tests__/TaskDetailModal.oversight-mobile.test.tsx | 62 ++++++++++++
packages/engine/src/__tests__/project-engine-stop-overseer-session-advisor.test.ts | 62 ++++++++++++
packages/engine/src/project-engine.ts | 13 ++-
7 files changed, 310 insertions(+), 30 deletions(-)
Fusion-Task-Id: FN-8247
Fusion-Task-Lineage: dcb67af7-9a36-4b25-bafa-84722fe158a0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 16:20:10 -07:00
gsxdsm
7517f2eddf
FN-8239: align task card oversight icon state
...
Keep task-card overseer indicators aligned with resolved oversight settings.
- Gate transient Eye badges on the resolved effective oversight level.
- Suppress stale snapshots and empty header wrappers while inherited workflow settings load.
- Add regression coverage and document the consistent off-state behavior.
Files changed:
.changeset/fn-8239-oversight-icon-consistency.md | 7 ++++
docs/dashboard-guide.md | 3 +-
packages/dashboard/app/components/TaskCard.tsx | 29 ++++++++++++----
.../__tests__/TaskCard.oversight.test.tsx | 40 ++++++++++++++++++++++
.../app/components/__tests__/TaskCard.test.tsx | 23 +++++++++++++
5 files changed, 94 insertions(+), 8 deletions(-)
Fusion-Task-Id: FN-8239
Fusion-Task-Lineage: 2857358c-7626-4b04-b1b5-fa51c3a71418
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 14:35:07 -07:00
gsxdsm
9152d8fa61
FN-8229: remove background AI tasks pill
...
Replace the redundant footer AI session control with progress and action visibility in the session notification banner.
- Delete the BackgroundTasksIndicator component, styles, footer wiring, and obsolete translations.
- Surface non-planning generating and retained error sessions through the notification banner while leaving Planning in its dedicated view.
- Update session lifecycle, localization, documentation, and regression coverage.
Files changed:
.../fn-8229-remove-ai-background-tasks-pill.md | 7 +
docs/dashboard-guide.md | 4 +-
packages/dashboard/README.md | 1 -
packages/dashboard/app/App.tsx | 28 +--
.../app/__tests__/css-hygiene-scan.test.ts | 2 -
.../dashboard-component-color-tokenization.test.ts | 1 -
packages/dashboard/app/api/legacy.ts | 2 +-
.../app/components/BackgroundTasksIndicator.css | 130 -------------
.../app/components/BackgroundTasksIndicator.tsx | 210 ---------------------
.../dashboard/app/components/ExecutorStatusBar.css | 3 -
.../dashboard/app/components/ExecutorStatusBar.tsx | 30 +--
.../app/components/SessionNotificationBanner.css | 10 +
.../app/components/SessionNotificationBanner.tsx | 52 ++++-
.../app/components/SubtaskBreakdownModal.tsx | 7 +-
.../app/components/__tests__/App.test.tsx | 11 +-
.../__tests__/ExecutorStatusBar.test.tsx | 1 -
.../__tests__/SessionNotificationBanner.test.tsx | 88 ++++-----
.../components/__tests__/utility-mobile.test.tsx | 191 +------------------
.../app/components/dashboard/DashboardBanners.tsx | 8 +-
.../dashboard/__tests__/DashboardBanners.test.tsx | 30 ++-
.../hooks/__tests__/useBackgroundSessions.test.ts | 21 ++-
.../dashboard/app/hooks/useBackgroundSessions.ts | 21 ++-
.../app/utils/__tests__/appLifecycle.test.ts | 61 ++----
packages/dashboard/app/utils/appLifecycle.ts | 16 +-
packages/dashboard/src/routes.ts | 2 +-
packages/i18n/locales/en/app.json | 33 +---
packages/i18n/locales/es/app.json | 44 ++---
packages/i18n/locales/fr/app.json | 44 ++---
packages/i18n/locales/ko/app.json | 44 ++---
packages/i18n/locales/zh-CN/app.json | 44 ++---
packages/i18n/locales/zh-TW/app.json | 44 ++---
packages/i18n/src/resources.d.ts | 48 ++---
32 files changed, 316 insertions(+), 922 deletions(-)
Fusion-Task-Id: FN-8229
Fusion-Task-Lineage: a232fb04-08ff-4f0a-a440-e94545243e61
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 14:25:30 -07:00
gsxdsm
a746a02f3b
FN-8236: group mobile Settings sections by topic
...
Group the mobile Settings picker by desktop navigation topics while preserving scoped section adjacency.
- Render mobile section choices in native topic optgroups
- Preserve Global-before-Project ordering and search-aware empty groups
- Cover grouped picker behavior and document the mobile navigation
Files changed:
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/components/SettingsModal.tsx | 31 +++++++--
packages/dashboard/app/components/__tests__/settings-mobile.test.tsx | 80 ++++++++++++++++++++++
3 files changed, 107 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-8236
Fusion-Task-Lineage: 3a90bc72-2393-4b41-a7c3-2c9e30c94e01
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 14:13:41 -07:00
gsxdsm
595c27ceae
FN-8235: add mobile Kanban column snapping
...
Mobile Kanban now settles user swipes on the nearest column.
- add a mobile-only, user-driven scroll-end snapping hook
- wire snapping to every live Board rendering and cover interaction boundaries
- document the behavior and add a patch changeset
Files changed:
.changeset/fn-8235-mobile-kanban-snap.md | 7 +
docs/dashboard-guide.md | 6 +
packages/dashboard/app/components/Board.tsx | 19 ++-
.../app/components/__tests__/board-mobile.test.tsx | 14 +-
.../hooks/__tests__/useColumnScrollSnap.test.ts | 159 ++++++++++++++++++
.../dashboard/app/hooks/useColumnScrollSnap.ts | 179 +++++++++++++++++++++
6 files changed, 380 insertions(+), 4 deletions(-)
Fusion-Task-Id: FN-8235
Fusion-Task-Lineage: 46881e93-59f2-49d6-b29e-fa6150420f2a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 13:53:13 -07:00
gsxdsm
44c784264a
FN-8237: refine mobile footer quick actions
...
Make mobile footer quick actions configurable, reorderable, and immediately applied.
- Expand the selectable quick-action universe and preserve valid configured items.
- Add General settings controls for reordering, adding, and removing footer actions.
- Wire updated navigation settings through the dashboard and document the behavior.
Files changed:
.../fn-8237-mobile-nav-quick-actions-refinement.md | 7 +
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 2 +-
.../src/__tests__/mobile-nav-primary-items.test.ts | 17 +-
packages/core/src/mobile-nav-primary-items.ts | 44 ++-
packages/dashboard/app/App.tsx | 4 +-
packages/dashboard/app/components/AppModals.tsx | 2 +
packages/dashboard/app/components/MobileNavBar.tsx | 319 ++++-----------------
.../dashboard/app/components/SettingsModal.tsx | 4 +
.../app/components/__tests__/MobileNavBar.test.tsx | 18 +-
.../__tests__/SettingsModal.general.test.tsx | 20 ++
.../dashboard/app/components/dashboard/MainContent.tsx | 2 +
.../dashboard/app/components/dashboard/types.ts | 1 +
.../settings/sections/GeneralSection.tsx | 75 ++---
packages/dashboard/app/hooks/useAppSettings.ts | 11 +
packages/i18n/locales/en/app.json | 5 +-
16 files changed, 220 insertions(+), 313 deletions(-)
Fusion-Task-Id: FN-8237
Fusion-Task-Lineage: cff91b30-7ef9-4557-8880-cc71ed74dafb
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 13:45:41 -07:00
gsxdsm
f0b6e4be0c
FN-8233: reflect oversight state in menu trigger
...
Make the Oversight menu trigger icon reflect the effective overseer configuration.
- Switch the trigger between Eye and EyeOff based on oversight level and Session advisor state.
- Cover icon updates after changing either control.
- Document the combined trigger-state behavior.
Files changed:
docs/dashboard-guide.md | 6 ++-
.../dashboard/app/components/TaskDetailModal.tsx | 10 +++-
.../TaskDetailModal.oversight-controls.test.tsx | 61 ++++++++++++++++++++++
3 files changed, 74 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-8233
Fusion-Task-Lineage: 16012bf1-94f8-4461-90b6-95d309aa9a6d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 13:38:32 -07:00
gsxdsm
2f7da57601
FN-8230: translate GitHub import issues across pages
...
GitHub import auto-translation now covers every reachable issue page within the fetch cap.
- Translate and retain per-page results while invalidating changed or reloaded issues
- Raise the translation budget for a 300-issue traversal and cover pagination regressions
- Document the GitHub-only pagination behavior and add a patch changeset
Files changed:
.changeset/fn-8230-import-translate-pagination.md | 7 ++
docs/dashboard-guide.md | 2 +-
docs/settings-reference.md | 4 +-
.../dashboard/app/components/GitHubImportModal.tsx | 33 ++++++---
.../components/GitHubImportTranslateControls.tsx | 80 ++++++++++++---------
.../__tests__/GitHubImportAutoTranslate.test.tsx | 66 ++++++++++++-----
.../__tests__/GitHubImportModal.test.tsx | 32 +++++++++
.../dashboard/src/__tests__/ai-translate.test.ts | 20 ++++++
packages/dashboard/src/ai-translate.ts | 6 +-
packages/dashboard/src/import-translate-service.ts | Bin 11109 -> 11099 bytes
10 files changed, 186 insertions(+), 64 deletions(-)
Fusion-Task-Id: FN-8230
Fusion-Task-Lineage: 2c3ce6f6-a8f3-46a9-b93a-0192f0cdaf54
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 13:31:42 -07:00
gsxdsm
9cdddab504
FN-8231: dismiss mobile mailbox details on Back
...
Mobile mailbox overlays now close through the shared navigation history before leaving the message list.
- Register mobile message, composer, and approval overlays as navigation modals.
- Remove matching history entries when mailbox overlays close or change state.
- Add mobile back-navigation coverage and document the behavior.
Files changed:
docs/dashboard-guide.md | 3 +-
packages/dashboard/app/components/MailboxView.tsx | 117 ++++++++++++----
.../app/components/__tests__/MailboxView.test.tsx | 148 +++++++++++++++++++++
3 files changed, 241 insertions(+), 27 deletions(-)
Fusion-Task-Id: FN-8231
Fusion-Task-Lineage: b6f06ed9-b03f-45d9-b90b-28b565231bcc
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 13:10:39 -07:00
gsxdsm
2e9c255268
FN-8228: support Back navigation in import detail sheets
...
Make mobile Back dismiss import detail sheets before the parent import modal.
- Register nested navigation entries for GitHub and GitLab detail sheets.
- Centralize detail selection cleanup across dismissal and successful actions.
- Cover native and browser Back flows and document the mobile behavior.
Files changed:
docs/dashboard-guide.md | 7 ++
.../dashboard/app/components/GitHubImportModal.tsx | 54 +++++++--
.../__tests__/GitHubImportModal.test.tsx | 132 ++++++++++++++++++++-
3 files changed, 180 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-8228
Fusion-Task-Lineage: 36062d52-ad6b-4d5c-87ff-5a6959feecc9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 12:53:46 -07:00
gsxdsm
54565a092d
docs: add Claude Agent SDK bridge provider plan
...
Capture the implementation-ready plan for a conditional, experimental
pi-claude-bridge / Agent SDK provider behind policy and isolation gates.
2026-07-17 12:15:09 -07:00
gsxdsm
5d2c3be6a0
FN-8221: clear inactive planner overseer state
...
Clear retained planner overseer state when effective oversight is disabled.
- Remove monitor, recovery, advisor, and dedup runtime for oversight-off tasks.
- Suppress stale oversight-off Eye badges in task cards.
- Cover cleanup and badge behavior with regression tests.
- Document the runtime snapshot invariant and add a patch changeset.
Files changed:
.changeset/fn-8221-overseer-badge-oversight-off.md | 7 ++
docs/architecture.md | 4 +
packages/dashboard/app/components/TaskCard.tsx | 9 +-
.../app/components/__tests__/TaskCard.test.tsx | 20 ++++
.../__tests__/planner-overseer-off-cleanup.test.ts | 119 +++++++++++++++++++++
packages/engine/src/project-engine.ts | 12 +++
6 files changed, 170 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-8221
Fusion-Task-Lineage: 01c9d838-fbe4-4d34-8eb5-d735cf35e581
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai >
2026-07-17 11:27:44 -07:00