Files
bare-operating-system/packages/bare-os-protocol
Raven Scott 8bde745191 feat: complete 20-track kernel roadmap (P2P ops, POSIX, HRPC, CI, docs)
- Add optional Holepunch clone lag gate (holepunch-freshness-gate.json,
  verify-holepunch-clone-freshness.mjs) and wire into pretest/docs.
- Extend stock ctx.bareOsHrpcRequest with disk.os replication routes;
  bump hrpc_allowlist_sketch proc to schema 2 with stockRoutes list.
- Security posture: blindRelayAudit; hyper_multisig_trust_pointer schema 2
  + vault multisig continuity env; login/unlock audit hook.
- Syscalls schema 9 alignment (JSON schema, compatibility matrix, conformance
  matrix clock_gettime); boot budget telemetry schema 2 in metrics_live.
- Coreutils hostname -s/--short man/options; rebuild kernel bins/man.
- POSIX + P2P dashboard section in docs/README; handbook/DOCUMENTATION/
  release-checklist/OTA/KERNEL_CONTRACT/PEAR-RUN and related reference updates.
- verify-boot-policy-extension-signer-pins: scan kernel init fragments.

Note: vendor drift section removed from kernel/lib/bare/README.md (intentional).
2026-04-05 14:17:20 -04:00
..
2026-04-05 00:45:17 -04:00
2026-04-04 08:31:39 -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.

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 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 bitsbits11 when non-zero, typed errors for unknown RPC methods, bare_os.replication_status, bare_os.replication_queue, extended RPC short names in seed-rpc-methods.js, 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 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