Golden 0.242.0 baked, round-trip verified and vouched (cadence rule, R-468). Fresh box from the public ISO on demo-hp: landed on the vouched set, two apps deployed and used, backup, remove, byte-identical restore, power cut and code typo all PASS. Stopped for a volunteer by R-493 (no instructions) and R-494 (the setup mail's dashboard link has no DNS; intervention I1). R-493..R-500 filed. Capability map: first-hour row added (PARTIAL), journey row scoped. Stopgap Hungarian volunteer guide written. Hub teardown layer pending. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
8.0 KiB
DRILL — a stranger's first hour on 0.242.0 (2026-09-14)
Interventions a volunteer could not have made: 1 (I1 — reaching the dashboard at all). Ready for a volunteer: NO — because no instruction tells a stranger where the installer is or what to type, and the link in the setup-code e-mail does not open for a new customer; either stops them before their first app.
Evidence: evidence-drill-fresh-install-0242-2026-09-14/ — journal.md (every observable, in
order), screens/ (installer and console, codes redacted), box-logs-phase1/, A1-power-cut.txt,
step10-remove-observe.txt. Golden: ../tests/golden-0.242.0-2026-09-14/.
1. What held, in one table
| # | step | result | time |
|---|---|---|---|
| 0.1 | golden 0.242.0 baked, round-trip verified, vouched | PASS | bake ≈6 min |
| 0.2 | customer-facing instructions exist | FAIL — none exist (R-493) | — |
| 1 | download the installer | PASS — but only with the exact file name; the site has no index (R-493) | 32 s, sha matches |
| 2 | install | PASS with four unanswered questions, one of which refuses its own default (R-495) | ≈12 min at the keyboard, 3 m 24 s copying |
| 3 | first screen, pairing, claim | box registered in 86 s; console sends a stranger to the Proxmox admin page and misnames the passphrase (R-496); passphrase is delivered by nothing (R-497); the dashboard has no address (R-494, I1); claim itself < 1 s | power-on → claimed 27 m 37 s |
| 4 | "ready", version | PASS — landed on controller 0.242.0 + agent 0.130.0, the vouched set; no self-update needed | power-on → controller 4 m 14 s |
| 5 | deploy BookStack + PrivateBin | PASS — 68 s and 21 s; pages honest about where data goes; first steps say literal wiki.DOMAIN (R-498) |
|
| 6 | use both through their front doors | PASS — BookStack login, password change, book, Hungarian page, 256 KiB attachment; PrivateBin encrypted paste, decrypted round trip | |
| 7 | read the backups pages | mostly honest; one page says „already in the PBS backup, nothing to do" on a box with no PBS (R-499); „Következő mentés — 0 órája" reads backwards | |
| 8 | backup now | PASS — dates move to the true time on both pages | 21 s |
| 9 | version labels / Update | „Naprakész" true (installed == catalog); no newer version offered — skipped | |
| 10 | remove with „delete my data too" | PASS — volume, backup folder and restore points gone, front door 404; response names each removal | 6 s stop + <1 s remove |
| 11 | restore the other app | DATA PASS — deleted page and attachment back, sha256 identical, Hungarian intact | 32 s to healthy |
| 12 | status pages a week later | dashboard shows the backup in UTC, backup pages in local time (R-500) | |
| A1 | power cut | PASS — same versions, data intact, no alarm; one re-login | ≈2 min to dashboard |
| A2 | typo in the code | PASS — typo refused, right code accepted after it; 5 failures lock 15 min with an honest Hungarian message; lockout mail goes to the operator only |
2. The intervention
I1 — the dashboard has no reachable address (R-494, P1). The setup-code mail says
https://felhom.drill0242.felhom.eu. That name has no DNS record; the hub never creates the
Cloudflare tunnel or record (the token is a pasted, optional field); the box's own split-horizon
resolver learns the name 3 m 46 s after the controller starts, but only a device that uses the box as
its DNS server benefits, and nothing says so. The walk reached the dashboard at the guest's LAN address
with the name forced. Filed before it was performed. It was performed once and covered every later
dashboard and app request.
The stop rule (four) was not reached.
3. Harness substitutions — not interventions, and why
These are things this harness could not do and a volunteer could, so they are not counted. They are listed because each one hides a part of the path from this walk.
| what | consequence for the claim | |
|---|---|---|
| H1 | No mailbox. Both customer mails go only to the registered address; the hub keeps hashes; the Resend key is send-only. | The self-bind page was not exercised — the operator's bind fallback was used. The setup code was minted box-side twice (--print-reset-code, generations 3 and 4) via the vaulted break-glass. The mailed code and the self-bind link are unproven by this walk. |
| H2 | qm sendkey sends US scancodes; the layout was switched from Hungarian to U.S. English |
Hungarian keyboard entry of the password and e-mail not exercised |
| H3 | auto-reboot unticked, ISO detached by qm set |
the "stick still in" reboot not exercised |
| H4 | Terminal UI entry chosen over the graphical default | graphical installer not exercised this run |
Harness slips, recorded: the first box-side code (generation 2) was captured with a pattern that does not match accented letters and was shredded unseen; the first template pick for the bake was arm64; two BookStack calls used wrong routes (405); one removal was called on a running app, which the screens never offer (409 — withdrawn as a finding); the A1 poll misread an expired session for 8 min; the monitoring banner and the restore-finish message were first read from server HTML and are script- rendered — both readings were corrected in the journal.
4. Findings
| row | rank | one line |
|---|---|---|
| R-493 | P1 | No customer-facing install instructions; the ISO site has no index. Blocks inviting anyone. Stopgap: runbooks/VOLUNTEER-first-hour.md |
| R-494 | P1 | A new customer's dashboard has no address unless the operator hand-makes a tunnel — the setup mail's link is dead (I1) |
| R-495 | P2 | The installer asks four unanswered questions and refuses its own default hostname |
| R-496 | P2 | The console first tells a stranger, in English, to open the Proxmox admin page; calls the passphrase „a jelszavadat" |
| R-497 | P2 | Nothing delivers the Tulajdonosi jelmondat, yet the mail says it was received at setup |
| R-499 | P2 | „Already in the full system backup (PBS) — nothing to do" on a box with no PBS |
| R-498 | P3 | 52 of 53 app pages say a literal wiki.DOMAIN |
| R-500 | P3 | Dashboard shows the backup time in UTC, backup pages in local time |
Observations, not filed: the deploy poll has no degraded branch (16 s of stale step text);
„0 °C" beside „Nincs adat" for a virtual disk; the removal dialog mentions „éjszakai restic
pillanatképek" on a box with no restic; the drive „attach" list offers the guest's own system volume;
the launcher menu shows an English „Debug"; the lockout e-mail reaches the operator only;
R-214 still reproduces (pairing banner and stale code on the console after bind).
5. Scope and what this walk does NOT claim
- Not the recovery-after-rebuild journey. The capability map's journey row (walk 5) is about a rebuilt box recovering off-site data. This drill walked the first hour; it neither re-proves nor contradicts that row, and the map is annotated to say so.
- DR tier off, off-site off. The customer was created with the DR tier unticked (it provisions an ep0 namespace; the brief fenced ep0). The off-site and escrow screens were therefore not walked.
- ep0 was touched anyway, by the product: enrolment registers a WireGuard peer on ep0 for every
box (
wg registered … ip=10.77.0.5/32 … sync=ok). The teardown removes it through the host delete. - No browser. Every screen was driven through the endpoint the page calls; script-rendered state (restore-finish banner, host-metrics card) was not observed.
6. Teardown — three layers
See REPORT-drill-fresh-install-0242.md §Teardown for the measured before/after of each layer and
the disposition of customer drill0242.
Untouched, and checked: demo-hp guests 9201 and 9202 (running throughout), local-lvm, the
demo-felhom box, DooPlex's services (only the bake VM, which is the accepted bake exception, reverted
to virgin), ep0 beyond the product's own peer registration, and Peti's box.