and seeder/kernel parity. Booter / ctx (1.44.0) - bareOsReadPearRuntimeSnapshotJson; hrpc stock routes documented (kernel.*, vfs.readText, bare_os.echo, bare_os.disk_os_hints). - Peer admission: BARE_OS_DHT_ADDRESS_CLASS_ALLOWLIST + meta.dhtAddressClass; shouldAttemptPeer(peerKey, meta). - Optional BARE_OS_VFS_WARM_CACHE_INVALIDATE_ON_APPEND on system drive cores. - maybeMergeBareFromDrive: path dedupe + early exit when manifest keys satisfied. - identity-account: zero UTF-8 passphrase buffer after PBKDF2 (string path). Shell / utilities - BARE_OS_SHELL_ERREXIT and set -e / set +e; tests in bare-os-booter/test.js. - expand: comma-separated POSIX-style tab stops; man page + coreutils tests. Tooling / docs - kernel-microbench vfs: warmReplicationPathClassify sketch. - holepunch-drift-repos suggestedCriticalRepos; sync-holepunch-clones report. - scripts/README: pretest maintainer runbook; handbook/12 P2P vs POSIX. - KERNEL_CONTRACT, environment appendix, PLACEHOLDER_BASELINE (multisig gate), compatibility matrix, posix artifacts, syscalls.example.json, seeder sync. Requires: npm run pretest && npm test (already green in session).
bare-os-seeder
Pear / Bare application that owns the canonical system Hyperdrive: it walks a kernel tree on disk, writes /boot/init.js, /bin/*, /etc/* into the drive (no host temp dirs), builds a 512-byte MBR with the drive key, joins Hyperswarm on bare-os-v1, and serves MBR block reads + Protomux bare-os-v1 replication to peers.
Documentation: User manual · Handbook · Seeder reference · Protocol reference.
Run
From package directory (after npm ci at repo root):
node index.js
Or with Bare/Pear:
npm run pear:dev
From repo root (recommended — fixes workspace node_modules for Pear):
npm run os:seeder
Environment
BARE_OS_KERNEL_ROOT— Absolute path to kernel tree to stage (default: packagekernel/vendored copy, or repokernel/under Nodefile:URL)BARE_OS_HOST_DATA— Base directory for host state (default~/.bare-os)BARE_OS_SEED_STORE— Corestore directory (default~/.bare-os/corestore/seeder)BARE_OS_SEED_CAPABILITY_ATTESTATION_JSON— Optional JSON string for seed RPCbare_os.capability_attestation(operators verify on host; guest does not crypto-verify)
Pear vs Node
import.meta.urlisfile:— seeder may dynamically importbare-os-coreutils/build.mjsandbare-os-bare-libs/build.mjs, rebuilding/binandkernel/lib/barebefore staging.pear:bundle — coreutils and/lib/barebundles must be pre-built intokernel/; runnpm run build -w bare-os-coreutilsandnpm run build -w bare-os-bare-libsbeforepear run(rootnpm run os:seederdoes both).
Layout
index.js— Entry: Corestore, Hyperdrive,stageKernelTree, swarm,setupSeedChannel(RPCs include optionalbare_os.snapshot_hintsandbare_os.peer_firewall_statswhen implemented)lib/paths.js—packageRootDir, kernel root, Corestore path (Pear RTI–aware)kernel/— Vendored mirror of repokernel/for Pear staging — must matchkernel/byte-for-byte (npm testpretestrunsscripts/verify-kernel-seeder-parity.mjs)
Dependencies
bare-os-protocol (workspace), hyperdrive, corestore, hyperswarm, protomux, b4a, compact-encoding, safety-catch, bare-os.