Skip to main content

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

StateIconMeaning
pendingRedNew, awaiting assignment
acceptedYellowAgent accepted, ready to start
in_progressOrangeWork underway
reviewBlueAwaiting Captain review
blockedBlackImpediment found
approvedGreenComplete
rejectedRedNeeds 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:

PrefixExample
[SS1-Operations]Ship 1 operational tasks
[SP-Development]SuperPortia platform development
[EGS-CodeStandards]Engineering governance
[Infrastructure-Critical]Cross-ship infrastructure

Valid assignees

IdentityPlatform
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 小AmacOS Antigravity
Mac CLI 小AmacOS CLI Antigravity
Win App 小AWindows Antigravity
Win CLI 小AWindows CLI Antigravity
夏哥Captain
system:cronScheduled jobs
system:webhookWebhook 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

FieldRequiredWhy
completion_summaryYesWhat was done and results
actual_hoursYes (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:

TransitionRequired fields
in_progress to reviewcompletion_summary + actual_hours (> 0)
in_progress to blockednotes
blocked to in_progressnotes
review to approved/rejectedreview_notes (Captain only)
any to cancellednotes (Captain only)

Missing a required field returns an error with missing_fields hint.


RBAC permissions

RoleCan do
Captain (夏哥, 小西)All operations, including approve/reject/cancel
PM AgentModify assignee, priority, due_date, tags
AssigneeUpdate notes, completion_summary, actual_hours
RequesterUpdate 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

PracticeWhy
Start or report on a WO in the same sessionConstitution: No deferring
Submit for review when doneDon't leave WOs in in_progress
Include detailed completion summaryCaptain needs context for review
Use descriptive blocker notesTeam needs to understand the impediment
Track actual hours honestlyData for future estimation

PageRelationship
WO FormatWork order form reference
Session StartFinding your assigned WOs
Cost OptimizationWO cost considerations
Factory FloorMonitoring active WOs