> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zookooree.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Station 0: Work Order

> Intake: nothing enters the line without a work order that states intent, deliverables, and a deterministic stop.

The line's front door. *The work order is the interface between human intent and machine execution.* Pull only: no unit enters the line without a named principal who wants it and will use it.

## Entry gate

Demand, not budget. A request enters intake only when someone real intends to use the result. Speculative units — built because capacity was idle — bounce here by definition; that is the pull rule doing its job.

## Standard work

The work order is OPORD-shaped and mission-command-disciplined: the five-paragraph structure — situation, mission, execution constraints, support, command and signal — with the **Paragraph 2 test** enforced. The mission paragraph states intent and end-state, never method. Method belongs in a skill, and *a task body that reads like a script is a task that has failed before it started.*

Writing the work order is one of the line's two takt-bound human touches ([Thesis 6](/six-theses/takt-time)): this is where the operator spends intent. Everything downstream is machinery for honoring it.

A conforming work order carries:

* **Why**, present and linked to higher intent
* **Acceptance criteria** that are testable
* **Unit family** declared — skill, tool, or agent
* **Target cost**, assigned here at design time, where most of the margin is decided (price-minus: the ceiling comes first)
* **Named principal**

## Exit gate

Compiled, per [Thesis 4](/six-theses/doctrine-compiles) — this is row 1 of the design's compilation table: schema validation plus an intake linter; a nonconforming order cannot enter the queue. The inversion test applies: swap What and Why — if the order still reads sensibly, it is an order, not a mission, and it bounces.

## Escalation

Ambiguity is resolved here or the order does not pass — sharpened with the principal, never guessed at downstream. Ambiguity caught at intake costs minutes; caught at Verify it costs the whole run.

## Enforcement

`workorders/validate-work-order.py` — the compiled form of the work-order schema. It fails closed (unparseable is nonconforming) and rejects, among other defects: a missing or placeholder principal, an undeclared unit family, a non-testable end-state, a Situation with no Why linked to higher intent, and a Mission that states method — the Paragraph 2 test, as code. It gauges form deterministically; substance is judged again at [Verify](/stations/3-verify). A pass here is a shape check, not a quality verdict.

## Self-audit

| Claim                                                                                                           | Source                                               |
| --------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| Work order as the human-intent/machine-execution interface; pull only; named principal                          | docs/factory-design.md:97                            |
| OPORD shape; Paragraph 2 test; "a task body that reads like a script..."                                        | docs/factory-design.md:99                            |
| Exit gate contents: Why linked, testable criteria, family, target cost (price-minus), principal; inversion test | docs/factory-design.md:101                           |
| Compilation row 1: schema + intake linter; nonconforming orders rejected                                        | docs/factory-design.md:194, 267                      |
| Intake is one of the two takt-bound touches                                                                     | docs/factory-design.md:71                            |
| Linter behavior: fail closed, error classes, form-not-substance                                                 | workorders/validate-work-order.py (module docstring) |
