feat(booter): POSIX/P2P roadmap — ctx 1.41.0, hrpc audit, warm-cache, Pear proc

- Bump BARE_OS_CTX_API_VERSION to 1.41.0; align syscalls.example, compat matrix,
  POSIX dashboard, and doc-contract verifier
- Stock hrpc: BARE_OS_HRPC_AUDIT chain rows; BARE_OS_HRPC_EMIT_UNLISTED for
  bare-os:hrpc-request; document seed/hrpc boundaries in KERNEL_CONTRACT +
  protocol CHANGELOG
- VFS: bareOsEvictWarmReadPrefixes; BARE_OS_VFS_WARM_CACHE_PREFIX_INVALIDATE +
  replicationLive schema 2; warm cache stats schema 2; hyperblobs gate metrics +
  failed-write counter
- maybeMergeBareFromDrive: BARE_OS_BARE_STDLIB_RESOLVE_CONCURRENCY (parallel reads,
  manifest order preserved)
- Word-7 proc: pear_runtime_channel.json + vfs maps/tests; host env passthrough
- Coreutils: export bareAwkRun for tests; build strips export in shipped awk;
  nextfile smoke test; getconf _SC_PAGESIZE test; man/hawk handbook tweaks
- Security/docs: vault AEAD tamper test in test.identity.js; vault threat model +
  users-manual; scripts/verify-doc-contracts.mjs in pretest
- Fix /proc readdir golden list order for new proc node; sync seeder kernel
This commit is contained in:
Raven Scott
2026-04-05 00:32:40 -04:00
parent fba44e5659
commit 0d732bd41b
68 changed files with 1490 additions and 595 deletions
+20 -3
View File
@@ -2613,19 +2613,36 @@ async function runKernelExtDropins(ctx, opts = {}) {
strictPol &&
(ctx.env?.BARE_OS_BOOT_EXT_RESOLUTION_TRACE === '1' ||
ctx.env?.BARE_OS_BOOT_EXT_RESOLUTION_TRACE === 'true')
if (traceOn && ctx.vfs && typeof ctx.vfs.writeFile === 'function' && ctx.b4a) {
const extResolutionFailure = strictPol && !topo.ok
if (
ctx.vfs &&
typeof ctx.vfs.writeFile === 'function' &&
ctx.b4a &&
(extResolutionFailure || traceOn)
) {
try {
const cycleSorted = topo.ok
? []
: [...topo.cycleExtIds].sort((a, b) => a.localeCompare(b))
const body =
JSON.stringify({
schema: 1,
schema: 2,
atMs: Date.now(),
sessionId: String((ctx.env && ctx.env.BARE_OS_SESSION_ID) || ''),
bootPolicyStrict: !!strictPol,
failure: extResolutionFailure
? {
kind: 'dependency_cycle',
cycleExtIds: cycleSorted,
provenance: 'kernel.ext.d topological sort (init-main)'
}
: null,
ordered: ordered.map((e) => ({
extId: e.extId,
file: e.file,
dependsOn: e.dependsOn
})),
cycleExtIds: topo.ok ? [] : topo.cycleExtIds
cycleExtIds: topo.ok ? [] : cycleSorted
}) + '\n'
await ctx.vfs.writeFile(
'/run/bare-os/kernel-ext-resolution.json',