WO Lifecycle Guide
Benchmarked against: Anthropic — (No direct equivalent — SuperPortia core SOP) System: WO System v4.0 with transition gates + RBAC Principle: Work orders are the only task channel (Constitution, Section 3)
This guide walks through the complete lifecycle of a work order — from creation to approval.
State machine
| State | Icon | Meaning |
|---|---|---|
| pending | Red | New, awaiting assignment |
| accepted | Yellow | Agent accepted, ready to start |
| in_progress | Orange | Work underway |
| review | Blue | Awaiting Captain review |
| blocked | Black | Impediment found |
| approved | Green | Complete |
| rejected | Red | Needs rework |
Phase 1: Creation
Who can create
Anyone can create a work order — Captain, agents, or system triggers.
How to create
create_work_order(
title="[SS1-Operations] Migrate dispatch worker to Cloud UB",
assignee="Mac CLI 小克",
project="SS1",
description="Migrate the dispatch worker from Local UB to Cloud UB...",
priority="high",
requester="夏哥",
due_date="2026-03-10",
estimated_hours=4,
acceptance_criteria="Dispatch worker uses Cloud UB for all operations",
deliverables="Updated worker code, test results, migration report"
)
Title convention
Titles must start with a [Project-Category] prefix:
| Prefix | Example |
|---|---|
[SS1-Operations] | Ship 1 operational tasks |
[SP-Development] | SuperPortia platform development |
[EGS-CodeStandards] | Engineering governance |
[Infrastructure-Critical] | Cross-ship infrastructure |
Valid assignees
| Identity | Platform |
|---|---|
Mac App 小克 | macOS Claude App |
Mac CLI 小克 | macOS CLI |
Win App 小克 | Windows Claude App |
Win CLI 小克 | Windows CLI |
Web 小克 | Web-based agent |
小西 | Claude Chat strategist |
Mac App 小A | macOS Antigravity |
Mac CLI 小A | macOS CLI Antigravity |
Win App 小A | Windows Antigravity |
Win CLI 小A | Windows CLI Antigravity |
夏哥 | Captain |
system:cron | Scheduled jobs |
system:webhook | Webhook triggers |
Phase 2: Acceptance
The assigned agent accepts the work order:
accept_work_order(order_id="WO-2026-0305-001")
This signals that the agent has seen the WO and is ready to begin.
Phase 3: In progress
Start working on the task:
update_work_order_status(
order_id="WO-2026-0305-001",
new_status="in_progress"
)
If blocked
update_work_order_status(
order_id="WO-2026-0305-001",
new_status="blocked",
notes="Waiting for Cloud UB API endpoint to be deployed" # Required
)
Notes are mandatory for blocked transitions — the team needs to know what's wrong.
Unblocking
update_work_order_status(
order_id="WO-2026-0305-001",
new_status="in_progress",
notes="Cloud UB endpoint deployed, resuming work" # Required
)
Phase 4: Submit for review
When work is complete, submit for Captain review:
complete_work_order(
order_id="WO-2026-0305-001",
summary="Migrated dispatch worker to Cloud UB. All 9 engine modes tested.",
actual_hours=3.5
)
Required fields for review submission
| Field | Required | Why |
|---|---|---|
completion_summary | Yes | What was done and results |
actual_hours | Yes (must be > 0) | Time tracking |
Phase 5: Captain review
Only Captain identities (夏哥, 小西, system:captain-proxy) can approve or reject:
Approve
verify_work_order(
order_id="WO-2026-0305-001",
approved=True,
notes="Verified: dispatch worker using Cloud UB, tests passing"
)
Reject
verify_work_order(
order_id="WO-2026-0305-001",
approved=False,
notes="Missing: edge case for offline mode. Please add and resubmit."
)
Rejected WOs return to in_progress for rework.
Transition gates (v4.0)
WO System v4.0 enforces mandatory fields at specific transitions:
| Transition | Required fields |
|---|---|
| in_progress to review | completion_summary + actual_hours (> 0) |
| in_progress to blocked | notes |
| blocked to in_progress | notes |
| review to approved/rejected | review_notes (Captain only) |
| any to cancelled | notes (Captain only) |
Missing a required field returns an error with missing_fields hint.
RBAC permissions
| Role | Can do |
|---|---|
| Captain (夏哥, 小西) | All operations, including approve/reject/cancel |
| PM Agent | Modify assignee, priority, due_date, tags |
| Assignee | Update notes, completion_summary, actual_hours |
| Requester | Update description, acceptance_criteria, deliverables |
Querying work orders
# List all in-progress WOs
list_work_orders(status="in_progress")
# Filter by project
list_work_orders(project="SS1")
# Filter by assignee
list_work_orders(assignee="Mac CLI 小克")
# Include completed (normally hidden)
list_work_orders(include_completed=True)
# Get full details with transition history
get_work_order_detail(order_id="WO-2026-0305-001")
Best practices
| Practice | Why |
|---|---|
| Start or report on a WO in the same session | Constitution: No deferring |
| Submit for review when done | Don't leave WOs in in_progress |
| Include detailed completion summary | Captain needs context for review |
| Use descriptive blocker notes | Team needs to understand the impediment |
| Track actual hours honestly | Data for future estimation |
Related pages
| Page | Relationship |
|---|---|
| WO Format | Work order form reference |
| Session Start | Finding your assigned WOs |
| Cost Optimization | WO cost considerations |
| Factory Floor | Monitoring active WOs |