Applications
A shipped instance plus knobs. You are configuring something that is already running — not building one.
Configure
Turn the knobs. The Oracle composes a proposal. The Kernel disposes it — a configure that reaches the Face returns A=LAG until metal accepts; one that cannot leave the browser returns NO_SIGNAL.
No proposal composed yet.
Ask the Oracle
Say what you want in plain language. It tells you the lane, the level, and which hand would act.
Waiting for an intent.
Live instruments
Probed from this page on load. Nothing here is inherited from a document. A browser block is reported as a browser block, not as a dead organ.
probing…
Hands
Agents are assigned per application, not per session. A hand proposes. A hand is never a gate.
| hand | surface | assigned to | authority |
|---|
DwEC · Development with Embedded Completion
The four stages run at the edge, through this door's bindings, and close on a CLOSER computed here, not reported by the container. Plan reads the SOTR and the knob catalog from the pane; Engineer asks the container to compile the instance; Compose reads pane, sandbox and metal; Close recomputes the instance digest byte for byte and compares. Every run is recorded to the state ledger, red or green, then proposed: A=LAG until the Kernel accepts.
No run yet. The door composes it; the desk copy cannot.
Containers
The IDE is exec, not an editor. The loop is self-contained: no pip, no git, no internet inside.
The room
Shared surfaces the hands and the operator both see. Opening the Editor Face means you mean the room.
| surface | runtime | state |
|---|
Admission & close
Two instruments decide whether work counts. Neither is a narrative.
runbook_ledger.jsonlappend-only hash chainThe apex is the bind
Every organ answers. The front door is a workers.dev subdomain and apex:false. Binding wayneia.com is what turns a set of live workers into a platform someone can be handed — the same move that turned rented compute into a product with its own domain.
This is not a reflex. It is a drawer you close deliberately: L2/L3, operator-only, minted through DECISIONS. The Oracle will route it there and stop.
Decisions
The gesture organ. Escalations land here as files; you drag them into ACCEPT-DEFAULT or ANSWERED. This is where accepts actually mint — not in a chat, not in a TUI.
~/Desktop/DECISIONS/Thunar · two buckets · who-prefix filenameswosp/gesture.py --statuskeystroke/decision_queue.pyA queue that grows while both buckets stay empty means the platform is producing holds, not accepts. That is a true reading and the right thing to close on.
Refused from this Face
Standing denials. The console will not offer these controls, and no hand may reach them. The third column is the operator's: what you do, not what a hand does. Five are one keystroke, two are work first, one is kept rather than done. Traced in console/OPERATOR_KEYSTROKES.md.
| act | standing | your keystroke |
|---|---|---|
| wrangler deploy · umr-edge | hold text stands · grant already given 08-28 | already yours: the 08-28 all-workers grant, exercised 09-02 (U14, your xor-identity-gate answer) and 09-04 · what remains is hygiene: reconcile the live /ui drift, then wrangler deploy --config …/umr_edge_u15/wrangler.jsonc · rollback drops LPU_KEY, re-put it · anchor d43f8260 |
| os.cloudflare.app/deploy | never from an agent | your browser, your account · the 18-worker mesh is already up; what remains is the Google redirect + two secret put |
| apex bind wayneia.com | Bob mints | routes block + wrangler deploy, then drag ACCOUNT__apex-controlpane to ANSWERED · a subdomain, not the root |
| rebuild aios_k0 · wayne-gui · epidermis v3 · twin | refused | k0 never; propagate = FIRE_SWAP.sh three gates · wayne-gui: name the gate, then nix develop .#gui + cargo · v3: mean the room · twin: its manifest already exists |
| COMMS bodies | refused until observations(gid) + columns | work, in order: columns on ledger writes · observations(gid) as a VIEW · each addressee can_read · stand the ledger back up first |
| CITL | inert until Bob mints | python3 mint_send_grant.py <draft_id> · ONCE or SESSION · scope + not_scope + duration · leave inert until a consumer exists |
| control-plane text → object storage | R2 is data, never prompt | kept, not done: buckets bound as data, reads receipted, bucket text never in a prompt |
| OpenCode · npm -g · apt · Squeeze | not this seat | no apt on NixOS · nix profile, not npm -g · OpenCode is an open ruling · Squeeze: serve.py --allow-propagate then press once, yours alone |
Never collapse
Four pairs that look alike and are not. Collapsing any of them is how the platform loses its accept path.
workshop-backend | ≠ aios_k0 |
| Control Pane | ≠ the cloudflare-os clone |
| estate workers | ≠ a Cloudflare OS instance |
| Client-User | ≠ agent-builder |
"AIOS" has four or more referents. Never use it unqualified.