56 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.
Read Current live checkpoint first. Older receipts below apply only to their named source/artifacts; later entries retain detailed evidence and corrections.
Current live checkpoint — 2026-10-08, supersedes historical entries below
Latest continuation checkpoint (read before older bullets)
- Newest continuation: controlled native cutover
8b53579cand same-boot post-target rollback5bd06edcboth passed, including independent final checks. Cutover committed with cleanup complete, maintenance Released, all seven exact target images/saved units and new runtime IDs, fresh database/four-volume restore proofs and no holds. Evidence:daea20bcand managed-update-recovery-implementation.md. The qualification VM shut down cleanly; temporary MemoryLow was reset to zero. - Yaya worker image is imported, not activated:
6afb6abcrecords exact qualified archive/blob/image verification and preserved live state across the inert import. All 30 existing container identities/start times/statuses, identity/session, operator intent, management service and catalogs matched. Frontend/API images were already staged; fresh read-only preflight confirmed all seven legacy members running and original Quadlet hashes unchanged. Receipt: indeehub-worker-runtime-20261008.md. - Production build remains in progress: agent checkpoint reports optimized
session
73204past lightning/cashu and compiling mainline/totp/lofty dependencies, without reported errors; the main binary is not yet compiled. There is no completed production artifact or backend deployment. The prepared inert staging/API-pin runner awaits that artifact; existing-node registration pin, fresh exact live plan, reviewed source/mirror gates and signed catalog remain required before activation. Operator signing is prepared and checked, not performed; no new signing request or Yaya deployment has occurred. Cloud/VPN builds remain queued behind the delivery-critical build. - Firewall UI is integrated through
a1bc6426: full width, standard black entry, right-aligned statuses, unchanged Network background, shared header/BackButton, verified-capability private reads and separate requests across view generations. Current focused coverage is 7 header/firewall, 18 device and 3 background cases; four-width source browser qualification passed. Not deployed. Isolated new VPN backend compilation stopped on an omitted existing JSON fixture before tests; missing inputs are now materialized, but no pass is claimed. - Combined dashboard snapshot:
/tmp/archy-integrated-ui-qualified-v2-20261008, 781 tracked inputs. Delta gate passes all 36 reviewed changes against the qualified 1,459-test Fleet baseline, including the two additional files from main ancestry integration8d70d031. Six retained PiP checks passed; receipts:/tmp/archy-retained-pip-main-20261008.logand matching.json. Gate script:/tmp/archy-integrated-ui-delta-gate-v2.py. Combined typecheck/production UI build remain pending behind the optimized backend build. Candidate includes main ancestry through8d70d031; actual local main was not changed. - Existing ngit proposal
8f394251remains draft, updated by normal fast-forward frome97f958ftocf3c38bed009edd729f908b452913a7a1a8e0b67; advertised tip verified. Its title is now “Post-1.9.0 recovery, private IndeeHub delivery and dashboard follow-ups”, with exact updated cover note verified. No duplicate PR, force push, accepted-main merge, release or catalog activation occurred. The draft remains atcf3c38be, behind the latest candidate; it is not current candidate publication.cf3c38bejoins existing proposal ancestry with zero tracked content change. Required mirror check after source publication still fails only local main mismatch; retained log/tmp/archy-post190-mirror-check-20261008.log. Do not claim main parity or acceptance from publishing a draft. Proposal: https://gitworkshop.dev/nevent1qqsg7w2z29e3hfedp3ans2vs5j2qhluxxsle0jgdgh0rgh8qh4lzkgspz3mhxue69uhhyetvv9ujumn8d96zuer9wc0r8ny8 - Private Yaya delivery runbook is now
docs/indeehub-private-delivery-runbook-20261008.md. Worker-aware offline planner includes all three delivery image pins; draft is explicitly not activation-ready until fresh live bindings and remaining gates. Cloud Libraries backend/UI remain isolated, uncompiled and not enabled.
Earlier checkpoint snapshots (historical; superseded above)
-
Latest actual attempt
5bd06edc…reached target startup but failed; native rollback and independent same-boot verification passed: all seven restored runtimes, exact image/unit pins, writable-layer sentinels, database/volume recovery proofs, removed old IDs, cleared holds and Running state. This supersedes the earlier missing final-runtime proof, not the successful-cutover gate. Failure was an inherited stale catalog frontend sed hook. Current source already fixes that hook (49703d7e); fixture target hooks are being refreshed from authoritative input and validated before retry. No live Yaya changes. -
Fresh source-mirror check: both remotes agree on main
cedfbb2b…andv1.9.0-alpha;--localfails because local main isc57119e9…with four additional commits. No refs were overwritten or pushed. Reviewed integration and matching local/remote refs remain a publication gate. -
User requests continued parallel work without compromising quality/process. Three agents remain assigned to IndeeHub, Cloud source integration, and firewall/tunnel UI/settings. Heavy tests remain coordinated; lightweight independent source reviews continue. Approximate 60% overall was communicated as a judgment including delivery/acceptance, not a measured completion score.
-
Actual operation
386004df…reached target startup, injected failure, and recorded nativeRestored, cleanup complete, maintenance Released and verified database/volume recovery. Independent offline read-only evidence agrees. The QEMU process exited unexpectedly before final same-boot runtime assertions; cause remains unknown. Same preserved overlay is now booting under owned persistent unitarchy-indee-v3-qualification-20261008.service, with exit and QMP logging. Restored runtime checks and successful cutover remain required. Detailed evidence:b2ecd940; no Yaya activation yet. -
Connection UI slices are reviewed and integrated as
2ca50ae3and63e21bb1. Focused coverage passes (33 cases across the affected files), app typecheck passes, and source-browser checks pass at 390/1440px. Receipt:~/.local/state/archipelago/release-qualification/connection-journey-20261008/second-slice-receipt.json. This is not deployed or live reciprocal-handshake/phone acceptance. -
Firewalls/tunnels UI has passed its initial responsive/layout/background tests; final review additionally gates legacy-backend secret fetching. Operator added matching the standard page header and back button to this same task. Changes remain isolated pending that follow-up; not deployed.
-
File Browser removal warning is integrated (
96259f0e), seven focused tests passed. Independent Nextcloud/Immich source adapters remain in implementation; Cloud replacement is not yet available. Companion artwork remains last. -
IndeeHub retains the runtime resource slot. Other agents continue independent source work; no competing heavy compile/build is authorized for this slot.
-
Candidate:
archy-session-key, branchwork/post-190-session-key. Latest combined isolated backend suite: 2,031 passed, zero failures, five ignored, all 536 tracked inputs stable at6a342f66. This includes the lifecycle-admission recovery fix, rental/Fleet guards and separate-process paid recovery fixture. No real funds or production FIPS acceptance claimed. Receipt:/tmp/archy-paid-final-combined-LxkyEuYT/receipt.json. -
IndeeHub remains the immediate delivery priority. Prior actual VM checks established missing-plan refusal, seven-member drain/backup, logical database restore comparison, four volume archives and several pre-target recovery paths. These earlier receipts do not establish a successful complete update.
-
Post-target rollback and successful cutover remain unpassed. Operation
23550e9e…exposed automatic crash recovery restarting a held worker during update. Recovery correctly refused the changed live identity; that fixture is held/unrecovered and preserved, not repaired by rewriting its journal. Source6a342f66now checks whole-stack holds, saved runtime ownership and operator stopped/uninstalled intent, holding the lifecycle lock across automatic mutations. Health-monitor restart uses the same lock. Three new regressions passed within the full suite. Matching executable and fresh VM rehearsal are next. No live Yaya migration or app/catalog activation has occurred. Seedocs/managed-update-recovery-implementation.mdfor detailed evidence. -
Future Indee worker shutdown fix is app-repository commit
29627fc, four focused tests passed. Its new private worker image is now built and verified: image9b3ef4116d4b998820e25e09eda7ca14f23e9e264158629451b81e32b47d9c8e, OCI SHA2566db29188c0e68ed8e9e8d84ea2e9c5c70695518e0930775bf6b3200d14d99527. All474 frozen tracked inputs stayed unchanged; both Node stages were pinned to a verified cached digest. Actual isolated image runtime shutdown checks now pass: idle SIGTERM exits 0; an active download survives SIGTERM then SIGINT, finishes HLS uploads and one database key/content commit after release, exits 0, and leaves the second queued job waiting. Alpine 3.23.4 / FFmpeg 8.0.1 / Node 20.20.2. All five synthetic fixture containers are stopped; network-none, no host ports or live data mounts. Cold synthetic database setup failures are retained and are not PostgreSQL startup/recovery acceptance. Detailed receipt:docs/indeehub-worker-runtime-20261008.md. Scoped live import, reviewed catalog pin/signature and delivery remain open. No live image import, deployment or publication occurred. -
Live dev/Yaya dashboard index remains
92050cbda69954f57f4b0bdd73d89623f6aae9fc66e4c074ee4f46bdcb9c3b2a. Final Fleet UI artifact is built, not deployed: archive063752912fdcae2d1abf2abaccd53bfad39acce23c9a5d896ce52ba1e1996080, index2469e5f2ea2f16598982174e6a0944b3bddadc2e0e587e2f6b3a4253366f0078. Full baseline 1,459 tests/177 files plus exact three-file delta 31 focused tests/typecheck pass; 771 inputs stayed stable during build. Narrow frozen source layout checks pass at 390/1440px, distinct from production-dist/live acceptance. Receipt:docs/fleet-final-ui-artifact-20261007.md(470d4f39). Guarded coupled backend/UI deployment preparation is underway; not released. -
APK0.5.37 background playback and notification presence are operator accepted. Phone artwork still failed; operator explicitly parked it until task23, after all other tasks. No further artwork investigation/builds now.
-
Original 1.9.0 ISO software release is published on ngit with its three original assets. No next OTA/ISO/catalog release is accepted or published.
-
Selected demo: Yaya Cloud
/Photos/web54321-balanced-2.mp4, 203331877 bytes, SHA256766f5f6b9d2a6fd90cb7541447fbba666773635bd90def145bcd479a1b8b0591. Read-only hash and browser metadata (1920x1080, 249.766667s) pass. Preserve source. Publication, two-node discovery, producer payout/payment-method binding, timed viewing and bounded payment authorization remain separate open gates. Never send a repeat payment to recover delivery. -
Task6 connection flow source is qualified in isolated commit
75d6f6ed: twelve focused checks and app typecheck pass. Browser checks, return paths and live delivery remain in progress; do not treat it as deployed. -
Task18 firewall/tunnel UI: 21 focused checks pass in its isolated worktree. Full width, aligned status, standard black button, plain language and actual device-management work are in progress. User also requires the page retain the Network tab background. Backend peer mutations/startup restore are being corrected before enabling controls; no live firewall/tunnel mutation occurred.
-
Task5 now explicitly requires supported Nextcloud/Immich connections to work without File Browser installed/running, with account boundaries and independent source availability. Removing File Browser currently disables local Cloud access. Removal-warning UI is integrated as
96259f0e: seven focused checks and four Vue script/template parses pass, independent review complete. Not deployed; combined type/artifact checks remain. It preserves files by default and does not imply migration. Requirement integrated as8c282871. -
Task21 public UI groundwork
6bcdd106and task22 Mesh picker groundwork3360354aremain isolated/unintegrated, after earlier tasks. They do not enable live menus or complete backend/global search/paid delivery/folders. -
Framework LND startup incident is closed with operator acceptance; separate paid-file release regression remains open. Preserve wallets, app data and stopped/uninstalled choices. Backend tests only through isolated runner.
-
Private Android
debug.keystoreremains untracked: never stage. Optional snapshot helper1347627 was cancelled with originals intact: never resume PID.
Historical starting 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.
-
Public files/folders — queued, after prior tasks: Make public in both More menus, discovery by non-peered/non-federated nodes, the same peer-sharing pricing interface with blue tints instead of orange, optional charging and a tiny blue marker at the icon's top-left. Full scope is backlog task21.
-
Mesh file sharing — queued, final task after21: Share file opens From node / From computer; node picker has tree navigation, search across all own files, retained multiple selections at the bottom and Send. Plan node-to-node delivery and support paid files using the usual recipient payment interface. Full scope is backlog task22.
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.
Resumed qualification — 2026-10-07
- Current source at
a9a19751passed the complete dashboard suite: 1,435 tests / 174 files, zero failures. All 14 BalanceAmount cases passed in 411 ms; the historical 20-second timeout did not reproduce. No balance implementation change was made to obtain this result. - Production UI build passed, with all 768 captured tracked UI/catalog inputs
unchanged. Archive SHA256:
c62591d8c761bbac7701c1f7264ebdcd822e38276f68b4d5b86d0006c7a8d124. Served index SHA256:8e36064a7357c20ddcc3f1e7118d13f81d68e3d35a7724ef22cbea16303683c0. - Deployed that UI to development only. Backend digest, session key, container IDs/start times and four catalog files were unchanged; health and served index checks passed. Actual authenticated browser smoke passed at 390/1440px with no page errors, horizontal overflow or payment operations.
- Durable qualification artifacts:
~/.local/state/archipelago/release-qualification/ui-resumed-8e36064a7357/. Dev rollback:/var/lib/archipelago/support/reliability-ui-20261007T161407Z-427000/rollback.sh. - Retained updater work was found on
work/stopped-update-recoveryat2512a9f6: twelve commits, not integrated in this candidate. Its owndocs/managed-update-recovery-implementation.mdexplicitly requires Rust compilation and disposable Podman/systemd/PostgreSQL qualification. Do not recreate this work or activate IndeeHub based solely on its fake-runtime tests. - The private activation notes require a coherent fresh database/media backup, operation-owned admission hold and verified runtime rollback. The older isolated migration fixture is not a cutover backup.
- Operator requested delivery of an APK before physical checks; USB debugging is not required. Companion 0.5.35/build55 is reserved for the integrated Cloud PiP candidate. Packaging and current Android qualification are underway; this does not establish native background-audio acceptance.
Companion APK delivered — 2026-10-07
- Canonical clean package/sign/verify completed for 0.5.35/build55, package
com.archipelago.app.debug. v1/v2/v3 and the existing signing certificate pass. APK SHA256:f4b8337889e8dcc95f32e531abbb23b05ec003c7e34b0c1ba4f7c197dffc99b9. - Corrected a Kotlin expression-return compilation error in CloudVideoPip. The prior failed build is retained as failed evidence, not acceptance.
- Current Android suite: 17 tests, zero failures/errors/skips (3 origin checks, 6 download checks and 8 fullscreen lifecycle cases).
- At the operator's request, the exact signed APK is served from archi-dev-box
at
/packages/archipelago-companion-0.5.35.apk; HTTP bytes verified against the build. No standard fleet download, dashboard, service or catalog changed in this delivery step. Test Cloud PiP against the matching dev dashboard. - Physical install/PiP acceptance remains pending. This APK does not implement a dedicated native background-audio service; that V4V requirement remains open.
- Yaya SSH access restored using an ephemeral control connection. No password was stored on disk. Yaya's dashboard and IndeeHub have not been changed here.
- Current session permits reviewed escalations again; the prior permissions
blocker is superseded. Packaging logs, Android XML and delivery receipt are
retained under
~/.local/state/archipelago/release-qualification/companion-055/. - Retained updater source now has complete-backup inventory/hash validation with 19 pure tests passing. Its disposable PostgreSQL commitment fixture passes unchanged/additive schema and rejects four data/schema/history mutations. Full Rust and real supervised Podman/systemd qualification remain required before integration or IndeeHub activation.
Operator PiP acceptance and continued release work — 2026-10-07
- Operator confirmed the delivered companion PiP works (“works great”). Record this as operator acceptance of the reported PiP flow, not independent proof of every rotation/network/expiry case or native V4V background-audio support.
- Retained updater is now integrated locally at
7fb7ee80. The combined isolated backend suite passed 2,000 tests, zero failures, five ignored. Prior notes saying integration/Rust qualification are pending are historical. - Real disposable Quadlet/Podman AutoRemove primitive qualification passed: injected target failure, restoration from the original writable-layer image, preserved volume bytes and original configuration. The full seven-member application drain/cutover adapter is still not qualified by this primitive test.
- Evidence:
/tmp/archy-resumed-20261007-integrated-full-backend.logand/tmp/archy-resumed-20261007-runtime-primitives-recheck.log. - Active work: require restoration of each fresh database backup in an owned,
network-isolated PostgreSQL before IndeeHub target startup. Hash verification
alone is insufficient. All 21 controller tests pass; real restore/fault checks
passed, including the actual production restore method, rejection of truncated
and wrong-database dumps, owned fixture cleanup and retained admission fences.
Evidence:
/tmp/archy-20261007-fresh-backup-restore.log. This script change needs a fresh embedded-controller backend build; do not call the older 2,000-test result evidence for this new change. - Task21 is appended at the end, including the operator's explicit requirement to reuse peer-sharing pricing with blue tints. It is not implemented yet.
Current status overview requested by the operator
“Nearly finished” means implemented with a bounded acceptance/review step left; “In progress” still includes substantive implementation or distributed testing. No percentage is inferred from test counts.
| Task | Status | Remaining work |
|---|---|---|
| 1 IndeeHub publishing/paid viewing | In progress | Full supervised cutover, distributed publication/payment/timed playback |
| 2 Native signer/companion grey screen | Nearly finished | Physical login/resume/session recovery acceptance |
| 3 Peering/discovery | In progress | Reciprocal offline/reconnect and expanded connection UX |
| 4 Framework Monitoring | Nearly finished | Owner-browser Monitoring check |
| 5 Immich/Nextcloud | Slightly started | Design assessment exists; connectors unimplemented |
| 6 Web5 connection journey | In progress | Deferred final flow review and expanded UX |
| 7 Companion launch speed | In progress | Actual device measurements and remaining latency work |
| 8 Fleet acceptance | In progress | Full supported-function/fault matrix |
| 9 AIUI/provider/funding | In progress | Provider/funding and companion acceptance |
| 10 Offline/network map | In progress | Real outage and recovery qualification |
| 11 Web5/Cloud/tab speed | In progress | Complete performance evidence |
| 12 Fleet metrics/FIPS | In progress | Fleet failure and transport qualification |
| 13 V4V Yaya demo | In progress | Browser demo live; native phone background playback remains |
| 14 Peer files/Indee streaming | In progress | Distributed timed playback |
| 15 MeshCore | Queued | Two-radio work and acceptance |
| 16 Web5 cards/footer | Done | Dev/Yaya mobile and desktop geometry, long labels and keyboard navigation passed |
| 17 HTTPS apps | In progress | Exact hostname/trust and companion acceptance |
| 18 Firewall/tunnel | In progress | Read-only UI done; settings persistence/reboot/rollback qualification |
| 19 Media guide/Cloud PiP | Nearly finished | PiP operator-accepted; finish reusable contract and remaining edge cases |
| 20 Native background media | In progress | Operator confirms APK57 background playback works; notification artwork missing. Full controls/queue/recovery matrix remains. |
| 21 Public files/folders | Queued, before22 | Shared pricing interface with blue tints, unrelated-node discovery and tiny marker |
| 22 Mesh file sharing | Queued, final task | Node/computer choice, tree/search picker, retained multi-selection, delivery design and usual paid-file flow |
Completed subitems: Framework LND startup incident, companion download/viewer acceptance, physical upload acceptance, APK55 delivery and reported Cloud PiP flow. Earlier complete UI/Android suites pass; a fresh backend rebuild is required for the final restore barrier. OTA/ISO is not ready: payment/recovery, IndeeHub, fleet/device qualification, mirror review/parity and final artifact gates remain.
Fresh backup barrier qualification result
- Final controller:21 pure tests pass. Real production restore-barrier tests pass on PostgreSQL15.17 and16.13, including valid restoration, wrong-database and truncated-dump refusal, retained admission, owned fixture cleanup, and four original data/schema/history mutation rejections.
- The first PG15 attempt failed during pg_restore. That attempt's command error log was in an automatically removed fixture directory, so its exact cause is not proven. Readiness inspection found the bootstrap Unix-socket server could be mistaken for the final server. The controller/fixture now wait for TCP readiness; both final version runs pass. Do not erase the failed attempt.
- The backend rebuild begun before the readiness edit was interrupted deliberately
because its embedded source was stale and it competed with restore tests.
Final embedded-controller backend rebuild/suite and deployment remain pending.
The prior 2,000-pass receipt applies to
7fb7ee80, not this changed controller. - Durable logs:
~/.local/state/archipelago/release-qualification/indeehub-backup-restore-20261007/. - No live app/container, database, wallet, catalog, payment or public file was changed. Disposable fixtures used network-none and no live volumes.
Mesh sharing addition — operator request
Task22 now follows task21 at the end. Its detailed scope is in
post-1.9.0-work-backlog.md. This is a recorded requirement/design task, not a
claim that the picker or transport/payment flow has been implemented. Existing
public-sharing blue pricing and marker requirements are retained unchanged.
Companion56 native-audio qualification — 2026-10-07
-
Operator withdrew the accidental screensaver/Play/Skip prompts. No changes were made for them, so nothing required reverting.
-
Companion0.5.36/build56 is delivered at
http://192.168.63.240/packages/archipelago-companion-0.5.36.apk. SHA2566bee2a2a13231525997946926bb47c473e01b81c03737d22d1bce18af9982c6e. Canonical signing, clean packaging and HTTP byte verification passed. The standard fleet APK and live backend/catalogs were preserved. -
29 Android tests pass (including native bridge, foreground notification and task-removal retention on SDK28/35). These are automated tests, not phone acceptance. Durable receipt:
~/.local/state/archipelago/release-qualification/companion-056/. -
The native MediaSession/foreground service controls the same retained authenticated WebView player, with queue controls, bounded thumbnail data, session/origin checks and logout/stop cleanup. No protected stream URLs or credentials are sent to Android and no second decoder/payment is started.
-
Initial complete dashboard qualification passed1440 tests/175files and its production build. That UI was deployed on dev with backup and unchanged backend, catalog/session/intent hashes and container IDs/start times.
-
Live LAN HTTP browser inspection then found
crypto.randomUUIDabsent. The new bridge now generates UUIDv4 usingcrypto.getRandomValues, which that browser supports. A regression covers this exact condition; final full UI suite/build and replacement deployment are underway. Do not ask the operator to accept native audio until the matching corrected Yaya UI is deployed. -
Yaya remains at its previous UI until qualification completes. Physical Android background, lock-screen, swipe-away, reconnect and stop acceptance remains required. CloudPiP55 remains operator accepted.
-
Dedicated IndeeHub agent owns backend changes and the full isolated seven-app fixture. Its first latest suite had2002pass/1failure/5ignored: the new fixture incorrectly expected no directory, although an empty directory is valid. Assertion corrected to require no journal files. Final isolated recheck: 2,003 passed, zero failed, five ignored, committed as
b9c75b21. This is not a live IndeeHub delivery; optimized binary and full VM cutover still remain before Yaya activation. -
First HTTP-fix full UI run:1440 passed, one60-second Home wallet-display timeout and a worker
snapshotSavedtimeout under severe memory/I/O pressure. Focused rerun:all12 Home wallet-cache tests and all6 companion bridge tests passed (18/18). Clean full rerun is underway; retain both failed and passing logs. The initial1440-green full receipt predates the UUID fix. -
Extended real V4V browser qualification supports optional simulated Android transport while using the actual authenticated iframe and bundled free demo media. It checks native command routing and JPEG thumbnail delivery; no physical Android result is implied. The new end-to-end run remains pending.
Companion56 dashboard delivered and live V4V qualification
- Final full dashboard suite passed 1,441 tests /175files, zero failures,
with the LAN HTTP UUID fix. Production build passed. All770 recorded UI and
catalog inputs matched. Source checkpoint:
235f6d04. - Exact UI archive SHA256:
31b5370351511072c01f71915881e3fb2becf01a621ad725aa13ad89b48b60e1. Served index SHA256:4d9424a4ad7548221a07e2c4f14019029ac5fc4e3f1d27ff5eca72b5ff0f6a56. - Deployed on dev192.168.63.240 and Yaya192.168.63.169, with rollback backups. Backend, catalog/session/stopped/uninstalled hashes and container IDs/start times were unchanged on both. Authenticated dashboard browser checks passed at390/1440 widths on each node; no overflow or page errors.
- Actual Yaya V4V native Nostr login, bundled free demo playback, companion command routing (pause/play/next/previous/shuffle), JPEG thumbnail delivery and same-iframe reopening passed at390/1440. Android transport was simulated for these browser checks; physical lock-screen/background acceptance is still open. No payment occurred.
- Operator was given APK56 URL and Yaya http://192.168.63.169 as the test
server, with background/lock-screen/notification-control checks. Durable
artifacts and all failed/successful test receipts:
~/.local/state/archipelago/release-qualification/companion-056/ui/. - New operator request:hide control bar during fullscreen “What is Web5.” Asked whether dashboard bar or video's own controls; pending reply. Current stated assumption is dashboard bar. Narrow fullscreen entry/exit suppression is being checked separately; it is not yet in the above deployed artifact.
- IndeeHub optimized build is now running against the reusable release cache;
VM remains off until that finishes. Exact existing catalog-signing request
was recovered; no duplicate request sent. Private safe helper and receipt
are in
indeehub-yaya-private-staging-5d0ea64/; no signature yet.
Fullscreen prompt withdrawn
Operator replied “wrong window ignore” to the fullscreen-control question. Reverted only that request's uncommitted player, test and optional browser-check changes to the accepted native-audio source checkpoint. The temporary fullscreen UI reached dev only; Yaya only received staged bytes, never activation. Dev is being restored to the previously qualified companion-audio archive/index above. Native audio/APK56 and the release work remain in scope. Do not resume this withdrawn request or the earlier withdrawn screensaver/Play/Skip requests.
- Withdrawal completed:dev again serves qualified index
4d9424a4ad7548221a07e2c4f14019029ac5fc4e3f1d27ff5eca72b5ff0f6a56; backend/catalog/session/intent/container preservation and390/1440 dashboard checks passed. All770 UI/catalog source hashes again match the qualified native-audio baseline. Yaya never activated the withdrawn fullscreen build.
Task16 complete — actual Web5 footer acceptance
Monitoring, Identities and Federation footer placement passed on dev and Yaya with the deployed qualified UI at390px and1440px. Browser-only stress content covered tall neighbours, shrinking content and long action labels; footer geometry remained in normal flow, at the card bottom, with space above and no horizontal overflow. Keyboard focus and Monitoring navigation also passed. No server state, identity, wallet or relationship was changed.
Evidence (browser scenario deliberately outside the repository):
~/.local/state/archipelago/release-qualification/web5-footer-20261007/.
This closes task16; it does not close the separate Framework owner-browser
Monitoring gate or deferred connection UX/removal work.
Companion56 physical background failure — 2026-10-07
- Operator reports audio stops about five seconds after locking the phone or switching apps, with no playback notification. Foreground playback works. This is a failed acceptance check, superseding the earlier nearly-finished status; automated browser and Robolectric passes do not close it.
- USB debugging is unavailable (operator corrected the initial can-connect response). Do not keep requesting USB or claim device logs were inspected.
- Actual delivered APK manifest includes CompanionAudioService, mediaPlayback foreground type and required foreground-service permissions. This verifies packaging only, not service startup on the phone. No root cause confirmed.
- Companion retains its dashboard WebView across navigation. Operator was asked to use the existing Restart app action, reconnect to Yaya, play a free demo, and check for the notification before backgrounding, to rule out a retained page from before the matching UI deployment. Operator subsequently confirmed it still failed after following the guide. Do not request another blind retry.
- No replacement APK, real payment, phone reset or wallet change performed.
- IndeeHub agent committed final dispatch fixes as
2bfa84ef: isolated backend suite 2,004 passed, zero failed, five ignored. VM-only binary preparation and isolated full update/recovery rehearsal are ongoing; no live activation.
Independent workstreams — operator authorized 7 October
- IndeeHub agent owns seven-service update/recovery qualification. Its VM-only executable completed (SHA25614100aa55192b79ede0e9ec37317efd9125065f1336b0084d8f1b6ee37c59490); all seven baseline images imported. Actual RPC rehearsal is underway in an isolated VM. This executable predates the new paid-file fixes and is not a release artifact. Yaya remains unchanged.
- Companion agent owns no-USB native playback diagnostics and APK57. Code is ready, Android tests/build underway. This is diagnostic, not a claimed fix; physical background acceptance remains failed. See its dedicated investigation.
- Paid-file agent owns guard fixes18b08720: unresolved on-chain attempts block alternate Cashu/Lightning payment; unsafe legacy spending fails closed. Fresh Fedimint file purchases are temporarily unavailable; cached delivery/recovery remains.62 UI tests and typecheck pass; isolated backend suite is queued. Both nodes' previously purchased20MiB fixtures still reopen with exact hashes, with no new payment or spend-ledger change. See dedicated qualification doc.
- Root owns Fleet recovery65d265f2: explicit retained-report outage notice, Retry, rejection of old replies and unmount cleanup.21 tests, Vue typecheck and isolated390/1440 Chromium keyboard/layout recovery checks pass. Production combined UI build and deployed acceptance remain.
- Wrong-window PWA request was inspection only and was withdrawn; no PWA change.
- Heavy builds are serialized around the constrained host; no live wallet/app shutdown was used to free resources. No OTA/ISO/catalog publication occurred.
Latest resumed checkpoint — APK57 and combined qualification
- Operator reports APK0.5.37 background playback now works; notification exists but song artwork is missing. Do not keep asking for the failed-flow diagnostic report or USB. Audio agent is correcting the admitted-app-origin artwork path; earlier physical failure remains historical, with no definitive root cause.
- Diagnostic APK source committed7383d47b. Download: http://192.168.63.240/packages/archipelago-companion-0.5.37.apk SHA2569b63bd928ab396278791ab3b514dbb53daaf4b7de9311e8e4f505acc02594a2c. 33 Android tests, canonical clean packaging and existing signer passed.
- Combined UI:1,448 tests/176 files pass; production build and390/1440 Chromium
Fleet outage/recovery fixture pass. Frozen701-input artifact/evidence resides
in
~/.local/state/archipelago/release-qualification/combined-ui-20261007/. Source subsequently reopened for artwork changes; they are not in that artifact. - IndeeHub VM caught real manager-startup replacement of saved containers in generic environment-drift repair. Early saved-recipe guards and outer sweep exclusions are under combined isolated backend qualification. The seven-service fixture was restored/rebaselined with failed evidence retained; this is not rollback acceptance. Normal saved-unit Start/Stop/Restart also needs correction before activation. Lifecycle patch prepared separately during source freeze.
- Paid-file agent owns the one active Rust compile; it is progressing but page-I/O bound. IndeeHub owns next source/build slot. No live wallet/app teardown is used to free memory. Current guard tests do not qualify the pending lifecycle patch.
- Public sharing read-only assessment checkpoint is
/tmp/archy-public-sharing-plan.md. Implementation remains queued. Public paid delivery still needs authenticated identity/transport independent of federation; do not bypass payment journals. - No new OTA/ISO/catalog publication. Yaya UI/backend/IndeeHub remain unchanged during this checkpoint. Dev-only combined UI deployment is being qualified.
Dev combined UI attempt rolled back automatically when independent botfights replacement changed the post-deployment inventory. HTTP verified the old index hash matches the preflight baseline. The new artifact remains qualified but is not deployed. Existing health-monitor restarts were confirmed read-only; retain this new qualification issue rather than weakening the preservation gate.
Five completed historical UI release archives were moved from RAM-backed /tmp
to durable release-qualification/retained-tmp-archives, with exact SHA256 checks
and original paths retained as symlinks. This released496,544,104 tmpfs bytes;
no build inputs, running services or wallet files changed. Indee's owned VM is
being shut down at its transaction-idle boundary to relieve compilation pressure;
its disk/evidence are retained for a dedicated4GB qualification window later.
Original1.9.0 ISO added to ngit release records
Operator correctly reported missing ngit software release (Git tag alone was
already mirrored). Published 1.9.0-alpha with the original ISO and both
checksums; both relays acknowledged, online readback resolves exact three assets.
No new build, source ref, OTA/catalog or Gitea asset changed. Full local ISO hash
and pinned signature pass. Direct URL attempt hit1800-second timeout; retained
failure and used the established verified-asset-event workflow. Full receipts:
~/.local/state/archipelago/release-qualification/ngit-iso-190-20261007/.
Other latest checkpoints: artwork UI0c1d1b57 passes26 focused tests, app-project
typecheck and Chromium A/B; native test60bd728a passesSDK28/35. APK57 unchanged;
production UI build/physical artwork acceptance remain. Frozen707-input snapshot
and build script:/tmp/archy-artwork-ui-build.py. HTTPS task17 evidence51694119
retains22/24 full-navigation cases and12/12 response-only follow-up; normal trust
and LAN-IP certificate match fail. Indee final lifecycle/health guard b0b95810 is
under the combined isolated backend run, log
/tmp/archy-paid-indee-lifecycle-backend-20261007.log; VM is off. Before its next
boot, apply the documented GRUB manager mask and validate read-only exec context.
Continuing agent ownership after ngit publication
- Paid-file agent owns final combined backend run and source-hash verification;
latest log
/tmp/archy-paid-indee-lifecycle-backend-20261007.logwas still compiling, not a test pass. Indee final source is b0b95810; no new mutations. - Companion agent now owns the frozen artwork UI production build, browser
qualification and guarded dev delivery, then coordinated Yaya UI delivery.
Script
/tmp/archy-artwork-ui-build.py; snapshot underrelease-qualification/artwork-ui-20261007. Preserve rollback and container/ backend/catalog/session/intent checks. APK57 remains unchanged. Root's older combined UI attempt rolled back; don't mistake it for a deployed artwork fix. - Indee agent owns safe masked4GB VM context probes, corrected executable and actual seven-service update/rollback/normal lifecycle acceptance. VM is off.
- Root's confirmed-idle snapshot relocation helper PID1347627 is SIGSTOP-paused
because it competed with the compiler. Exact command argument:
/tmp/archy-relocate-frozen-snapshots.py; log/tmp/archy-relocate-frozen-snapshots.log; root exec session38007. Paid agent owns resuming it after the suite in a suitable no-compiler/VM-heavy window. Do not leave it paused indefinitely. Original paths remain until each full copy/hash/mode verification completes; then preserved as disk symlinks. The three sources are historical GitWorkshop, ngit-review190 and companion-PiP snapshots, not current build inputs. Never remove unverified originals. - Exact operator HTTPS hostname requested asynchronously; no reply yet.
Corrected maintenance scope and artwork delivery
- Combined isolated backend qualification completed: 2,006 passed, zero failed,
five ignored, with all 532 input hashes stable. This qualifies
b0b95810plus the payment guards, not the subsequent maintenance launch change01a55d2d. - The actual hardened synthetic VM reproduced direct Podman exec failure (126)
from the manager context. User-scope execution passed for API/PostgreSQL and
preserved the inherited lifecycle flock. Commit
01a55d2dlaunches the pinned maintenance helper through that scope. The VM then shut down cleanly. Corrected executable and full transaction/rollback/lifecycle acceptance remain pending. - Frozen artwork production UI passed with 707 unchanged source inputs. Browser checks at 390/1440px verified JPEG delivery using actual Yaya admission with synthetic cover data, without signing/payment. Dev UI deployment succeeded: index 92050cbda69954f57f4b0bdd73d89623f6aae9fc66e4c074ee4f46bdcb9c3b2a, 178 retained-path checks and 32 unchanged container IDs/start times, including delayed verification. Live dev browser checks and Yaya delivery are next. The earlier failed/rolled-back UI attempt remains historical evidence.
- APK 0.5.37 is unchanged; operator-confirmed background playback remains accepted. Physical notification artwork and the full controls/recovery matrix remain open.
- Paid-file qualification scripts are retained under
release-qualification/paid-file-recovery-20261007/: readiness/provenance audit, synthetic isolated runner and next-stage gate. No new or repeat payment occurred. - Paid-file agent resumed the verified historical snapshot relocation helper PID1347627 after VM shutdown; Indee's next compiler waits for this bounded slot. Do not restart a second copy process or remove unverified originals.
- Root corrected stale guide/backlog claims in
2ccc0381. Cloud PiP's reported operator flow is accepted; the broader physical edge matrix remains open. - Indee app discovery/publication and timed-viewing source exist, but live two-node acceptance is pending. Producer wallet binding and rental payment method coverage are still substantive gaps; seven-service migration alone cannot close the complete IndeeHub task.
Delivered artwork and selected IndeeHub demo
Artwork dashboard delivery is now complete on both dev and Yaya, with index
92050cbda69954f57f4b0bdd73d89623f6aae9fc66e4c074ee4f46bdcb9c3b2a.
Yaya preserved all 174 checked paths and 30 container IDs/start times, including
delayed verification; actual deployed browser checks pass at 390/1440px. Receipt
and investigation commit d23da226. APK57 unchanged; physical cover confirmation
remains open.
The operator selected web54321-balanced-2.mp4 for IndeeHub. Authenticated Yaya
Cloud metadata confirmed an exact match, 203331877 bytes, without reading video
bytes or publishing it. Private source path/metadata receipt is retained in
release-qualification/indeehub-selected-demo-20261007/source.json. Preserve the
original. File-identification blocker is cleared; paid-test authorization is not.
Task11 baseline: 24 actual deployed Apps/Web5/Cloud route-shell checks passed on
dev/Yaya at 390/1440px, no page errors/overflow/mutation attempts. Single samples
under concurrent build load: cold document 485–2035ms; warm router 123–1115ms.
This is not useful-data, tap feedback, phone, distribution or before/after proof.
Retained initial transition-selector failure and corrected evidence under
release-qualification/navigation-baseline-20261007/.
Rental payment review found missing shared cross-rail admission at content.rental-purchase. Reviewed patch c2b22c0a is isolated on work/rental-admission-20261007, awaiting current executable input-hash capture before integration and isolated execution. Public-sharing UI groundwork is separately isolated on work/public-sharing-ui-groundwork; no public menu is activated or legacy policy remapped.
Optional historical-copy helper cancelled safely
The archival helper PID1347627 is no longer paused or queued. Root verified its
exact stopped command, all three original directories still intact as real
directories, no relocation rename staging and no completed relocation receipt,
then terminated only that helper. Do not resume/restart the PID (it may be reused).
Partial disk copy is retained with
release-qualification/retained-tmp-snapshots/cancelled-helper.json; no original
was deleted or replaced. This optional maintenance no longer delays builds/VM
acceptance. The five earlier successfully relocated UI archives remain intact.
The selected Yaya demo source hash is now independently verified read-only:
766f5f6b9d2a6fd90cb7541447fbba666773635bd90def145bcd479a1b8b0591,
203331877 bytes; before/after metadata matched. No video duplicate was retained,
no publication or payment occurred. Receipt: the selected-demo directory's
source-hash.json.
Corrected executable and VM manager-start acceptance
The corrected normal/debug executable completed in 18m48s with all captured
inputs unchanged: SHA3cbe5a5c3a74e6463ab0874c74e23dfca68f0bfc3fe54883f0edf69abb37ac0d,
420030040 bytes. Stripped same-code VM copy:
753f8ba6ac342c8f4b9a19c8079a51dfd1da4dcb517d4ea4d0e54035c22f5788.
This is an integration artifact, not an optimized release, and predates rental
guard 4dde14bf. VM manager-start acceptance passed: completed 62-app reconcile
logged all seven IndeeHub members NoOp, all baseline IDs remained running, API
and manager returned HTTP200. Actual update refusal/rollback/lifecycle tests
are next; do not infer their results from startup acceptance.
The chosen video also passed authenticated Chromium metadata loading: 1920x1080, 249.766667 seconds. Source metadata acceptance is separate from rental playback. Public-sharing UI groundwork 6bcdd106 (37 tests + app typecheck) and Mesh picker groundwork 3360354a (10 tests) remain on isolated branches, not integrated or menu-enabled. Their broader backend/transport/inheritance work remains open and their end-of-backlog delivery order is retained. Companion agent is now handling Fleet acceptance; paid-file agent owns the next combined isolated backend run after the VM window. Optional archive helper was cancelled; never resume its PID.
Operator artwork deferral supersedes pending confirmation
The user reports the notification image still does not appear after deployment, and explicitly requests parking it until the end of all tasks. Retain physical FAIL/open, background playback accepted, and stop further artwork investigation. Backlog task23 records the deferred follow-up after all earlier tasks.
VM update requests so far hit lifecycle-lock admission before reviewed-plan
validation. They prove no mutation, not the missing-plan gate or rollback. Indee
agent is tracing actual lock errno/context; startup preservation is still valid.
Root/paid agent Fleet provenance fix is isolated in
/tmp/archy-fleet-provenance-20261007, companion agent Fleet alert/provenance UI
is also isolated. Neither is live or compiled into the VM artifact. Their final
review/integration must precede the next combined backend source freeze.