Files
bare-operating-system/packages/bare-os-protocol
Raven Scott 2919f606ce feat(kernel): wave 2 guest OS surface and operator parity
- Extend capability model (featureBits2) and align ADR, protocol, /proc, verify scripts
- Add seed RPC + /proc mirrors for replication queue, MBR failover hints, optional attestation
- Pear bridge: IPC request/response, mirror-drive / HDMS pairing hints, dev diagnostics
- Initd: IdleSec for socket units, units.d drop-ins, richer readiness (e.g. exec:)
- Cron: @reboot and JitterSec-style scheduling
- VFS: Linux-shaped /proc stubs (cgroups, tcp), bounded vfs.watch on safe pseudo paths
- Shell: gated parameter expansion v2; /bin/env -S and --env-file (staged script without ESM export)
- Schemas under docs/schemas; expand contract tests; kernel.ext.d → /proc extensions registry
- Refresh handbook, developer-guide, reference index, package READMEs; keep seeder kernel tree in sync
2026-04-04 02:04:59 -04:00
..
2026-04-02 21:38:07 -04:00
2026-04-04 01:20:57 -04:00
2026-04-02 21:38:07 -04:00

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.

What it provides

Export (from index.js) Role
PROTOCOL_NAME, TOPIC_STRING Protomux channel name and swarm topic input string (bare-os-v1)
topicKey() 32-byte topic for swarm.join()
BLOCK_SIZE, MBR_MAGIC 512-byte MBR, magic BIOS at offset 0
buildMbr / parseMbr Pack/unpack primary + optional failover Hyperdrive keys
setupSeedChannel Wire Protomux messages 06 for RAM block reads, gossip bitfield, manifest path search, RPC (incl. bare_os.capabilities with bits/bits2, bare_os.replication_status, bare_os.replication_queue, bare_os.capability_attestation, bare_os.mbr_layout, bare_os.manifest_hints, bare_os.peer_health, bare_os.staging_slot, bare_os.gossip), and drive.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 STOCK_V1 / STOCK_V2; surfaced in /proc/bare_os_features and /proc/bare_os/), 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