This commit is contained in:
Raven Scott
2026-04-05 04:33:14 -04:00
parent 4af98ef97b
commit 904ad7e7fd
48 changed files with 1905 additions and 219 deletions
+3 -3
View File
@@ -19,7 +19,7 @@ Self-contained **`ctx.bare` support** on the **system** Hyperdrive: Holepunch **
## What gets staged
- **`bare-module-manifest.json`** — Copy of the booter manifest (same keys and packages as host resolution). Tells the runtime which logical module names exist.
- **`bare-module-manifest.json`** — Copy of the booter manifest (same keys and packages as host resolution). Tells the runtime which logical module names exist on the **drive**. The Pear **booter** package also ships a generated sibling **`bare-module-manifest.data.mjs`** (repo: **`packages/bare-os-booter/lib/`**) used when **`import.meta.url`** is **`pear://…`** so **`ctx.bare`** host imports do not rely on **`readFile`** of **`pear:`** URLs; see [PEAR-RUN.md](../../../PEAR-RUN.md).
- **`manifest.json`** — Drive loader index: **`bundles`** lists IIFE paths that assign into **`globalThis.__bare_os_stdlib__`**; **`bundleStats`** counts attempted bundles; **`bundleDiagnostics`** lists each bundles byte size (same data as **`docs/audit/bundle-health.json`**).
- **`bundles/*.js`** — One esbuild IIFE per catalog entry. The bare-libs build is **fail-fast** (esbuild errors abort; no stub placeholders). Stale **`*.js`** left from older tiered builds are **pruned** on each successful build. Regenerate with **`npm run build -w bare-os-bare-libs`** (updates **`docs/audit/bundle-health.json`**).
@@ -52,8 +52,8 @@ The authoritative list is in the [environment appendix](../../../docs/reference/
## Regenerating bundles
1. Edit **`packages/bare-os-booter/lib/bare-module-manifest.json`** or bundle sources under **`packages/bare-os-bare-libs/`** as needed.
2. Run **`npm run build -w bare-os-bare-libs`** — output lands in **`kernel/lib/bare/`** (and CI expects **`packages/bare-os-seeder/kernel/`** to match **`kernel/`** byte-for-byte afterward).
1. Edit **`packages/bare-os-booter/lib/bare-module-manifest.json`** or bundle sources under **`packages/bare-os-bare-libs/`** as needed. After catalog merges, **`npm run sync:bare-manifest`** refreshes **`optionalDependencies`** and regenerates **`bare-module-manifest.data.mjs`** for Pear.
2. Run **`npm run build -w bare-os-bare-libs`** — **`prebuild`** runs **`generate-bare-module-manifest-data.mjs`**; output lands in **`kernel/lib/bare/`** (and CI expects **`packages/bare-os-seeder/kernel/`** to match **`kernel/`** byte-for-byte afterward).
3. Mirror **`kernel/`** into **`packages/bare-os-seeder/kernel/`** (same tree) so **`scripts/verify-kernel-seeder-parity.mjs`** passes — typically `rsync -a --delete kernel/ packages/bare-os-seeder/kernel/` from the repo root after init/bundle changes.
4. Re-run the seeder so peers replicate the updated system drive.
+1 -1
View File
@@ -1,6 +1,6 @@
{
"schema": 1,
"atMs": 1775373309737,
"atMs": 1775376099873,
"commands": [
"arch",
"awk",