feat(FN-1646): add stale-spec guard to prevent execution of outdated tasks

- Add spec-staleness evaluator to check task specification age before execution
- Guard executor startup and resume to prevent running tasks with stale specs
- Guard scheduler dispatch to skip stale tasks and move them back to triage
- Add comprehensive tests for spec staleness detection (7d/14d thresholds)
- Add getFusionDir mock for executor staleness check tests
This commit is contained in:
gsxdsm
2026-04-12 17:49:22 -07:00
parent e4853c01f0
commit 860d3c29fe
6 changed files with 481 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
---
"@gsxdsm/fusion": patch
---
Prevent execution from starting with stale specifications. When spec staleness enforcement is enabled via `specStalenessEnabled: true` and `specStalenessMaxAgeMs` settings, tasks whose PROMPT.md age exceeds the configured threshold are automatically moved back to triage with `status: "needs-respecify"` before execution begins. This guard applies both at scheduler dispatch and executor startup/resume, preventing manual moves, orphan resume, and unpause paths from bypassing the policy. Behavior is unchanged when enforcement is disabled.