feat(bare-os): kernel wave 3 — bits3, seed RPCs, policy, proc, CI schemas

Add third capability word (STOCK_V3) and word2 tail bits; seed RPCs
snapshot_hints and peer_firewall_stats; /proc mirrors (snapshot_hints,
pear_trust, rlimits, hdms_health, initd_graph) and /proc/net/udp; boot
policy v3 (requireFeatureBits2/3, Pear IPC allowlist, VFS deny prefixes,
initd restart cap); VFS enforcement for boot-policy path denies; delegate
in-flight caps; gated shell local/declare; initd path conditions, ordered
suspend/resume, OnInactiveSec timers; vfs.watch swarm/replication;
validate-example-schemas.mjs + ajv in pretest; extend verify-ctx for V3;
bump ctx API to 1.12.0; ADR 001, protocol, handbook, dev-guide, and
reference docs; seeder/kernel parity and booter tests.

Chore: Prettier table alignment in CHANGELOG and READMEs; compact
bareOsRequestPearReload signature in bare-os-ctx.d.ts.
This commit is contained in:
Raven Scott
2026-04-04 02:34:21 -04:00
parent 2919f606ce
commit de176addd9
56 changed files with 2358 additions and 1046 deletions
@@ -23,7 +23,9 @@ Bare OS advertises optional booter and seed-channel capabilities as a versioned
5. **Second capability word (`bits2`)** — Wave 2 adds **`BARE_OS_KERNEL_FEATURES_STOCK_V2`** and named **`BARE_OS_FEATURE2_*`** constants (bits 031, always use **`>>> 0`** when masking). Seed JSON **`bare_os.capabilities`** and **`/proc/bare_os_features`** include **`bits2`** alongside **`bits`**. **`BARE_OS_SEED_CAP_STRICT`** may require both words when the booter advertises stock v2. New guest-visible behavior on word 2 follows the same documentation rule as word 1: [`docs/reference/kernel-capabilities-index.md`](../../docs/reference/kernel-capabilities-index.md), [`docs/reference/kernel-extensions.md`](../../docs/reference/kernel-extensions.md), and relevant handbook chapters.
6. **Third capability word (`bits3`, wave 3)****`BARE_OS_KERNEL_FEATURES_STOCK_V3`** and **`BARE_OS_FEATURE3_*`** cover rlimits proc, boot policy v3, delegate concurrency, gated shell **`local`**, host capability probe, and CI schema validation of examples. Seed JSON and **`/proc/bare_os_features`** include **`bits3`**. **`BARE_OS_SEED_CAP_STRICT`** may require **`bits3`** when the stock booter advertises a non-zero third word. Word 2 bits **1931** (wave 3) remain on **`bits2`**; word 3 is additive and does not renumber prior assignments.
## Consequences
- Seeder RPC `bare_os.capabilities` must return `protocolPackageVersion` and `featureBitsDoc` alongside `bits` (and `bits2` when used) for operator clarity.
- CI should keep seeder and booter copies of the stock masks aligned (`BARE_OS_KERNEL_FEATURES_STOCK_V1`, `BARE_OS_KERNEL_FEATURES_STOCK_V2`).
- Seeder RPC `bare_os.capabilities` must return `protocolPackageVersion` and `featureBitsDoc` alongside `bits`, `bits2`, and `bits3` (omit zero words if desired, but stock booter sends all three today).
- CI should keep seeder and booter copies of the stock masks aligned (`BARE_OS_KERNEL_FEATURES_STOCK_V1`, **`STOCK_V2`**, **`STOCK_V3`**).