FN-8356: clear stale duplicate decision pauses
Clear inactive duplicate markers so eligible tasks resume planning instead of showing a stranded decision badge.
- Reconcile stale triage-marker duplicate pauses during self-healing and record audit events.
- Clear inactive canonical markers during triage while preserving user and unrelated pauses.
- Cover missing, deleted, completed, and archived canonical states with regression tests.
Files changed:
.changeset/fn-8356-stale-duplicate-decision.md | 7 ++
AGENTS.md | 1 +
docs/architecture.md | 1 +
.../explicit-duplicate-marker-sweep.test.ts | 43 ++++++--
.../self-healing-stale-duplicate-decision.test.ts | 109 +++++++++++++++++++++
.../triage-explicit-duplicate-marker.test.ts | 32 ++++--
packages/engine/src/run-audit.ts | 2 +
packages/engine/src/self-healing.ts | 87 ++++++++++++++--
packages/engine/src/triage.ts | 41 ++++++--
9 files changed, 298 insertions(+), 25 deletions(-)
Fusion-Task-Id: FN-8356
Fusion-Task-Lineage: 8df8f0ee-d73e-41d6-8abe-a4b33662c9da
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>