Skip to content

Wrap third-party software as capsules served over Carrier; never download from other servers #217

Open

Description

@andersalm

Part of #87.

Browser producer: one signed payload closure per supported host

The release build produces one verified ARM64 Browser guest image and matching Mac Apple Silicon and Linux ARM64 helpers, including crosvm and kernel. Both hosts use this same Chromium + Selkies + network-wrapper guest; other hosts use an approved remote Engine. Signed release admission accepts the complete compatible set with provenance, licences, sizes and hashes. Normal setup or first launch obtains the image through the existing streaming file transfer, with progress and the same 30-seconds-without-data limit as other downloads.

Current Browser delivery record — 3 November 2026

Current work. #87 owns Apple Silicon Mac's signed installed proof. #90 owns the proposed 2.1.0 Jetson slice and current target evidence. Main's local 3a8f41c62 source binds Linux ARM64 to the shared ARM64 guest and matching qcow-capable crosvm, vsock and native owner helpers. The guest bytes are shared by content identity while per-host manifest rows select their own dependencies. Source wiring is available; the signed matching package, installer/update proof and release CI for that candidate remain pending. PR #349 is the existing x86 source candidate, with separate qualification under #293.

Next proof. Freeze the compatible manifest and exact native/package inputs after the #90 run and review. Produce, admit and stream the signed image/helper set through the existing installer and #89 update transaction. Prove checksum/size/CID binding, missing/wrong/interrupted payload handling and update/Undo with a surviving profile. Coordinate #406's privileged helper integrity gate. #475 owns the host/guest Node and Chromium freshness follow-up; use its reviewed inputs and #293 maintenance evidence without introducing another producer or install path. The 26 October source and artifact history follows.

Historical ARM artifact and x86 handoff — 26 October

Frozen October ARM artifact: the one matching 4096 MiB guest build and packaging passed on Namespace ARM64. CID QmX9oNy93DBpRNBs7cKNYjRiCZP5S38u7Widr6fbRNYdUo; archive SHA-256 a275c5316b83bced6d6e66c9d188884f5a4810ba8f440ec96fd240693af9807c; size 908320179 bytes; 78-input hash f769b88527b8d5fb7b9b29bb0d2c5ad4553f8b74f5191754251a1fb75da03f1b. The original build receipt has SHA-256 94305bf85e09fe3d25812958091cc369fe5dd458543d57f9d30096b780a81bde. It binds source 703af8d10; the subsequent two-line CI correction preserves all image/helper inputs. The original receipt, input manifest and package record are retained privately. CID uses checksum-pinned Kubo offline, CIDv0, SHA-256, 262144-byte chunks and non-raw leaves. The producer instance has ended and its owned volume remains. Original receipts/input hashes were rechecked on 26 October; recover and rehash archive bytes before reuse. The Mac reserve blocker is cleared. Current develop has newer Chromium/Node pins, so this frozen image is diagnostic provenance rather than the integrated release image. This is a qualification artifact; signed admission and installed acceptance remain open.

Current target proof: Anders completed the one-time root setup. Ordinary-user checks pass KVM API 12, VM descriptor creation, all four slot/filter receipts and 26 root-free network tests. The real Jetson crosvm fault was reproduced and repaired: stopped writable disk workers now retain slot/profile/rootfs leases after leader death, releasing them only after the last writer exits. Cleanup and an independent process scan report zero owned processes. The original and repaired receipts, exact helper hash and independent review are in #90. Faster Close has 17 passing focused tests; installed timings remain pending.

Pending: the complete isolated Jetson Home journey, matching native Runtime/owner installation, actual startup/Close measurements, native-owner shutdown/crash/restart, profile reopen/update and normal signed delivery. Main-disk free space is about 19.5 GiB; the existing sparse-copy path may fit one bounded session after measuring the fresh artifact allocation. External-drive preparation was cancelled. The Mac reserve blocker is cleared; integration and installed proof are the next work. Full acceptance, B01–B16, hardware/media/soak/manual/human review remain open.

Premortem applied: explicit host arguments; preservation of existing tests; every touched target and call site; real module/entrypoint fixtures; identity-bound owned removal. Lessons 740–744 retain the late fixture/CI omissions for integrator triage. Lesson 744's expanded scratch run lacked a committed HEAD and hit a watcher timeout; its GNU timeout explanation is unproven. The focused CI trigger regression passed and the real committed Linux run supplies full-suite evidence.

Next experiment: integrate current develop while preserving its Chromium/Node pins, freeze one candidate, then prepare it on the Ubuntu 22.04 ARM baseline, install into the isolated Jetson Home within its measured disk allowance, then run the #90 page/input/Close/profile journey with timings and screenshots. Anders's root step is complete. The existing prepared removal command applies after qualification. OMP owns reviewed integration, seed staging, signing and release.

Original artifact and primitive receipts (historical): The original 4 GiB ARM guest matches all 78 develop recipe inputs and options, input hash 22b6daeed8fc6cd674b237d9e128bb79077d0afa68b9ae205d0cfe65b4822035. Alpha.15 package run 38241639459 passed on exact develop; proof artifact 11750184041 binds native artifact 11746097793 and image SHA-256 537139b8b03fb899276d53c7a370aeba76eb08bda2ea0787275c57d1e299226f, size 908283362, CID QmPAyAFZ85hQzocVJbzqyTcnKBWfJfNeKady3YtrJ8Go1P. These original bytes remain diagnostic provenance; the current Close input is bound by the new artifact above. The revised setup helper passes 24 focused tests on Mac and all 24 on Jetson (0.415 s), plus independent source review. Its staged SHA-256 is 8cf026e9b31e9caf59ba7855b6810e3d6e628d2cbef367dfb3bc2e898d496cfe; target bytes/help match. Actual Jetson sandbox preflight passed private user/PID/network/filesystem namespaces, host Home exclusion, loopback-only networking, zero effective capabilities, and memory/event descriptor exchange through a pathname Unix socket. This proves those sandbox primitives only. One pinned static ARM vhost-device-vsock experiment built in 64 seconds on an owned Namespace producer: source 4fe41e353a005b1b7163f3f38efde3523f3b160c, binary SHA-256 423d8b4f479c6ef8f73a8bb940e68facd2c33c3b6db48f205c8e9c5d74f503f9, size 3600152. Original build/input receipt, linkage, source/lock/vendor closure and bytes were copied back and verified. The producer and its owned volume were destroyed; operator caches remain.

Prior source handoff: The reviewed amd64 producer repair, exact release-command proof, full Linux slot-2 pass and original artifact receipts remain in the previous source handoff. OMP now owns subsequent PR #349 correction and integration. The earlier ARM recipe mismatch belonged to that amd64 working branch; it does not apply to the approved develop qualification base above.

  • Service result — saved-profile audio failed: Clean scratch b390bdef0956e360d021827d2e76d9d3f07c400f, tree c462947dbb5ae67eb1781b9b32c1931cd6bc927e, combines published service 553b471b4 and reviewed producer repair e89b30271. Canonical source-Home installation and its actual generated systemd user unit passed source/installed Runtime parity, MainPID/cgroup ownership, sudo-free PATH and the empty installed setuid/capability scan. Runtime SHA-256 is b9183ae139aeb5c9a9d6cc079ce8d7f49f1ebe0e6b9613698e73d146c6ffaf11; unit SHA-256 is 42a71b09a006669c67b1b4281b5849fad6be8fe878a7e9dfbf1efded316549ef. The write journey passed: first presented frame 32,579 ms, controlled page 33,843 ms, tone 40/40, navigation/type/click/scroll/reload and committed storage. Two reopen runs restored both documents and passed decoded video, typing and clicking, then failed audio continuity before scroll/reload: tone 24/40 and 9/40, with RTP receive/loss deltas 19/213 and 10/276. Close passed 13/13 terminal effects and zero Runtime counts each time, in 4.918 / 5.178 / 5.371 s. Independent installed-evidence review confirms these bounds; the complete read/media journey and Gateway SIGTERM leaves orphan browser-vm-control-service #131 active shutdown/crash/restart/orphan gates stay open. The evidence does not identify a systemd directive as the cause. Fixture image metadata, viewer preparation and PATH issues were corrected without guest changes; their lessons are retained. Home stopped, host setup removal and ACL restoration passed, owned staging was removed, and the disposable machine was destroyed. Original guest inputs remain 23a95d6dab4cf45844f20982807c4f3d45fc4afb1bdfef251d52d8e0b70f3cd6; the guest was reused. Private service-result receipt SHA-256 is b5b0bd31ce70fcd88bdae11fad6a2250552c7dbfdb28039b50bb1df46ce6bc5b. The operator cache retains current helper archives with original receipts. Scratch archive was refused by Codex pinned-task/workspace protection; its clean source and cleanup condition remain in the lifecycle inventory. Earlier source handoff — full-test failure retained: Browser on Linux x86: restore the qualified VM Engine with private boot input and expiring TURN credentials (#217) #349 remains published at 619b641df; clean local e89b302719a7ccaa36f341ef24be22266164c714, tree e3876dfb0a2271593c9c7e855ab8be74da78166e, is 0 behind / 1 ahead. git show --stat records three files, 33 insertions and 20 deletions: the upstream builder, its tests and recipe notices. Independent producer review, 13 helper tests, 23 package fixtures (two recorded Mac skips), diff checks and the Mac source gate passed. The leased Mac behavior suite passed 1537/1537 tests, with zero failures/skips/cancellations, in 200,387 ms. Final Linux result: FAIL. Source/pre-push gate passed 25m26s, including 1502 behavior tests plus one skip and 3478 Rust test executions plus 23 ignored cases. Full Runtime failed 12m30s, with 4164 passed / one failed / 29 ignored: linux::tests::delayed_retirement_keeps_owner_and_writer_lock_until_settlement failed the final exclusive-lock assertion at linux.rs:739. That same case passed in the earlier parallel source gate and then passed alone on the unchanged cached binary in 0.04s; its SHA-256 is 917600ec4a556be2e647ab8155cf22519034f1b3489788d3b9e5cbd5c865c473. Capsule workspaces passed 8m03s, with 914 test executions and three ignored cases, before the stop request; the request made no change. These are execution counts, not unique acceptance criteria. The full-PASS gate remains open. Read-only review found no deterministic production writer-retention defect in the observed join/remove/drop path. Concurrent fork-before-exec descriptor inheritance is a hypothesis; an isolated pass does not prove the cause or replace the failed full run. Automatic lesson 180 records this missed case; local lessons 164–167, 171, 173, 175, 176 and 179 also await integrator triage. Mac free space is now 73 GiB of 460 GiB, above the 10% floor. The Linux check finished and destroyed its owned machine; the operator cache remains. Private source-failure receipt SHA-256 is 80ecad56de018f1687679db9756aa406690712c50771132672757ac87c9e36b6. Handoff and next experiment: OMP receives the exact prepared source, passing and failed checks, installed media failure, helper provenance and cleanup receipts. Queue publication waits for a complete Linux PASS and integrator triage. Capture the remaining lock descriptor owner/reference at the failed parallel assertion, then assess an isolated child-process fixture that preserves both pre-settlement refusal and immediate post-join acquisition. The current source is unchanged and unqueued. A later installed read with existing Engine audio diagnostics retains its separate G5 Private Browser: Browser on Apple Silicon Mac #87 ownership. That earlier handoff removed its heartbeat and stopped; the resumed work and current gates are recorded above. All B01–B16, installed release/update, hardware, media, soak, manual and human-review gates remain unchanged.
  • PR Browser on Linux x86: restore the qualified VM Engine with private boot input and expiring TURN credentials (#217) #349 status: see G5 Private Browser: Browser on Apple Silicon Mac #87.
  • ARM handoff and CI: The completed ARM handoff binds source c1b99a62f259adb52e445140b92f316927e47fcf, tree c98e1d5700c70fa36350217a16f57c971dde3523. The shared 4096M archive has CID QmPAyAFZ85hQzocVJbzqyTcnKBWfJfNeKady3YtrJ8Go1P, SHA-256 537139b8b03fb899276d53c7a370aeba76eb08bda2ea0787275c57d1e299226f, size 908283362, input hash 22b6daeed8fc6cd674b237d9e128bb79077d0afa68b9ae205d0cfe65b4822035. CI 38072589817 passed all ten jobs on exact c1b99a62; its Mac pre-push gate passed 4050 Rust executions, 1481 behavior tests and 63 gate fixtures. The producer and owned volume were removed. The published x86 review head is 619b641df in Browser on Linux x86: restore the qualified VM Engine with private boot input and expiring TURN credentials (#217) #349; current local 5e8556e92 passed the complete Linux slot-2 run and remains unqueued for integrator lesson triage; its CI is pending publication.
  • x86 image and helpers: The one 4096M amd64 guest archive has CID QmRzmE1wGzXU2H7qQ5tqhUx3aJKxZTFHYBdQESch2Y28Y3, SHA-256 3d006e0decfa8bb19995bf1a7ac9544408e1b66834dca232e98bb551ae79ee3c, size 959977870, input hash 23a95d6dab4cf45844f20982807c4f3d45fc4afb1bdfef251d52d8e0b70f3cd6. Original producer source is a8eea5b39f08449d895f95c1bbc1960fec34d6f8, tree 2bf7da5292aebdf66b11b5c8e94ad230822c795a. Image bytes, original receipt and input manifest are copied back and verified. The producer and volume are removed; the operator cache is preserved. Node, Python, debugfs and TURN retain original verified producer receipts. The corrected crosvm archive binds source 646c5d6f005eeae6e559fa33bca7c031399ba4b5, tree 99f23eb563a39d38c8178736ae4edf269284bd98: SHA-256 f97b8e4f05edec3ac3e1d15ead30f96d63e5812a059252708802cf9b2d6c9a01, size 78107999, binary SHA-256 0ae059df137321137527e788e46a6d6d168a6ee66dd9a7c14e2173be058797a6, recipe SHA-256 13f5dc0ee99c97663442afa2fddaca4fa17207c72829fa6533082a3110199330. Its original receipt and copied bytes match the recorded producer recipe. The transplanted native builder now includes current develop fixes and private boot input; OMP builds and admits the current helper recipes. The earlier crosvm receipt remains historical and keeps its original binding. Other four archives retain their original builder receipts; OMP builds and admits those current recipes rather than relabeling old archives. Guest inputs stayed unchanged through all host repairs. The retained archive bytes and full input manifest were rechecked against final 550f60aa and match exactly; the guest was reused.
  • Installed Linux journey — PASS: The separate fresh Namespace KVM host uses unmodified canonical source-Home setup and gateway restart under an ordinary user. The installation receipt binds exact 36571a53961f0476f35ef842981be2a1bfd9ff1b, tree 53eac68ee148f5f77c1ea436b366d449e7de4f7f; built/installed Runtime SHA-256 is 53c67d2ffa7643a96a7704f45dd8abf4badbeddf6feda8ff52e81f3703bb0538, native supervisor SHA-256 cc9fe28c8edbbe894ed5ee250d7cbc9f6ec17ee2718e5be7898b2e5f19bb7590, manifest SHA-256 abe2581a908318c4069df2f92a5b070263aac83b8330a9f695d09711139837cc. Served Home/Services bytes match installed/source bytes. Home registration and sign-out/sign-in passed on the preceding unchanged auth source. The final runs reuse that signed Home. Actual Dock click → controlled Chromium/Selkies page → presented 1920×1080 WebRTC frame takes 28,594 ms for write and 29,735 ms for reopen/read. Decoded audio, navigation, typing, clicking, scrolling and toolbar website Reload pass in both runs. Reload frames grow 205→214 and 213→223. Close returns terminal results in 4,824 ms and 4,867 ms, within the unchanged eight-second bound; both prove all thirteen terminal effects and profile durability. Runtime session/launch/cleanup/reconciliation counts return to zero. Reopen reads matching cookies, localStorage and committed IndexedDB from both controlled documents. Private installed-journey receipt SHA-256 is 2bb743a6d9c8635b06eef80eb51a0a30fbfb2aa0fd1346b0e11ba2cc2425e614; raw write/read evidence hashes are 092da155d257a1feb2b0f6304d69da0fd481dab94618166e82a1d72d2f27a053 and 64cf8b40365da5eff479bab342f44a2568c24c2e73a0bbdee7580c4c669294c0. Independent installed evidence review passes and confirms the selected VM Engine and matching component/crosvm receipts. Later 1f36ad20 changes only a test fixture; 550f60aa adds the bounded retirement deadline correction described below. The installed normal journey stays bound to 36571a53; late-patch target fault proof remains open.
  • Historical source checks on 550f60aa — PASS: On exact 550f60aa, the full source gate passes and the full behavior suite passes 1524/1524 tests, with zero failures, cancellations or skips, run alone in 205,538 ms. The source gate retains its one explicit fixture skip. Diff/public-copy checks, chain-provider formatting, all 30 retirement/readiness focused tests and the autostart, persistent and settlement ownership smokes pass. Independent final diff review passes SHA-256 bdccb9eef0c4a0167f1527d1bc5962bb59c09cdec4beda688849b9ee63721a0c. Unchanged Rust paths retain the 36571a53 VZ formatting/Clippy and 206 test executions, plus 646c5d6f server/crosvm all-target formatting/Clippy and 3143 executions, with 28 explicitly ignored cases; four actual Linux backend tests also pass. The supplied home-entropy-check.mjs command names a retired file; the current product-data, Home source and public-copy gates cover this tree.
  • First failures and scoped repairs: Target proof identified fixed-raster boot arguments, KVM udev ordering, legacy TAP media receipts, static-musl ioctl encodings, retiring control ownership and a Close proof that checked disabled TCP relays. The adapter now reuses the common fixed-vsock Engine transport, Runtime TURN policy, profile and settlement contracts. The authority cause and filtered static-helper repair remain linked. Final behavior checks found an extracted-module fixture syntax error and a real retirement deadline edge; reviewed 1f36ad20 fixes the test fixture and 550f60aa checks deadline expiry before and after the final control probe. The seven-second limit and foreign-owner barriers remain enforced. Deterministic expired-sleep and late-ready-response tests pass with unchanged socket identity. Guest inputs stayed unchanged.
  • History disposition: The transplant approval and the current human instruction settle the earlier history gate. The new candidate starts on the rewritten develop history and carries only the reviewed Browser delta. The final canonical python3 scripts/ci-local-prepush.py gate follows the bounded Installer: run the Runtime as a limited service on Linux and macOS #183 Linux security repairs. OMP performs the exact Linux check and cross-family review through the queue.
  • Historical published source checks — PASS: Head 619b641df4f6cee48dd8d911c0c85b7aabfcc6a5, tree b0cc2a93cb909971352a604d7b498942e4001d28, passed the refreshed Mac source gate and 1537/1537 behavior tests (174,238 ms; zero failures, cancellations or skips), under the shared lease with the required protected interpreter. The real signing fixture passed alone before that batch. All Rust/Cargo files remain byte-identical to reviewed repair 74ccf27263ea101e88acaef064aab326da2ffa90, tree 208e5da65ad82cd992262180282135e1352cc531; its full Linux slot-2 receipt is reused: source/pre-push gate 28m23s, full Runtime 9m32s, all capsule workspaces 4m39s. That run passed Linux behavior 1514 tests (one recorded skip), all-target check/Clippy, eight common Rust removal tests and the server library (2686 passed, 22 ignored). The three actual Linux TURN cases passed in 0.289 s, including the two Mac pidfd skips. Ten focused Python helper tests and fourteen source-upstream fixtures passed on the repair; those files remain unchanged. Diff, formatting, shell syntax and independent source review pass. Final premortem checked merge/test preservation, complete fixtures, explicit platform inputs, identity-bound removal and every affected test target. All eleven prior Browser configuration tests remain. The full-PASS Linux machine was destroyed and the shared cache preserved. Current guest input hash remains 23a95d6dab4cf45844f20982807c4f3d45fc4afb1bdfef251d52d8e0b70f3cd6; the 78-file guest is reused. All 22 host recipes retain their payload pins; eleven notices bind the merged builder. The existing upstream-asset matrix now includes the release’s Linux x86 runner/target, with guest production unchanged. Captured lessons 132/133/141 cover resolved review findings, 139 the corrected remote probe scope, 148 the corrected merge fail-stop, 150 matrix coverage, and 151 the corrected Mac interpreter setup. Every source correction was resolved before enqueue. Fixture lesson 158 records a corrected confirmation-command quoting error; host setup/check pass after the command correction, with source unchanged. The queue owns the canonical full Mac gate.
  • Linux authority and service: Both adapters publish engine_relay_only receipts; Runtime owns the viewer ICE credentials and keeps strict validation. Linux VM boot inputs use private per-session files, session TURN uses expiring REST credentials in private configuration, and source-Home TURN binds declared addresses with a peer allowlist. The fixed-vsock Engine needs read/write /dev/kvm and /dev/vhost-vsock, AF_UNIX/AF_VSOCK plus Runtime AF_INET/AF_INET6, and crosvm user/PID/mount/network namespaces. This zero-NIC launch uses the admitted data root, image/pool/profile paths, owned process checks and temporary control sockets. The retained readiness check also requires /dev/net/tun, the root-owned helper /usr/local/lib/elastos/browser-vm-linux-network.py, /var/lib/elastos-browser/<uid>.json, /run/elastos-browser/<uid>.json, the four UID-owned slot lock files under /run/elastos-browser, and ip on service PATH. Native VM launch attaches zero network devices. Mutable paths stay in the owned data root (profiles, bvm, vz-browser, rootfs-cache and lifetime locks); control sockets and scoped staging use /tmp. The tested unit supplies these paths and permissions with ordinary user authority. The retained TAP helper serves setup/removal compatibility. Published origin/feat/183-service at 553b471b4 is merged into the separate scratch candidate. Its actual generated unit passed the installed write journey; the two saved-profile reopen media failures above keep complete service acceptance open. The Linux fixture's real systemd user manager is ready. Installer host setup and ordinary-user check pass; the account opens KVM and vhost-vsock under the proposed unit limits, and KVM reports API 12. This preflight does not substitute for the actual generated-unit Browser journey. The guest archive is staged with its original receipt; copied SHA-256/size and current input hash match exactly. The preflight machine was destroyed after exact helper cleanup, and the shared cache is preserved. The installed result above binds that exact published service ref, privilege scan, Close and incomplete profile-read/media proof.
  • Host setup/removal preflight: The Linux fixture now passes actual host setup, ordinary-user check and removal: four owned TAPs/filter chains and setup records are absent after removal, and the recorded KVM/vhost-vsock user ACLs are restored. Setup was then restored for the service journey. This binds the helper source to 619b641df; it is a host-step proof, while installed Runtime sudo-free/setuid/capability and Jetson/reboot gates remain open.
  • Cleanup: Deleted obsolete fix/browser-launch-settlement and fix/browser-vz-vsock-transport with their clean worktrees; their experiments are superseded by the accepted fixed-vsock transport. A useful Wallet harness patch from the latter is preserved privately for Browser mission: complete stable local and remote browsing with human and agent parity #283. Kept fix/87-browser-journey-harness for its unique gateway crash/shutdown/profile lifecycle tests. Removed the merged maturity worktree after retaining its exact uncommitted updater patch and file. Retired the unused historical 8 GiB unpinned guest, preserving provenance; the current 4 GiB image archives remain intact. The operator cache is preserved.
  • Next step: OMP receives the exact installed service result and the repeated audio failure; full lifecycle and media acceptance remain open. The exact source handoff is blocked by the failed full Linux native test and lesson triage; OMP owns its next bounded repair and the queue. Next: Jetson test install (G5 Private Browser: Jetson support #90). Browser: prepare the selected local Engine during normal installation and repair #288 delivery and Linux Browser launcher must not need passwordless sudo #165 installer integration are implemented in source; ordinary signed install/update and actual Jetson acceptance stay open. Gateway SIGTERM leaves orphan browser-vm-control-service #131 retains its accepted Mac lifecycle proof; Deliver the shared ARM64 Browser VM through normal setup #307 is merged, and fresh release/current Linux service and fault proofs retain their exact gates. Published, hardware/media/manual, latency/cycle/soak and required human-review gates remain open. B01–B16 remain unchanged.

Jetson one-time host access for the qualification test

Completed by Anders on 22 October. The installed helper SHA-256 is 235a0feca7e4e49d4123e96cf781a70e56845955e7f70d6386115597e3da4d3c; host receipt SHA-256 is 091542484fbbe599264b32721037415343ff0a76606307333973e21af5070e92, as recorded in #90. Private staging configuration supplies BROWSER_STAGE and BROWSER_TEST_USER; the operator receives the exact values privately. The completed command was:

sudo /usr/bin/env PATH=/usr/sbin:/usr/bin:/sbin:/bin /usr/bin/python3 -I "$BROWSER_STAGE/browser-vm-linux-network.py" setup --user "$BROWSER_TEST_USER" --transport userspace-vsock

It copies the helper into /usr/local/lib/elastos, grants this user's KVM ACL, installs this UID's device rule and boot service, and prepares four owned TAPs with the existing TURN peer filter. The selected userspace transport skips the unavailable kernel vsock device. Runtime keeps ordinary user authority. Setup is host preparation; the native transport and installed journey remain pending. The user-side check after setup is:

/usr/bin/python3 -I /usr/local/lib/elastos/browser-vm-linux-network.py check

After all test Browser sessions settle, exact removal is:

sudo /usr/bin/env PATH=/usr/sbin:/usr/bin:/sbin:/bin /usr/bin/python3 -I /usr/local/lib/elastos/browser-vm-linux-network.py remove --user "$BROWSER_TEST_USER"

Removal restores the prior KVM ACL and removes this setup's TAPs, filters, rule, service and receipts. It refuses occupied slots. The native owner retains its slot lease through VM/backend settlement; the repaired disk worker primitive is verified in #90. Fresh image allocation and the one-session disk budget are checked before installed qualification.

Browser release checks (original boxes 5–6)

  • The release build produces the Browser image and required matching host helpers, with platform/Runtime/Engine compatibility, full input provenance/licenses, sizes and hashes. PR build(browser): install Selkies 1.6.1 from identified, licensed source; no Selkies download (#87, #217) #249 supplies the identified Selkies source; record remaining build inputs and maintenance ownership.
  • Signed release/component records include browser-vm-image and every required role payload with usable content identity and checksums. The image and helper bytes match those records.

#288 owns empty-Home acquisition, configuration/progress, reopen and update. Remote role delivery and broader fault qualification are preserved under #283/#293. Existing non-Browser delivery acceptance remains below; model content stays with #105/#102.

Existing signed software delivery acceptance

  • Kubo, llama-server and cloudflared are wrapped as capsules in our signed release: the capsule pins the upstream checksum, carries its license, and is delivered over Carrier by CID. Test: a normal install and an update succeed with every third-party host blocked.
  • Setup and update never contact a third-party host for software, and CI does so only through the pinned build-time recipes: no upstream URLs remain in components.json, and ci: seed pinned Kubo from its GitHub release when dist.ipfs.tech is down #216's temporary GitHub fallback in CI is removed. Test: a repository check finds no third-party download URL in the install, update or CI paths outside the build-time recipes.
  • Licenses and notices for redistributed binaries (for example Kubo, llama.cpp, cloudflared) ship with the release. Proof: the release lists them.
  • Decision recorded here: keep Kubo as an external process, or replace it with an embedded Rust content layer (the Runtime already uses iroh for Carrier). The decision weighs size, IPFS compatibility and confinement.

One lead (Codex) and at most one read-only reviewer. Fast local checks per change, one CI run per coherent batch, failed-job reruns only. OMP integrates the reviewed branch, performs cross-family review and publishes the release. Runtime owns signed artifact admission, configuration and lifecycle; Engine owns website execution and rendering; Exit owns authorized website networking; Carrier carries delivery below Runtime authority.

Activity

  1. added this to the 0.8.0 milestone on Oct 2, 2026
  2. changed the title [-]Install everything from ElastOS's own signed release, not third-party servers[/-] [+]Wrap third-party software as capsules served over Carrier; never download from other servers[/+] on Oct 2, 2026
  3. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    Live evidence (3 October, 17:27 UTC, see #89): a new user's plain install.sh run fails at [install] kubo, which downloads https://dist.ipfs.tech/kubo/v0.40.1/kubo_v0.40.1_darwin-arm64.tar.gz; the request timed out and setup aborted. The 33 first-party components before it all came over Carrier with verified checksums. Kubo is therefore the blocking third-party download on the one install path. Rule (Anders): Kubo and models run only as capsules in our signed release, delivered over Carrier; the installer fetches only the signed binary and its signed metadata, and components.json and the model catalog come over Carrier during setup. An operator agent is preparing the full inventory and plan here.

  4. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor
  5. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    This session now owns #108/#109/#110 and starts restart/recovery in #109. The separate #217 operator retains component downloads and the live install; I have read the current download evidence and will keep those files with that owner.
    Please record the signed component/support contract and candidate here when ready for integration. Home activation will use that Carrier delivery and the normal installed journey, with third-party software hosts blocked.

  6. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    Inventory (operator, 3 October; develop ad85c2e and the published canary 0.8.0-alpha.1 components-aarch64-darwin.json).
    The fetch mechanism already exists: a components entry with release_path + cid is fetched over Carrier from the trusted source and checked against its signed checksum (elastos/crates/elastos-server/src/setup.rs PlatformInfo :156-175). 33 first-party parts already install this way. Six published darwin-arm64 entries still carry only a third-party url:

    Entry In Home profile? Source today
    kubo yes dist.ipfs.tech (this is where the live install failed)
    llama-server yes github.com/ggml-org/llama.cpp releases
    model-qwen3.5-0.8b, -4b, -9b, model-bonsai-8b-q1 no (on demand) huggingface.co
    On Linux, cloudflared also comes from github.com (not in the Home profile). The installer also downloads components.json and the model catalog over publisher HTTPS after the binary (install.sh, Downloading components.json from bootstrap publisher URL).

    Plan, in order:

    1. Release build: fetch each pinned upstream artifact once, at build time, by its recorded checksum, wrap it as a capsule in the signed release, and publish release_path + cid in place of url. Kubo comes first: it blocks the one install path. (Release-owner area: publish-release and the components integrity check.)
    2. Runtime: when setup installs from a trusted signed source, refuse any entry without release_path/cid (no URL fallback), with refused-case tests for url-only, checksum mismatch and wrong signer.
    3. Minimal install: llama-server and the models leave the Home profile. They install on demand from the Assistant, still signed and over Carrier. Default unless Anders objects: yes, because the one install path stays minimal and local AI is optional.
    4. Installer: fetch only the signed binary and its signed head/release; setup then fetches components.json and the model catalog over Carrier.
      An astra operator agent implements 1–2 as draft PRs; release-session review is required for publish-release and the installer.
  7. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    Restart coordination from PR227/#109: the controller holds the agreed installation lock through readiness/recovery; pending journals reserve signed release files and frozen support. Lock path/order remains the shared writer contract.
    #217 owns fetch/install code and holds that guard across metadata and component installation, with pending-journal refusal before mutation; read-only verification can proceed during a claimed Home start. The first restart hop keeps identical qualified support.
    The #108 consumed-metadata proposal places verified installed head/release in private installation/ files while Publisher keeps publication state. Installer/setup/update owner agreement and exact legacy migration proof precede shared activation.
    Please record the setup writer and consumed-input integration with the delivery candidate here. Changed support waits for complete #108 staging and the #217 release contract.

  8. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    Anders assigns this release session the build inputs, signed-release packaging and installer in fix/217-release-carrier; the operator’s Astra draft owns Runtime setup and on-demand installation.
    Build-only recipes retain the recorded upstream checksums and carry licenses/provenance; consumer manifests use signed release_path/CID entries. Home keeps Kubo and leaves llama/models to Assistant. The default keeps Kubo as a confined external process to preserve IPFS compatibility.
    The same capsule archive will bind payload and installed capsule metadata; the four GGUF models also carry the existing model_content object index. Bonsai Q1_0 needs an explicit Runtime model contract addition before Assistant can admit it.
    The existing signed catalogue stays intact during implementation; a reviewed unsigned catalogue update and its signing authority will be agreed before V3 publication. V3 waits for both accepted develop changes and the holder repair.

  9. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    Release/Runtime seam for the Astra draft: installer saves its verified signed head/release and stamped holder contact, then setup obtains the platform components and pinned catalogue over Carrier before installing; --install-only keeps the binary-only automation path.
    Each upstream capsule keeps the existing payload/extract/install paths and ships its content manifest, license and provenance. capsule_metadata uses the same signed archive/CID at capsules/<component>; Runtime currently requires provider-role/icons there, so admit validated content metadata for these upstream content capsules without changing native provider authority.
    Assistant on-demand installation and Bonsai Q1_0 admission need Runtime coverage; release will remove llama-server from Home and retain the four pinned model bytes. The existing signed catalogue requires a separately approved content catalogue update for all four entries.
    Runtime setup must hold the agreed installation guard through metadata fetch and installation, including the pending-journal refusal coordinated in #109. V3 waits for review/CI/integration of both drafts and the holder fix.

  10. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    The release builder will keep two model identities: the signed setup capsule archive and the canonical directory CID used by the signed model catalogue.
    Each model’s proposed model_retention record binds that directory package_cid plus signed CAR/receipt file descriptors; the publisher imports and verifies the recursive directory pin before promoting the release head. Consumers keep the existing Carrier archive/catalogue contract.
    The build produces the four-entry unsigned catalogue from the exact capsule and object-index bytes. The operator approves its signer and signs it before release preparation binds the catalogue envelope.
    The wrapper and admission fixtures pass; native upstream/ABI, Runtime integration, catalogue approval and the complete blocked-host journey remain V3 gates. This draft contract is prepared for review and stays inactive until those gates pass.

  11. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    Runtime integration check for PR228: setup's release-file Carrier path has a 200 MiB frame limit; all four model capsule archives exceed it.
    Assistant must use the existing bounded canonical model-directory transfer, or a separately bounded streaming release-asset path with signed size/hash; raising the shared in-memory limit would leave the large-model journey unsafe.
    The build keeps archive and canonical directory identities, licensed closure bytes and CAR retention receipts. The catalogue signer now has a strict draft purpose/policy; operator approval still controls its signing authority.
    The holder repair has development PASS, Opus PASS and idle-recovery proof; current integration CI remains active.

  12. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    Update preserves PR227 and PR229 as leaf drafts for Release’s approved PR230 union. PR227’s correction and fixture repair are published at37cbb74d; API/fetched pull/head/remote/local HEAD match origin0/0 and normally include develop. The owned worktree now holds uncommitted bootstrap and Mac hop harness drafts; published37 proof stays fixed. Private receipts retain exact source/tree identities.
    Anders’s correction keeps fresh builds only in Mac N/N+1 receipt and holder package jobs; Cargo cache stays in lint, unit tests and Linux source-home. Update’s current workflow has exactly 23 Mac additions versus develop; every other job/cache equals that base. Same high source scope review and current local Opus PASS. The actual-ref pre-push gate stopped publication on an incomplete readiness JSON in the gateway TERM fixture. Update appended the atomic marker / always-stop fixture repair; controlled failure and delayed pending-name success prove the cause and cleanup, and the final gateway module PASS six cases / one ignored. Format, all-target server Clippy, same independent high source round and local Opus PASS; all 41 reproduction PIDs / 12 groups ended. Fresh fetch and normal develop merge confirm a clean origin 0/22 candidate. The actual-ref hook and normal fast-forward push PASS749.697s, with nine all-target workspace checks, touched common/runtime/server Clippy, 2,983 parent units / 26 ignored / zero failures, 92 product-data cases and three fresh provider builds. All 200 observed PIDs / 48 groups ended; the lease is free. Current exact-head posted review FAIL repeats the union installer-adoption gate below; Current Mac artifact admission now PASS under root and independent Sol high audit for the fresh source domain, signed initial install/Home, plain Carrier update,12 preserved-state refusals and complete57 observer/3 builder cleanup. PR232 owns the separate Release holder repair. The automatic PR227 holder run still uses the unchanged shared-domain workflow, so Update canceled that superseded proof; its run is terminal canceled; Release’s corrected holder dispatch supplies that acceptance. PR224 is merged; Irzhy reviews after merge under the current rule. The operator takes PR229, including parent integration and its holder/Mac failures; Update keeps finishing PR227. Part2 prepared5db8143f preserves the corrected adapter Default and three existing model boundary signatures. Two actual-ref attempts refused publication on style lints; all40/21 then111/40PID/groups ended. Scoped all-target Clippy, two adapter configuration and all35model adapter cases PASS; same independent high and bounded local Opus PASS both corrections. All repair/review processes ended. Fresh fetch/normal develop merge confirm clean origin0/61; The new5db actual-ref gate refused publication at the15%diskreserve; all76PIDs/38groups ended and the stable lease is free. At16:06UTC free space is16.94% and the stable heavy-build lease is free. Release has priority for its prepared publication gate. Update requests the next agreed heavy-build lease for Part2 after Release’s priority work; Update will keep light receipt admission active meanwhile. Update preserved source/history/Homes and all protected proof; public225 remains historical. Current37 mainCI37208583148 is terminal GREEN10jobs at15:46UTC; currentAPIhead matches. The compact current Mac receipt and job log are now independently admitted PASS, including exact merge parents/tree and receipt-bound binary/manifest hashes. The leaf union-adoption FAIL stays until the exact union resolves installer rerun and operator acceptance.
    Current posted37 review FAIL repeats the earlier ec1 finding and found a plain installer rerun after Home migration leaves the private N pair under a new N+1 binary. Same high source review PASS for Update’s consumed-pair authority and refusals; PR230 a8a2d60 install.sh already writes verified private inputs. Release: complete shared writer-lock, pending-recovery fence and destination preflight before installer replacement, then prove exact union native migrated-N to N+1 rerun, Home/update admission, preserved Publisher/data/support and interrupted replacement/refusals. This is #108/#217 all-writer acceptance. Retain the current FAIL until the same union resolves it; the installed f324 initial/update proof has narrower scope. Update’s read-only contract analysis supports an explicit final binary/data-path adapter with four verified staged inputs and a fixed bootstrap journal, while existing five-entry contracts keep their requirements. Installation writer plus data-root host ownership must bind the supplied final paths; fresh pre-sources recovery also needs a durable data-root binding. Install-only preserves components/support, then real signed Carrier setup completes admission; current setup returns early when components are absent. Release owns shell wiring and whole-installer/native proof. Update has frozen the updater-owned four-input bootstrap adapter as an uncommitted Rust draft in its owned worktree, for the current union installer blocker. Its fixed journal will preserve existing five-entry contracts and bind writer/host ownership before full preflight and replacement; fresh pre-sources recovery and sources-last activation stay in scope. Release owns shell wiring and the installed rerun/interruption/refusal proof; Runtime owns setup overlap. The typed internal draft keeps the CLI unexposed. Fresh installs take publisher pins/channel from explicit invocation authority; existing installs keep retained pins/channel. Release agrees to fresh trust wiring: validated installer invocation supplies publisher pins and the verified signed channel; existing installs retain pinned authority. Release wires the installer after the corrected adapter handoff. The same independent high bootstrap source round has an interim FAIL on atomic host-lock admission. Root and reviewer matched all seven frozen files; 17 unit cases are added, with execution still pending. Source corrections preserve valid stopped-controller receipt/generation authority, serialize fresh source writers, bind equal SemVer precedence to the exact release and admit only transaction-owned scratch. Both source agents are terminal; resume the same review round when Runtime supplies the helper. Runtime coordination is required for one narrow host-lock constructor: receive an atomically opened, owner/mode/single-link checked file and expected path, then recheck descriptor/path identity after flock before writing. This lets Update hold safe host ownership before replacement; the shared helper stays unchanged until Runtime agrees. Exact union setup already acquires the installation writer before mutation and will inherit the pending-bootstrap fence. These drafts have source findings and retain all local/native/review gates. The operator execution plan keeps union CI/Opus with the operator and installed Home dispatch/merge with Release. Current union Opus is FAIL; these source drafts retain every acceptance gate and stay unpublished until owner coordination, reviews and complete local proof pass.
    The exact f324 proof and Release gateway/auth/host-lock PASS remain bound to unchanged product source: 514 unique Rust/170 script cases and fresh native signed install/initial Home/Carrier check, apply, repeat/all 12 refusals, with full owned cleanup. Operator’s PR228 completion hands its finished Carrier/component/engine leaf to the union. Its manifest-profile check needs Release’s union components; finished-parent integration carries ecc12ee’s tested child.rs Darwin lint repair. These inherited dependencies stay with normal union integration. Release’s current handoff also assigns the operator the #229 source/CI journey; the native-support cleanup harness finding remains in that handoff. Update’s source-only triage found the first error in the synthetic orphan-cleanup fixture after copied native-support registration passed. Fixed fake process IDs can collide with the observer’s real identity, but the CI log omits the cleanup error and cannot prove that cause. Operator owns exact-union reproduction and a narrow test repair: report the cleanup receipt, isolate positive synthetic identities, and retain explicit collision-refusal checks. Production observer self-protection stays intact. Runtime owns transport and corrected leaf integration. Current37 review log/post/hash and exact source are independently admitted; all nine owned review PIDs / one group and the temporary checkout are absent.
    Qualified Kubo source a8a2d60/tree 5aabc2c7 and frozen Home/provider support 8a9dec1/tree e18d17a3 remain separate from Runtime source; Release owns original input cleanup. Preserve histories and existing Homes. Only the exact reviewed/green/operator-accepted union merges develop; V3 stays unsigned through union, catalogue and operator gates. The Mac metadata/default setup extension is now frozen in the same two harness files. Root matched the exact source/diff and all seven unchanged Rust hashes; both source agents are terminal and the same independent high round PASS. Current light proof has111 observer passes,92 product-data passes, data/diff gates PASS and exact original archive admission for all five payload files. The first light wrapper retained111PASS then failed because root used a Home layout for the qualified support data root; corrected remaining checks PASS with source unchanged and the completed observer suite was retained without replay. Both immutable receipts remain. All40 recorded light PIDs/six groups are absent. Current bounded local Opus PASS85.640s on the metadata/setup boundary; both client PIDs/one group ended, exact source/output/diff match and the prior33.052s four-artifact PASS plus180.667s timeout keep their earlier scopes. Release still owns the original archive provenance. Exact native setup proof needs Release/Operator’s clean same-source union candidate, an agreed Release-priority lease and15% reserve including planned growth. The seven Rust bootstrap files retain Runtime’s atomic checked host-lock P1 and17 unrun unit cases. Published37 and its admitted proof stay unchanged; the leaf installer-adoption FAIL keeps the exact union acceptance gate. Release now reports accepted installed Home proof on exactd703: passkey sign-in, desktop/phone Home, Marketplace admission, an installed Assistant reply and cleanup. Update records this as Release-owned admission. Operator owns the current Mac-hop CI repair; current union Opus and installer recovery still precede merge. Update’s frozen two-file source correction and original descriptor-bound metadata archive are ready for that owner integration; retained descriptors with metadata require the explicit archive input. Clean same-source native proof, the agreed build lease and planned reserve remain required.

  13. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    Release work is now in draft PR230, based on develop with the merged holder repair; CI and holder workflow are active.
    Pinned licensed capsules, one reusable model handoff, catalogue custody, retained CAR admission, complete publication storage and the three-download installer are prepared; scoped source findings are resolved.
    Local checks pass: platform136, preparation22, signer44, publication19, installer54 (four optional public-fixture skips), plus wrapper/assets and basic gates. Rust execution follows in CI.
    Consumer custody follows the agreed installation pair; PR228, recovery integration, catalogue signer approval and exact installed blocked-host Home/account/model/update proof still gate activation and unsigned V3.

  14. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    PR230 source gate passed; the completed lint job found a missing test-module PathBuf import and one needless question-mark wrapper in the new publication code.
    Those two corrections are being prepared within the same review round. Active native, Runtime and holder jobs remain running; their completed results will be inspected before the correction is pushed.
    Runtime integration, catalogue approval and installed Home/blocked-host journeys remain the V3 gates recorded above.

  15. andersalm commented on Oct 3, 2026

    @andersalm
    ContributorAuthor

    The PR230 holder proof passed; its observation artifact was independently read, including six real watcher stops, fixed Runtime/provider generations and empty cleanup.
    The 114,187,264-byte typed Carrier content matched the accepted Runtime. Idle time was accelerated by ageing last_used; this remains separate from the operator’s elapsed 600-second seed check.
    The approved seed package in the #89 handoff stays unchanged. Current integration CI is active; the Rust diagnostics and official Kubo build-source corrections are prepared for the next candidate.

  16. 46 remaining items

  17. andersalm commented on Oct 11, 2026

    @andersalm
    ContributorAuthor

    @andersalm Browser correction 084e9c2f9 is frozen and independently reviewed; the final full Linux check is running on slot 2.
    The Mac source and focused Rust checks wait for the shared lease. The earlier Linux workspace and capsule tests passed.
    Lesson 84 records the corrected archive-fixture failure; please triage it for the push queue. The current acceptance record above holds the checks and next step.

  18. andersalm commented on Oct 11, 2026

    @andersalm
    ContributorAuthor

    @andersalm The shared Mac lease is free, but its push-priority marker still holds all manual checks while the queue waits for untriaged failures.
    Please settle the stale priority marker and triage lesson 84 so the Browser source and focused Rust checks can run.
    Final Linux verification of 084e9c2f9 continues on slot 2; the current acceptance record holds the result.

  19. andersalm commented on Oct 11, 2026

    @andersalm
    ContributorAuthor

    @andersalm 084e9c2f9 passed the full Linux slot 2 check: gate 25m18s, Runtime workspace 8m58s, capsules 4m54s; it is re-queued in merge mode.
    All four requested corrections pass their regressions and independent review. The retained image still matches its input hash; the Linux check machine is removed and the operator cache is preserved.
    The current #217 acceptance record and #87 checkpoint are updated. The queue owns the full Mac gate before push; installed, service-unit, hardware/media/soak and human gates remain open.

  20. andersalm commented on Oct 11, 2026

    @andersalm
    ContributorAuthor

    @andersalm The requested removal-helper ref is awaiting publication; the shared queue is paused on a late failure awaiting triage. Please clear that publication blocker.
    The current acceptance record records the reproduced helper regression and the next exact checks. I will integrate the shared fix and re-queue after the full slot-2 pass.

  21. andersalm commented on Oct 12, 2026

    @andersalm
    ContributorAuthor

    @andersalm The service fixture is ready: real systemd user manager, installer host setup/check and KVM API 12 under the proposed unit limits pass. Browser proof waits for the published service ref.
    Fixture lesson 158 records a corrected confirmation-command quoting error; the corrected setup/check passed. Please triage that fixture lesson so it does not hold the queue.
    #217 and #87 now have the release commands; Jetson waits for an ARM-enabled published candidate because alpha.15 keeps Linux Browser hidden.

  22. andersalm commented on Oct 12, 2026

    @andersalm
    ContributorAuthor

    @andersalm Prepared e89b30271 is unchanged and unqueued: Linux source gate and capsules passed, but one native writer-lock test failed in the full Runtime run; the same cached test passed alone. #217 holds the exact failure and receipts.
    Please triage lesson 180 and prior 164–167/171/173/175/176/179, and own the next bounded lock-holder diagnostic while preserving both ownership assertions.
    The installed service’s two reopen audio failures remain under #87. Both owned machines are destroyed, the cache is retained, and this handoff is stopping; complete Linux acceptance still gates the queue.

  23. andersalm commented on Oct 12, 2026

    @andersalm
    ContributorAuthor

    @andersalm Can you bring Jetson SSH online for the installed Browser test build? The approved connection timed out.
    I will stage the exact candidate and helper before asking you to run the one-time root setup; Runtime keeps ordinary user authority.
    #217 records the prepared amd64 repair and current qualification gates.

  24. andersalm commented on Oct 12, 2026

    @andersalm
    ContributorAuthor

    @andersalm Can you triage Browser lessons 164–167, 171, 173, 175, 176, 179, 180, 210 and 214 for the queue?
    The reviewed e89b30271 passed the exact amd64 release producer; its one full slot-2 check is running.
    The current acceptance record preserves the earlier full-test failure and the installed media gates.

  25. andersalm commented on Oct 12, 2026

    @andersalm
    ContributorAuthor

    @andersalm ARM image admission at scripts/release-platform-input.py:115 rejects the old 22b6daee receipt against current 39344fd2 inputs.
    Only the two amd64-selection producer scripts changed; original ARM bytes and provenance are retained intact.
    The current checkpoint records this artifact gate for the next release and Jetson qualification; guest production has not started.

  26. andersalm commented on Oct 12, 2026

    @andersalm
    ContributorAuthor

    @andersalm Exact 5e8556e92 passed full Linux slot 2: source gate 25m09s, Runtime 9m51s, capsules 6m29s; owned machine destroyed.
    The reviewed repair and original amd64 producer packages are ready; the recorded integrator lesson triage still holds queue publication.
    Jetson remains pending SSH and an accepted ARM image set; setup/removal now names the receipt-bound ordinary user explicitly.

  27. andersalm commented on Oct 13, 2026

    @andersalm
    ContributorAuthor

    /claim #90-3
    @andersalm Jetson is reachable, but only 9.67% disk space is free. Can you reclaim at least 8 GB while preserving the active Local AI Home so the isolated Browser test keeps the 10% reserve?
    The ARM image matches develop and will be reused; the new qualification worktree leaves PR #349 corrections with OMP. Current proof and next step: #90.

  28. andersalm commented on Oct 13, 2026

    @andersalm
    ContributorAuthor

    @andersalm Can you run the bound Jetson setup once and restore target capacity to about 25 GB available for the first journey? Exact setup/removal commands are in this issue’s current host-access section; private staging values are supplied in the chat.
    Clean source 3b6b78f29b8f29670d2dd78b39b80f364c4caf7b; helper SHA 8cf026e9b31e9caf59ba7855b6810e3d6e628d2cbef367dfb3bc2e898d496cfe; 24 focused tests and independent preparation review pass.
    Jetson lacks the kernel vsock driver. The confined userspace primitive test passes; native transport integration and installed #90 proof remain pending, with ARM hidden.

  29. modified the milestones: 0.8.0, After 0.8.0 on Oct 13, 2026
  30. andersalm commented on Oct 13, 2026

    @andersalm
    ContributorAuthor

    Postponed to 0.8.1: release recipes stay checksum-pinned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions