Submatter/plans/Plan-automation-foundation/Epic-convoy-lifecycle-mcp/Task-shared-convoy-state-machine.md

23 lines
564 B
Markdown
Raw Permalink Normal View History

---
kind: task
slug: shared-convoy-state-machine
title: Shared convoy status enum, VALID_TRANSITIONS, and actor guards
plan_slug: automation-foundation
epic_slug: convoy-lifecycle-mcp
status: done
priority: P1
tenant_id: global
owner: unassigned
cursor_todo_id: null
updated_at: "2026-07-07"
---
# Task summary
Pure `validateConvoyTransition()` with gate actor enforcement and vitest coverage.
## Acceptance criteria
- [x] `draft → released` rejected (`INVALID_TRANSITION`)
- [x] `role-architect` cannot perform `convoy_review → ready` (`FORBIDDEN_ACTOR`)