Files
bare-operating-system/packages/bare-os-bare-libs
Raven Scott 346bb71ffe Complete the internal “100 task” roadmap: coreutils and shell parity (xargs,
sh, diff/patch, sort, printf, find, test, getfacl/setfacl/xattr), expanded
/proc and metrics (process table, syscalls, replication, net, security
posture, worker budget, swarm/replication hints), initd DAG supervision
metadata and richer restart journal telemetry, synthetic process groups via
IPC (assignProcessGroup/signalProcessGroup) mirrored into process_table,
optional kernel.ext.d incremental hot reload (BARE_OS_KERNEL_EXT_D_HOT_RELOAD)
with reload audit NDJSON, features proc for hyperblobs dedup and systemd
subset documentation, vault threat model doc plus posture fields for AEAD,
Pear enclave pointer, account rotation continuity, and Ed25519 consistency
across boot manifest / extensions / replication. Adds or extends tests and
keeps kernel/ and packages/bare-os-seeder/kernel/ in parity; guest init is
bundled from kernel/lib/init/init-main.js via bundle-kernel-init.
2026-04-04 21:23:49 -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.

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.

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).