- Ensure
validate_milestonecannot be used once a vault leavesActive. - Prevent invalid state transitions and repeated milestone validation.
CompletedFailedCancelled
- Enforces lifecycle integrity: only
Activevaults can be validated. - Reduces risk of double-processing milestone outcomes after completion, failure, or cancellation.
- Added test:
test_validate_milestone_rejects_non_active_statuses - Expected error for each case:
Error::VaultNotActive