Files
bare-operating-system/packages/bare-os-bare-libs
Raven Scott ebee9576c8 feat(booter): POSIX/P2P kernel roadmap — sockets, disk.os, VFS, docs
- Bump bareOsCtxApiVersion to 1.46.0 and POSIX profile 1.0.10; sync
  syscalls example, process table, compatibility matrix, CHANGELOGs.
- Socket FD bridge: passive SOCK_DGRAM bind/connect/send path, poll
  readiness; bareOsPosixPoll monotonic timeouts via bare-hrtime.
- disk.os: replication_operator_sketch schema 2; cap-gated
  replication_operator_intent + audit; enrich protomux proc JSON.
- VFS: route /.bare/** to personal drive; optional
  BARE_OS_PERSONAL_VAULT_INDEX_CACHE_MS readdir TTL cache.
- Boot policy: p2pAdmission (peerAllowlistHex, hyperswarmBootstrap) in
  schema + kernel init merge into ctx.env when unset.
- Coreutils/booter getconf: expand _SC_* coverage; shell wait -n under
  BARE_OS_SHELL_POSIX_MODE; seeder multisig verify → security_posture.
- Tests: vfs /.bare routing; test.bare-smoke + test:bare; bench schema 2.
- Docs: syscall-socket-contract, handbook/env/kernel-extensions,
  holepunch drift pretest note, vault threat model multisig section.
- Drop hyperbee from bare-os-booter package.json dependencies (if that
  change is part of this commit).
2026-04-05 01:46:17 -04:00
..
2026-04-03 21:39:36 -04:00

bare-os-bare-libs

Builds trusted IIFE bundles from bare-module-manifest.json entries marked "bundle": true. Output:

  • kernel/lib/bare/bundles/<ctxKey>.js
  • kernel/lib/bare/manifest.json (paths for the booter drive merge)
  • Mirrored under packages/bare-os-seeder/kernel/lib/bare/ for seeder parity

Documentation: Developer guide ch.12 — Bare modules · Kernel tree — lib/bare · docs/README — catalog.

Run from repo root:

npm run build -w bare-os-bare-libs

The booter loads these only when BARE_OS_BARE_MODULES is enabled and BARE_OS_BARE_DRIVE_BUNDLES is not disabled; see the developer guide.

Manifest rows may include optional tier (core default when omitted) and risk (low / medium / high) so distributors can filter bundles without reading upstream READMEs. The catalog sync scripts preserve unknown fields when merging from docs/bare-holepunch-catalog.json.

Bundle health, markers, and upstream closure

  • docs/audit/bundle-health.json — per-bundle byte sizes; regenerated by npm run build -w bare-os-bare-libs. When a bundles size moves by more than roughly 10%, add a dated one-line note under Bundle health log below (or in the same PR description) so reviewers can tell intentional catalog bumps from accidents.
  • scripts/verify-bundle-health.mjs — CI compares committed JSON to on-disk bundle sizes.
  • scripts/verify-bundle-markers.mjs + docs/audit/bundle-marker-allowlist.json — gate TODO / NOT_IMPLEMENTED substrings inside vendored IIFEs; shrink the allowlist when upgrading Holepunch packages removes markers.
  • scripts/verify-bundle-throws.mjs + docs/audit/bundle-throw-allowlist.json — same for throw new Error("not implemented") phrasing.

Scope split: verify-runtime-no-incomplete-markers.mjs applies to first-party kernel/boot/booter sources; verify-bundle-markers.mjs / verify-bundle-throws.mjs apply only to kernel/lib/bare/bundles/*.js. Upstream HTTP helpers may still expose 501 Not Implemented behavior under sanitized method names—that is not the same as an unfinished Bare OS syscall surface (those use documented ENOTSUP in the booter).

See docs/audit/PLACEHOLDER_BASELINE.md § P3 for policy: first-party kernel code stays marker-free via verify-runtime-no-incomplete-markers.mjs; bundle gaps close through version bumps, post-processing (rare), or allowlist shrink. Full table: developer-guide ch.8 — CI marker scope.

Bundle health log

Date (UTC) Note
Append a row when a bundle size change ≥ ~10% is intentional (catalog version, esbuild flags, or new upstream files).