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:
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user