- agent-executor: move executeQuery into try block for proper heartbeat cleanup,
re-parse tasks when edited plan is approved
- auto-loop-coordinator: handle feature execution failures with proper logging
and failure tracking, support backward-compatible method signatures
- facade: delegate getActiveAutoLoopProjects/Worktrees to coordinator,
always create own AutoLoopCoordinator (not shared), pass projectPath
to approval methods and branchName to failure tracking
- global-service: document shared autoLoopCoordinator is for monitoring only
- execution-types: fix ExecuteFeatureFn type to match implementation
- feature-state-manager: use readJsonWithRecovery for loadFeature
- pipeline-orchestrator: add defensive null check and try/catch for
merge response parsing
- plan-approval-service: use project-scoped keys to prevent cross-project
collisions, maintain backward compatibility for featureId-only lookups
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create FeatureStateManager class for feature status updates
- Extract updateFeatureStatus, markFeatureInterrupted, resetStuckFeatures
- Extract updateFeaturePlanSpec, saveFeatureSummary, updateTaskStatus
- Persist BEFORE emit pattern for data integrity (Pitfall 2)
- Handle corrupted JSON with readJsonWithRecovery backup support
- Preserve pipeline_* statuses in markFeatureInterrupted
- Fix bug: version increment now checks old content before applying updates
- Add 33 unit tests covering all state management operations