~ knotless Search/
↑↓ move↵ open⇧↵ all results
0
0
main
Go to filet
Code
README.md

Acceptance runbooks

Runnable end-to-end checks against prod. Each doc: purpose, preconditions, steps, expected observations, pass criteria, cleanup, pitfalls. They change prod state (VMs, contracts, tokens): run only with the lead's go, announce on atirc first, release everything you rent.

idnamewhat it proveshostshow longlast pass
0001k8s: account modes, pause, one VM per hostlocalRepo + oauthQr bidders, per-component suspend, tenant k3s 0 -> 3 -> 0 nodes, one VM per host, typed settings, ACC34gateway, local, hat-9, hat-7~45 minrc159, 2026-11-01 (hat-7, local, hat-9 nodes)
0002ssh gateway, per-user OAuthssh <handle>@socialweb.computer atirc agent run <name> rents as the user, agent joins, revoke before release on disconnect / cap, restart survivalgateway (ssh gw), any bidder~3 min + sessionrc158, 2026-11-01 (revoke before terminate)
0003CLI ssh over WebRTC (ACC34)CLI requester rents per host, ssh over WebRTC fresh + restarted kcp, no plaintext signalinglocal, hat-9, hat-7~3 min / hostrc158, 2026-11-01 (all hosts)
0004atirc agent in a VM (plan 0035)leased mint at RFP, guest.agentStart starts the unit, nick joins, revoke before vm.terminatedany bidder, atirc~3 minrc158 CLI, 2026-11-01 (alice)
0005guest requester R2, association (plan 0036)contract-scoped association lets R2 rent a nested VM, grandchild agent, outer release cascades, all tokens revoked, record deleted2 bidders, atirc~10 minrc159, 2026-11-01 (tree revoked in order)
0006rc rollout checks + compat smokeevery component on rcN, Ready / SignedIn / 0 ERROR / host empty, unchanged page + CLI still workall~5-15 minrc158, 2026-11-01
0007bidder-side VM termination (ops)operator delete ends an orphan cleanly: released, vm.terminated pinned, leased tokens dead, host emptyone bidder~1 minrc158, 2026-11-01
0008host observer verificationper-host watcher protocol: CONFIRMED after rollout, VM timeline, vm.terminated pin, orphan checkeach biddercontinuousrc158, 2026-11-01 (hat-7, hat-9 watchers)
0009wasm browser pageA1-A7: suite, boot + sign-in, VM lifecycle, Held-reload restore, upgrade load, compat smoke, /chatbrowser, bidders~5 min / testpage-rc143 vs rc158, 2026-11-01; deno from the page on rc159
0010iOS app, embedded kcpA1-A6: market sign-in + persistence, launch / agentStart / join, revoke before terminated, cross-restart release, presence, perfsimulator / device, bidders~5 min / testsimulator, 2026-10-31 (not re-run on rc158/rc159)
0011atircrepo + deploy gates, token lifecycle gates for every path, pipes, /chat, lease deathirc.fedfork.com~10 min2026-11-01 (atirc v0.1.0-5a8dfa2)
0012Infra quickstartkubectl apply of every examples/infra file: VM ssh, tenant k8s node + pod, Deno sandbox stdout, agent VM refused before its RFP locally (.local handle; join on prod, 0013), releaseown market network (+ prod for the agent join)~15 minmain ec97f78e local, 2026-11-01
0013Mixed prod on a user-configured bidderrun requester / install requester with a real account, mixed-prod.yaml pinned to one bidder under the default policies and both vouches: VM ssh, Deno stdout, agent join, restart keeps Held, delete revokes before vm.terminated; the gateway part waits on plan 0039 Ca user-configured bidder, irc.fedfork.com~20 minrc159 (A, C) and rc160 CLI (B), 2026-11-01

0011 is a copy; the source is the atirc repo (git@tangled.org:did:plc:vtad4w7ujsvz7t6o6iuvmhjq, docs/acceptance/0001-atirc.md @ ec0d088).

Shared rules

  • Announce before, post done after: <nick> -> all: <test> now; hold VM tests / ... done; tests may resume
  • One driver per account at a time (alice, hat, bob); owner-held VMs are never touched
  • Policies: bidder-tangled-vouch on every prod bidder, requester-tangled-vouch on requesters; never open unless the owner sets it
  • Evidence comes from three sides: requester log, host watcher (0008), atirc-dev (revocations.ndjson)
  • Token order: revoke strictly before vm.terminated; the lease kills it anyway once termination exists
  • No secrets anywhere: no tokens, passwords, cookies, sign-in URLs, creds file contents; creds files stay mode 0600 and are read only inside the one signing command
  • A workaround is reported as one; the run is re-done without it before the item counts as passed

Which runbook for which change

ChangeRun
any rc to prod0006, 0008 (watchers), then the runbooks of the changed area
bidder market / policy code0003 on all hosts, 0006 compat, 0001 before a milestone
ssh gateway / per-user requester0002 (side port first, then 22)
requester mint / revoke / lease0004, 0011 section 3, 0009 A3
association / guest requester0005
page build0009 A1-A6 on dev, then A3 + A6 on prod
Infra / EphemeralInfra, examples, quickstart-local / quickstart-prod0012
run requester / install requester, agent identity, bidder compute kinds or operator sign-in0013
iOS app / pkg/embedded0010
OAuth role scopere-sign every OAuth identity first (0001 section 9 note, 0006), then 0003 hat-7