feat(protocol)!: kernel capability wire v2 and ctx capability maps
Replace top-level seed/proc bits (bits, bits2, … bits11) with kernelCapabilityWords (semantic camelCase keys), kernelCapabilityWireVersion, and helpers in kernel-capability-wire.js. Bump bare-os-protocol to 0.9.0 and BARE_OS_KERNEL_FEATURE_BITS_DOC to 15. Booter: emit/consume v2 on bare_os.capabilities, /proc/bare_os_features, debug proc, offline LKG seedCapabilityInfo; BARE_OS_SEED_CAP_STRICT walks semantic keys. Guest ctx exposes frozen bareOsAdvertisedKernelCapabilityWords and bareOsSeedKernelCapabilityWords; remove per-word bareOsAdvertisedKernelCapabilities* and bareOsSeedCapability* (BARE_OS_CTX_API_VERSION 1.22.0). Kernel boot policy (stock init.js + seeder copy) reads advertised/seed words via those maps. Update bare-os-ctx.d.ts, CI verifiers, compatibility matrix, capability-words docs, ADR 001, and changelogs. Fix duplicate re-exports of EXTENDED_SEEDING_PLATFORM and RLIMITS_DELEGATES_SHELL in bare-os-protocol/index.js (Pear/Bare duplicate export error).
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Kernel capability words (authoritative map)
|
||||
|
||||
Seed RPC **`bare_os.capabilities`**, **`/proc/bare_os_features`**, and guest **`ctx`** (**`bareOsAdvertisedKernelCapabilityWords`** / **`bareOsSeedKernelCapabilityWords`**) use **wire v2**: eleven unsigned 32-bit masks live under one JSON object **`kernelCapabilityWords`** with **semantic camelCase** keys below. Numeric values and **bit positions** match the legacy v1 layout (top-level **`bits`**, **`bits2`**, … **`bits11`**); only the JSON shape changed.
|
||||
|
||||
| `kernelCapabilityWords` key | Semantic label | Stock mask constant (`bare-os-protocol`) | `boot.policy.json` required mask | Proc JSON module (`bare-os-booter`) |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `primary` | `PRIMARY` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_PRIMARY` | `minKernelCapabilitiesPrimary` | (core tree; not a single module) |
|
||||
| `extendedSeedingPlatform` | `EXTENDED_SEEDING_PLATFORM` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_EXTENDED_SEEDING_PLATFORM` | `requireKernelCapabilitiesExtendedSeedingPlatform` | — |
|
||||
| `rlimitsDelegatesShell` | `RLIMITS_DELEGATES_SHELL` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_RLIMITS_DELEGATES_SHELL` | `requireKernelCapabilitiesRlimitsDelegatesShell` | — |
|
||||
| `offlineNetExtensions` | `OFFLINE_NET_EXTENSIONS` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_OFFLINE_NET_EXTENSIONS` | `requireKernelCapabilitiesOfflineNetExtensions` | — |
|
||||
| `hostTransportDelegates` | `HOST_TRANSPORT_DELEGATES` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_HOST_TRANSPORT_DELEGATES` | `requireKernelCapabilitiesHostTransportDelegates` | — |
|
||||
| `replicationOperatorSurface` | `REPLICATION_OPERATOR_SURFACE` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_REPLICATION_OPERATOR_SURFACE` | `requireKernelCapabilitiesReplicationOperatorSurface` | `bare-os-proc-replication-operator-surface.js` |
|
||||
| `pearCorestoreHrpc` | `PEAR_CORESTORE_HRPC` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_CORESTORE_HRPC` | `requireKernelCapabilitiesPearCorestoreHrpc` | `bare-os-proc-pear-corestore-hrpc.js` |
|
||||
| `bareRuntimeProtoMux` | `BARE_RUNTIME_PROTO_MUX` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_BARE_RUNTIME_PROTO_MUX` | `requireKernelCapabilitiesBareRuntimeProtoMux` | `bare-os-proc-bare-runtime-proto-mux.js` |
|
||||
| `bareModuleCryptoStaging` | `BARE_MODULE_CRYPTO_STAGING` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_BARE_MODULE_CRYPTO_STAGING` | `requireKernelCapabilitiesBareModuleCryptoStaging` | `bare-os-proc-bare-module-crypto-staging.js` |
|
||||
| `pearInspectLoggerTls` | `PEAR_INSPECT_LOGGER_TLS` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_INSPECT_LOGGER_TLS` | `requireKernelCapabilitiesPearInspectLoggerTls` | `bare-os-proc-pear-inspect-logger-tls.js` |
|
||||
| `hypercorePackHrpcLifecycle` | `HYPERCORE_PACK_HRPC_LIFECYCLE` | `BARE_OS_KERNEL_FEATURES_STOCK_WORD_HYPERCORE_PACK_HRPC_LIFECYCLE` | `requireKernelCapabilitiesHypercorePackHrpcLifecycle` | `bare-os-proc-hypercore-pack-hrpc-lifecycle.js` |
|
||||
|
||||
**Offline LKG:** `boot.policy.json` boolean **`offlineLkgRequireHypercorePackHrpcLifecycle`** sets host env **`BARE_OS_OFFLINE_LKG_REQUIRE_HYPERCORE_PACK_HRPC_LIFECYCLE=1`** (strict class hints for the eleventh word).
|
||||
|
||||
**Probe env (telemetry):**
|
||||
|
||||
| Env var | Word |
|
||||
| --- | --- |
|
||||
| `BARE_OS_PROBE_ID_BARE_MODULE_CRYPTO_STAGING` | ninth word |
|
||||
| `BARE_OS_PROBE_ID_PEAR_INSPECT_LOGGER_TLS` | tenth word |
|
||||
| `BARE_OS_PROBE_ID_HYPERCORE_PACK_HRPC_LIFECYCLE` | eleventh word |
|
||||
|
||||
**Proc visibility:** `BARE_OS_HIDE_PROC_HYPERCORE_PACK_HRPC_LIFECYCLE` (`0` / `false` / `off`) omits eleventh-word **`/proc`** JSON entries from directory listings, resolution, and the proc index.
|
||||
|
||||
**Guest `ctx` (1.22.0+):** use frozen **`bareOsAdvertisedKernelCapabilityWords`** and **`bareOsSeedKernelCapabilityWords`** with the same keys as the table above (e.g. **`hypercorePackHrpcLifecycle`** for the eleventh word).
|
||||
|
||||
See also [kernel-capabilities-index.md](./kernel-capabilities-index.md) and [ADR 001](../../developer-guide/adr/001-kernel-feature-bits-governance.md).
|
||||
@@ -4,15 +4,15 @@ Single place to compare **protocol**, **booter `ctx` API**, **feature-bit docume
|
||||
|
||||
| Artifact | Location | Current (stock) |
|
||||
| --- | --- | --- |
|
||||
| **`bareOsCtxApiVersion`** | [`packages/bare-os-booter/lib/bare-os-ctx-api.js`](../../packages/bare-os-booter/lib/bare-os-ctx-api.js) | `1.20.0` |
|
||||
| **`BARE_OS_KERNEL_FEATURE_BITS_DOC`** | [`packages/bare-os-protocol/lib/kernel-feature-bits.js`](../../packages/bare-os-protocol/lib/kernel-feature-bits.js) | `13` |
|
||||
| **Capability words** | `bare_os.capabilities` RPC + `/proc/bare_os_features` | `bits`, `bits2`, `bits3`, **`bits4`**, **`bits5`**, **`bits6`**, **`bits7`**, **`bits8`**, **`bits9`**, **`bits10`**, **`bits11`** |
|
||||
| **`bareOsCtxApiVersion`** | [`packages/bare-os-booter/lib/bare-os-ctx-api.js`](../../packages/bare-os-booter/lib/bare-os-ctx-api.js) | `1.22.0` |
|
||||
| **`BARE_OS_KERNEL_FEATURE_BITS_DOC`** | [`packages/bare-os-protocol/lib/kernel-feature-bits.js`](../../packages/bare-os-protocol/lib/kernel-feature-bits.js) | `15` |
|
||||
| **Capability words (wire v2)** | `bare_os.capabilities` RPC + `/proc/bare_os_features` | Top-level **`kernelCapabilityWords`** object: **`primary`**, **`extendedSeedingPlatform`**, **`rlimitsDelegatesShell`**, **`offlineNetExtensions`**, **`hostTransportDelegates`**, **`replicationOperatorSurface`**, **`pearCorestoreHrpc`**, **`bareRuntimeProtoMux`**, **`bareModuleCryptoStaging`**, **`pearInspectLoggerTls`**, **`hypercorePackHrpcLifecycle`** (eleven `uint32` masks; same bit positions as legacy top-level **`bits`**…**`bits11`**) |
|
||||
| **Lifecycle / telemetry NDJSON** | `BARE_OS_LIFECYCLE_SCHEMA_VERSION` in [`bare-os-lifecycle-schema.js`](../../packages/bare-os-booter/lib/bare-os-lifecycle-schema.js) | `10` |
|
||||
| **Protocol package** | [`bare-os-protocol` `package.json`](../../packages/bare-os-protocol/package.json) | see workspace version |
|
||||
|
||||
## Peer assumptions
|
||||
|
||||
- **Seeder** must answer **`bare_os.capabilities`** with **`bits4`** … **`bits11`** when using a current **`bare-os-protocol`** build; older seeders omit newer words (zeros) — use **`BARE_OS_SEED_CAP_STRICT`** only when peers are upgraded.
|
||||
- **Seeder** must answer **`bare_os.capabilities`** with **`kernelCapabilityWords`** (wire **v2**, **`kernelCapabilityWireVersion`: 2**) when using a current **`bare-os-protocol`** build. **`BARE_OS_SEED_CAP_STRICT`** requires that object and full stock coverage per semantic key.
|
||||
- **Offline LKG** booters skip the swarm peer wait when **`BARE_OS_OFFLINE_LKG_BOOT=1`** and **`BARE_OS_LKG_SYSTEM_KEY_HEX`** is set; the system drive must already contain **`/boot/init.js`** in Corestore.
|
||||
|
||||
## See also
|
||||
|
||||
@@ -29,8 +29,8 @@ Former **DOCUMENTATION.md** §14, §14a. [Reference index →](README.md)
|
||||
| `BARE_OS_BOOT_MANIFEST` | Stock kernel | Enable digest check of **`/etc/bare-os/boot.manifest.json`**. |
|
||||
| `BARE_OS_BOOT_MANIFEST_SIGN` | Stock kernel + booter | When **`1`**, require valid Ed25519 signature file **`/etc/bare-os/boot.manifest.sig`** (see **`BARE_OS_BOOT_MANIFEST_PUBKEY_HEX`**). |
|
||||
| `BARE_OS_BOOT_MANIFEST_PUBKEY_HEX` | Booter / kernel | 64 hex chars — public key for signed boot manifest verification. |
|
||||
| `BARE_OS_BOOT_POLICY` | Stock kernel | When **`1`** / **`true`**, merge **`skipPhases`** / **`denyBootPhases`** from **`/etc/bare-os/boot.policy.json`**; optional **`minKernelFeatureMask`** / **`requireSeedCaps`**; v2 **`maxExecLineDepth`**, **`denyEnvKeys`**, **`requireProcNodes`**; v3 **`requireFeatureBits2`**, **`requireFeatureBits3`**, **`allowedPearIpcChannels`**, **`denyVfsPrefixes`**, **`maxInitdRestartsPerUnit`**; v4 **`requireFeatureBits4`**, **`denyExecLineBuiltins`**, **`allowedCtxMethods`** (see **`kernel/etc/bare-os/boot.policy.example.json`** and **[`docs/schemas/boot.policy.schema.json`](../schemas/boot.policy.schema.json)**). |
|
||||
| `BARE_OS_BOOT_POLICY_STRICT` | Stock kernel | When **`1`**, abort boot if **`minKernelFeatureMask`** or **`requireSeedCaps`** checks fail. |
|
||||
| `BARE_OS_BOOT_POLICY` | Stock kernel | When **`1`** / **`true`**, merge **`skipPhases`** / **`denyBootPhases`** from **`/etc/bare-os/boot.policy.json`**; optional **`minKernelCapabilitiesPrimary`** / **`requireSeedCaps`**; v2 **`maxExecLineDepth`**, **`denyEnvKeys`**, **`requireProcNodes`**; v3 **`requireKernelCapabilitiesExtendedSeedingPlatform`**, **`requireKernelCapabilitiesRlimitsDelegatesShell`**, **`allowedPearIpcChannels`**, **`denyVfsPrefixes`**, **`maxInitdRestartsPerUnit`**; v4 **`requireKernelCapabilitiesOfflineNetExtensions`**, **`denyExecLineBuiltins`**, **`allowedCtxMethods`** (see **`kernel/etc/bare-os/boot.policy.example.json`** and **[`docs/schemas/boot.policy.schema.json`](../schemas/boot.policy.schema.json)**). |
|
||||
| `BARE_OS_BOOT_POLICY_STRICT` | Stock kernel | When **`1`**, abort boot if **`minKernelCapabilitiesPrimary`** or **`requireSeedCaps`** checks fail. |
|
||||
| `BARE_OS_BOOT_POLICY_DENY_VFS` | Stock kernel / **`boot.policy` v3** | Comma-separated absolute prefixes; VFS denies read/write/stat/readdir/chdir/unlink under them (set from **`denyVfsPrefixes`**). |
|
||||
| `BARE_OS_BOOT_POLICY_PEAR_IPC_CHANNELS` | Stock kernel / **`boot.policy` v3** | Comma-separated Pear IPC channel allowlist for **`ctx.bareOsPearIpcEmit`** (from **`allowedPearIpcChannels`**). |
|
||||
| `BARE_OS_LAZY_PERSONAL_DRIVE` | Booter | When **`1`**, defer mounting the personal Hyperdrive until session setup (after kernel bytes are loaded). |
|
||||
@@ -62,7 +62,7 @@ Former **DOCUMENTATION.md** §14, §14a. [Reference index →](README.md)
|
||||
| `BARE_OS_DELEGATE_*_MAX_CONCURRENT` | Host delegates | Per-kind in-flight cap (**`GIT`**, **`CURL`**, **`WGET`**, **`SYSTEMCTL`**). |
|
||||
| `BARE_OS_DELEGATE_AUDIT_ONLY` | Host delegates | With **`BARE_OS_AUDIT`**, log delegate calls and skip execution (**exit 0**). |
|
||||
| `BARE_OS_SEED_RPC_HANDSHAKE` | Booter | Set **`0`** / **`false`** to skip the pre-MBR **`bare_os.capabilities`** RPC against the first peer. |
|
||||
| `BARE_OS_SEED_CAP_STRICT` | Booter | When **`1`** / **`true`**, require seeder **`bits`** / **`bits2`** / **`bits3`** / **`bits4`** / **`bits5`** to cover stock booter **`STOCK_V1`** / **`STOCK_V2`** / **`STOCK_V3`** / **`STOCK_V4`** / **`STOCK_V5`** or throw. |
|
||||
| `BARE_OS_SEED_CAP_STRICT` | Booter | When **`1`** / **`true`**, require **`kernelCapabilityWords`** (wire v2) on the seed **`bare_os.capabilities`** payload and each semantic key’s mask to cover the stock booter **`BARE_OS_KERNEL_FEATURES_STOCK_WORD_*`** for that word (as wired in **`bare-os-protocol`**) or throw. |
|
||||
| `BARE_OS_SEED_CAP_FAIL` | Booter | When **`1`** / **`true`**, rethrow after a failed handshake instead of recording the error and continuing. |
|
||||
| `BARE_OS_OFFLINE_LKG_BOOT` | Booter | With **`BARE_OS_LKG_SYSTEM_KEY_HEX`** (64 hex chars), skip swarm peer wait and open the system Hyperdrive from the local Corestore (**`/boot/init.js`** must already be replicated). |
|
||||
| `BARE_OS_LKG_SYSTEM_KEY_HEX` | Booter | 32-byte Hyperdrive public key hex for offline LKG boot. |
|
||||
|
||||
@@ -14,7 +14,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 8 | IPC session namespace | done — `BARE_OS_IPC_NAMESPACE`, mkfifo + initd + VFS |
|
||||
| 9 | Unified `/proc/bare_os/` tree | done — directory + `index.json` + aliases |
|
||||
| 10 | Initd unit `Before=` edges | done — merged into after graph + parallel prereq |
|
||||
| 11 | Boot policy schema v2 | done — `denyBootPhases`, `minKernelFeatureMask`, `requireSeedCaps`, `BARE_OS_BOOT_POLICY_STRICT` |
|
||||
| 11 | Boot policy schema v2 | done — `denyBootPhases`, `minKernelCapabilitiesPrimary`, `requireSeedCaps`, `BARE_OS_BOOT_POLICY_STRICT` |
|
||||
| 12 | DNS allowlist for fetch | done — `BARE_OS_DNS_ALLOWLIST` in curl/wget |
|
||||
| 13 | Telemetry schema versioning | done — `telemetrySchemaVersion: 2` on NDJSON sink |
|
||||
| 14 | Suspend/resume hooks | done — `ctx.bareOsRegisterSuspendHook` / `Resume` + `Invoke*` |
|
||||
@@ -29,14 +29,14 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
|
||||
| # | Item | Status |
|
||||
|---|------|--------|
|
||||
| 1 | Fifth capability word (`bits5`) + ADR §8 | done — `BARE_OS_KERNEL_FEATURES_STOCK_V5`, strict seed check, `/proc` + RPC |
|
||||
| 1 | Fifth capability word (`bits5`) + ADR §8 | done — `BARE_OS_KERNEL_FEATURES_STOCK_WORD_HOST_TRANSPORT_DELEGATES`, strict seed check, `/proc` + RPC |
|
||||
| 2 | Seeder RPC registry (no drift) | done — [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js), typed errors |
|
||||
| 3 | Replication queue + snapshot hints | done — seeder RPC `queueDepthEstimate`, `snapshotWorkflowNote`, env `BARE_OS_SEED_*` |
|
||||
| 4 | Automated compatibility matrix | done — [`scripts/verify-compat-matrix.mjs`](../../scripts/verify-compat-matrix.mjs) |
|
||||
| 5 | Host OS probe (`bare-os`) | done — `/proc/bare_os/host_os.json`, env `BARE_OS_HOST_BARE_OS_PROC` / `BARE_OS_HOST_OS_JSON` |
|
||||
| 6 | Subprocess bridge lifecycle v2 | done — `bareOsReadSubprocessBridgeSnapshot`, `BARE_OS_SUBPROCESS_BRIDGE_META_JSON` |
|
||||
| 7 | Transport observability | done — `net_summary.json` `transport` from `BARE_OS_NET_TRANSPORT_STATS_JSON` |
|
||||
| 8 | Boot policy v5 | done — `requireFeatureBits5`, `requireInitJsSha256`, schema + kernel enforcement |
|
||||
| 8 | Boot policy v5 | done — `requireKernelCapabilitiesHostTransportDelegates`, `requireInitJsSha256`, schema + kernel enforcement |
|
||||
| 9 | Scheduled replication windows | done — `BARE_OS_REPLICATION_SYNC_WINDOWS`, `/proc/bare_os/sync_window.json` |
|
||||
| 10 | VFS union readlink | done — personal overlay for `readlink` under union prefixes |
|
||||
| 11 | Kernel profile warm reload | done — `BARE_OS_KERNEL_PROFILE_WARM`, `ctx.bareOsRequestKernelProfileReload` |
|
||||
@@ -54,9 +54,9 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
|
||||
| # | Item | Status |
|
||||
|---|------|--------|
|
||||
| 1 | bits6 + BARE_OS_KERNEL_FEATURES_STOCK_V6 + FEATURE6_* | done — kernel-feature-bits.js, seed caps, /proc, RPC |
|
||||
| 1 | bits6 + BARE_OS_KERNEL_FEATURES_STOCK_WORD_REPLICATION_OPERATOR_SURFACE + FEATURE6_* | done — kernel-feature-bits.js, seed caps, /proc, RPC |
|
||||
| 2 | ADR 001 Word 6 + deprecation policy | done — developer-guide/adr/001 |
|
||||
| 3 | Roadmap verifier + protocol tests bits6 | done — verify-kernel-roadmap-wave3.mjs, protocol test.js |
|
||||
| 3 | Roadmap verifier + protocol tests bits6 | done — verify-kernel-capabilities-contract.mjs, protocol test.js |
|
||||
| 4 | ctx API semver + d.ts for Wave 6 fields | done — bare-os-ctx-api.js 1.15.0, bare-os-ctx.d.ts |
|
||||
| 5 | ctx.d.ts / capability index drift checks | done — verify-ctx-dts.mjs, verify-ctx-api-feature-bits.mjs |
|
||||
| 6 | Protocol semver coupling docs | done — package-bare-os-protocol.md, README |
|
||||
@@ -153,19 +153,19 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 97 | Audit JSON v3 delegate depth | done — auditSchemaVersion 3 |
|
||||
| 98 | PII scrub list for telemetry | done — developer-guide privacy |
|
||||
| 99 | HDMS pairing backoff telemetry | done — NDJSON fields |
|
||||
| 100 | Mega-integration verify-kernel-roadmap-wave6 + pretest | done — scripts + release notes template |
|
||||
| 100 | Mega-integration verify-kernel-capabilities-word-6 + pretest | done — scripts + release notes template |
|
||||
|
||||
## Wave 7 (100-item mega kernel)
|
||||
|
||||
| # | Item | Status |
|
||||
|---|------|--------|
|
||||
| 1 | bits7 + STOCK_V7 + FEATURE7_* coarse groups | done — kernel-feature-bits.js |
|
||||
| 1 | bits7 + BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_CORESTORE_HRPC + FEATURE7_* coarse groups | done — kernel-feature-bits.js |
|
||||
| 2 | ADR 001 Word 7 + reserved bits 16–31 on word 6 vs new word | done — ADR §10 |
|
||||
| 3 | bits7 in seed capabilities + /proc/bare_os_features + strict | done — channel.js, booter |
|
||||
| 4 | BARE_OS_CTX_API_VERSION bump + new ctx fields | done — bare-os-ctx-api.js 1.16.0 |
|
||||
| 5 | verify-ctx-api-feature-bits + verify-ctx-dts for bits7 | done — scripts |
|
||||
| 6 | verify-kernel-roadmap-wave7.mjs (100 rows) + pretest | done — scripts |
|
||||
| 7 | verify-kernel-roadmap-wave3 STOCK_V7 + RPC + boot v7 | done — wave3 script |
|
||||
| 6 | verify-kernel-capabilities-word-7.mjs (100 rows) + pretest | done — scripts |
|
||||
| 7 | verify-kernel-capabilities-contract BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_CORESTORE_HRPC + RPC + boot v7 | done — verify-kernel-capabilities-contract.mjs |
|
||||
| 8 | Protocol README + package-bare-os-protocol.md wave 7 semver | done — docs |
|
||||
| 9 | RPC bare_os.corestore_stats | done — seed-rpc-methods, channel, booter |
|
||||
| 10 | RPC bare_os.snapshot_manifest_slice | done — channel + handshake |
|
||||
@@ -210,7 +210,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 49 | boot.policy v7 requirePearRuntimeMin | done — schema + kernel |
|
||||
| 50 | boot.policy requireProtocolPackageMin | done — kernel + ctx |
|
||||
| 51 | boot.policy maxKernelExtensionDepth | done — kernel topo + env |
|
||||
| 52 | STOCK_V7 enforcement under BARE_OS_BOOT_POLICY_STRICT | done — kernel |
|
||||
| 52 | BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_CORESTORE_HRPC enforcement under BARE_OS_BOOT_POLICY_STRICT | done — kernel |
|
||||
| 53 | kernel.extensions.registry v4 signaturePointer | done — extensions.json |
|
||||
| 54 | Extension topological load when dependsOn | done — kernel init |
|
||||
| 55 | Hot reload extension list diff NDJSON | done — telemetry doc |
|
||||
@@ -258,19 +258,19 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 97 | bare-diagnostics-channel mirror path env | done — kernel-extensions |
|
||||
| 98 | PII scrub Wave 7 fields | done — privacy doc |
|
||||
| 99 | HDMS vault lock contention telemetry | done — NDJSON doc |
|
||||
| 100 | Mega-integration STOCK_V7 !== 0 + pretest chain | done — protocol test |
|
||||
| 100 | Mega-integration BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_CORESTORE_HRPC !== 0 + pretest chain | done — protocol test |
|
||||
|
||||
## Wave 8 (100-item mega kernel)
|
||||
|
||||
| # | Item | Status |
|
||||
|---|------|--------|
|
||||
| 1 | bits8 + STOCK_V8 + FEATURE8_* governance | done — kernel-feature-bits.js, protocol index, seed strict |
|
||||
| 1 | bits8 + BARE_OS_KERNEL_FEATURES_STOCK_WORD_BARE_RUNTIME_PROTO_MUX + FEATURE8_* governance | done — kernel-feature-bits.js, protocol index, seed strict |
|
||||
| 2 | ADR 001 Word 8 | done — developer-guide/adr/001 §11 |
|
||||
| 3 | bits8 on seed capabilities + /proc + BARE_OS_SEED_CAP_STRICT | done — channel.js, booter, offline LKG |
|
||||
| 4 | BARE_OS_CTX_API_VERSION + bare-os-ctx.d.ts batch | done — 1.17.0, bits8 + bridge methods |
|
||||
| 5 | verify-ctx-api-feature-bits + verify-ctx-dts bits8 | done — scripts |
|
||||
| 6 | verify-kernel-roadmap-wave8.mjs 100 rows | done — pretest |
|
||||
| 7 | verify-kernel-roadmap-wave3 STOCK_V8 + RPC + boot policy v8 | done — wave3.mjs |
|
||||
| 6 | verify-kernel-capabilities-word-8.mjs 100 rows | done — pretest |
|
||||
| 7 | verify-kernel-capabilities-contract BARE_OS_KERNEL_FEATURES_STOCK_WORD_BARE_RUNTIME_PROTO_MUX + RPC + boot policy v8 | done — verify-kernel-capabilities-contract.mjs |
|
||||
| 8 | package-bare-os-protocol.md semver 0.4.0 | done — docs |
|
||||
| 9 | Seed RPC protomux_rpc_pool_hint | done — channel + seeder + loadOsFromPeers |
|
||||
| 10 | Seed RPC hyperblob_store_hint | done |
|
||||
@@ -312,7 +312,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 46 | bare-https ALPN hint env | done — kernel-extensions |
|
||||
| 47 | bare-http-parser upgrade/chunked limits | done — kernel-extensions |
|
||||
| 48 | /proc hyper_multisig_trust_pointer | done — wave8 proc |
|
||||
| 49 | boot.policy v8 requireFeatureBits8 | done — kernel/init.js + schema |
|
||||
| 49 | boot.policy v8 requireKernelCapabilitiesBareRuntimeProtoMux | done — kernel/init.js + schema |
|
||||
| 50 | boot.policy denySeedRpcMethods | done — env merge + booter skip RPC |
|
||||
| 51 | boot.policy maxProtomuxChannelNameLength | done — kernel env |
|
||||
| 52 | extensions.registry v5 compatPearBundleId | done — schema + proc schema 5 |
|
||||
@@ -363,22 +363,22 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 97 | bare-diagnostics subscription allowlist mirror | done — kernel-extensions |
|
||||
| 98 | PII scrub Wave 8 field keys | done — 13-privacy-telemetry-pii.md |
|
||||
| 99 | HDMS vaultRotateCount telemetry | done — hdms_hints schema 3 |
|
||||
| 100 | Mega-integration STOCK_V8 + wave8 verifier | done — protocol test + pretest |
|
||||
| 100 | Mega-integration BARE_OS_KERNEL_FEATURES_STOCK_WORD_BARE_RUNTIME_PROTO_MUX + wave8 verifier | done — protocol test + pretest |
|
||||
|
||||
## Wave 9 (100-item mega kernel)
|
||||
|
||||
| # | Item | Status |
|
||||
|---|------|--------|
|
||||
| 1 | bits9 + STOCK_V9 + FEATURE9_* + BARE_OS_KERNEL_FEATURE_BITS_DOC=11 | done — kernel-feature-bits.js, protocol index |
|
||||
| 1 | bits9 + BARE_OS_KERNEL_FEATURES_STOCK_WORD_BARE_MODULE_CRYPTO_STAGING + FEATURE9_* + BARE_OS_KERNEL_FEATURE_BITS_DOC=11 | done — kernel-feature-bits.js, protocol index |
|
||||
| 2 | ADR 001 §12 ninth capability word | done — developer-guide/adr/001 |
|
||||
| 3 | bits9 on seed capabilities + /proc + BARE_OS_SEED_CAP_STRICT | done — channel.js, booter index.js |
|
||||
| 4 | BARE_OS_CTX_API_VERSION 1.18.0 + bare-os-ctx.d.ts wave9 | done — bare-os-ctx-api.js |
|
||||
| 5 | verify-ctx-api-feature-bits + verify-ctx-dts bits9 | done — scripts |
|
||||
| 6 | verify-kernel-roadmap-wave9.mjs 100 rows + pretest | done — scripts |
|
||||
| 7 | verify-kernel-roadmap-wave3 STOCK_V9 + RPC + boot policy v9 | done — wave3.mjs |
|
||||
| 6 | verify-kernel-capabilities-word-9.mjs 100 rows + pretest | done — scripts |
|
||||
| 7 | verify-kernel-capabilities-contract BARE_OS_KERNEL_FEATURES_STOCK_WORD_BARE_MODULE_CRYPTO_STAGING + RPC + boot policy v9 | done — verify-kernel-capabilities-contract.mjs |
|
||||
| 8 | package-bare-os-protocol.md semver 0.5.0 | done — docs |
|
||||
| 9 | Protocol package 0.5.0 + protocol-meta.js | done — bare-os-protocol |
|
||||
| 10 | STOCK_V9 !== 0 protocol test | done — test.js |
|
||||
| 10 | BARE_OS_KERNEL_FEATURES_STOCK_WORD_BARE_MODULE_CRYPTO_STAGING !== 0 protocol test | done — test.js |
|
||||
| 11 | Seed RPC pear_stage_hint | done — seed-rpc-methods, channel, seeder env |
|
||||
| 12 | Seed RPC updater_channel_matrix | done — channel + seeder |
|
||||
| 13 | Seed RPC appling_bundle_pointer | done — channel + seeder |
|
||||
@@ -409,7 +409,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 38 | Seed RPC ready_guard_v3 | done — seed-rpc-methods, channel |
|
||||
| 39 | Seed RPC mirror_drive_compaction_v4 | done — channel + seeder |
|
||||
| 40 | Seed RPC blind_relay_circuit_v2 | done — channel + seeder |
|
||||
| 41 | /proc pear_stage_pointer.json | done — bare-os-wave9-proc.js |
|
||||
| 41 | /proc pear_stage_pointer.json | done — bare-os-proc-bare-module-crypto-staging.js |
|
||||
| 42 | /proc pear_updater_state.json | done — wave9 proc |
|
||||
| 43 | /proc pear_appling_manifest.json | done — wave9 proc |
|
||||
| 44 | /proc drive_resolve_cache.json | done — wave9 proc |
|
||||
@@ -439,7 +439,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 68 | ctx.bareOsEmitTrybootSlot | done — booter |
|
||||
| 69 | ctx.bareOsEmitMultisigPointer | done — booter |
|
||||
| 70 | ctx.bareOsBareStorageHint | done — booter |
|
||||
| 71 | boot.policy v9 requireFeatureBits9 | done — schema + kernel/init.js |
|
||||
| 71 | boot.policy v9 requireKernelCapabilitiesBareModuleCryptoStaging | done — schema + kernel/init.js |
|
||||
| 72 | boot.policy requirePearRuntimeRange | done — kernel/init.js semverLte |
|
||||
| 73 | boot.policy denyBareModuleSpecifierPatterns | done — kernel/init.js env JSON |
|
||||
| 74 | maxKernelExtensionDepth v2 (shared key; stricter docs) | done — boot.policy.schema note |
|
||||
@@ -451,14 +451,14 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 80 | boot.policy bootPhasesRequireProcIndexMinSchema | done — kernel/init.js |
|
||||
| 81 | /bin/openssl stub (bare-crypto doc) | done — bare-os-coreutils |
|
||||
| 82 | proc extensions.json schema 6 | done — vfs procBareOsExtensionsText |
|
||||
| 83 | BARE_OS_WAVE9_PROBE_ID + bareModuleProbeClass telemetry | done — bare-os-var-log |
|
||||
| 83 | BARE_OS_PROBE_ID_BARE_MODULE_CRYPTO_STAGING + bareModuleProbeClass telemetry | done — bare-os-var-log |
|
||||
| 84 | NDJSON lifecycle schema 8 | done — bare-os-lifecycle-schema.js |
|
||||
| 85 | OTel JSONL otlSchemaVersion 6 | done — bare-os-var-log |
|
||||
| 86 | Audit JSON schema 6 | done — index.js + kernel-runner.js |
|
||||
| 87 | BARE_OS_BIN_WORKER_ALLOW mediaproc:* | done — kernel-runner.js |
|
||||
| 88 | Seed RPC http_dht_proxy_routes_v2 | done — channel + seeder |
|
||||
| 89 | bareOsAdvertisedKernelBits9 + seed bits9 ctx | done — index.js |
|
||||
| 90 | VFS BARE_OS_WAVE9_PROC_FILE_TO_ID + routing | done — vfs.js |
|
||||
| 89 | bareOsAdvertisedKernelCapabilitiesBareModuleCryptoStaging + seed bits9 ctx | done — index.js |
|
||||
| 90 | VFS BARE_OS_PROC_FILE_TO_ID_BARE_MODULE_CRYPTO_STAGING + routing | done — vfs.js |
|
||||
| 91 | Developer-guide Node→Bare module map | done — developer-guide/node-to-bare-modules.md |
|
||||
| 92 | Handbook ch.11 wave 9 pointer | done — handbook |
|
||||
| 93 | kernel-capabilities-index FEATURE9_* | done — docs reference |
|
||||
@@ -474,16 +474,16 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
|
||||
| # | Item | Status |
|
||||
|---|------|--------|
|
||||
| 1 | bits10 + STOCK_V10 + FEATURE10_* + BARE_OS_KERNEL_FEATURE_BITS_DOC=12 | done — kernel-feature-bits.js, protocol index |
|
||||
| 1 | bits10 + BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_INSPECT_LOGGER_TLS + FEATURE10_* + BARE_OS_KERNEL_FEATURE_BITS_DOC=12 | done — kernel-feature-bits.js, protocol index |
|
||||
| 2 | ADR 001 §13 tenth capability word | done — developer-guide/adr/001 |
|
||||
| 3 | bits10 on seed capabilities + /proc + BARE_OS_SEED_CAP_STRICT | done — channel.js, booter index.js |
|
||||
| 4 | BARE_OS_CTX_API_VERSION 1.19.0 + bare-os-ctx.d.ts wave10 | done — bare-os-ctx-api.js |
|
||||
| 5 | verify-ctx-api-feature-bits + verify-ctx-dts bits10 | done — scripts |
|
||||
| 6 | verify-kernel-roadmap-wave10.mjs 100 rows + pretest | done — scripts |
|
||||
| 7 | verify-kernel-roadmap-wave3 STOCK_V10 + RPC + boot policy v10 | done — wave3.mjs |
|
||||
| 6 | verify-kernel-capabilities-word-10.mjs 100 rows + pretest | done — scripts |
|
||||
| 7 | verify-kernel-capabilities-contract BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_INSPECT_LOGGER_TLS + RPC + boot policy v10 | done — verify-kernel-capabilities-contract.mjs |
|
||||
| 8 | package-bare-os-protocol.md semver 0.6.0 | done — docs |
|
||||
| 9 | Protocol package 0.6.0 + protocol-meta.js | done — bare-os-protocol |
|
||||
| 10 | STOCK_V10 !== 0 protocol test | done — test.js |
|
||||
| 10 | BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_INSPECT_LOGGER_TLS !== 0 protocol test | done — test.js |
|
||||
| 11 | Seed RPC pear_doctor_hint | done — seed-rpc-methods, channel |
|
||||
| 12 | Seed RPC pear_info_sketch | done — channel |
|
||||
| 13 | Seed RPC pear_inspect_caps | done — channel |
|
||||
@@ -514,7 +514,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 38 | ready_guard_v4 RPC | done — seed-rpc-methods, channel |
|
||||
| 39 | mirror_drive_compaction_v5 RPC | done — seed-rpc-methods, channel + seeder |
|
||||
| 40 | blind_relay_circuit_v3 RPC | done — seed-rpc-methods, channel + seeder |
|
||||
| 41 | /proc pear_doctor_state.json | done — bare-os-wave10-proc.js |
|
||||
| 41 | /proc pear_doctor_state.json | done — bare-os-proc-pear-inspect-logger-tls.js |
|
||||
| 42 | /proc pear_workshop_flags.json | done — wave10 proc |
|
||||
| 43 | /proc pear_user_dirs_map.json | done — wave10 proc |
|
||||
| 44 | /proc pear_api_allowlist_sketch.json | done — wave10 proc |
|
||||
@@ -544,7 +544,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 68 | ctx.bareOsEmitBlindPairingSketch | done — booter |
|
||||
| 69 | ctx.bareOsBareStreamBackpressureHint | done — booter |
|
||||
| 70 | ctx.bareOsPearTerminalCapsProbe | done — booter |
|
||||
| 71 | boot.policy v10 requireFeatureBits10 | done — schema + kernel/init.js |
|
||||
| 71 | boot.policy v10 requireKernelCapabilitiesPearInspectLoggerTls | done — schema + kernel/init.js |
|
||||
| 72 | requireBareBootMin | done — kernel/init.js + BARE_OS_BARE_BOOT_VERSION |
|
||||
| 73 | denyBareRpcMethodPatterns | done — kernel/init.js env JSON |
|
||||
| 74 | maxPearInspectDepth | done — kernel/init.js env |
|
||||
@@ -570,7 +570,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 94 | wget bare-fetch mirror path | done — node-to-bare-modules.md |
|
||||
| 95 | BARE_OS_MTLS_PROXY_MAP_JSON | done — booter env passthrough + kernel-extensions |
|
||||
| 96 | BARE_OS_HAPPY_EYEBALLS_V4_MODE | done — env + compatibility-matrix note |
|
||||
| 97 | NDJSON lifecycle v9 wave10ProbeId | done — bare-os-var-log.js |
|
||||
| 97 | NDJSON lifecycle v9 pearInspectLoggerTlsProbeId | done — bare-os-var-log.js |
|
||||
| 98 | OTel JSONL otlSchemaVersion 7 | done — bare-os-var-log.js |
|
||||
| 99 | Audit JSON schema 7 | done — index.js + kernel-runner.js |
|
||||
| 100 | Mega-integration wave10 + parity | done — pretest + seeder kernel sync |
|
||||
@@ -579,14 +579,14 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
|
||||
| # | Item | Status |
|
||||
|---|------|--------|
|
||||
| 1 | bits11 + STOCK_V11 + FEATURE11_* + BARE_OS_KERNEL_FEATURE_BITS_DOC=13 | done — kernel-feature-bits.js, protocol |
|
||||
| 1 | bits11 + BARE_OS_KERNEL_FEATURES_STOCK_WORD_HYPERCORE_PACK_HRPC_LIFECYCLE + FEATURE11_* + BARE_OS_KERNEL_FEATURE_BITS_DOC=14 | done — kernel-feature-bits.js, protocol |
|
||||
| 2 | ADR 001 §14 eleventh capability word | done — developer-guide/adr/001 |
|
||||
| 3 | Protocol 0.7.0 + protocol-meta + package semver | done — bare-os-protocol |
|
||||
| 3 | Protocol 0.8.0 + protocol-meta + package semver | done — bare-os-protocol |
|
||||
| 4 | channel.js bits11 + seed RPC wave 11 handlers | done — channel.js |
|
||||
| 5 | BARE_OS_SEED_CAP_STRICT bits11 stock coverage | done — booter index.js |
|
||||
| 6 | Offline LKG seedCapabilityInfo bits11 | done — loadOsFromOfflineLkg |
|
||||
| 7 | verify-kernel-roadmap-wave11.mjs + pretest | done — scripts |
|
||||
| 8 | verify-kernel-roadmap-wave3 STOCK_V11 + RPC + boot v11 | done — wave3.mjs |
|
||||
| 7 | verify-kernel-capabilities-word-11.mjs + pretest | done — scripts |
|
||||
| 8 | verify-kernel-capabilities-contract BARE_OS_KERNEL_FEATURES_STOCK_WORD_HYPERCORE_PACK_HRPC_LIFECYCLE + RPC + boot v11 | done — verify-kernel-capabilities-contract.mjs |
|
||||
| 9 | verify-ctx-api-feature-bits bits11 + doc 13 | done — scripts |
|
||||
| 10 | BARE_OS_CTX_API_VERSION 1.20.0 | done — bare-os-ctx-api.js |
|
||||
| 11 | bare-os-ctx.d.ts bits11 + wave11 ctx methods | done — typings |
|
||||
@@ -611,17 +611,17 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 30 | Seed RPC ready_guard_v5 | done — seed-rpc + channel |
|
||||
| 31 | Seed RPC mirror_drive_compaction_v6 | done — seed-rpc + channel |
|
||||
| 32 | Seeder BARE_OS_SEED_* passthrough wave11 | done — bare-os-seeder index.js |
|
||||
| 33 | bare-os-wave11-proc.js 20 /proc JSON builders | done — booter lib |
|
||||
| 34 | VFS BARE_OS_WAVE11_PROC_FILE_TO_ID + routing | done — vfs.js |
|
||||
| 33 | bare-os-proc-hypercore-pack-hrpc-lifecycle.js 20 /proc JSON builders | done — booter lib |
|
||||
| 34 | VFS BARE_OS_PROC_FILE_TO_ID_HYPERCORE_PACK_HRPC_LIFECYCLE + routing | done — vfs.js |
|
||||
| 35 | bare_os_proc_index schema 7 + wave11 entries | done — vfs.js |
|
||||
| 36 | ctx wave11 emitters/probes (hypercore, drive graph, …) | done — index.js |
|
||||
| 37 | BARE_OS_WAVE11_PROBE_ID env passthrough | done — index.js + var-log |
|
||||
| 37 | BARE_OS_PROBE_ID_HYPERCORE_PACK_HRPC_LIFECYCLE env passthrough | done — index.js + var-log |
|
||||
| 38 | boot.policy v11 schema keys | done — boot.policy.schema.json |
|
||||
| 39 | requireFeatureBits11 enforcement | done — kernel/init.js |
|
||||
| 39 | requireKernelCapabilitiesHypercorePackHrpcLifecycle enforcement | done — kernel/init.js |
|
||||
| 40 | extensionSignerPinsV4 env JSON | done — kernel/init.js |
|
||||
| 41 | requireBarePackMin / requireBareAddonPolicyMin | done — kernel/init.js |
|
||||
| 42 | maxHrpcAllowlistDepth env | done — kernel/init.js |
|
||||
| 43 | offlineLkgRequireBits11 env | done — kernel/init.js |
|
||||
| 43 | offlineLkgRequireHypercorePackHrpcLifecycle env | done — kernel/init.js |
|
||||
| 44 | denySeedRpcMethods merge with prior env | done — kernel/init.js |
|
||||
| 45 | boot trace NDJSON wave11 probe fields | done — kernel/init.js bootTimed |
|
||||
| 46 | /proc/extensions.json schema 8 payload | done — procBareOsExtensionsText |
|
||||
@@ -635,10 +635,10 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 54 | telemetry-ndjson.example lifecycle 10 | done — kernel/etc |
|
||||
| 55 | otel-jsonl.example otlSchemaVersion 8 | done — kernel/etc |
|
||||
| 56 | kernel-extensions.registry.schema.json schema 8 branch | done — docs/schemas |
|
||||
| 57 | STOCK_V11 !== 0 protocol test | done — packages/bare-os-protocol/test.js |
|
||||
| 57 | BARE_OS_KERNEL_FEATURES_STOCK_WORD_HYPERCORE_PACK_HRPC_LIFECYCLE !== 0 protocol test | done — packages/bare-os-protocol/test.js |
|
||||
| 58 | compatibility-matrix wave 11 row | done — docs/reference |
|
||||
| 59 | verify-compat-matrix bits11 | done — scripts |
|
||||
| 60 | package-bare-os-protocol.md 0.7.0 pointer | done — docs/reference (sync) |
|
||||
| 60 | package-bare-os-protocol.md 0.8.0 pointer | done — docs/reference (sync) |
|
||||
| 61 | kernel-capabilities-index FEATURE11_* | done — docs/reference (sync) |
|
||||
| 62 | kernel-extensions.md wave11 env/proc | done — docs/reference (sync) |
|
||||
| 63 | developer-guide node-to-bare wave11 pointers | done — developer-guide (sync) |
|
||||
@@ -657,7 +657,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 76 | Wave11 proc bare_signals_profile + bare_timers_histogram | done — wave11-proc |
|
||||
| 77 | ctx bareOsBarePackCacheProbe + bareOsBareAddonPolicyProbe | done — index.js |
|
||||
| 78 | ctx bareOsBareSignalsProfile + bareOsBareTimersHistogram | done — index.js |
|
||||
| 79 | Stream F VFS env toggles BARE_OS_WAVE11_PROC_* | done — vfs routing |
|
||||
| 79 | Stream F VFS env toggles BARE_OS_HIDE_PROC_HYPERCORE_PACK_HRPC_LIFECYCLE_* | done — vfs routing |
|
||||
| 80 | Stream G coreutils/shell matrix (plan slots) | tracked — handbook + coreutils |
|
||||
| 81 | Stream H initd/timer/cron matrix (plan slots) | tracked — handbook |
|
||||
| 82 | Stream I workers sandbox subprocess schema bumps | tracked — docs + runner |
|
||||
@@ -677,7 +677,7 @@ This file tracks the twenty-item “kernel super-features” plan. Items are **d
|
||||
| 96 | verify-kernel-seeder-parity after kernel merge | done — pretest |
|
||||
| 97 | smoke-bare-manifest imports | done — pretest |
|
||||
| 98 | booter CHANGELOG wave11 headline | done — packages/bare-os-booter |
|
||||
| 99 | protocol CHANGELOG 0.7.0 | done — packages/bare-os-protocol |
|
||||
| 99 | protocol CHANGELOG 0.8.0 | done — packages/bare-os-protocol |
|
||||
| 100 | Mega-integration wave11 + seeder kernel parity | done — pretest + rsync kernel |
|
||||
|
||||
See also [kernel-extensions.md](kernel-extensions.md) and [package-bare-os-protocol.md](package-bare-os-protocol.md).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Kernel capabilities index (bits, env, `/proc`, `ctx`)
|
||||
# Kernel capabilities index (capability words, env, `/proc`, `ctx`)
|
||||
|
||||
Single map from optional **feature bits** ([`packages/bare-os-protocol/lib/kernel-feature-bits.js`](../../packages/bare-os-protocol/lib/kernel-feature-bits.js)) to operator env vars, guest **`/proc`** paths, and **`ctx`** fields. Stock booter advertises **`BARE_OS_KERNEL_FEATURES_STOCK_V1`** (word 1), **`BARE_OS_KERNEL_FEATURES_STOCK_V2`** (`bits2`), **`BARE_OS_KERNEL_FEATURES_STOCK_V3`** (`bits3`), **`BARE_OS_KERNEL_FEATURES_STOCK_V4`** (`bits4`), **`BARE_OS_KERNEL_FEATURES_STOCK_V5`** (`bits5`), **`BARE_OS_KERNEL_FEATURES_STOCK_V6`** (`bits6`), and **`BARE_OS_KERNEL_FEATURES_STOCK_V7`** (`bits7`). Governance: [`developer-guide/adr/001-kernel-feature-bits-governance.md`](../../developer-guide/adr/001-kernel-feature-bits-governance.md).
|
||||
Single map from optional **feature bits** ([`packages/bare-os-protocol/lib/kernel-feature-bits.js`](../../packages/bare-os-protocol/lib/kernel-feature-bits.js)) to operator env vars, guest **`/proc`** paths, and **`ctx`** fields. Stock booter advertises the eleven **`kernelCapabilityWords`** keys (**`primary`** … **`hypercorePackHrpcLifecycle`**) on seed RPC, **`/proc/bare_os_features`**, and **`ctx.bareOsAdvertisedKernelCapabilityWords`**. Governance: [`developer-guide/adr/001-kernel-feature-bits-governance.md`](../../developer-guide/adr/001-kernel-feature-bits-governance.md).
|
||||
|
||||
| Bit (export) | Env / behavior | `/proc` or RPC | `ctx` / notes |
|
||||
| -------------------------------- | ----------------------------------- | ------------------------------------------------ | ----------------------------------------------------- |
|
||||
@@ -17,7 +17,7 @@ Single map from optional **feature bits** ([`packages/bare-os-protocol/lib/kerne
|
||||
| 10 `PROC_SWARM` | — | `/proc/bare_os_swarm` | — |
|
||||
| 11 `SHELL_STREAMING_PIPES` | `BARE_OS_SHELL_STREAMING` | `/proc/bare_os_quotas` | — |
|
||||
| 12 `SHELL_CMDSUBST` | `BARE_OS_SHELL_CMDSUBST` | — | — |
|
||||
| 13 `SEED_CAP_RPC` | `BARE_OS_SEED_RPC_HANDSHAKE` | `/proc/bare_os_seed_handshake` | `bareOsSeedCapabilityBits` |
|
||||
| 13 `SEED_CAP_RPC` | `BARE_OS_SEED_RPC_HANDSHAKE` | `/proc/bare_os_seed_handshake` | `bareOsSeedKernelCapabilityWords.primary` (when wire v2 handshake present) |
|
||||
| 14 `EXTENDED_PROC` | — | `/proc/self/fd`, `/sys/devices` | — |
|
||||
| 15 `VIRTUAL_FILE_META` | — | `/proc/bare_os_virtual_registry` | virtual `mime` / `ttlMs` |
|
||||
| 16 `VFS_UNION_WRITE_POLICY` | `BARE_OS_VFS_UNION_WRITE_DENY` | `/proc/bare_os_union` | — |
|
||||
@@ -33,10 +33,10 @@ Single map from optional **feature bits** ([`packages/bare-os-protocol/lib/kerne
|
||||
| 26 `IPC_SESSION_NAMESPACE` | `BARE_OS_IPC_NAMESPACE` | — | FIFO key prefix |
|
||||
| 27 `PROC_BARE_OS_DIR` | — | `/proc/bare_os/index.json` | stable aliases |
|
||||
| 28 `SEED_MANIFEST_HINTS_RPC` | — | `/proc/bare_os/manifest_hints`, replication JSON | RPC `bare_os.manifest_hints` |
|
||||
| 29 `LIFECYCLE_TELEMETRY_V3` | telemetry NDJSON | — | legacy v3 tag; stock emitter uses **`lifecycleSchemaVersion` / `telemetrySchemaVersion` 4** (wave 4) |
|
||||
| 29 `LIFECYCLE_TELEMETRY_V3` | telemetry NDJSON | — | legacy v3 tag; stock emitter uses **`lifecycleSchemaVersion` / `telemetrySchemaVersion` 4** (boot policy v4 era) |
|
||||
| 30 `BOOT_POLICY_V2` | extended `boot.policy.json` | — | `maxExecLineDepth`, `denyEnvKeys`, `requireProcNodes` |
|
||||
|
||||
### Word 2 (`bits2`, wave 2)
|
||||
### Word 2 — `bits2` / extended seeding platform
|
||||
|
||||
| Bit (export) | Env / behavior | `/proc` or RPC | `ctx` / notes |
|
||||
| -------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------- |
|
||||
@@ -57,7 +57,7 @@ Single map from optional **feature bits** ([`packages/bare-os-protocol/lib/kerne
|
||||
| 14 `FEATURE2_SHELL_PARAM_EXPAND_V2` | `BARE_OS_SHELL_PARAM_EXPANSION_V2=1` (+ param expansion on) | — | `##`, `%%`, `:=`, `*/` basename |
|
||||
| 15 `FEATURE2_ENV_DASH_S` | `BARE_OS_ENV_DASH_S=1` | — | `/bin/env` `-S`, `--env-file` |
|
||||
| 16 `FEATURE2_JSON_SCHEMAS_REPO` | — | [`docs/schemas/`](../../docs/schemas/) | published JSON Schemas |
|
||||
| 17 `FEATURE2_CONTRACT_TESTS_WAVE2` | — | — | expanded contract tests |
|
||||
| 17 `FEATURE2_CONTRACT_TESTS_PROTOCOL` | — | — | expanded contract tests |
|
||||
| 18 `FEATURE2_KERNEL_EXT_PROC` | — | `/proc/bare_os/extensions.json` | `bareOsRegisterKernelExtensionRecord` |
|
||||
| 19 `FEATURE2_SEED_SNAPSHOT_HINTS_RPC` | — | RPC `bare_os.snapshot_hints`; `/proc/bare_os/snapshot_hints.json` | corestore-snapshot-style hints (guest does not verify crypto) |
|
||||
| 20 `FEATURE2_SEED_PEER_FIREWALL_STATS_RPC` | — | RPC `bare_os.peer_firewall_stats`; replication JSON | bounded counts / topology sketch |
|
||||
@@ -73,27 +73,27 @@ Single map from optional **feature bits** ([`packages/bare-os-protocol/lib/kerne
|
||||
| 30 `FEATURE2_VFS_WATCH_SWARM` | `BARE_OS_VFS_WATCH_SWARM` | swarm / replication pseudo | bounded poll watch |
|
||||
| 31 `FEATURE2_HDMS_HEALTH_PROC` | — | `/proc/bare_os/hdms_health.json` | non-secret vault health |
|
||||
|
||||
### Word 3 (`bits3`, wave 3)
|
||||
### Word 3 — `bits3` / rlimits, delegates, shell
|
||||
|
||||
| Bit (export) | Env / behavior | `/proc` or RPC | `ctx` / notes |
|
||||
| ---------------------------------- | ----------------------------------- | ---------------------------- | ----------------------------------------------------------------------------------------------- |
|
||||
| 0 `FEATURE3_PROC_RLIMITS_JSON` | — | `/proc/bare_os/rlimits.json` | getrlimit-shaped mirror of runtime caps |
|
||||
| 1 `FEATURE3_BOOT_POLICY_V3` | `boot.policy.json` v3 | — | `requireFeatureBits2/3`, `allowedPearIpcChannels`, `denyVfsPrefixes`, `maxInitdRestartsPerUnit` |
|
||||
| 1 `FEATURE3_BOOT_POLICY_V3` | `boot.policy.json` v3 | — | `requireKernelCapabilitiesExtendedSeedingPlatform/3`, `allowedPearIpcChannels`, `denyVfsPrefixes`, `maxInitdRestartsPerUnit` |
|
||||
| 2 `FEATURE3_DELEGATE_CONCURRENCY` | `BARE_OS_DELEGATE_*_MAX_CONCURRENT` | audit NDJSON | per-kind parallel caps |
|
||||
| 3 `FEATURE3_SHELL_LOCAL_DECLARE` | `BARE_OS_SHELL_LOCAL_DECLARE` | — | `local` / `declare -r` per shell line |
|
||||
| 4 `FEATURE3_HOST_CAPABILITY_PROBE` | `BARE_OS_HOST_BUNDLE_EVALUATE` | — | `bareOsHostCapability('bundleEvaluate')` |
|
||||
| 5 `FEATURE3_CI_SCHEMA_EXAMPLES` | — | — | `scripts/validate-example-schemas.mjs` in **`pretest`** |
|
||||
|
||||
### Word 4 (`bits4`, wave 4)
|
||||
### Word 4 — `bits4` / offline net extensions
|
||||
|
||||
| Bit (export) | Env / behavior | `/proc` or RPC | `ctx` / notes |
|
||||
| ------------------------------------------ | ---------------------------------------------------- | -------------------------------------- | ---------------------------------------------------------- |
|
||||
| 0 `FEATURE4_OFFLINE_LKG_BOOT` | `BARE_OS_OFFLINE_LKG_BOOT`, `BARE_OS_LKG_SYSTEM_KEY_HEX` | — | skip peer wait; open system drive from local Corestore key |
|
||||
| 1 `FEATURE4_NET_SUMMARY_PROC` | — | `/proc/bare_os/net_summary.json` | rollup of swarm + seed hints |
|
||||
| 2 `FEATURE4_BOOT_POLICY_V4` | merged from `boot.policy.json` | — | `requireFeatureBits4`, `denyExecLineBuiltins`, `allowedCtxMethods` |
|
||||
| 2 `FEATURE4_BOOT_POLICY_V4` | merged from `boot.policy.json` | — | `requireKernelCapabilitiesOfflineNetExtensions`, `denyExecLineBuiltins`, `allowedCtxMethods` |
|
||||
| 3 `FEATURE4_TELEMETRY_SCHEMA_V4` | — | — | NDJSON **`telemetrySchemaVersion` 4** |
|
||||
| 4 `FEATURE4_KERNEL_EXT_REGISTRY_V2` | — | `/proc/bare_os/extensions.json` schema 2 | `semver` / `capabilities` on extension records |
|
||||
| 5 `FEATURE4_CONTRACT_TESTS_WAVE3` | — | — | `scripts/verify-kernel-roadmap-wave3.mjs` |
|
||||
| 5 `FEATURE4_CONTRACT_TESTS_ROADMAP` | — | — | `scripts/verify-kernel-capabilities-contract.mjs` |
|
||||
| 6 `FEATURE4_HOST_STORAGE_PROC` | `BARE_OS_HOST_STORAGE_JSON` | `/proc/bare_os/bootstrap` | host persistent/ephemeral hints JSON |
|
||||
| 7 `FEATURE4_IPC_SESSION_AUDIT` | `BARE_OS_IPC_AUDIT` | `audit.log` | `bareOsEmitIpcAudit` / `mkfifo` |
|
||||
| 8 `FEATURE4_INITD_CONDITION_DIRECTORY` | — | — | `ConditionPathIsDirectory=` / `AssertPathIsDirectory=` |
|
||||
@@ -101,14 +101,14 @@ Single map from optional **feature bits** ([`packages/bare-os-protocol/lib/kerne
|
||||
| 10 `FEATURE4_BIN_WORKER_ACTIVE` | with word2 bit 6 | — | bare-worker thread path for heavy `/bin` |
|
||||
| 11 `FEATURE4_SUBPROCESS_JOB_SURFACE` | `BARE_OS_SUBPROCESS_BRIDGE_JOBS_JSON` | — | `bareOsReadSubprocessBridgeJobs` |
|
||||
|
||||
### Word 5 (`bits5`, wave 5)
|
||||
### Word 5 — `bits5` / host transport delegates
|
||||
|
||||
| Bit (export) | Env / behavior | `/proc` or RPC | `ctx` / notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 0 `FEATURE5_HOST_BARE_OS_PROC` | `BARE_OS_HOST_BARE_OS_PROC`, `BARE_OS_HOST_OS_JSON` | `/proc/bare_os/host_os.json` | Holepunch **`bare-os`** snapshot when loadable |
|
||||
| 1 `FEATURE5_SUBPROCESS_BRIDGE_SNAPSHOT_V2` | `BARE_OS_SUBPROCESS_BRIDGE_META_JSON` | — | `bareOsReadSubprocessBridgeSnapshot` |
|
||||
| 2 `FEATURE5_NET_SUMMARY_TRANSPORT` | `BARE_OS_NET_TRANSPORT_STATS_JSON` | merged into `net_summary.json` `transport` | operator-injected JSON |
|
||||
| 3 `FEATURE5_BOOT_POLICY_V5` | `boot.policy.json` v5 | — | `requireFeatureBits5`, `requireInitJsSha256` |
|
||||
| 3 `FEATURE5_BOOT_POLICY_V5` | `boot.policy.json` v5 | — | `requireKernelCapabilitiesHostTransportDelegates`, `requireInitJsSha256` |
|
||||
| 4 `FEATURE5_REPLICATION_SYNC_WINDOWS` | `BARE_OS_REPLICATION_SYNC_WINDOWS` | `/proc/bare_os/sync_window.json`, `BARE_OS_REPLICATION_SYNC_WINDOW_ACTIVE` | UTC window parser |
|
||||
| 5 `FEATURE5_VFS_UNION_READLINK` | — | — | union `readlink` checks personal overlay |
|
||||
| 6 `FEATURE5_KERNEL_PROFILE_WARM` | `BARE_OS_KERNEL_PROFILE_WARM` | — | `bareOsRequestKernelProfileReload` |
|
||||
@@ -122,128 +122,120 @@ Single map from optional **feature bits** ([`packages/bare-os-protocol/lib/kerne
|
||||
| 14 `FEATURE5_SEED_RPC_TYPED_ERRORS` | — | seed RPC | `bare_os.rpc_unknown_method`, etc. |
|
||||
| 15 `FEATURE5_REPO_DOC_CI` | — | — | `verify-doc-links`, `verify-man-coverage`, `verify-compat-matrix` |
|
||||
|
||||
### Word 6 (`bits6`, wave 6)
|
||||
### Word 6 (sixth capability word, `replicationOperatorSurface`)
|
||||
|
||||
| Bit (export) | Env / behavior | `/proc` or RPC | `ctx` / notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 0 `FEATURE6_CAP_WORD` | — | seed **`bits6`** + `/proc/bare_os_features` | non-zero sixth word marker |
|
||||
| 1 `FEATURE6_SEED_RPC_WAVE6` | seeder env for new RPC payloads | `replication_plan`, `dht_bootstrap_hint`, `snapshot_chain`, `mirror_compaction_hint`, `updater_state`, `blind_peer_topology_v2`, `compact_ping` | registry in [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 0 `FEATURE6_CAP_WORD` | — | seed **`kernelCapabilityWords.replicationOperatorSurface`** + `/proc/bare_os_features` | non-zero sixth word marker |
|
||||
| 1 `FEATURE6_SEED_RPC_EXTENDED` | seeder env for new RPC payloads | `replication_plan`, `dht_bootstrap_hint`, `snapshot_chain`, `mirror_compaction_hint`, `updater_state`, `blind_peer_topology_v2`, `compact_ping` | registry in [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE6_REPLICATION_JSON_ADVISORY` | — | `replication_status` adjunct fields | `priorityClass`, `ipv6ScopeCounts`, `corestoreSnapshotTag`, `queuedPeerCount`, relay/direct hints |
|
||||
| 3 `FEATURE6_PROC_METRICS_WAVE6` | `BARE_OS_PROC_*` / `BARE_OS_DNS_MAP_JSON` | `udx_extended.json`, `dht_status.json`, `replication_backpressure.json`, `ipc_backpressure.json`, `delegate_red.json`, `build_attestation_pointer.json`, `pear_ipc_health.json`, `hypercore_lengths.json`, `slo_hints.json`, `locale.json`, `worker_budget.json`, `sandbox_profile.json`, `dns_map_active.json`, `git_delegate_stats.json`, `bare_os/index.json` manifest | bounded JSON only |
|
||||
| 4 `FEATURE6_BOOT_POLICY_V6` | `boot.policy.json` v6 | — | `requireFeatureBits6`, `requireBooterSemver`, `requireCtxApiMin`, `denyKernelExtensionIds`, `kernelExtensionHashPins`, `offlineLkgIntegrityStrict` |
|
||||
| 3 `FEATURE6_PROC_OPERATOR_METRICS` | `BARE_OS_PROC_*` / `BARE_OS_DNS_MAP_JSON` | `udx_extended.json`, `dht_status.json`, `replication_backpressure.json`, `ipc_backpressure.json`, `delegate_red.json`, `build_attestation_pointer.json`, `pear_ipc_health.json`, `hypercore_lengths.json`, `slo_hints.json`, `locale.json`, `worker_budget.json`, `sandbox_profile.json`, `dns_map_active.json`, `git_delegate_stats.json`, `bare_os/index.json` manifest | bounded JSON only |
|
||||
| 4 `FEATURE6_BOOT_POLICY_SURFACE` | `boot.policy.json` v6 | — | `requireKernelCapabilitiesReplicationOperatorSurface`, `requireBooterSemver`, `requireCtxApiMin`, `denyKernelExtensionIds`, `kernelExtensionHashPins`, `offlineLkgIntegrityStrict` |
|
||||
| 5 `FEATURE6_KERNEL_EXT_REGISTRY_V3` | `kernel.extensions.registry` v3 | `/proc/bare_os/extensions.json` schema 3 | `id`, `dependsOn` on records |
|
||||
| 6 `FEATURE6_PEAR_BARE_BRIDGE` | — | version adjunct | `bareOsPearUpdaterDelegate`, `bareOsEmitHyperdhtBootstrapRefresh`, blind-peer hint v2 `reasonCode` |
|
||||
| 7 `FEATURE6_STRICT_PROC_ALIAS` | `BARE_OS_PROC_ALIAS_STRICT=1` | `/proc/bare_os/index.json` | fail closed if alias manifest incomplete |
|
||||
| 8 `FEATURE6_VFS_POSIX_WAVE6` | `BARE_OS_SHM_MAX_BYTES`, union whiteout | `/dev/shm`, flock subset | find `-inum` / `-samefile` where inode-like id exists |
|
||||
| 9 `FEATURE6_INITD_LIFECYCLE_WAVE6` | `BARE_OS_RESUME_STAGGER_MS`, `BARE_OS_KERNEL_PROFILE_WARM_RC_ONLY` | initd graph JSON | `PartOf=`, `RestartMode=direct`, `OnCalendar=`, `FDStoreMax=` |
|
||||
| 10 `FEATURE6_WORKER_SANDBOX_WAVE6` | `BARE_OS_BIN_WORKER_ALLOW` `mathproc:*`, `BARE_OS_BIN_WORKER_WALL_MS` | `sandbox_profile.json` | delegate kind **`hrpc`** stub (audit-only) |
|
||||
| 11 `FEATURE6_NET_POLICY_WAVE6` | `BARE_OS_DNS_MAP_JSON`, HSTS/TLS/alt-svc env docs | `dns_map_active.json` | split-horizon map summary |
|
||||
| 12 `FEATURE6_TELEMETRY_AUDIT_WAVE6` | `BARE_OS_TELEMETRY_*` | NDJSON / OTel / audit sinks | lifecycle schema **6** (wave 7), **`otlSchemaVersion` 4**, **`auditSchemaVersion` 4** |
|
||||
| 13 `FEATURE6_DOC_CI_WAVE6` | — | — | `verify-kernel-roadmap-wave6.mjs`, `verify-pear-no-static-node-import.mjs` |
|
||||
| 8 `FEATURE6_VFS_POSIX_EXTENSIONS` | `BARE_OS_SHM_MAX_BYTES`, union whiteout | `/dev/shm`, flock subset | find `-inum` / `-samefile` where inode-like id exists |
|
||||
| 9 `FEATURE6_INITD_LIFECYCLE_EXTENSIONS` | `BARE_OS_RESUME_STAGGER_MS`, `BARE_OS_KERNEL_PROFILE_WARM_RC_ONLY` | initd graph JSON | `PartOf=`, `RestartMode=direct`, `OnCalendar=`, `FDStoreMax=` |
|
||||
| 10 `FEATURE6_WORKER_SANDBOX_DELEGATES` | `BARE_OS_BIN_WORKER_ALLOW` `mathproc:*`, `BARE_OS_BIN_WORKER_WALL_MS` | `sandbox_profile.json` | delegate kind **`hrpc`** stub (audit-only) |
|
||||
| 11 `FEATURE6_NET_POLICY_EXTENDED` | `BARE_OS_DNS_MAP_JSON`, HSTS/TLS/alt-svc env docs | `dns_map_active.json` | split-horizon map summary |
|
||||
| 12 `FEATURE6_TELEMETRY_AUDIT` | `BARE_OS_TELEMETRY_*` | NDJSON / OTel / audit sinks | lifecycle schema **6** (word-7 era), **`otlSchemaVersion` 4**, **`auditSchemaVersion` 4** |
|
||||
| 13 `FEATURE6_DOC_CI_CONTRACTS` | — | — | `verify-kernel-capabilities-word-6.mjs`, `verify-pear-no-static-node-import.mjs` |
|
||||
| 14 `FEATURE6_HANDSHAKE_TOKEN_BUCKET` | `BARE_OS_SEED_TOKEN_BUCKET_JSON` | seed handshake | client backoff metadata |
|
||||
| 15 `FEATURE6_COMPACT_SEED_PING` | — | `compact_ping` / `compact_pong` | optional bandwidth probe |
|
||||
|
||||
**Related `ctx` (1.15.0+):** **`bareOsAdvertisedKernelBits4`**–**`bits6`** / **`bareOsSeedCapabilityBits4`**–**`bits6`** / **`bareOsBooterPackageVersion`**; **`bareOsReadProcMetricsLive()`**; **`bareOsReadDelegateFairnessSnapshot`**, **`bareOsReadSubprocessBridgeJobs`**, **`bareOsReadSubprocessBridgeSnapshot`** (schema **3**: `hostPidMap`, `oomScoreAdj`, `cgroupPathV2`), **`bareOsRequestKernelProfileReload`**, **`bareOsIsCtxMethodAllowed`**, **`bareOsEmitIpcAudit`**; **`bareOsEmitBlindPeerHint`**, **`bareOsHostCapability`**, **`bareOsPearUpdaterDelegate`**, **`bareOsEmitHyperdhtBootstrapRefresh`**; Pear IPC channel names in [`bare-os-pear-ipc-registry.js`](../../packages/bare-os-booter/lib/bare-os-pear-ipc-registry.js).
|
||||
**Related `ctx` (1.22.0+):** eleven words are only in frozen **`bareOsAdvertisedKernelCapabilityWords`** / **`bareOsSeedKernelCapabilityWords`** (semantic keys per [capability-words.md](./capability-words.md)). Hooks and helpers from waves 6–11 still apply — e.g. **`bareOsReadProcMetricsLive()`**, **`bareOsReadDelegateFairnessSnapshot`**, **`bareOsReadSubprocessBridgeJobs`**, **`bareOsReadSubprocessBridgeSnapshot`**, **`bareOsRequestKernelProfileReload`**, **`bareOsIsCtxMethodAllowed`**, **`bareOsEmitIpcAudit`**, **`bareOsEmitBlindPeerHint`**, **`bareOsHostCapability`**, **`bareOsPearUpdaterDelegate`**, **`bareOsEmitHyperdhtBootstrapRefresh`**, **`bareOsBooterPackageVersion`**; Pear IPC channel names in [`bare-os-pear-ipc-registry.js`](../../packages/bare-os-booter/lib/bare-os-pear-ipc-registry.js).
|
||||
|
||||
### Word 7 (`bits7`, wave 7)
|
||||
### Word 7 (seventh capability word, `pearCorestoreHrpc`)
|
||||
|
||||
| Bit (export) | Env / behavior | `/proc` or RPC | `ctx` / notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 0 `FEATURE7_CAP_WORD` | — | seed **`bits7`** + `/proc/bare_os_features` | seventh word marker |
|
||||
| 1 `FEATURE7_SEED_RPC_WAVE7` | `BARE_OS_SEED_*` for payloads | `corestore_stats`, `snapshot_manifest_slice`, `mirror_drive_hint_v2`, `hrpc_registry_summary`, `protomux_capability_ad`, `dht_address_book`, `replication_throttle_hint`, `bundlebee_stage`, `http_dht_proxy_hint` | registry in [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE7_REPLICATION_JSON_WAVE7` | seeder opts | `replication_status` adjuncts, `staging_slot` schema **4→5** quarantine (v5 adds **`drainDeadlineMs`**), `peer_firewall_stats` transport breakdown | ready-guard **`notReadyReason`**, **`udxRttMsEstimate`**, **`relayCircuitId`**, **`hyperbee2ReadOnlyHint`** |
|
||||
| 3 `FEATURE7_PROC_METRICS_WAVE7` | `BARE_OS_*` JSON envs | Wave 7 `bare_os_*.json` under `/proc` + `bare_os_proc_index` (superseded by schema **4** in wave 8) | [`bare-os-wave7-proc.js`](../../packages/bare-os-booter/lib/bare-os-wave7-proc.js) |
|
||||
| 4 `FEATURE7_BOOT_POLICY_V7` | `boot.policy.json` | — | **`requireFeatureBits7`**, **`requirePearRuntimeMin`**, **`requireProtocolPackageMin`**, **`denyCtxMethodPrefixes`**, **`maxKernelExtensionDepth`**, **`gitPartialClonePolicy`** |
|
||||
| 0 `FEATURE7_CAP_WORD` | — | seed **`kernelCapabilityWords.pearCorestoreHrpc`** + `/proc/bare_os_features` | seventh word marker |
|
||||
| 1 `FEATURE7_SEED_RPC_EXTENDED` | `BARE_OS_SEED_*` for payloads | `corestore_stats`, `snapshot_manifest_slice`, `mirror_drive_hint_v2`, `hrpc_registry_summary`, `protomux_capability_ad`, `dht_address_book`, `replication_throttle_hint`, `bundlebee_stage`, `http_dht_proxy_hint` | registry in [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE7_REPLICATION_JSON_ADJUNCT` | seeder opts | `replication_status` adjuncts, `staging_slot` schema **4→5** quarantine (v5 adds **`drainDeadlineMs`**), `peer_firewall_stats` transport breakdown | ready-guard **`notReadyReason`**, **`udxRttMsEstimate`**, **`relayCircuitId`**, **`hyperbee2ReadOnlyHint`** |
|
||||
| 3 `FEATURE7_PROC_OPERATOR_METRICS` | `BARE_OS_*` JSON envs | Word-7 `bare_os_*.json` under `/proc` + `bare_os_proc_index` (superseded by schema **4** on word 8) | [`bare-os-proc-pear-corestore-hrpc.js`](../../packages/bare-os-booter/lib/bare-os-proc-pear-corestore-hrpc.js) |
|
||||
| 4 `FEATURE7_BOOT_POLICY_SURFACE` | `boot.policy.json` | — | **`requireKernelCapabilitiesPearCorestoreHrpc`**, **`requirePearRuntimeMin`**, **`requireProtocolPackageMin`**, **`denyCtxMethodPrefixes`**, **`maxKernelExtensionDepth`**, **`gitPartialClonePolicy`** |
|
||||
| 5 `FEATURE7_KERNEL_EXT_REGISTRY_V4` | `kernel.ext.d` | `/proc/bare_os/extensions.json` schema **4** | optional **`signaturePointer`** on records; topological **`dependsOn`** load order |
|
||||
| 6 `FEATURE7_PEAR_BARE_BRIDGE_WAVE7` | `BARE_OS_BARE_DIAGNOSTICS_CHANNEL_TAP` | `/proc/version` may append **`pear_tty_flags_json`** | **`bareOsEmitBundlebeeHint`**, **`bareOsRegisterBareDiagnosticsTap`**, **`bareOsHrpcRequest`** stub |
|
||||
| 7 `FEATURE7_VFS_POSIX_WAVE7` | `BARE_OS_CURL_RESOLVE_MAP_JSON`, proxy map docs | env tables in reference | **`/bin/env -C`**, git partial-clone policy env |
|
||||
| 8 `FEATURE7_INITD_SUBPROC_WAVE7` | initd graph extensions | docs | Slice/timeout/timer/socket fields |
|
||||
| 9 `FEATURE7_WORKER_NET_WAVE7` | worker/sandbox/delegate docs | — | **`netproc:*`**, audit **`retryAfterMs`** |
|
||||
| 10 `FEATURE7_TELEMETRY_AUDIT_WAVE7` | telemetry sinks | NDJSON v6 / OTel v4 / audit v4 | **`bootAttemptId`**, exemplars, redirect depth |
|
||||
| 11 `FEATURE7_DOC_CI_WAVE7` | — | — | **`verify-kernel-roadmap-wave7.mjs`** |
|
||||
| 6 `FEATURE7_PEAR_BARE_BRIDGE_EXTENDED` | `BARE_OS_BARE_DIAGNOSTICS_CHANNEL_TAP` | `/proc/version` may append **`pear_tty_flags_json`** | **`bareOsEmitBundlebeeHint`**, **`bareOsRegisterBareDiagnosticsTap`**, **`bareOsHrpcRequest`** stub |
|
||||
| 7 `FEATURE7_VFS_POSIX_EXTENSIONS` | `BARE_OS_CURL_RESOLVE_MAP_JSON`, proxy map docs | env tables in reference | **`/bin/env -C`**, git partial-clone policy env |
|
||||
| 8 `FEATURE7_INITD_SUBPROCESS` | initd graph extensions | docs | Slice/timeout/timer/socket fields |
|
||||
| 9 `FEATURE7_WORKER_NET` | worker/sandbox/delegate docs | — | **`netproc:*`**, audit **`retryAfterMs`** |
|
||||
| 10 `FEATURE7_TELEMETRY_AUDIT` | telemetry sinks | NDJSON v6 / OTel v4 / audit v4 | **`bootAttemptId`**, exemplars, redirect depth |
|
||||
| 11 `FEATURE7_DOC_CI_CONTRACTS` | — | — | **`verify-kernel-capabilities-word-7.mjs`** |
|
||||
| 12 `FEATURE7_COMPACT_MUX_ADVERT` | `BARE_OS_SEED_PROTOMUX_CAPABILITY_AD_HEX` | `protomux_capability_ad` RPC | hex-capped optional ad |
|
||||
|
||||
**Related `ctx` (1.16.0+):** **`bareOsAdvertisedKernelBits7`**, **`bareOsSeedCapabilityBits7`**, **`bareOsProtocolPackageVersion`**, **`bareOsPearRuntimeVersion`**; plus Wave 7 hooks above.
|
||||
|
||||
### Word 8 (`bits8`, wave 8)
|
||||
### Word 8 (eighth capability word, `bareRuntimeProtoMux`)
|
||||
|
||||
| Bit (export) | Env / behavior | `/proc` or RPC | `ctx` / notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 0 `FEATURE8_CAP_WORD` | — | seed **`bits8`** + `/proc/bare_os_features` | eighth word marker |
|
||||
| 1 `FEATURE8_SEED_RPC_WAVE8` | `BARE_OS_SEED_*` JSON | `protomux_rpc_pool_hint`, `hyperblob_store_hint`, `signing_request_queue_hint`, `core_storage_layout_hint`, `mirror_drive_compaction_v3`, `bundlebee_cli_stage`, `ready_guard_v2`, `blind_relay_circuit_hint`, `http_dht_proxy_routes` | registry in [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE8_REPLICATION_JSON_WAVE8` | seeder opts | `replication_status` **`udxLossEstimateBps`**, **`tcpFallbackReason`**, **`hyperdbIndexLagHint`**; `peer_firewall_stats` **`saturationClass`**; `staging_slot` **`drainDeadlineMs`** | advisory only |
|
||||
| 3 `FEATURE8_PROC_METRICS_WAVE8` | Wave 8 `BARE_OS_*_JSON` envs | 17× `bare_os_*.json` + `bare_os_proc_index` schema **4** | [`bare-os-wave8-proc.js`](../../packages/bare-os-booter/lib/bare-os-wave8-proc.js) |
|
||||
| 4 `FEATURE8_BOOT_POLICY_V8` | `boot.policy.json` v8 | — | **`requireFeatureBits8`**, **`requireBareRuntimeMin`**, **`denySeedRpcMethods`**, **`maxProtomuxChannelNameLength`** |
|
||||
| 0 `FEATURE8_CAP_WORD` | — | seed **`kernelCapabilityWords.bareRuntimeProtoMux`** + `/proc/bare_os_features` | eighth word marker |
|
||||
| 1 `FEATURE8_SEED_RPC_EXTENDED` | `BARE_OS_SEED_*` JSON | `protomux_rpc_pool_hint`, `hyperblob_store_hint`, `signing_request_queue_hint`, `core_storage_layout_hint`, `mirror_drive_compaction_v3`, `bundlebee_cli_stage`, `ready_guard_v2`, `blind_relay_circuit_hint`, `http_dht_proxy_routes` | registry in [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE8_REPLICATION_JSON_ADJUNCT` | seeder opts | `replication_status` **`udxLossEstimateBps`**, **`tcpFallbackReason`**, **`hyperdbIndexLagHint`**; `peer_firewall_stats` **`saturationClass`**; `staging_slot` **`drainDeadlineMs`** | advisory only |
|
||||
| 3 `FEATURE8_PROC_OPERATOR_METRICS` | Word-8 `BARE_OS_*_JSON` envs | 17× `bare_os_*.json` + `bare_os_proc_index` schema **4** | [`bare-os-proc-bare-runtime-proto-mux.js`](../../packages/bare-os-booter/lib/bare-os-proc-bare-runtime-proto-mux.js) |
|
||||
| 4 `FEATURE8_BOOT_POLICY_SURFACE` | `boot.policy.json` v8 | — | **`requireKernelCapabilitiesBareRuntimeProtoMux`**, **`requireBareRuntimeMin`**, **`denySeedRpcMethods`**, **`maxProtomuxChannelNameLength`** |
|
||||
| 5 `FEATURE8_KERNEL_EXT_REGISTRY_V5` | extension records | `/proc/bare_os/extensions.json` schema **5** | optional **`compatPearBundleId`** |
|
||||
| 6 `FEATURE8_PEAR_BARE_BRIDGE_WAVE8` | — | — | **`bareOsEmitStructuredCloneCap`**, **`bareOsProtomuxChannelAlias`** |
|
||||
| 7 `FEATURE8_VFS_POSIX_WAVE8` | `BARE_OS_CURL_RESOLVE_MAP_JSON`, docs | curl/wget resolve map; git partial clone deny; POSIX handbook rows | FIFO metrics v2 doc |
|
||||
| 8 `FEATURE8_INITD_SUBPROC_WAVE8` | initd/timer/socket / resume env | `/proc/self/limits`, subprocess snapshot schema **4** | **`BARE_OS_RESUME_STAGGER_LEVEL_MS_JSON`**, **`BARE_OS_INITD_START_LIMIT_*`** |
|
||||
| 9 `FEATURE8_WORKER_NET_WAVE8` | **`ioproc:*`**, proxy/DNS docs | `sandbox_worker_queue.json`, `rocksdb_pointer.json` | delegate **`bundlebee`**, **`warc`**, **`archive`** audit stubs |
|
||||
| 10 `FEATURE8_TELEMETRY_AUDIT_WAVE8` | telemetry sinks | NDJSON v7 / OTel v5 / audit v5 | **`sessionForkGeneration`**, **`scopeMetrics`**, **`requestSmugglingClass`**, HDMS **`vaultRotateCount`** |
|
||||
| 11 `FEATURE8_DOC_CI_WAVE8` | — | — | **`verify-kernel-roadmap-wave8.mjs`** |
|
||||
| 6 `FEATURE8_PEAR_BARE_BRIDGE_EXTENDED` | — | — | **`bareOsEmitStructuredCloneCap`**, **`bareOsProtomuxChannelAlias`** |
|
||||
| 7 `FEATURE8_VFS_POSIX_EXTENSIONS` | `BARE_OS_CURL_RESOLVE_MAP_JSON`, docs | curl/wget resolve map; git partial clone deny; POSIX handbook rows | FIFO metrics v2 doc |
|
||||
| 8 `FEATURE8_INITD_SUBPROCESS` | initd/timer/socket / resume env | `/proc/self/limits`, subprocess snapshot schema **4** | **`BARE_OS_RESUME_STAGGER_LEVEL_MS_JSON`**, **`BARE_OS_INITD_START_LIMIT_*`** |
|
||||
| 9 `FEATURE8_WORKER_NET` | **`ioproc:*`**, proxy/DNS docs | `sandbox_worker_queue.json`, `rocksdb_pointer.json` | delegate **`bundlebee`**, **`warc`**, **`archive`** audit stubs |
|
||||
| 10 `FEATURE8_TELEMETRY_AUDIT` | telemetry sinks | NDJSON v7 / OTel v5 / audit v5 | **`sessionForkGeneration`**, **`scopeMetrics`**, **`requestSmugglingClass`**, HDMS **`vaultRotateCount`** |
|
||||
| 11 `FEATURE8_DOC_CI_CONTRACTS` | — | — | **`verify-kernel-capabilities-word-8.mjs`** |
|
||||
| 12 `FEATURE8_HTTP_DHT_PROXY_ROUTES` | — | `http_dht_proxy_routes` RPC | route revision JSON |
|
||||
|
||||
**Related `ctx` (1.17.0+):** **`bareOsAdvertisedKernelBits8`**, **`bareOsSeedCapabilityBits8`**, **`bareOsBareRuntimeVersion`**; Wave 8 hooks above.
|
||||
|
||||
### Word 9 (`bits9`, wave 9)
|
||||
### Word 9 (ninth capability word, `bareModuleCryptoStaging`)
|
||||
|
||||
| Bit (export) | Env / behavior | `/proc` or RPC | `ctx` / notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 0 `FEATURE9_CAP_WORD` | — | seed **`bits9`** + `/proc/bare_os_features` | ninth word marker |
|
||||
| 1 `FEATURE9_SEED_RPC_WAVE9` | `BARE_OS_SEED_*` JSON | `pear_stage_hint`, `updater_channel_matrix`, `drive_resolve_policy`, …, `http_dht_proxy_routes_v2` | [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE9_REPLICATION_JSON_WAVE9` | seeder opts | `replication_status` **`pearRuntimeChannel`**, **`handshakeTokenBucketV3`**; `staging_slot` **schema 6**; `compact_ping` **schema 3** | advisory |
|
||||
| 3 `FEATURE9_PROC_METRICS_WAVE9` | Wave 9 `BARE_OS_*_JSON` envs | 19× `bare_os_*.json` + `bare_os_proc_index` schema **5** | [`bare-os-wave9-proc.js`](../../packages/bare-os-booter/lib/bare-os-wave9-proc.js) |
|
||||
| 4 `FEATURE9_BOOT_POLICY_V9` | `boot.policy.json` v9 | — | **`requireFeatureBits9`**, **`requirePearRuntimeRange`**, **`requireBareCryptoMin`**, … |
|
||||
| 0 `FEATURE9_CAP_WORD` | — | seed **`kernelCapabilityWords.bareModuleCryptoStaging`** + `/proc/bare_os_features` | ninth word marker |
|
||||
| 1 `FEATURE9_SEED_RPC_EXTENDED` | `BARE_OS_SEED_*` JSON | `pear_stage_hint`, `updater_channel_matrix`, `drive_resolve_policy`, …, `http_dht_proxy_routes_v2` | [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE9_REPLICATION_JSON_ADJUNCT` | seeder opts | `replication_status` **`pearRuntimeChannel`**, **`handshakeTokenBucketV3`**; `staging_slot` **schema 6**; `compact_ping` **schema 3** | advisory |
|
||||
| 3 `FEATURE9_PROC_OPERATOR_METRICS` | Word-9 `BARE_OS_*_JSON` envs | 19× `bare_os_*.json` + `bare_os_proc_index` schema **5** | [`bare-os-proc-bare-module-crypto-staging.js`](../../packages/bare-os-booter/lib/bare-os-proc-bare-module-crypto-staging.js) |
|
||||
| 4 `FEATURE9_BOOT_POLICY_SURFACE` | `boot.policy.json` v9 | — | **`requireKernelCapabilitiesBareModuleCryptoStaging`**, **`requirePearRuntimeRange`**, **`requireBareCryptoMin`**, … |
|
||||
| 5 `FEATURE9_KERNEL_EXT_REGISTRY_V6` | extension records | `/proc/bare_os/extensions.json` schema **6** | **`extensionSignerPinsV2`** env |
|
||||
| 6 `FEATURE9_PEAR_BARE_BRIDGE_WAVE9` | — | — | **`bareOsEmitPearStageHint`**, probes, storage hint |
|
||||
| 7 `FEATURE9_VFS_POSIX_WAVE9` | `/bin/openssl` stub | documents **`bare-crypto`** | Node **`node:crypto`** not used |
|
||||
| 8 `FEATURE9_INITD_SUBPROC_WAVE9` | — | — | shared with prior waves |
|
||||
| 9 `FEATURE9_WORKER_NET_WAVE9` | **`mediaproc:*`**, **`BARE_OS_SOCKS_PROXY_MAP_JSON`** | SOCKS map helper | [`http-fetch-url.js`](../../packages/bare-os-booter/lib/http-fetch-url.js) |
|
||||
| 10 `FEATURE9_TELEMETRY_AUDIT_WAVE9` | telemetry sinks | NDJSON **8** / OTel **6** / audit **6** | **`wave9ProbeId`** |
|
||||
| 11 `FEATURE9_DOC_CI_WAVE9` | — | — | **`verify-kernel-roadmap-wave9.mjs`** |
|
||||
| 6 `FEATURE9_PEAR_BARE_BRIDGE_EXTENDED` | — | — | **`bareOsEmitPearStageHint`**, probes, storage hint |
|
||||
| 7 `FEATURE9_VFS_POSIX_EXTENSIONS` | `/bin/openssl` stub | documents **`bare-crypto`** | Node **`node:crypto`** not used |
|
||||
| 8 `FEATURE9_INITD_SUBPROCESS` | — | — | shared with earlier capability words |
|
||||
| 9 `FEATURE9_WORKER_NET` | **`mediaproc:*`**, **`BARE_OS_SOCKS_PROXY_MAP_JSON`** | SOCKS map helper | [`http-fetch-url.js`](../../packages/bare-os-booter/lib/http-fetch-url.js) |
|
||||
| 10 `FEATURE9_TELEMETRY_AUDIT` | telemetry sinks | NDJSON **8** / OTel **6** / audit **6** | **`bareModuleCryptoStagingProbeId`** |
|
||||
| 11 `FEATURE9_DOC_CI_CONTRACTS` | — | — | **`verify-kernel-capabilities-word-9.mjs`** |
|
||||
| 12 `FEATURE9_HTTP_DHT_PROXY_ROUTES_V2` | — | `http_dht_proxy_routes_v2` RPC | revision v2 |
|
||||
|
||||
### Word 10 — `bits10` / `BARE_OS_KERNEL_FEATURES_STOCK_V10` (wave 10)
|
||||
### Word 10 — `pearInspectLoggerTls` / `BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_INSPECT_LOGGER_TLS`
|
||||
|
||||
| Bit | Symbol | Primary surfaces | Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 0 `FEATURE10_CAP_WORD` | — | seed **`bits10`** + `/proc/bare_os_features` | tenth word marker |
|
||||
| 1 `FEATURE10_SEED_RPC_WAVE10` | `BARE_OS_SEED_*` JSON | `pear_doctor_hint` … `pear_terminal_caps`, `ready_guard_v4`, `compact_ping_v4`, … | [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE10_REPLICATION_JSON_WAVE10` | seeder opts | `pearBundleTier`, `autobaseDiscoveryHint`, `handshakeTokenBucketV4`, `staging_slot` **schema 7**, `peer_firewall_stats` **v5** | advisory |
|
||||
| 3 `FEATURE10_PROC_METRICS_WAVE10` | Wave 10 `BARE_OS_*_JSON` envs | 19× `bare_os_*.json` + `bare_os_proc_index` schema **6** | [`bare-os-wave10-proc.js`](../../packages/bare-os-booter/lib/bare-os-wave10-proc.js) |
|
||||
| 4 `FEATURE10_BOOT_POLICY_V10` | `boot.policy.json` v10 | — | **`requireFeatureBits10`**, **`requireBareBootMin`**, **`bootPhasesRequireLifecycleMinSchema`**, … |
|
||||
| 0 `FEATURE10_CAP_WORD` | — | seed **`kernelCapabilityWords.pearInspectLoggerTls`** + `/proc/bare_os_features` | tenth word marker |
|
||||
| 1 `FEATURE10_SEED_RPC_EXTENDED` | `BARE_OS_SEED_*` JSON | `pear_doctor_hint` … `pear_terminal_caps`, `ready_guard_v4`, `compact_ping_v4`, … | [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE10_REPLICATION_JSON_ADJUNCT` | seeder opts | `pearBundleTier`, `autobaseDiscoveryHint`, `handshakeTokenBucketV4`, `staging_slot` **schema 7**, `peer_firewall_stats` **v5** | advisory |
|
||||
| 3 `FEATURE10_PROC_OPERATOR_METRICS` | Word-10 `BARE_OS_*_JSON` envs | 19× `bare_os_*.json` + `bare_os_proc_index` schema **6** | [`bare-os-proc-pear-inspect-logger-tls.js`](../../packages/bare-os-booter/lib/bare-os-proc-pear-inspect-logger-tls.js) |
|
||||
| 4 `FEATURE10_BOOT_POLICY_SURFACE` | `boot.policy.json` v10 | — | **`requireKernelCapabilitiesPearInspectLoggerTls`**, **`requireBareBootMin`**, **`bootPhasesRequireLifecycleMinSchema`**, … |
|
||||
| 5 `FEATURE10_KERNEL_EXT_REGISTRY_V7` | extension records | `/proc/bare_os/extensions.json` schema **7** | **`extensionSignerPinsV3`** env |
|
||||
| 6 `FEATURE10_PEAR_BARE_BRIDGE_WAVE10` | — | — | **`bareOsEmitPearDoctorHint`**, terminal probe, logger tap, … |
|
||||
| 7 `FEATURE10_VFS_POSIX_WAVE10` | coreutils / handbook ch.9 | `ssh-keygen` stub, `xargs -P` cap, `tar` xattr sketch | no guest **`node:crypto`** |
|
||||
| 8 `FEATURE10_INITD_SUBPROC_WAVE10` | — | — | shared with prior waves |
|
||||
| 9 `FEATURE10_WORKER_NET_WAVE10` | **`sysproc:*`**, **`BARE_OS_MTLS_PROXY_MAP_JSON`**, **`BARE_OS_HAPPY_EYEBALLS_V4_MODE`** | thread telemetry env | transport docs |
|
||||
| 10 `FEATURE10_TELEMETRY_AUDIT_WAVE10` | telemetry sinks | NDJSON **9** / OTel **7** / audit **7** | **`wave10ProbeId`**, **`bareRpcProbeClass`** |
|
||||
| 11 `FEATURE10_DOC_CI_WAVE10` | — | — | **`verify-kernel-roadmap-wave10.mjs`** |
|
||||
| 6 `FEATURE10_PEAR_BARE_BRIDGE_EXTENDED` | — | — | **`bareOsEmitPearDoctorHint`**, terminal probe, logger tap, … |
|
||||
| 7 `FEATURE10_VFS_POSIX_EXTENSIONS` | coreutils / handbook ch.9 | `ssh-keygen` stub, `xargs -P` cap, `tar` xattr sketch | no guest **`node:crypto`** |
|
||||
| 8 `FEATURE10_INITD_SUBPROCESS` | — | — | shared with earlier capability words |
|
||||
| 9 `FEATURE10_WORKER_NET` | **`sysproc:*`**, **`BARE_OS_MTLS_PROXY_MAP_JSON`**, **`BARE_OS_HAPPY_EYEBALLS_V4_MODE`** | thread telemetry env | transport docs |
|
||||
| 10 `FEATURE10_TELEMETRY_AUDIT` | telemetry sinks | NDJSON **9** / OTel **7** / audit **7** | **`pearInspectLoggerTlsProbeId`**, **`bareRpcProbeClass`** |
|
||||
| 11 `FEATURE10_DOC_CI_CONTRACTS` | — | — | **`verify-kernel-capabilities-word-10.mjs`** |
|
||||
| 12 `FEATURE10_COMPACT_READY_RPC_V4` | — | `compact_ping_v4`, `ready_guard_v4` RPC | dedicated v4 payloads |
|
||||
|
||||
**Related `ctx` (1.19.0+):** **`bareOsAdvertisedKernelBits10`**, **`bareOsSeedCapabilityBits10`**, prior-word **`bareOsAdvertisedKernelBits9`** / **`bareOsSeedCapabilityBits9`**, and Wave 10 **`ctx`** hooks above.
|
||||
|
||||
### Word 11 — `bits11` / `BARE_OS_KERNEL_FEATURES_STOCK_V11` (wave 11)
|
||||
### Word 11 — `hypercorePackHrpcLifecycle` / `BARE_OS_KERNEL_FEATURES_STOCK_WORD_HYPERCORE_PACK_HRPC_LIFECYCLE`
|
||||
|
||||
| Bit | Symbol | Primary surfaces | Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 0 `FEATURE11_CAP_WORD` | — | seed **`bits11`** + `/proc/bare_os_features` | eleventh word marker |
|
||||
| 1 `FEATURE11_SEED_RPC_WAVE11` | `BARE_OS_SEED_*` JSON | `hypercore_replicate_budget_v2` … `mirror_drive_compaction_v6` | [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE11_REPLICATION_JSON_WAVE11` | seeder / replication adjuncts | advisory JSON for wave-11 RPC payloads | pairs with seed channel |
|
||||
| 3 `FEATURE11_PROC_METRICS_WAVE11` | Wave 11 `BARE_OS_*_JSON` envs | 20× `bare_os_*.json` + **`bare_os_proc_index`** schema **7** | [`bare-os-wave11-proc.js`](../../packages/bare-os-booter/lib/bare-os-wave11-proc.js) |
|
||||
| 4 `FEATURE11_BOOT_POLICY_V11` | `boot.policy.json` v11 | — | **`requireFeatureBits11`**, **`extensionSignerPinsV4`**, pack/addon semver, HRPC depth, offline bits11 |
|
||||
| 0 `FEATURE11_CAP_WORD` | — | seed **`kernelCapabilityWords.hypercorePackHrpcLifecycle`** + `/proc/bare_os_features` | eleventh word marker |
|
||||
| 1 `FEATURE11_SEED_RPC_EXTENDED` | `BARE_OS_SEED_*` JSON | `hypercore_replicate_budget_v2` … `mirror_drive_compaction_v6` | [`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js) |
|
||||
| 2 `FEATURE11_REPLICATION_JSON_ADJUNCT` | seeder / replication adjuncts | advisory JSON for word-11 seed RPC payloads | pairs with seed channel |
|
||||
| 3 `FEATURE11_PROC_OPERATOR_METRICS` | Word-11 `BARE_OS_*_JSON` envs | 20× `bare_os_*.json` + **`bare_os_proc_index`** schema **7** | [`bare-os-proc-hypercore-pack-hrpc-lifecycle.js`](../../packages/bare-os-booter/lib/bare-os-proc-hypercore-pack-hrpc-lifecycle.js) |
|
||||
| 4 `FEATURE11_BOOT_POLICY_SURFACE` | `boot.policy.json` v11 | — | **`requireKernelCapabilitiesHypercorePackHrpcLifecycle`**, **`extensionSignerPinsV4`**, pack/addon semver, HRPC depth, offline eleventh-word strict |
|
||||
| 5 `FEATURE11_KERNEL_EXT_REGISTRY_V8` | extension records | `/proc/bare_os/extensions.json` schema **8** | schema branch in **`kernel-extensions.registry.schema.json`** |
|
||||
| 6 `FEATURE11_PEAR_BARE_BRIDGE_WAVE11` | — | — | Pear matrix + Bare pack/addon/signals **`ctx`** probes |
|
||||
| 7 `FEATURE11_VFS_POSIX_WAVE11` | VFS / handbook | hide Wave 11 proc JSON via env | **`BARE_OS_WAVE11_PROC`** (`0` / `false` / `off` → flat + `/proc/bare_os/*` + index rows) |
|
||||
| 8 `FEATURE11_INITD_SUBPROC_WAVE11` | — | — | shared with prior waves |
|
||||
| 9 `FEATURE11_WORKER_NET_WAVE11` | **`cryptoproc:*`**, **`indexerproc:*`** | worker allowlist | [`kernel-runner.js`](../../packages/bare-os-booter/lib/kernel-runner.js) |
|
||||
| 10 `FEATURE11_TELEMETRY_AUDIT_WAVE11` | telemetry sinks | NDJSON **10** / OTel **8** / audit **8** | **`wave11ProbeId`** |
|
||||
| 11 `FEATURE11_DOC_CI_WAVE11` | — | — | **`verify-kernel-roadmap-wave11.mjs`** |
|
||||
| 6 `FEATURE11_PEAR_BARE_BRIDGE_EXTENDED` | — | — | Pear matrix + Bare pack/addon/signals **`ctx`** probes |
|
||||
| 7 `FEATURE11_VFS_POSIX_EXTENSIONS` | VFS / handbook | hide word-11 proc JSON via env | **`BARE_OS_HIDE_PROC_HYPERCORE_PACK_HRPC_LIFECYCLE`** (`0` / `false` / `off` → flat + `/proc/bare_os/*` + index rows) |
|
||||
| 8 `FEATURE11_INITD_SUBPROCESS` | — | — | shared with earlier capability words |
|
||||
| 9 `FEATURE11_WORKER_NET` | **`cryptoproc:*`**, **`indexerproc:*`** | worker allowlist | [`kernel-runner.js`](../../packages/bare-os-booter/lib/kernel-runner.js) |
|
||||
| 10 `FEATURE11_TELEMETRY_AUDIT` | telemetry sinks | NDJSON **10** / OTel **8** / audit **8** | **`hypercorePackHrpcLifecycleProbeId`** |
|
||||
| 11 `FEATURE11_DOC_CI_CONTRACTS` | — | — | **`verify-kernel-capabilities-word-11.mjs`** |
|
||||
| 12 `FEATURE11_HTTP_DHT_PROXY_ROUTES_V3` | — | `http_dht_proxy_routes_v3` RPC | route table v3 |
|
||||
| 13 `FEATURE11_COMPACT_READY_RPC_V5` | — | `compact_ping_v5`, `ready_guard_v5` | dedicated v5 payloads |
|
||||
|
||||
**Related `ctx` (1.20.0+):** **`bareOsAdvertisedKernelBits11`**, **`bareOsSeedCapabilityBits11`**, and Wave 11 **`ctx`** hooks (**`bareOsEmitHypercoreReplicateBudget`**, **`bareOsPearRuntimeMatrixProbe`**, **`bareOsBarePackCacheProbe`**, …).
|
||||
|
||||
**Handbook:** [handbook/09-posix-utilities-shell-and-vfs.md](../../handbook/09-posix-utilities-shell-and-vfs.md), [handbook/04-the-booter-runtime.md](../../handbook/04-the-booter-runtime.md).
|
||||
|
||||
**Extended reference:** [kernel-extensions.md](./kernel-extensions.md), [environment-and-posix-appendix.md](./environment-and-posix-appendix.md).
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
|
||||
This document complements the [handbook](../../handbook/09-posix-utilities-shell-and-vfs.md) with a single map of optional **booter + stock kernel** features added for richer POSIX-like behavior, protocol alignment, and operations.
|
||||
|
||||
## Governance (feature bits doc v12)
|
||||
## Governance (feature bits doc v14)
|
||||
|
||||
New capability bits are governed by [ADR 001 — Kernel feature bit governance](../../developer-guide/adr/001-kernel-feature-bits-governance.md). **`BARE_OS_KERNEL_FEATURE_BITS_DOC`** must bump when semantics change. Bits **28–30** on word 1 are assigned (see ADR). **Word 2 (`bits2`)** carries wave-2 features; always mask with **`>>> 0`**. Avoid `1 << 31` on word 1 in JS without `>>> 0` discipline.
|
||||
New capability bits are governed by [ADR 001 — Kernel feature bit governance](../../developer-guide/adr/001-kernel-feature-bits-governance.md). **`BARE_OS_KERNEL_FEATURE_BITS_DOC`** must bump when semantics change. Bits **28–30** on word 1 are assigned (see ADR). **Word 2 (`bits2`)** carries the extended seeding platform surface; always mask with **`>>> 0`**. Avoid `1 << 31` on word 1 in JS without `>>> 0` discipline.
|
||||
|
||||
**Capability index:** [kernel-capabilities-index.md](./kernel-capabilities-index.md) (bits → env → `/proc` → `ctx`).
|
||||
|
||||
## Capability bitmask
|
||||
|
||||
Runtime bits are defined in `bare-os-protocol` (`kernel-feature-bits.js`) and surfaced under `/proc/bare_os_features` and the **`/proc/bare_os/`** tree. The stock booter advertises **`BARE_OS_KERNEL_FEATURES_STOCK_V1`** … **`STOCK_V11`** (eleven words on the wire when non-zero).
|
||||
Runtime bits are defined in `bare-os-protocol` (`kernel-feature-bits.js`) and surfaced under `/proc/bare_os_features` and the **`/proc/bare_os/`** tree. The stock booter advertises **`BARE_OS_KERNEL_FEATURES_STOCK_WORD_PRIMARY`** through **`BARE_OS_KERNEL_FEATURES_STOCK_WORD_HYPERCORE_PACK_HRPC_LIFECYCLE`** (eleven words on the wire when non-zero; see [capability-words.md](./capability-words.md)).
|
||||
|
||||
Seed RPC **`bare_os.capabilities`** includes **`protocolPackageVersion`**, optional **`booterPackageVersion`**, **`featureBitsDoc`**, **`doc`**, **`bits`**, **`bits2`**, **`bits3`**, **`bits4`**, **`bits5`**, **`bits6`**, **`bits7`**, **`bits8`**, **`bits9`**, **`bits10`**, **`role`**, **`protocol`**. RPC method names are listed from a single registry ([`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js)); unknown methods return **`bare_os.rpc_unknown_method`**. **`bare_os.replication_status`** returns seeder-side replication hints (manifest path count, local RAM block count). **`bare_os.replication_queue`** includes bounded **`queueDepthEstimate`** and snapshot workflow notes; **`bare_os.capability_attestation`**, and **`bare_os.mbr_layout`** remain optional wave-2 RPCs. Wave 6 adds **`replication_plan`**, **`dht_bootstrap_hint`**, **`snapshot_chain`**, **`mirror_compaction_hint`**, **`updater_state`**, **`blind_peer_topology_v2`**, **`compact_ping`**. Wave 7 adds **`corestore_stats`**, **`snapshot_manifest_slice`**, **`mirror_drive_hint_v2`**, **`hrpc_registry_summary`**, **`protomux_capability_ad`**, **`dht_address_book`**, **`replication_throttle_hint`**, **`bundlebee_stage`**, **`http_dht_proxy_hint`**. Wave 8 adds **`protomux_rpc_pool_hint`**, **`hyperblob_store_hint`**, **`signing_request_queue_hint`**, **`core_storage_layout_hint`**, **`mirror_drive_compaction_v3`**, **`bundlebee_cli_stage`**, **`ready_guard_v2`**, **`blind_relay_circuit_hint`**, **`http_dht_proxy_routes`**. **Wave 9** adds Holepunch-aligned short names such as **`pear_stage_hint`**, **`updater_channel_matrix`**, **`appling_bundle_pointer`**, **`drive_resolve_policy`**, **`bundle_id_fingerprint`**, **`hyperdb_migration_hint`**, **`sidecar_bundle_index_v2`**, **`pear_message_queue_sketch`**, **`runtime_bootstrap_etag`**, **`force_update_guard`**, **`gracedown_window`**, **`tryboot_slot`**, **`hotmods_allowlist`**, **`prefetcher_budget`**, **`opstream_backpressure`**, **`multisig_link_pointer`**, **`md_render_caps`**, **`bundlebee_cli_stage_v2`**, **`seed_manifest_diff_v2`**, **`peer_handshake_latency_budget`**, plus replication adjuncts (**`ready_guard_v3`**, **`mirror_drive_compaction_v4`**, **`blind_relay_circuit_v2`**, **`http_dht_proxy_routes_v2`**, token-bucket metadata, **`compact_ping` v3**, **`peer_firewall_stats` v4**, **`staging_slot` schema 6**, **`kernel_info.pearApplingId`**). **`bare_os.manifest_hints`** returns a sample of manifest paths; **`bare_os.peer_health`** returns seeder health counters; **`bare_os.staging_slot`** returns optional A/B slot hints (seeder env `BARE_OS_SEED_STAGING_SLOT`, `BARE_OS_SEED_STAGING_PENDING`). Booter mirrors hints under **`/proc/bare_os/manifest_hints`**, **`peer_health`**, **`staging_slot`**, **`net_summary.json`**, **`extensions.json`** (schema **7** in wave 10), **`hdms_hints.json`** (schema **3**: optional **`vaultRotateCount`**) and embeds them in **`/proc/bare_os_replication`** JSON. **`/proc/bare_os/index.json`** lists stable aliases (**`bare_os_proc_index` schema 6**). **Wave 10** adds Pear/Bare sketch RPCs (**`pear_doctor_hint`** … **`pear_terminal_caps`**, **`ready_guard_v4`**, **`compact_ping_v4`**, compaction/blind-relay v5/v3), replication adjuncts (**`pearBundleTier`**, **`autobaseDiscoveryHint`**, **`handshakeTokenBucketV4`**, **`staging_slot` schema 7**, **`peer_firewall_stats` v5**), and 19× Wave 10 **`/proc/bare_os/*.json`** files via **`bare-os-wave10-proc.js`**.
|
||||
Seed RPC **`bare_os.capabilities`** includes **`protocolPackageVersion`**, optional **`booterPackageVersion`**, **`featureBitsDoc`**, **`doc`**, **`bits`**, **`bits2`**, **`bits3`**, **`bits4`**, **`bits5`**, **`bits6`**, **`bits7`**, **`bits8`**, **`bits9`**, **`bits10`**, **`role`**, **`protocol`**. RPC method names are listed from a single registry ([`seed-rpc-methods.js`](../../packages/bare-os-protocol/lib/seed-rpc-methods.js)); unknown methods return **`bare_os.rpc_unknown_method`**. **`bare_os.replication_status`** returns seeder-side replication hints (manifest path count, local RAM block count). **`bare_os.replication_queue`** includes bounded **`queueDepthEstimate`** and snapshot workflow notes; **`bare_os.capability_attestation`**, and **`bare_os.mbr_layout`** remain optional wave-2 RPCs. Wave 6 adds **`replication_plan`**, **`dht_bootstrap_hint`**, **`snapshot_chain`**, **`mirror_compaction_hint`**, **`updater_state`**, **`blind_peer_topology_v2`**, **`compact_ping`**. Wave 7 adds **`corestore_stats`**, **`snapshot_manifest_slice`**, **`mirror_drive_hint_v2`**, **`hrpc_registry_summary`**, **`protomux_capability_ad`**, **`dht_address_book`**, **`replication_throttle_hint`**, **`bundlebee_stage`**, **`http_dht_proxy_hint`**. Wave 8 adds **`protomux_rpc_pool_hint`**, **`hyperblob_store_hint`**, **`signing_request_queue_hint`**, **`core_storage_layout_hint`**, **`mirror_drive_compaction_v3`**, **`bundlebee_cli_stage`**, **`ready_guard_v2`**, **`blind_relay_circuit_hint`**, **`http_dht_proxy_routes`**. **Wave 9** adds Holepunch-aligned short names such as **`pear_stage_hint`**, **`updater_channel_matrix`**, **`appling_bundle_pointer`**, **`drive_resolve_policy`**, **`bundle_id_fingerprint`**, **`hyperdb_migration_hint`**, **`sidecar_bundle_index_v2`**, **`pear_message_queue_sketch`**, **`runtime_bootstrap_etag`**, **`force_update_guard`**, **`gracedown_window`**, **`tryboot_slot`**, **`hotmods_allowlist`**, **`prefetcher_budget`**, **`opstream_backpressure`**, **`multisig_link_pointer`**, **`md_render_caps`**, **`bundlebee_cli_stage_v2`**, **`seed_manifest_diff_v2`**, **`peer_handshake_latency_budget`**, plus replication adjuncts (**`ready_guard_v3`**, **`mirror_drive_compaction_v4`**, **`blind_relay_circuit_v2`**, **`http_dht_proxy_routes_v2`**, token-bucket metadata, **`compact_ping` v3**, **`peer_firewall_stats` v4**, **`staging_slot` schema 6**, **`kernel_info.pearApplingId`**). **`bare_os.manifest_hints`** returns a sample of manifest paths; **`bare_os.peer_health`** returns seeder health counters; **`bare_os.staging_slot`** returns optional A/B slot hints (seeder env `BARE_OS_SEED_STAGING_SLOT`, `BARE_OS_SEED_STAGING_PENDING`). Booter mirrors hints under **`/proc/bare_os/manifest_hints`**, **`peer_health`**, **`staging_slot`**, **`net_summary.json`**, **`extensions.json`** (schema **7** in wave 10), **`hdms_hints.json`** (schema **3**: optional **`vaultRotateCount`**) and embeds them in **`/proc/bare_os_replication`** JSON. **`/proc/bare_os/index.json`** lists stable aliases (**`bare_os_proc_index` schema 6**). **Wave 10** adds Pear/Bare sketch RPCs (**`pear_doctor_hint`** … **`pear_terminal_caps`**, **`ready_guard_v4`**, **`compact_ping_v4`**, compaction/blind-relay v5/v3), replication adjuncts (**`pearBundleTier`**, **`autobaseDiscoveryHint`**, **`handshakeTokenBucketV4`**, **`staging_slot` schema 7**, **`peer_firewall_stats` v5**), and 19× Wave 10 **`/proc/bare_os/*.json`** files via **`bare-os-proc-pear-inspect-logger-tls.js`**.
|
||||
|
||||
**Wave 8 Pear/Bare bridge (doc-first):** **`ctx.bareOsEmitStructuredCloneCap`** / **`ctx.bareOsProtomuxChannelAlias`**; **`BARE_OS_CURL_RESOLVE_MAP_JSON`** (curl/wget); **`BARE_OS_HTTP_PROXY_MAP_JSON`** (operator proxy map, host-interpreted); **`BARE_OS_BARE_HTTP1_KEEPALIVE_POOL`**, **`BARE_OS_HAPPY_EYEBALLS_IPV6_FIRST`**, **`BARE_OS_RESUME_STAGGER_LEVEL_MS_JSON`**, **`BARE_OS_INITD_COLLECT_MODE_HINT`**, **`BARE_OS_INITD_START_LIMIT_INTERVAL_MS`**, **`BARE_OS_INITD_START_LIMIT_BURST`**, **`BARE_OS_WORKER_RSS_HIGH_WATER_JSON`**, **`BARE_OS_SANDBOX_FS_CLASS`**, **`BARE_OS_SUBPROCESS_SCHED_POLICY_HINT`**, **`BARE_OS_DIAGNOSTICS_SUBSCRIBE_ALLOWLIST_JSON`**; **`BARE_OS_BOOT_POLICY_DENY_SEED_RPC_METHODS`** (comma-separated short names, also merged from **`denySeedRpcMethods`** in **`boot.policy.json`** v8).
|
||||
|
||||
**Wave 9 Pear/Bare bridge:** **`ctx.bareOsEmitPearStageHint`**, **`ctx.bareOsBareModuleResolveProbe`**, **`ctx.bareOsBareCryptoCapProbe`**, **`ctx.bareOsPearUpdaterChannel`**, **`ctx.bareOsEmitDriveResolveHint`**, **`ctx.bareOsRegisterBareDiagnosticsTapV2`**, **`ctx.bareOsEmitPearMessageSketch`**, **`ctx.bareOsEmitTrybootSlot`**, **`ctx.bareOsEmitMultisigPointer`**, **`ctx.bareOsBareStorageHint`**; host env **`BARE_OS_SOCKS_PROXY_MAP_JSON`** (delegated fetch); **`BARE_OS_BARE_CRYPTO_VERSION`**, **`BARE_OS_PEAR_IPC_PACKAGE_VERSION`**, **`BARE_OS_PEAR_UPDATER_CHANNEL`**, **`BARE_OS_HAPPY_EYEBALLS_V3_MODE`**, **`BARE_OS_BIN_WORKER_WASM_MS_MAX`**, **`BARE_OS_WAVE9_PROBE_ID`**, **`BARE_OS_BARE_MODULE_PROBE_CLASS`**; optional **`BARE_OS_*_JSON`** blobs for Wave 9 **`/proc/bare_os/*.json`** files (see **`bare-os-wave9-proc.js`**); boot policy **v9** adds **`requireFeatureBits9`**, **`requirePearRuntimeRange`**, **`denyBareModuleSpecifierPatterns`**, **`requireBareCryptoMin`**, **`denyKernelSyscalls`**, **`requirePearIpcMin`**, **`extensionSignerPinsV2`**, **`offlineLkgManifestMaxAgeSec`**, **`bootPhasesRequireProcIndexMinSchema`**, **`maxKernelExtensionDepth` v2 semantics**, … — see [`boot.policy.schema.json`](../schemas/boot.policy.schema.json).
|
||||
**Wave 9 Pear/Bare bridge:** **`ctx.bareOsEmitPearStageHint`**, **`ctx.bareOsBareModuleResolveProbe`**, **`ctx.bareOsBareCryptoCapProbe`**, **`ctx.bareOsPearUpdaterChannel`**, **`ctx.bareOsEmitDriveResolveHint`**, **`ctx.bareOsRegisterBareDiagnosticsTapV2`**, **`ctx.bareOsEmitPearMessageSketch`**, **`ctx.bareOsEmitTrybootSlot`**, **`ctx.bareOsEmitMultisigPointer`**, **`ctx.bareOsBareStorageHint`**; host env **`BARE_OS_SOCKS_PROXY_MAP_JSON`** (delegated fetch); **`BARE_OS_BARE_CRYPTO_VERSION`**, **`BARE_OS_PEAR_IPC_PACKAGE_VERSION`**, **`BARE_OS_PEAR_UPDATER_CHANNEL`**, **`BARE_OS_HAPPY_EYEBALLS_V3_MODE`**, **`BARE_OS_BIN_WORKER_WASM_MS_MAX`**, **`BARE_OS_PROBE_ID_BARE_MODULE_CRYPTO_STAGING`**, **`BARE_OS_BARE_MODULE_PROBE_CLASS`**; optional **`BARE_OS_*_JSON`** blobs for Wave 9 **`/proc/bare_os/*.json`** files (see **`bare-os-proc-bare-module-crypto-staging.js`**); boot policy **v9** adds **`requireKernelCapabilitiesBareModuleCryptoStaging`**, **`requirePearRuntimeRange`**, **`denyBareModuleSpecifierPatterns`**, **`requireBareCryptoMin`**, **`denyKernelSyscalls`**, **`requirePearIpcMin`**, **`extensionSignerPinsV2`**, **`offlineLkgManifestMaxAgeSec`**, **`bootPhasesRequireProcIndexMinSchema`**, **`maxKernelExtensionDepth` v2 semantics**, … — see [`boot.policy.schema.json`](../schemas/boot.policy.schema.json).
|
||||
|
||||
**Wave 10 Pear/Bare bridge:** **`ctx.bareOsEmitPearDoctorHint`**, **`ctx.bareOsPearInspectProbe`**, **`ctx.bareOsEmitBareBootPhaseHint`**, **`ctx.bareOsBareRpcCapProbe`**, **`ctx.bareOsEmitPearStampPointer`**, **`ctx.bareOsRegisterBareLoggerTap`**, **`ctx.bareOsEmitAutobaseDiscoveryHint`**, **`ctx.bareOsEmitBlindPairingSketch`**, **`ctx.bareOsBareStreamBackpressureHint`**, **`ctx.bareOsPearTerminalCapsProbe`**; host env **`BARE_OS_WAVE10_PROBE_ID`**, **`BARE_OS_BARE_RPC_PROBE_CLASS`**, **`BARE_OS_MTLS_PROXY_MAP_JSON`**, **`BARE_OS_THREAD_POOL_TELEMETRY_JSON`**, **`BARE_OS_HAPPY_EYEBALLS_V4_MODE`**, **`BARE_OS_BARE_BOOT_VERSION`**, **`BARE_OS_BARE_LOGGER_VERSION`**, **`BARE_OS_BARE_TLS_VERSION`**, **`BARE_OS_LIFECYCLE_SCHEMA_VERSION`** (injected); boot policy **v10** adds **`requireFeatureBits10`**, **`requireBareBootMin`**, **`denyBareRpcMethodPatterns`**, **`maxPearInspectDepth`**, **`requireBareLoggerMin`**, **`denyAutobaseDiscoveryChannels`**, **`requireBareTlsMin`**, **`extensionSignerPinsV3`**, **`offlineLkgRequirePearStamp`**, **`bootPhasesRequireLifecycleMinSchema`**, …
|
||||
**Wave 10 Pear/Bare bridge:** **`ctx.bareOsEmitPearDoctorHint`**, **`ctx.bareOsPearInspectProbe`**, **`ctx.bareOsEmitBareBootPhaseHint`**, **`ctx.bareOsBareRpcCapProbe`**, **`ctx.bareOsEmitPearStampPointer`**, **`ctx.bareOsRegisterBareLoggerTap`**, **`ctx.bareOsEmitAutobaseDiscoveryHint`**, **`ctx.bareOsEmitBlindPairingSketch`**, **`ctx.bareOsBareStreamBackpressureHint`**, **`ctx.bareOsPearTerminalCapsProbe`**; host env **`BARE_OS_PROBE_ID_PEAR_INSPECT_LOGGER_TLS`**, **`BARE_OS_BARE_RPC_PROBE_CLASS`**, **`BARE_OS_MTLS_PROXY_MAP_JSON`**, **`BARE_OS_THREAD_POOL_TELEMETRY_JSON`**, **`BARE_OS_HAPPY_EYEBALLS_V4_MODE`**, **`BARE_OS_BARE_BOOT_VERSION`**, **`BARE_OS_BARE_LOGGER_VERSION`**, **`BARE_OS_BARE_TLS_VERSION`**, **`BARE_OS_LIFECYCLE_SCHEMA_VERSION`** (injected); boot policy **v10** adds **`requireKernelCapabilitiesPearInspectLoggerTls`**, **`requireBareBootMin`**, **`denyBareRpcMethodPatterns`**, **`maxPearInspectDepth`**, **`requireBareLoggerMin`**, **`denyAutobaseDiscoveryChannels`**, **`requireBareTlsMin`**, **`extensionSignerPinsV3`**, **`offlineLkgRequirePearStamp`**, **`bootPhasesRequireLifecycleMinSchema`**, …
|
||||
|
||||
**Wave 11** (`bare-os-protocol` **0.7.x**, **`bits11`**): twenty new seed RPC short names (through **`mirror_drive_compaction_v6`**, **`compact_ping_v5`**, **`http_dht_proxy_routes_v3`**, …), boot policy **v11** (**`requireFeatureBits11`**, **`extensionSignerPinsV4`**, pack/addon semver floors, **`maxHrpcAllowlistDepth`**, **`offlineLkgRequireBits11`**, merged **`denySeedRpcMethods`**), **`/proc/bare_os/index.json`** schema **7** with 20 Wave 11 JSON aliases, NDJSON lifecycle **10** / OTel **8** / audit **8**, **`kernel-extensions.registry.schema.json`** branch **8**. Host env **`BARE_OS_WAVE11_PROBE_ID`**; optional **`BARE_OS_WAVE11_PROC=0`** (or **`false`** / **`off`**) hides those Wave 11 proc nodes from **`readdir`**, path resolution, and the proc index (see **`vfs.js`**).
|
||||
**Word 11** (`bare-os-protocol` **0.8.x**, **`bits11`**): twenty new seed RPC short names (through **`mirror_drive_compaction_v6`**, **`compact_ping_v5`**, **`http_dht_proxy_routes_v3`**, …), boot policy **v11** (**`requireKernelCapabilitiesHypercorePackHrpcLifecycle`**, **`extensionSignerPinsV4`**, pack/addon semver floors, **`maxHrpcAllowlistDepth`**, **`offlineLkgRequireHypercorePackHrpcLifecycle`**, merged **`denySeedRpcMethods`**), **`/proc/bare_os/index.json`** schema **7** with 20 word-11 JSON aliases, NDJSON lifecycle **10** / OTel **8** / audit **8**, **`kernel-extensions.registry.schema.json`** branch **8**. Host env **`BARE_OS_PROBE_ID_HYPERCORE_PACK_HRPC_LIFECYCLE`**; optional **`BARE_OS_HIDE_PROC_HYPERCORE_PACK_HRPC_LIFECYCLE=0`** (or **`false`** / **`off`**) hides those word-11 proc nodes from **`readdir`**, path resolution, and the proc index (see **`vfs.js`**).
|
||||
|
||||
**JSON Schemas** (policy, telemetry, boot trace): [`docs/schemas/`](../schemas/) (see also [reference README](./README.md)).
|
||||
|
||||
@@ -36,7 +36,7 @@ Seed RPC **`bare_os.capabilities`** includes **`protocolPackageVersion`**, optio
|
||||
| Union writes | `BARE_OS_VFS_UNION_WRITE_DENY` | Comma/colon list of path prefixes blocked for writes under union prefixes |
|
||||
| IPC | `BARE_OS_IPC_CHANNEL_MAX_BYTES` | JSON map `{"fifoName": 65536}` per-channel backlog cap |
|
||||
| Initd journal | `BARE_OS_INITD_JOURNAL_MAX_LINES` | Cap NDJSON lines per unit (default 400, max 20000) |
|
||||
| Telemetry | `BARE_OS_TELEMETRY_NDJSON` | Logical path; append NDJSON mirror (`telemetrySchemaVersion` / `lifecycleSchemaVersion` **10**); optional **`sessionForkGeneration`**, **`wave9ProbeId`**, **`wave10ProbeId`**, **`wave11ProbeId`**, **`bareModuleProbeClass`**, **`bareRpcProbeClass`**; optional correlation via **`BARE_OS_BOOT_ATTEMPT_ID`** → **`bootAttemptId`** |
|
||||
| Telemetry | `BARE_OS_TELEMETRY_NDJSON` | Logical path; append NDJSON mirror (`telemetrySchemaVersion` / `lifecycleSchemaVersion` **10**); optional **`sessionForkGeneration`**, **`bareModuleCryptoStagingProbeId`**, **`pearInspectLoggerTlsProbeId`**, **`hypercorePackHrpcLifecycleProbeId`**, **`bareModuleProbeClass`**, **`bareRpcProbeClass`**; optional correlation via **`BARE_OS_BOOT_ATTEMPT_ID`** → **`bootAttemptId`** |
|
||||
| Telemetry OTel | `BARE_OS_TELEMETRY_OTEL_JSONL` | Logical path; append OTLP-inspired JSON lines (`otlSchemaVersion` **8**, optional **`scopeMetrics`** sketch; see [`otel-bare-os-jsonl.schema.json`](../schemas/otel-bare-os-jsonl.schema.json)) |
|
||||
| Proc poll | `BARE_OS_PROC_POLL_MS` | Min interval 250ms, max 60s, for coalesced **`/proc/bare_os/metrics_live.json`** |
|
||||
| Shell `${…}` | `BARE_OS_SHELL_PARAM_EXPANSION=1` | Enable `${VAR:-default}` and `${VAR#prefix}` (bounded prefix length) |
|
||||
@@ -46,7 +46,7 @@ Seed RPC **`bare_os.capabilities`** includes **`protocolPackageVersion`**, optio
|
||||
| Diagnostics | `BARE_OS_DIAGNOSTICS_SUBSCRIBE=1` | `ctx.bareOsDiagnosticsSubscribe` for structured dev events |
|
||||
| HDMS / autopass hint | `BARE_OS_AUTOPASS_INVITE_URL` | Surfaced in **`/proc/bare_os/hdms_hints.json`** (guest does not open URLs) |
|
||||
| Bin worker | `BARE_OS_BIN_WORKER_OFFLOAD=1`, `BARE_OS_BIN_WORKER_ALLOW` | Offload eligible `/bin` on Bare via `bare-worker`; allow list defaults to awk/sed/jq, or patterns like `textproc:*` (cut, tr, sort, uniq, …); **`mathproc:*`** (`bc`, `dc`); **`mediaproc:*`** (`ffmpeg`, `ffprobe`); **`sysproc:*`** (bounded process-adjacent builtins: `echo`, `pwd`, `printenv`, …); optional per-invocation wall cap **`BARE_OS_BIN_WORKER_WALL_MS`**; optional WASM time budget **`BARE_OS_BIN_WORKER_WASM_MS_MAX`** |
|
||||
| Wave 6 proc inject | `BARE_OS_PROC_*` (see [kernel-capabilities-index](./kernel-capabilities-index.md) Word 6) | Bounded JSON for **`/proc/bare_os/*.json`** operator metrics (udx, DHT, backpressure, locale, …) |
|
||||
| Word-6 proc inject | `BARE_OS_PROC_*` (see [kernel-capabilities-index](./kernel-capabilities-index.md) Word 6) | Bounded JSON for **`/proc/bare_os/*.json`** operator metrics (udx, DHT, backpressure, locale, …) |
|
||||
| DNS map | `BARE_OS_DNS_MAP_JSON` | Split-horizon static map; summary in **`/proc/bare_os/dns_map_active.json`** |
|
||||
| Resume stagger | `BARE_OS_RESUME_STAGGER_MS` | Delay between initd unit starts on resume (advisory) |
|
||||
| Profile warm rc.d | `BARE_OS_KERNEL_PROFILE_WARM_RC_ONLY=1` | With **`BARE_OS_KERNEL_PROFILE_WARM`**: reload **`rc.d`** snippets only |
|
||||
@@ -56,7 +56,7 @@ Seed RPC **`bare_os.capabilities`** includes **`protocolPackageVersion`**, optio
|
||||
| Exec budget | `BARE_OS_EXEC_LINE_BUDGET_MS` | Reject top-level `execLine` when session wall time exceeds budget |
|
||||
| Delegates | `BARE_OS_DELEGATE_MAX_PER_MIN`, `BARE_OS_DELEGATE_CURL_MAX_PER_MIN`, … | Per-minute caps on host delegates (sliding minute window) |
|
||||
| Delegates | `BARE_OS_DELEGATE_AUDIT_ONLY=1` | With `BARE_OS_AUDIT=1`, log delegate invocations and skip host run (exit 0) |
|
||||
| Boot policy | `BARE_OS_BOOT_POLICY=1` | Merge `skipPhases` / `denyBootPhases` from `/etc/bare-os/boot.policy.json`; optional `minKernelFeatureMask` / `requireSeedCaps`; v2 `maxExecLineDepth`, `denyEnvKeys`, `requireProcNodes`; **v3** `requireFeatureBits2`, `requireFeatureBits3`, `allowedPearIpcChannels` → session env, `denyVfsPrefixes` (VFS deny), `maxInitdRestartsPerUnit` → `BARE_OS_INITD_RESTART_MAX_DEFAULT`; **v4** `requireFeatureBits4`, `denyExecLineBuiltins` → `BARE_OS_BOOT_POLICY_DENY_EXEC_LINE_BUILTINS`, `allowedCtxMethods` → `BARE_OS_BOOT_POLICY_ALLOWED_CTX_METHODS`; **v5** `requireFeatureBits5`, `requireInitJsSha256`; **v6** `requireFeatureBits6`, `requireBooterSemver`, `requireCtxApiMin`, `denyKernelExtensionIds`, `kernelExtensionHashPins`, `offlineLkgIntegrityStrict`; **v7–v8** (see schema); **v9** `requireFeatureBits9`, `requirePearRuntimeRange`, `denyBareModuleSpecifierPatterns`, `requireBareCryptoMin`, `denyKernelSyscalls`, `requirePearIpcMin`, `extensionSignerPinsV2`, `offlineLkgManifestMaxAgeSec`, `bootPhasesRequireProcIndexMinSchema`, stricter extension depth / cycle diagnostics; **v10** `requireFeatureBits10`, `requireBareBootMin`, `denyBareRpcMethodPatterns`, `maxPearInspectDepth`, `requireBareLoggerMin`, `denyAutobaseDiscoveryChannels`, `requireBareTlsMin`, `extensionSignerPinsV3`, `offlineLkgRequirePearStamp`, `bootPhasesRequireLifecycleMinSchema` |
|
||||
| Boot policy | `BARE_OS_BOOT_POLICY=1` | Merge `skipPhases` / `denyBootPhases` from `/etc/bare-os/boot.policy.json`; optional `minKernelCapabilitiesPrimary` / `requireSeedCaps`; v2 `maxExecLineDepth`, `denyEnvKeys`, `requireProcNodes`; **v3** `requireKernelCapabilitiesExtendedSeedingPlatform`, `requireKernelCapabilitiesRlimitsDelegatesShell`, `allowedPearIpcChannels` → session env, `denyVfsPrefixes` (VFS deny), `maxInitdRestartsPerUnit` → `BARE_OS_INITD_RESTART_MAX_DEFAULT`; **v4** `requireKernelCapabilitiesOfflineNetExtensions`, `denyExecLineBuiltins` → `BARE_OS_BOOT_POLICY_DENY_EXEC_LINE_BUILTINS`, `allowedCtxMethods` → `BARE_OS_BOOT_POLICY_ALLOWED_CTX_METHODS`; **v5** `requireKernelCapabilitiesHostTransportDelegates`, `requireInitJsSha256`; **v6** `requireKernelCapabilitiesReplicationOperatorSurface`, `requireBooterSemver`, `requireCtxApiMin`, `denyKernelExtensionIds`, `kernelExtensionHashPins`, `offlineLkgIntegrityStrict`; **v7–v8** (see schema); **v9** `requireKernelCapabilitiesBareModuleCryptoStaging`, `requirePearRuntimeRange`, `denyBareModuleSpecifierPatterns`, `requireBareCryptoMin`, `denyKernelSyscalls`, `requirePearIpcMin`, `extensionSignerPinsV2`, `offlineLkgManifestMaxAgeSec`, `bootPhasesRequireProcIndexMinSchema`, stricter extension depth / cycle diagnostics; **v10** `requireKernelCapabilitiesPearInspectLoggerTls`, `requireBareBootMin`, `denyBareRpcMethodPatterns`, `maxPearInspectDepth`, `requireBareLoggerMin`, `denyAutobaseDiscoveryChannels`, `requireBareTlsMin`, `extensionSignerPinsV3`, `offlineLkgRequirePearStamp`, `bootPhasesRequireLifecycleMinSchema` |
|
||||
| Boot policy strict | `BARE_OS_BOOT_POLICY_STRICT=1` | Abort boot when policy checks fail |
|
||||
| Lazy personal drive | `BARE_OS_LAZY_PERSONAL_DRIVE=1` | Mount personal Hyperdrive at session setup instead of immediately after kernel fetch |
|
||||
| System revision | `BARE_OS_SYSTEM_REVISION_ID`, `BARE_OS_SYSTEM_REVISION_PENDING`, `BARE_OS_SYSTEM_SLOT` | Exposed as `ctx.bareOsSystemRevision` (Pear OTA–style hints) |
|
||||
@@ -74,23 +74,23 @@ Seed RPC **`bare_os.capabilities`** includes **`protocolPackageVersion`**, optio
|
||||
| Seeder staging | `BARE_OS_SEED_STAGING_PREVIOUS_SLOT`, `BARE_OS_SEED_REPLICATION_QUEUE_DEPTH_HINT`, `BARE_OS_SEED_REPLICATION_SNAPSHOT_NOTE_JSON` | Seeder-only env for richer RPC payloads |
|
||||
| Sandbox | `BARE_OS_SANDBOX_WORKER=1` | Try `bare-worker` when available; else microtask defer |
|
||||
| Bundle tier | `BARE_OS_BUNDLE_TIER=core` | `bare-os-bare-libs` build: only manifest rows with matching `tier` (`all` = default); optional per-row `risk` in manifest |
|
||||
| Wave 11 proc | `BARE_OS_WAVE11_PROC=0` (or `false` / `off`) | Hides the 20 Wave 11 **`/proc/bare_os_*.json`** entries, matching **`/proc/bare_os/*.json`** aliases, and their rows in **`/proc/bare_os/index.json`**; reads resolve as absent (**`null`** / ENOENT semantics) |
|
||||
| Word-11 proc | `BARE_OS_HIDE_PROC_HYPERCORE_PACK_HRPC_LIFECYCLE=0` (or `false` / `off`) | Hides the 20 word-11 **`/proc/bare_os_*.json`** entries, matching **`/proc/bare_os/*.json`** aliases, and their rows in **`/proc/bare_os/index.json`**; reads resolve as absent (**`null`** / ENOENT semantics) |
|
||||
|
||||
## Wave 6 summary
|
||||
|
||||
Shipped as **`bits6`** + **`STOCK_V6`**. Full bit map: [kernel-capabilities-index.md](./kernel-capabilities-index.md) (Word 6). One-row checklist: [feature-roadmap.md](./feature-roadmap.md) (Wave 6 table). CI: **`verify-kernel-roadmap-wave6.mjs`**, **`verify-pear-no-static-node-import.mjs`**.
|
||||
Shipped as **`bits6`** + **`BARE_OS_KERNEL_FEATURES_STOCK_WORD_REPLICATION_OPERATOR_SURFACE`**. Full bit map: [kernel-capabilities-index.md](./kernel-capabilities-index.md) (Word 6). One-row checklist: [feature-roadmap.md](./feature-roadmap.md) (Wave 6 table). CI: **`verify-kernel-capabilities-word-6.mjs`**, **`verify-pear-no-static-node-import.mjs`**.
|
||||
|
||||
## Wave 9 summary
|
||||
|
||||
Shipped as **`bits9`** + **`STOCK_V9`**. Word 9 map: [kernel-capabilities-index.md](./kernel-capabilities-index.md). Checklist: [feature-roadmap.md](./feature-roadmap.md) (Wave 9 table). Node→Bare map: [node-to-bare-modules.md](../../developer-guide/node-to-bare-modules.md). CI: **`verify-kernel-roadmap-wave9.mjs`**, **`verify-kernel-roadmap-wave3.mjs`**, **`verify-ctx-api-feature-bits.mjs`**, **`verify-ctx-dts.mjs`**, **`verify-compat-matrix.mjs`**.
|
||||
Shipped as **`bits9`** + **`BARE_OS_KERNEL_FEATURES_STOCK_WORD_BARE_MODULE_CRYPTO_STAGING`**. Word 9 map: [kernel-capabilities-index.md](./kernel-capabilities-index.md). Checklist: [feature-roadmap.md](./feature-roadmap.md) (Wave 9 table). Node→Bare map: [node-to-bare-modules.md](../../developer-guide/node-to-bare-modules.md). CI: **`verify-kernel-capabilities-word-9.mjs`**, **`verify-kernel-capabilities-contract.mjs`**, **`verify-ctx-api-feature-bits.mjs`**, **`verify-ctx-dts.mjs`**, **`verify-compat-matrix.mjs`**.
|
||||
|
||||
## Wave 10 summary
|
||||
|
||||
Shipped as **`bits10`** + **`STOCK_V10`**. Word 10 map: [kernel-capabilities-index.md](./kernel-capabilities-index.md). Checklist: [feature-roadmap.md](./feature-roadmap.md) (Wave 10 table). CI: **`verify-kernel-roadmap-wave10.mjs`** plus the wave 3 / ctx / compat scripts above.
|
||||
Shipped as **`bits10`** + **`BARE_OS_KERNEL_FEATURES_STOCK_WORD_PEAR_INSPECT_LOGGER_TLS`**. Word 10 map: [kernel-capabilities-index.md](./kernel-capabilities-index.md). Checklist: [feature-roadmap.md](./feature-roadmap.md) (Wave 10 table). CI: **`verify-kernel-capabilities-word-10.mjs`** plus the capabilities-contract / ctx / compat scripts above.
|
||||
|
||||
## Wave 11 summary
|
||||
|
||||
Shipped as **`bits11`** + **`STOCK_V11`**. Word 11 map: [kernel-capabilities-index.md](./kernel-capabilities-index.md). Checklist: [feature-roadmap.md](./feature-roadmap.md) (Wave 11 table). Node→Bare map: [node-to-bare-modules.md](../../developer-guide/node-to-bare-modules.md). CI: **`verify-kernel-roadmap-wave11.mjs`** plus **`verify-kernel-roadmap-wave3.mjs`**, **`verify-ctx-api-feature-bits.mjs`**, **`verify-ctx-dts.mjs`**, **`verify-compat-matrix.mjs`**.
|
||||
Shipped as **`bits11`** + **`BARE_OS_KERNEL_FEATURES_STOCK_WORD_HYPERCORE_PACK_HRPC_LIFECYCLE`**. Word 11 map: [kernel-capabilities-index.md](./kernel-capabilities-index.md). Checklist: [feature-roadmap.md](./feature-roadmap.md) (Wave 11 table). Node→Bare map: [node-to-bare-modules.md](../../developer-guide/node-to-bare-modules.md). CI: **`verify-kernel-capabilities-word-11.mjs`** plus **`verify-kernel-capabilities-contract.mjs`**, **`verify-ctx-api-feature-bits.mjs`**, **`verify-ctx-dts.mjs`**, **`verify-compat-matrix.mjs`**.
|
||||
|
||||
## POSIX utility notes
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Former **DOCUMENTATION.md** §10. [Reference index →](README.md)
|
||||
| Item | Detail |
|
||||
| --------------------------- | -------------------------------------------------------------------------- |
|
||||
| `name` | `bare-os-protocol` |
|
||||
| `version` | `0.7.0` (wave 11: **`bits11`**, twenty new seed RPCs through **`mirror_drive_compaction_v6`**, **`compact_ping_v5`**; couple boot policy **`requireProtocolPackageMin`** to this semver) |
|
||||
| `version` | `0.9.0` (wire v2: **`kernelCapabilityWords`**; couple boot policy **`requireProtocolPackageMin`** to this semver) |
|
||||
| `main` / `exports["."]` | `./index.js` |
|
||||
| `exports["./constants.js"]` | `./constants.js` (for `bare-os-protocol/constants.js` imports) |
|
||||
| `exports["./messages"]` | `./lib/messages.js` |
|
||||
@@ -28,7 +28,7 @@ Re-exports from `./lib/channel.js`: `setupSeedChannel`.
|
||||
|
||||
Re-exports from `./lib/seed-rpc-methods.js`: `BARE_OS_SEED_RPC_METHODS`, `BARE_OS_SEED_RPC_METHOD_SHORT_NAMES`, `BARE_OS_SEED_RPC_METHOD_SHORT_NAME_SET`.
|
||||
|
||||
Re-exports **`STOCK_V5`**–**`STOCK_V11`** and **`BARE_OS_FEATURE5_*`** … **`FEATURE11_*`** from `./lib/kernel-feature-bits.js` (alongside earlier stock words). **`BARE_OS_PROTOCOL_PACKAGE_VERSION`** is published from `./lib/protocol-meta.js` for **`ctx.bareOsProtocolPackageVersion`** comparisons.
|
||||
Re-exports **`BARE_OS_KERNEL_FEATURES_STOCK_WORD_*`** stock masks and **`BARE_OS_FEATURE5_*`** … **`FEATURE11_*`** from `./lib/kernel-feature-bits.js` (alongside earlier words). Re-exports wire v2 helpers from **`./lib/kernel-capability-wire.js`** (**`kernelCapabilityWords`** shape, **`BARE_OS_KERNEL_CAPABILITY_WORD_KEYS`**, …). **`BARE_OS_PROTOCOL_PACKAGE_VERSION`** is published from `./lib/protocol-meta.js` for **`ctx.bareOsProtocolPackageVersion`** comparisons.
|
||||
|
||||
### 10.3 [packages/bare-os-protocol/constants.js](../../packages/bare-os-protocol/constants.js)
|
||||
|
||||
@@ -78,5 +78,5 @@ Brittle tests:
|
||||
5. `msgSearchReqEncoding` encode/decode.
|
||||
6. `TOPIC_STRING === 'bare-os-v1'`.
|
||||
7. Seed RPC method list length matches **`BARE_OS_SEED_RPC_METHODS`** / **`kernel_info`** surface.
|
||||
8. **`BARE_OS_KERNEL_FEATURES_STOCK_V5`** is non-zero.
|
||||
8. **`BARE_OS_KERNEL_FEATURES_STOCK_WORD_HOST_TRANSPORT_DELEGATES`** is non-zero.
|
||||
|
||||
|
||||
@@ -7,21 +7,21 @@
|
||||
"properties": {
|
||||
"skipPhases": { "type": "array", "items": { "type": "string" } },
|
||||
"denyBootPhases": { "type": "array", "items": { "type": "string" } },
|
||||
"minKernelFeatureMask": { "type": "integer", "minimum": 0 },
|
||||
"minKernelCapabilitiesPrimary": { "type": "integer", "minimum": 0 },
|
||||
"requireSeedCaps": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits2": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits3": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits4": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits5": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits6": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits7": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits8": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits9": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits10": { "type": "integer", "minimum": 0 },
|
||||
"requireFeatureBits11": {
|
||||
"requireKernelCapabilitiesExtendedSeedingPlatform": { "type": "integer", "minimum": 0 },
|
||||
"requireKernelCapabilitiesRlimitsDelegatesShell": { "type": "integer", "minimum": 0 },
|
||||
"requireKernelCapabilitiesOfflineNetExtensions": { "type": "integer", "minimum": 0 },
|
||||
"requireKernelCapabilitiesHostTransportDelegates": { "type": "integer", "minimum": 0 },
|
||||
"requireKernelCapabilitiesReplicationOperatorSurface": { "type": "integer", "minimum": 0 },
|
||||
"requireKernelCapabilitiesPearCorestoreHrpc": { "type": "integer", "minimum": 0 },
|
||||
"requireKernelCapabilitiesBareRuntimeProtoMux": { "type": "integer", "minimum": 0 },
|
||||
"requireKernelCapabilitiesBareModuleCryptoStaging": { "type": "integer", "minimum": 0 },
|
||||
"requireKernelCapabilitiesPearInspectLoggerTls": { "type": "integer", "minimum": 0 },
|
||||
"requireKernelCapabilitiesHypercorePackHrpcLifecycle": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"description": "Mask checked against ctx.bareOsAdvertisedKernelBits11 (wave 11)"
|
||||
"description": "Mask checked against ctx.bareOsAdvertisedKernelCapabilityWords.hypercorePackHrpcLifecycle (wave 11)"
|
||||
},
|
||||
"requireBareBootMin": {
|
||||
"type": "string",
|
||||
@@ -76,9 +76,9 @@
|
||||
"type": "boolean",
|
||||
"description": "When true, sets BARE_OS_OFFLINE_LKG_REQUIRE_PEAR_STAMP=1 for host/offline stamp class hints"
|
||||
},
|
||||
"offlineLkgRequireBits11": {
|
||||
"offlineLkgRequireHypercorePackHrpcLifecycle": {
|
||||
"type": "boolean",
|
||||
"description": "When true, sets BARE_OS_OFFLINE_LKG_REQUIRE_BITS11=1 for strict offline bits11 class hints"
|
||||
"description": "When true, sets BARE_OS_OFFLINE_LKG_REQUIRE_HYPERCORE_PACK_HRPC_LIFECYCLE=1 for strict offline bits11 class hints"
|
||||
},
|
||||
"bootPhasesRequireLifecycleMinSchema": {
|
||||
"type": "integer",
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
"minimum": 0,
|
||||
"description": "Optional fork generation counter for nested sessions (wave 8)"
|
||||
},
|
||||
"wave11ProbeId": {
|
||||
"hypercorePackHrpcLifecycleProbeId": {
|
||||
"type": "string",
|
||||
"maxLength": 128,
|
||||
"description": "Optional operator probe id when BARE_OS_WAVE11_PROBE_ID is set (wave 11)"
|
||||
"description": "Optional operator probe id when BARE_OS_PROBE_ID_HYPERCORE_PACK_HRPC_LIFECYCLE is set (wave 11)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user