- Kernel: strict capability contract merge, junit selftest, startup class, cold boot budget warning, boot txn schema v1, rc/kernel.ext resolution traces, richer bareOsPublishBootReady (steps/bootSteps, FSM sketch) - Booter: warm reboot extra cycles, boot provenance on boot.json, step mirroring, corestore/swarm suspend-resume hooks, swarm connection manager sketch, event bus + optional NDJSON, security_posture proc schema v2, key handle TTL/scopes - VFS: snapshot path class + BARE_OS_VFS_SNAPSHOTS checkout views, policy metrics, batch put + diff helpers, watch consistency hint, quotas vfsQuota fields - Protocol: BARE_OS_PROTOMUX_CORK_HINT_VERSION via channel exports - Initd: BARE_INITD_UNIT_STATES; shell: tokenizer module split - Extensions: capability conflict detector in kernel-extension-resolver - Docs/scripts: reference index map, observability event bus, dry-run vs rollback table, benchmark trend + integration-lab smoke, scripts README - Tests: /proc listing + pseudo path caps for snapshots and security_posture
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.