Purpose of this page: show where the business logic lives, what one
operation looks like, and the transaction rule that keeps writes honest.
Layer 5
Application logic
The business logic of one operation per file. Commands write, queries read. Neither imports a vendor package.
Commands — write paths
provider · project · repository
Registration and lifecycle of the resources a plan runs against.
plan
Import and revision of plan documents.
node
claim · heartbeat · release · report, and the rest of the node lifecycle.
outcome
report · close · aggregate of execution outcomes.
actor · startup-recovery
Actor bootstrap at startup, and recovery of an interrupted home.
Queries — read paths
system · provider · repository · project
Status and configuration reads.
node · edge
Graph state reads, including listing and detail views.
event · blob · plan · actor
History, payload storage, plan documents and actor state.
Inbound edges
| From | Meaning |
|---|---|
| handlers | each handler invokes exactly one command or query |
Outbound edges
| From | To | Meaning |
|---|---|---|
| commands · queries | domain/ | validate against entities, state machines, schemas |
| commands · queries | service interfaces | persist and reach effects through interfaces only |
Rules
- One operation per file, verb first. Dependencies first, input second. No class, no service locator, no module-level singleton.
- A write command opens one
storage.transact. Event, lease, execution and plan stores accept that transaction through their interfaces — a state transition and its event append never sit in two transactions. - No vendor imports in commands or queries. Vendors appear only behind Layer 7 interfaces.