feat(booter): harden guest vs user isolation and POSIX/P2P parity
- Guest-safe legacy personal-root migration with state file and env gates - VFS guest deny for sensitive /.bare paths; warm-cache clear on identity switch - Optional acct/<hash>/ personal layout, guest scrub, vault exclude alignment - Shell session reset + errexit; fish history reload hook; replication metric - Audit NDJSON for migration/scrub; structured booter logging paths - Bump POSIX profile; getconf keys; syscall/socket contract + handbook/docs pass - Booter tests (Bare vs Node split for identity-session); release-checklist audit hook
This commit is contained in:
@@ -6,7 +6,7 @@ Bare OS mirrors structured **boot** and **kernel** events to optional sinks:
|
||||
- **Kernel extension reload audit** — When `BARE_OS_KERNEL_EXT_D_HOT_RELOAD` is enabled and `ctx.bareOsReloadKernelExtDropinsSafe()` runs, append-only lines (**`kernelExtReloadSchemaVersion`**) may be written to **`/run/bare-os/kernel-ext-reload.ndjson`** (guest VFS), alongside existing **`loader-audit.ndjson`** when `BARE_OS_LOADER_AUDIT` is on.
|
||||
- **Telemetry NDJSON** — `BARE_OS_TELEMETRY_NDJSON` (guest path); schema **`telemetry-ndjson-record.schema.json`** (`telemetrySchemaVersion` / `lifecycleSchemaVersion`).
|
||||
- **OTel-style JSONL** — `BARE_OS_TELEMETRY_OTEL_JSONL`; schema **`otel-bare-os-jsonl.schema.json`**.
|
||||
- **Audit stream** — host/session policy; see kernel extensions reference for env keys.
|
||||
- **Audit stream** — host/session policy; see kernel extensions reference for env keys. **`ctx.bareOsAuditLogAppendBatch`** mirrors may include **`identity.personal_root_migration`** (schema **1**: legacy `/` → `/.bare-os/home/<seg>/` decisions) and **`identity.guest_scrub`** (schema **1**: paths wiped when **`BARE_OS_GUEST_SCRUB`** runs on guest login).
|
||||
- **Event bus** — `ctx.bareOsEmitEventBus` / `ctx.bareOsSubscribeEventBus`; optional **`BARE_OS_EVENT_BUS_NDJSON=1`** mirrors one JSON line per event on session stdout (`eventBusSchema: 1`).
|
||||
|
||||
**Contract tests** in root `pretest`: `validate-example-schemas.mjs`, `verify-kernel-capabilities-contract.mjs`, `verify-compat-matrix.mjs`, **`verify-banned-terminology.mjs`** (governance wording; skips vendored `kernel/lib/bare/`), and **`verify-naming-alias-matrix.mjs`**. When adding fields, bump schema versions and extend the example JSON under `kernel/etc/bare-os/`.
|
||||
|
||||
Reference in New Issue
Block a user