The Task Lifecycle: Start, Implement, Verify, Complete
Every task in a workspace plan follows a strict lifecycle with verification built in at every stage. This lifecycle ensures that nothing ships broken and that Vex verifies real results instead of assuming success.
The five task statuses:
- Pending: The task exists in the plan but work has not started yet. It is waiting for Vex to reach it in the plan sequence.
- In Progress: Vex has called
start_taskand is actively working on this task. - Pending Verification: Vex has finished the implementation by calling
complete_taskand now needs to verify the result actually works. - Completed: Verification passed. Vex called
verify_task passed=trueand the task is officially done. - Blocked: A dependency failed or a gap was discovered during verification. Vex cannot proceed until the blocking issue is resolved.
Loop step tracking (stages 0 through 8):
While a task is in progress, Vex tracks which implementation stage it is currently in. This gives you detailed visibility into what Vex is doing right now:
- Stage 0: Context Load — Reading relevant files and understanding what needs to happen
- Stage 1: Planning — Deciding on the specific implementation approach
- Stage 2: Implementation — Writing code, creating assets, or modifying components
- Stage 3: Testing — Running the project in play mode and observing behavior
- Stage 4: Debugging — Fixing any issues found during testing
- Stage 5: Refinement — Improving code quality, performance, or readability
- Stage 6: Documentation — Adding comments or updating documentation files
- Stage 7: Verification — Confirming the task meets all requirements
- Stage 8: Sign-off — Marking the task complete and reporting results to you
The verification requirement:
After calling complete_task, Vex must call verify_task with either passed=true or passed=false. There is no way to skip this step. If the task passed, it moves to Completed and Vex advances to the next task in the plan. If it failed, a gap record is created automatically with a description of what went wrong and a severity level. Vex must resolve the gap using resolve_gap before it can move forward.
This lifecycle prevents the common problem of building on broken foundations. Each step is proven to work before the next one begins.