Add execution_slot_marker_capture_locked() calls at canonical lifecycle points.
MARKER_EXEC_START → Execution begins
MARKER_EXEC_OUTPUT_WRITTEN → Output written
MARKER_EXEC_COMPLETE_OK → Execution completed
MARKER_VERIFY_START → Verification begins
MARKER_VERIFY_PASS → Verification passed
MARKER_RESULT_OK → Result ready
MARKER_WAIT_OK → Wait completed
Location: execution_slot_transition_locked()
- When: Transition to
EXEC_SLOT_RUNNING - Rationale: Execution phase begins
Location: execution_slot_write_output_v1_locked()
- When: After successful output write
- Rationale: Output data committed
Location: execution_slot_finish_locked()
- When: Transition to
EXEC_SLOT_COMPLETED - Rationale: Execution phase complete
Location: execution_slot_validate_output_locked()
- When: Before validation begins
- Rationale: Verification phase begins
Location: execution_slot_validate_output_locked()
- When: After successful validation
- Rationale: Verification passed
Location: execution_slot_prepare_result_locked()
- When: After result preparation
- Rationale: Result ready for consumption
Location: execution_slot_finish_locked()
- When: Transition to
EXEC_SLOT_RESULT_MAPPED - Rationale: Full lifecycle complete
- Call AFTER state transition succeeds
- Call BEFORE returning from function
- Call inside
#if AYKEN_EXECUTION_MARKER_VALIDATION_ENABLEguard
#if AYKEN_EXECUTION_MARKER_VALIDATION_ENABLE
execution_slot_marker_capture_locked(slot, MARKER_XXX);
#endif- NO error checking
- NO return value
- NO failure path
- Validation deferred to Step 5
- MEMORY.CONTRACT.VIOLATION=PASS (no unsafe ops)
- Phase: P4.4 (Development)
- Step 2: Header definitions (merged)
- Step 3: Helper function (merged)
- Step 5: Add pre-commit validation guard