docs: late resume artifact — full-day state, #7 status, today's traps

This commit is contained in:
archipelago
2026-08-07 22:25:43 -04:00
parent b9e64eb619
commit 455b813630
+77
View File
@@ -0,0 +1,77 @@
# RESUME — 2026-08-07 (session 2 close, late night). Full-day state.
**Read first on any resume.** Branch `gsd/phase-13-…` — everything below is
committed AND pushed to gitea-ai. Deployed to archi-dev-box: binary build9
(/usr/local/bin/archipelago), neode-ui + AIUI in /opt/archipelago/web-ui.
## Shipped + verified live today (26 commits)
Highlights, all pushed: owner-never-pays (c25fd8b6), recommendation previews
(1ac08a3e + 7d57e2c3), node-first playback (c2e71bc7), permission banner
deterministic (6815a7d1 + anchor eaf0f073), app_install/app_uninstall behind
confirm gate (7686a486), S6 replay fix, mesh !ai on the shared tool loop
(4361a5cb), mock-free prod bundle + build gate (8329b826 + 3cd210f2), honest
metadata (31fd789b), strfry icon fallback (2787a9bb), web-search 401 + fleet
self-heal (482c4e30), ISO builder newest-AIUI + IPv4 + wgetrc fixes
(e669a3e4 + a2254648 + 34085e30), phase-13 close-out (494400df), chown loop
killed (b9e64eb6), btcpay full-stack wipe (7c7cd76c).
## ISO
`image-recipe/results/archipelago-installer-1.7.125-alpha-unbundled-x86_64_RC3.iso`
(2.5G) — BUILT + VERIFIED INSIDE (fresh neode-ui `DFmKTA_D`, clean AIUI
`DKWp4MFh` + webp backdrop, binary has install tools). NOTE: RC3 predates the
chown-loop and btcpay-wipe fixes (b9e64eb6/7c7cd76c) — **recut if the demo
needs those** (the fixes are deploy-level, not first-boot-visible).
## Test state at close
- Rust assistant suite: **130/130**. Container suite: **206/206**. Package suite: 53/53.
- neode-ui suites green (adapter 37, broker 25, toolConfirm, audioPlayer 11, appsConfig 13).
- AIUI: 353/356 — the 3 failures are the documented pre-existing seed-fixture ones (W1.7).
## #7 status (app lifecycle family)
- **chown loop: FIXED + live-verified** (0 chowns/4min, apps healthy, reconciler active).
Root cause: pre-start hooks for btcpay/fedimint/fmcd chowned unconditionally on every
prepare; prepare re-runs every reconcile touch. Now drift-gated via root stat probe.
- **btcpay wipe: FIXED** (postgres-btcpay + nbxplorer included). Full wipe/reinstall
cycle verification is owed (needs a throwaway btcpay install — don't do it on .228).
- **Open, need failing-node evidence:** fedimint guardian installs-but-doesn't-work,
fedimint gateway dying at 88%, Knots "disappearing again". On archi-dev-box right
now: bitcoin-knots Up+healthy, fedimint-clientd Up, archy-fedimint-ui Up — no
guardian installed here. `/var/lib/archipelago/fedimint.broken-20260423` is an old
remnant. Reproduce on archi-dev-box by installing fedimint guardian via RPC and
watching (its install pulls big images; do it when the box is idle).
## Open next (operator-visible priority order)
7c (fedimint/knots evidence) → 8 (LND UI/filebrowser 401s — *-ui session passthrough
via disk manifests) → 4 live-radio smoke → 10 console noise → 9 surfaces decision →
W1.6 (node-side web-search tool + enrichment) → W2.1 (Routstr funding UX).
## Traps learned today (do not repeat)
- **Never run the ISO build in parallel with cargo builds** — debootstrap downloads
died under load until the IPv4 pin (a2254648). And `pkill -f build-debian-iso`
self-matches your own shell — use `[b]uild` bracket patterns.
- **The ISO bakes the DEPLOYED binary** (/usr/local/bin/archipelago) — deploy first,
then recut. Verify the frontend INSIDE the ISO by mounting + diffing bundle hashes.
- **shell quoting:** backticks in a double-quoted `git commit -m` get
command-substituted ("stat" was eaten once) — use single-quoted heredoc or avoid
backticks in commit messages.
- **Detach heavy builds with `setsid nohup ... < /dev/null`** — a shell timeout kill
otherwise takes the build down with it (lost build #190 to exactly that).
- **`/home/archipelago/archy` is a SYMLINK on this box** — the daemon's nginx
self-heal skips it by design (dev-laptop guard). Hand-patch this node and let the
fleet self-heal.
- The string-replacement edit tools (Edit) match EXACTLY including indentation —
a partial oldString leaves orphaned tails (brace errors); re-read after editing.
## Verification drivers (uncommitted, in neode-ui/, all use https://192.168.63.240, pw ThisIsWeb54321@)
`verify-owner.tmp.mjs` (own locked counts) · `verify-reco.tmp.mjs` (recommendation
turn) · `verify-banner.tmp.mjs` (permission banner, incl. grants revoke/restore) ·
`verify-cmdk.tmp.mjs` (spotlight prefill) · `verify-grants.tmp.mjs` (grants across
reload) · `verify-install.tmp.mjs` + `verify-install-rpc.tmp.mjs` (confirm gate) ·
`verify-grid*.tmp.mjs` (content grid checks). Playwright runs from neode-ui/.