gsxdsm
|
7ddcf7e2a6
|
FN-8979: remove legacy mission resume blockers
Retire the deprecated v0 mission-resume blocker payload in favor of canonical descriptors.
- Remove legacy blocker types, conversions, exports, and HTTP payload mirrors.
- Deduplicate canonical blocker descriptors and update clients, tests, and documentation.
- Add a major changeset for the breaking API removal.
Files changed:
.changeset/fn-8979-removal.md | 7 +++++
docs/missions.md | 4 +--
.../suite-only-flakes-observed-register.md | 14 +++++++++
.../src/__tests__/mission-blocked-clear.test.ts | 23 ++++++++++++++-
.../core/src/__tests__/mission-blockers.test.ts | 26 +++++++++++------
.../__tests__/postgres/mission-store.pg.test.ts | 5 +---
.../core/src/async-stores/async-mission-store.ts | 7 +----
packages/core/src/index.gate.ts | 3 +-
packages/core/src/index.ts | 3 +-
packages/core/src/missions/mission-blockers.ts | 34 +++++++++++++---------
packages/core/src/missions/mission-types.ts | 9 ++----
packages/core/src/types.ts | 2 +-
packages/dashboard/app/api/missions/missions.ts | 25 +++++-----------
.../MissionManager.blocked-repair.test.tsx | 17 +++++++----
.../MissionManager.resume-conflict.test.tsx | 9 ++++--
.../src/__tests__/mission-resume-conflict.test.ts | 11 ++++---
packages/dashboard/src/mission-routes.ts | 10 +++----
17 files changed, 127 insertions(+), 82 deletions(-)
Fusion-Task-Id: FN-8979
Fusion-Task-Lineage: 2a0dd0b6-43ca-44ad-b992-79f4ef8eda67
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-11 01:30:04 -07:00 |
|
gsxdsm
|
3eec1338c5
|
FN-8970: add mission reconcile controls
Add a dry-run mission reconciliation control with explicit apply feedback.
- Add the dashboard reconcile API client and exported result type.
- Present preview, apply, empty, and archived reconciliation states in Mission Manager.
- Guard reconcile requests across direct selection and target-mission deep-link changes.
- Cover reconcile interactions, stale requests, and deep-link intent updates.
Files changed:
.changeset/fn-8970-mission-reconcile-control.md | 7 +
docs/missions.md | 6 +
packages/dashboard/app/api/legacy.ts | 2 +
packages/dashboard/app/api/missions/missions.ts | 31 +++
packages/dashboard/app/components/MissionManager.css | 48 +++++
packages/dashboard/app/components/MissionManager.tsx | 184 +++++++++++++-
packages/dashboard/app/components/__tests__/MissionManager.mobile-css.test.ts | 8 +
packages/dashboard/app/components/__tests__/MissionManager.reconcile.test.tsx | 277 +++++++++++++++++++++
8 files changed, 557 insertions(+), 6 deletions(-)
Fusion-Task-Id: FN-8970
Fusion-Task-Lineage: 62802129-a7ea-43cb-8068-5ce2c2c21b77
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-11 00:23:10 -07:00 |
|
gsxdsm
|
918a4c4bfa
|
FN-8973: add versioned mission resume blockers
Expose versioned mission resume blockers across API and UI.
- Add versioned blocker descriptors with fail-closed legacy normalization and v0 compatibility projections.
- Return typed resume-conflict envelopes and render root stop details in Mission Manager.
- Cover descriptor behavior, route conflicts, UI handling, and PostgreSQL persistence.
Files changed:
.changeset/fn-8973-mission-blocker-descriptor.md | 7 ++
docs/missions.md | 2 +-
.../src/__tests__/mission-blocked-clear.test.ts | 18 ++---
.../core/src/__tests__/mission-blockers.test.ts | 43 ++++++++++++
.../__tests__/postgres/mission-store.pg.test.ts | 22 ++++--
.../core/src/async-stores/async-mission-store.ts | 23 +++---
packages/core/src/index.gate.ts | 4 ++
packages/core/src/index.ts | 4 ++
packages/core/src/missions/mission-blockers.ts | 43 ++++++++++++
packages/core/src/missions/mission-types.ts | 81 ++++++++++------------
packages/core/src/types.ts | 4 +-
packages/dashboard/app/api/legacy.ts | 1 +
packages/dashboard/app/api/missions/missions.ts | 46 +++++++-----
.../dashboard/app/components/MissionManager.tsx | 11 +--
.../MissionManager.blocked-repair.test.tsx | 10 +--
.../MissionManager.resume-conflict.test.tsx | 24 +++++++
.../__tests__/mission-blocked-clear-routes.test.ts | 2 +-
.../src/__tests__/mission-resume-conflict.test.ts | 42 +++++++++++
packages/dashboard/src/mission-routes.ts | 12 +++-
19 files changed, 297 insertions(+), 102 deletions(-)
Fusion-Task-Id: FN-8973
Fusion-Task-Lineage: 5d36c9c9-dc0f-4cb0-bd0c-ad41c8dde5c0
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-10 22:36:01 -07:00 |
|
gsxdsm
|
90573e31b0
|
FN-8963: prevent concurrent mission validation runs
Prevent duplicate manual validation runs while preserving recovery from stale validator state.
- Add atomic mission-store claims and release handling for manual validator runs.
- Return a conflict response and disable the validation action while a run is active.
- Cover concurrent claims, API behavior, UI state, and stale-window parity.
Files changed:
.changeset/fn-8963-validate-inflight-guard.md | 7 ++
docs/missions.md | 2 +
.../__tests__/postgres/mission-store.pg.test.ts | 129 +++++++++++++++++++++
.../core/src/async-stores/async-mission-store.ts | 87 ++++++++++++--
packages/core/src/index.ts | 2 +
packages/core/src/missions/mission-store.ts | 69 ++++++++++-
packages/core/src/missions/mission-types.ts | 13 +++
packages/dashboard/app/api/legacy.ts | 2 +
packages/dashboard/app/api/missions/missions.ts | 11 +-
.../dashboard/app/components/MissionManager.tsx | 15 ++-
.../MissionManager.validate-inflight.test.tsx | 77 ++++++++++++
.../mission-validate-inflight-guard.test.ts | 55 +++++++++
packages/dashboard/src/mission-routes.ts | 32 +---
.../src/__tests__/mission-execution-loop.test.ts | 61 +++++++++-
.../validator-run-stale-window-parity.test.ts | 9 ++
15 files changed, 549 insertions(+), 22 deletions(-)
Fusion-Task-Id: FN-8963
Fusion-Task-Lineage: 7e5d0ae4-98ac-4f79-99ca-45fd1450362d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-10 21:41:47 -07:00 |
|
gsxdsm
|
5dd3031e34
|
FN-8962: add mission blocked status repair controls
Add explicit diagnostics and repair paths for stale mission blocked badges.
- Expose audited core and REST APIs that recompute and clear stale mission blocked status without resuming automation.
- Add mission-manager controls, blocker diagnostics, responsive styling, and operator documentation.
- Cover clear conflicts, persistence, routes, and desktop/mobile UI behavior.
Files changed: .changeset/fn-8962-mission-blocked-clear.md | 7 ++
docs/missions.md | 12 ++-
.../src/__tests__/mission-blocked-clear.test.ts | 40 ++++++++
.../__tests__/postgres/mission-store.pg.test.ts | 71 ++++++++++++++
.../core/src/async-stores/async-mission-store.ts | 90 +++++++++++++++--
packages/core/src/index.gate.ts | 4 +
packages/core/src/index.ts | 5 +-
packages/core/src/missions/mission-types.ts | 62 ++++++++++++
packages/dashboard/app/api/legacy.ts | 3 +
packages/dashboard/app/api/missions/missions.ts | 29 ++++++
.../dashboard/app/components/MissionManager.css | 6 ++
.../dashboard/app/components/MissionManager.tsx | 90 ++++++++++++++++-
.../MissionManager.blocked-repair.test.tsx | 106 +++++++++++++++++++++
.../__tests__/MissionManager.mobile-css.test.ts | 8 ++
.../__tests__/mission-blocked-clear-routes.test.ts | 71 ++++++++++++++
packages/dashboard/src/mission-routes.ts | 49 ++++++++++
16 files changed, 638 insertions(+), 15 deletions(-)
Fusion-Task-Id: FN-8962
Fusion-Task-Lineage: 38cab277-a0c3-4c60-af3e-dd25d2f88dea
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-10 20:41:11 -07:00 |
|
gsxdsm
|
b82f1a41f3
|
FN-8947: add repairable mission validation controls
Add repairable mission-validation badges with clear and re-run flows.
- Persist repair metadata and audit events for mission validation state changes.
- Expose validation repair through dashboard routes, UI controls, engine tools, and CLI capabilities.
- Add database, API, UI, engine, and extension coverage plus operator documentation.
Files changed: .changeset/fn-8947-mission-validation-repair.md | 7 +
docs/missions.md | 15 +-
packages/cli/skill/fusion/SKILL.md | 2 +-
.../cli/skill/fusion/references/extension-tools.md | 10 +
.../skill/fusion/references/fusion-capabilities.md | 1 +
.../extension-experiment-finalize.test.ts | 2 +
.../__tests__/extension-gitlab-tracking.test.ts | 2 +
.../cli/src/__tests__/extension-web-fetch.test.ts | 2 +
packages/cli/src/__tests__/extension.test.ts | 24 +++
packages/cli/src/extension.ts | 40 ++++
.../mission-status-event-metadata.test.ts | 23 +++
.../postgres/mission-validation-repair.pg.test.ts | 187 ++++++++++++++++++
.../core/src/async-stores/async-mission-store.ts | 216 ++++++++++++++++++---
packages/core/src/index.gate.ts | 5 +
packages/core/src/index.ts | 5 +-
packages/core/src/missions/mission-types.ts | 49 +++++
packages/core/src/types.ts | 7 +
packages/dashboard/app/api/legacy.ts | 1 +
packages/dashboard/app/api/missions/missions.ts | 13 ++
.../dashboard/app/components/MissionManager.css | 26 ++-
.../dashboard/app/components/MissionManager.tsx | 207 +++++++++++++++++---
.../__tests__/MissionManager.mobile-css.test.ts | 8 +
.../MissionManager.validation-repair.test.tsx | 83 ++++++++
.../__tests__/mission-task-prefix-routes.test.ts | 162 +++++++++++++++-
packages/dashboard/src/mission-routes.ts | 104 +++++++++-
.../src/__tests__/agent-mission-tools.test.ts | 119 +++++++++++-
.../__tests__/mission-feature-sync-lanes.test.ts | 59 +++++-
.../workflow-step-readonly-allowlist.test.ts | 1 +
packages/engine/src/agent-tools.ts | 36 ++++
.../engine/src/execution/gating-classifications.ts | 1 +
packages/engine/src/index.ts | 1 +
.../engine/src/missions/mission-feature-sync.ts | 79 ++++++++
32 files changed, 1430 insertions(+), 67 deletions(-)
Fusion-Task-Id: FN-8947
Fusion-Task-Lineage: b93e5ab6-021c-4d32-bffb-f89f4c3894bc
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-10 19:36:31 -07:00 |
|
gsxdsm
|
00ddafd5fe
|
FN-8845: persist deterministic spec alignment
Persist approved-plan drift alignment on linked mission features.
- Store spec alignment across PostgreSQL and SQLite mission feature projections
- Reconcile and render durable alignment instead of browser-side task joins
- Preserve migration identities and cover drift persistence regressions
Files changed:
docs/architecture.md | 2 +
docs/missions.md | 2 +-
.../core/src/__tests__/planner/spec-lock.test.ts | 1 +
.../src/__tests__/postgres/schema-applier.test.ts | 9 ++++-
.../async-stores/async-mission-store-queries.ts | 5 +++
packages/core/src/missions/mission-store.ts | 9 ++++-
packages/core/src/missions/mission-types.ts | 10 +++++
packages/core/src/planner/spec-lock.ts | 7 +++-
.../0053_mission_feature_spec_alignment.sql | 3 ++
packages/core/src/postgres/schema-applier.ts | 13 +++++-
packages/core/src/postgres/schema/project.ts | 2 +
packages/dashboard/app/api/missions/missions.ts | 2 +
.../dashboard/app/components/MissionManager.tsx | 40 ++++++------------
packages/dashboard/app/components/mission-types.ts | 2 +
.../src/__tests__/plan-approval-status.pg.test.ts | 4 +-
.../src/__tests__/mission-feature-sync.test.ts | 37 ++++++++++++++++-
.../src/__tests__/spec-drift-reconciler.test.ts | 14 +++++++
packages/engine/src/missions/mission-autopilot.ts | 17 +++++---
.../engine/src/missions/mission-feature-sync.ts | 47 +++++++++++++++++++++-
packages/engine/src/project-engine.ts | 3 +-
packages/engine/src/scheduler.ts | 40 +++++++++++-------
packages/engine/src/spec-drift-reconciler.ts | 5 +++
22 files changed, 215 insertions(+), 59 deletions(-)
Fusion-Task-Id: FN-8845
Fusion-Task-Lineage: d4a30472-f1c3-41ba-a61b-3f2be1ad32ab
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-10 11:50:56 -07:00 |
|
gsxdsm
|
cb57093d03
|
refactor: domain folder layout (types, API, core, engine) (#2398)
## Summary
Wave 17 organizes Fusion into **domain folders** (stacks on #2397).
### Layout
- **core/types/** — board, task, agents, settings, merge, workflow,
mesh, …
- **core/src/** — agents, ai, async-stores, workflows, tasks, config,
db, …
- **dashboard/app/api/** — client, tasks, agents, git, missions,
planning, …
- **engine/src/** — agents, auth, execution, merge, missions, overseer,
worktree, …
Root keepers retained for large entrypoints (`store.ts`, `executor.ts`,
`merger.ts`, …).
Public barrels (`@fusion/core`, `@fusion/engine`, `app/api.ts` → legacy)
stay stable.
## Test plan
- [x] `@fusion/core` typecheck
- [x] `@fusion/engine` typecheck (pre-existing playwright-core noise
only)
- [ ] CI merge gate
**Stack:** #2394 → #2397 → **this PR**
|
2026-08-03 00:20:53 -07:00 |
|