Skip to content

File Structure ​

Directory Layout ​

Every Phoenix project follows this structure on disk:

/phoenix-project/
  ├── _mission.sil              ← A-00 mission brief
  │
  ├── /signals/
  │   └── domain.workflow.sil   ← one per known workflow
  │
  ├── /workflows/
  │   └── domain.workflow.sil   ← one per business process
  │
  ├── /screens/
  │   └── domain.workflow.sil   ← one per workflow (all screens)
  │
  ├── /specs/
  │   └── domain.workflow.sil   ← one per workflow
  │
  └── /episodes/
      └── ep-NNN.sil            ← one per change event

The .phoenix/ directory holds pipeline state — managed by the runtime, not written by hand.


Naming Convention ​

All artifact files follow: domain.workflow.sil — lowercase, dot-separated.

ExampleWhat it is
cart.checkout.silcheckout workflow in the cart domain
user.registration.silregistration workflow in the user domain
order.fulfillment.silfulfillment workflow in the order domain
ep-042.silepisode 42 — a mid-engagement change
_mission.silthe mission brief — underscore prefix, one per project

The construct type is declared inside the file, not encoded in the filename.


Versioning ​

The VERSION field in the header is an integer. Increment it when the construct changes meaningfully — not on every edit.

CONSTRUCT  spec
ID         cart.checkout
VERSION    2             ← bumped when guest checkout was added
─────────────────────────────────────────

Git history is the full version record. The VERSION field is a human-readable signal, not a diff tool.


The .phoenix/ Directory ​

Managed entirely by phoenix-runtime. Never edit by hand.

.phoenix/
  └── state.json    ← pipeline state — which agents are complete,
                       which gates are approved, open episodes

state.json is human readable and git diffable. It travels with the project.


Core Rules ​

  1. Every .sil file begins with the three-line header — no exceptions
  2. One construct per file
  3. Human readable always — no algorithmic notation, no jargon
  4. Indent with two spaces
  5. Comments begin with #
  6. Filenames follow domain.workflow.sil

Runtime Commands ​

bash
phoenix init my-project      # creates directory structure + state
phoenix run a-00             # produces the A-00 prompt
phoenix status               # shows pipeline state
phoenix gate pass-1 --approve --notes "looks correct"
phoenix episode new          # record a mid-engagement change
phoenix validate a-01        # count artifacts for a given agent

Full CLI reference: Runtime →