Bots
A Bot is a persistent conversational role over the world — not the model, not the engine, and not the authority. It explains; Nav organizes; Runtime proves. An utterance here is not world truth — it is a cited derivation from one coherent frame, and every claim in it is bound to an object that frame actually contained. The world moving does not falsify the derivation; it makes the snapshot claims inside it stale, and only those.
Delegation
Mission Control
The society at a glance. In the production runtime this surface is projected from the running supervisors — never held as UI state. This prototype simulates that projection; its figures are read from the proof artifact.
Goal
Lanes on this goal
Obligations due
Latest evidence
Lanes
Three independent attacks on EMISSION_CONFORMANCE-v1, each in its own worktree with its own budget. Kill one — the supervisor owns the failure semantics, and identity, worktree, and evidence survive.
Supervision policy
A dead harness is a lifecycle event, not an incident. Incidents are when the ledger disagrees.
Agents
Identities, not processes. An agent's engine is a replaceable child under its supervisor — swap it and watch what survives.
kestrel — supervision tree
Capabilities
Installable abilities, governed. A pack is something you install; a capability is something you're allowed to exercise. Install grants nothing — and every pack here is simulated until ampd exists; the authority model is what's real.
secret github.oauth · gateway only · engine-visible: never
+ github.issue.write NEW AUTHORITY
+ api.linear.app NEW EGRESS
+ CLOUD PLACEMENT WIDENED
STATUS: UPDATE HELD — authority surface widened
Tools become requested typed capabilities — nothing is granted by connecting. UI resources render sandboxed. Super supplies the authority; MCP supplies the transport.
Fleet
Remote machines are just more places for supervisors to live. Moving a lane is placement, not a different mental model.
Placement
Placement is a governed computation
task: synthesizer-training requires: gpu.cuda may_run_on: [gpu01, computedriven-gpu] source_data: denied_remote artifacts: allowed · max_cost: $5.00 derived placement → gpu01 (source policy excludes cloud)
Editor
Your hands on the worktree. The agent gutter says who touched what and links each region to the claim made about it — hover line 121's block.
governance/
bridge/
ic32_film.c ●
film_check.mjs
round-11-ledger.md
negative_battery.sh
runtime/c/ic32.c
verify.sh
Overflow now refuses by name instead of returning a complete 21-frame answer to a different question. -1 keeps its own refusal: fix a value, not a spelling.
Evidence
The ledger. Claims cite evidence; rulings cite the claims they settle; films carry their frames. Select a row — the Inspector shows the frozen record.
| kind | epistemic | asserts | emitted by | cites | ref |
|---|---|---|---|---|---|
| film | live_local | church_exp_2_2 · 21 chained frames · APP-LAM…DUP-VAR · terminal NORMAL_FORM, replayed on both runtime classes with remaining_work re-derived | ic32 native | 45/45 | §317 |
| claim | in_tree | Overflow (ERANGE) refuses as film-budget-invalid — no longer a confident complete answer to a different question | kestrel | 3 | §324 |
| claim | in_tree | Trailing --budget and unknown flags refuse by name: film-budget-missing-value · film-unknown-flag · film-multiple-terms | kestrel | 3 | §325 |
| ruling | spec | argv is a transport type, not a capability type → emit(term, family, {budget?}) owns the spelling; diagnostics inexpressible through the authority | arbiter | 2 | §326 |
| obligation | spec | Confirm film-budget-negative stays distinct from film-budget-invalid — value-fault vs spelling-fault | kestrel | 1 | §327 |
| obligation | spec | Tenth harness species: assertions whose expectation is a literal the round could make stale — mechanically detectable, would have caught 3 of 5 | kestrel | 5 | §328 |
| film | live_local | 6 budgets over the same 21-frame computation seal 5 partial films + 1 complete; finishing exactly on budget is NORMAL_FORM | ic32 native | 6 | §318 |
| ruling | spec | MAXPATH stays a defensive ceiling, not a semantic refusal — witnessed by a -DMAXFRAMES=4 limits build; --limits answers configuration, not the #define | arbiter | 2 | §329 |
| claim | live_local | No term tried reaches the frame array, because MAXPATH binds first on every one of them — the bounded phrasing, not the unproven universal | shrike | 2 | §323 |
Gates
Green means measured this run. Counts below are produced by replay, never remembered — the app refuses to transcribe a number.
$ ./verify.sh
# press Replay — every line below will be produced by this run
Rulings
You are the arbiter. Questions agents flag arrive here instead of dying in transcripts. A ruling is recorded to the ledger, citable forever, and pushed to the agent that asked.
Keep film-budget-negative distinct from film-budget-invalid?
For: −1 is a number and the caller's policy is out of range; 3junk is not a number and the caller's intent is unrecoverable. One code hands a reader a refusal that can't say whether to fix a value or fix a spelling. Against: the strict regex folds both; one fewer code.
Admit the tenth harness species?
An assertion whose expectation is a literal that the round could make stale — version strings, revision numbers, bare polarities. Mechanically detectable in the battery; would have caught 3 of the last 5 defects. Against: governance machinery without a forcing workload.
Ruled
Routines
Recurring work as supervised schedules. A failing routine is an event with evidence, never a silent skip.
| routine | owner | node | cadence | last | next | |
|---|---|---|---|---|---|---|
| nightly-gate-replay | shrike | gpu01 | daily 03:00 | — | in 7h | |
| ledger-compaction | magpie | travis-desktop | weekly sun | ok | in 3d | |
| stale-literal-sentinel | shrike | ms02 | every round | awaiting ruling | — | |
| dependency-sweep | magpie | cloud-west | weekly wed | ok | in 6d |
Authority & Budgets
What each identity may do and may spend — typed, snapshotted at entry, revocable. If the schema can't express it, the fault is inexpressible, not caught.
kestrel — capabilities
| capability | schema | issued | |
|---|---|---|---|
| film.emit | emit(term, family, {budget?: nonneg int}) | arbiter · snap b51.0 | |
| worktree.write | write(path ⊂ wt/lane-a, patch) | arbiter · snap b51.0 | |
| claim.emit | claim(assertion, cites[≥1]) | arbiter · snap b50.2 | |
| gate.replay | replay(gate_id) → evidence | arbiter · snap b50.2 |
Budgets
kestrel
magpie
shrike
Refusal log — every refusal by name
Settings
The machine room.
Engines
claude-code · connected
codex · connected
test-harness · local
Keys live in the Rust body's keychain; the brain never sees them.
Sandbox
worktree-jail: on · network: allowlist · pty: recorded
Enforced by the Rust body; policy is a capability schema.
Fleet enrollment
token: amp-node-•••••••• · epmd over tailnet
A node is adopted, not configured.
ComputeDriven
account · travis — plan: Fleet
sync: encrypted, selective WRL state · restore point r-0847
hosted capacity: 0/8 runners attached
The cloud is a control plane, not a copy — one world, placed.
Journal
retention: forever (it's the truth) · export: review pack
SQLite now; WRL records at Rev C.