gsxdsm
|
f36e23848f
|
FN-8840: recognize duplicate redirects in task titles
Recognize exact duplicate redirects in either task title or PROMPT.md while preserving conflicting decisions for operator resolution.
- Resolve duplicate markers consistently across intake, scheduling, execution, dashboard, and replication paths.
- Accept task-ID prefixes beyond FN- and expose duplicate-marker state to the UI.
- Fail closed during stale-decision recovery when prompt, title, or persisted canonical redirects disagree.
- Add regression coverage and operator documentation for title-based redirects.
Files changed:
.changeset/fn-8840-duplicate-title-redirect.md | 7 ++
docs/settings-reference.md | 2 +-
docs/task-management.md | 11 +-
.../__tests__/explicit-duplicate-marker.test.ts | 30 ++++-
.../src/__tests__/mesh-task-replication.test.ts | 6 +
.../src/duplicates/explicit-duplicate-marker.ts | 66 ++++++++---
packages/core/src/index.gate.ts | 3 +
packages/core/src/index.ts | 3 +
packages/core/src/mesh/mesh-task-replication.ts | 2 +-
...-task-workflow-routes.awaiting-planning.test.ts | 78 +++++++++++--
.../src/routes/register-task-workflow-routes.ts | 26 ++++-
.../executor-explicit-duplicate-recovery.test.ts | 75 ++++++++++++
.../__tests__/merged-intake-hold-column.test.ts | 19 +++
.../scheduler-explicit-duplicate-marker.test.ts | 130 +++++++++++++++++++++
.../self-healing-stale-duplicate-decision.test.ts | 67 +++++++++++
.../triage-explicit-duplicate-marker.test.ts | 51 ++++++++
packages/engine/src/execution/hold-release.ts | 10 +-
packages/engine/src/executor.ts | 11 +-
packages/engine/src/scheduler.ts | 15 ++-
packages/engine/src/self-healing.ts | 55 ++++++---
packages/engine/src/triage.ts | 98 +++++++++++++---
21 files changed, 687 insertions(+), 78 deletions(-)
Fusion-Task-Id: FN-8840
Fusion-Task-Lineage: d08a3e84-1851-4fba-bfa9-507116ad6219
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-08 19:58:43 -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 |
|