8.9 KiB
Archipelago release work handover — 2026-10-07
This document is the resumable state of play for the post-1.9.0 work. The
candidate worktree is /home/archipelago/Projects/archy-session-key on branch
work/post-190-session-key. Do not use credentials from chat or print private
node, wallet, session or registry data.
Current candidate
Recent commits, newest first:
ce3ec965— keep the companion PiP test compatible with the project target.0d8decb3— integrate retained Cloud video PiP and companion lifecycle code.4d938cd5— add the read-only release UAT checklist.3f96be2c— handle nullable tunnel addresses in firewall status.ef6c10f0— add the central firewall and tunnel status screen.b50bf615— explain unaffordable fee-bump quotes.973dbeb4— register the on-chain purchase HTTP handler.6547ae05— integrate two-phase on-chain purchase recovery.558f097f— bound Federated Nodes sync and show progress feedback.
The worktree was clean after the last commit. Recheck before editing.
Verified evidence
- Framework LND startup incident: closed with operator acceptance. The wallet/channel identity and balances survived a controlled reboot. Do not confuse this historical incident with the open paid-file release regression.
- Backend isolated suite: 1,958 passed, 0 failed, 5 ignored in
/tmp/archy-integrated-full-backend.log. - Integrated on-chain focused suite: 46 passed, 0 failed.
- On-chain payment UI focused tests: 66 passed, 0 failed.
- Bump-fee UI/backend focused tests: 10 UI + 10 backend passed.
- Federated sync focused tests: 2 passed.
- Firewall router tests: 7 passed; Vue type-check passed after
3f96be2c. - Companion PiP/browser tests: 8 passed on the integrated candidate; the companion branch reported 9/9 across its two targeted suites.
- Android PiP validation: local SDK, unit tests and debug APK build passed; no physical Android device is attached.
- Current UI production build: passed after the PiP target-compatibility fix.
The current private archive is
/tmp/archy-current-candidate-ui.tar.gzwith SHA-2560aff96999cf0c2c46ec68537021d214519da6e2d1189c9d0dc65717f8c3e1f24. - A previous full dashboard receipt had 1,411 passed, 1 failed; do not call the full UI suite green until that remaining failure is reproduced or explicitly classified.
Deployment state
- Reliability backend and the prior corrected UI are deployed to development, Yaya and Framework with identities, sessions, containers, catalogs and stopped/uninstalled choices preserved.
- The new current UI archive has not been deployed. The old deployment script is pinned to an earlier archive and qualification receipt; create a fresh receipt for the current archive before using it.
- Yaya IndeeHub remains the original live
1.0.0deployment. Private candidate images are imported and digest-pinned locally, but no catalog activation, migration or app lifecycle mutation occurred. - V4V is live on Yaya with native Nostr login, Browse launch, artwork, player controls and background-player behavior verified in browser UAT. Companion physical-device acceptance remains open.
- The V4V registry artifact endpoints now return
401anonymously. Do not publish another image or catalog without explicit privacy verification. - No new OTA, ISO, public catalog, real payment, wallet operation or live firewall change has been performed.
IndeeHub preparation
Private backup and artifacts are under
~/.local/state/archipelago/session-recovery/.
- Yaya PostgreSQL custom-format backup SHA-256:
167df2e80a7ba64e21909ad8ddeb2751ea0c02428d7210eb82a774a6cf220d42. - Isolated restore preserved 32 original application tables, retained 107 migrations, applied exactly 3 additive migrations and passed an idempotent rerun. The fixture used no network uplink and did not mutate Yaya.
- Private frontend/API images are imported and digest-pinned. The active seven IndeeHub containers, volumes, identities, session key, catalog and stopped intents remain unchanged.
- Local qualification is green: 113 frontend tests, 204 backend tests, production frontend/API builds, rental checks at 390/1440px, Backstage checks at 320/390/1440px, panel-on 35/35 and registration 190/190.
- Live distributed acceptance is blocked by no live project/media, disabled publication worker, absent installer registration pins and unverified cross-node relay delivery.
All task groups
- IndeeHub publishing/paid viewing — open: source and migration work is qualified; private cutover is staged; publish → discover → pay → timed playback → resume without repayment is not accepted.
- Nostr login/companion grey screen — partial: dashboard fixes live; physical companion acceptance open.
- Peering/discovery — partial: repairs live; wider reciprocal recovery and relationship UX acceptance open.
- Framework monitoring — partial: source repair and reboot acceptance are complete; normal owner-browser/TOTP confirmation remains.
- Immich/Nextcloud — open: assessment/design only; connector not enabled.
- Web5 connection journey — partial: cosmetic and flow fixes exist; final UX review remains.
- Companion launch speed — partial: dashboard loading fixes deployed; physical companion performance remains.
- Fleet acceptance — open: broad supported-function matrix remains.
- AIUI/provider/funding — partial: setup/browser checks pass; paid provider and companion acceptance remain.
- Offline/network map — partial: fixture-tested; real outage/recovery open.
- Web5/Cloud/tab speed — partial: improvements exist; full performance proof open.
- Fleet metrics/FIPS — partial: dev/Yaya checks pass; fleet-wide failure and transport qualification open.
- V4V Yaya demo — partial/live: browser native-login/player acceptance passes; physical companion background media remains.
- Peer files/Indee streaming — partial: transfers and cached recovery pass; timed distributed playback remains.
- MeshCore — queued: no two-radio acceptance claim.
- Web5 card/footer UX — partial: implemented/deployed; final visual UAT.
- HTTPS apps — partial: routing repairs pass; exact hostname/trust and companion acceptance open.
- Firewall/tunnel UI/settings — source slice done: read-only screen, independent statuses, refresh spinner and mobile route tests pass; live persistence/reboot/rollback qualification remains.
- Reusable media/PiP guide — partial: audio guide and companion PiP source are present; physical Android acceptance remains.
- Companion background media — queued/partially implemented: audio/video should continue on the phone after app close, with native controls, queue, artwork, authorization and video PiP. Physical V4V acceptance is open.
Additional release-regression items
- Paid-file recovery must never issue a second payment; source protections and tests exist, but end-to-end seller settlement/receipt acceptance remains.
- Framework bump quote logs on 2026-10-07 showed three read-only failures:
Not enough wallet change for this fee; choose a lower rate. The UX fix is implemented and tested; live acceptance is not performed. - Fast fee defaults are implemented and tested, preserving explicit slower and custom selections.
- OTA/ISO publication is blocked until UAT, rollback evidence, exact candidate hashes, ngit/Gitea mirror parity, signed catalog and release ledger checks pass. Never force-push or publish a partial mirror.
Immediate next actions
- Reproduce/classify the one historical full-dashboard UI failure and rerun the full suite on the current candidate.
- Create a fresh current-archive deployment receipt; deploy the UI to dev only, verify hash, health, session key, containers and catalogs, then run browser smoke tests.
- Prepare the private IndeeHub candidate catalog with actual imported image digests and installer registration pins; qualify updater rollback before any activation.
- Run authenticated IndeeHub UAT with controlled project/media fixtures and no repeat payment; verify cross-node relay delivery and timed playback.
- Install/test the companion debug APK on a physical Android device for V4V audio background playback and Cloud video PiP.
- Run the release UAT checklist at
docs/release-uat-checklist-20261007.md. - Only after all gates pass, perform exact mirror parity checks, sign the catalog, prepare OTA/ISO artifacts and request release approval.
Safety rules for the next agent
Use scripts/test-backend-isolated.sh for backend tests. Do not run real
payments, bump transactions, wallet recovery, catalog publication, firewall
changes, broad compose down/up, volume deletion or wallet recreation while
qualifying. Keep raw node logs and credentials private. Treat any failure in a
release receipt or preservation check as a stop-and-investigate condition.