- Add bare-os-hrpc-allowlist.js; wire stock bareOsHrpcRequest + bareOsHrpcAllowlistProbe; passthrough BARE_OS_HRPC_ALLOWLIST_JSON and operator env for snapshot/blind-relay/mirror/pear-doctor - Merge BARE_OS_CORESTORE_SNAPSHOT_WORKFLOW_JSON into bareOsReadSnapshotHintsJson (match proc) - Shell: pipefail runs all pipeline stages; aggregate first non-zero exit after assign prefixes - mv: stage renames via vfs.resolveLogical so temp files stay in writable destination dir - coreutils: POSIX-style split suffixes past zz; xargs doc for -P vs host subprocess - identity-session: stable Error.code for no-account / passphrase failures - Docs: KERNEL_CONTRACT, POSIX profile, handbook 5/7/9, kernel-extensions strict-boot table, env appendix, developer-guide + scripts README, protocol/booter CHANGELOGs; hrpc allowlist schema - Tests: hrpc allowlist, pear_doctor schema 2, split suffix, pipefail pipeline; fix PLACEHOLDER_BASELINE link Pretest: refreshed kernel bins, man.json, posix dashboard, bundle health, seeder parity
bare-os-protocol
Shared wire format and constants for the Bare operating system monorepo: Hyperswarm topic, 512-byte MBR layout, and Protomux bare-os-v1 seed-channel message shapes.
Documentation: Protocol reference · Kernel extensions · Handbook ch.3.
What it provides
PROTOCOL_NAME,TOPIC_STRING— Protomux channel name and swarm topic input string (bare-os-v1)topicKey()— 32-byte topic forswarm.join()BLOCK_SIZE,MBR_MAGIC— 512-byte MBR, magicBIOSat offset 0buildMbr/parseMbr— Pack/unpack primary + optional failover Hyperdrive keyssetupSeedChannel— Wire Protomux messages 0–6 for RAM block reads, gossip bitfield, manifest path search, RPC (incl.bare_os.capabilitieswithbits…bits11when non-zero, typed errors for unknown RPC methods,bare_os.replication_status,bare_os.replication_queue, extended RPC short names inseed-rpc-methods.js,bare_os.gossip), anddrive.replicate
Subpath exports: bare-os-protocol/constants.js, bare-os-protocol/messages (compact-encoding schemas), bare-os-protocol/kernel-feature-bits.js (documented booter capability words BARE_OS_KERNEL_FEATURES_STOCK_WORD_*; BARE_OS_KERNEL_FEATURE_BITS_DOC=14; surfaced in /proc/bare_os_features and /proc/bare_os/), bare-os-protocol/lib/seed-rpc-methods.js (authoritative bare_os.* RPC name list for kernel_info), bare-os-protocol/protocol-meta.js (BARE_OS_PROTOCOL_PACKAGE_VERSION for the seed handshake).
Consumers
- bare-os-seeder — builds MBR, serves block 0 over the channel, replicates the system Hyperdrive.
- bare-os-booter — parses MBR from
SwarmDisk, opens system drives, uses the same channel on the client side.
Tests
npm test -w bare-os-protocol
Runs brittle-bare against test.js (topic stability, MBR roundtrip, encodings).
Dependencies
b4a, compact-encoding, hypercore-crypto (via constants/topic). No Hyperdrive or Hyperswarm here — this package stays small and testable.
See also
- Repo root README.md and protocol reference §10.
- Handbook — Blueprints § protocol (high-level).