Add tenth capability word (STOCK_V10), protocol 0.6.0, ctx API 1.19.0, and

strict seed coverage for bits10. Extend seed RPC, replication adjuncts,
Wave 10 /proc JSON + proc index schema 6, boot.policy v10 enforcement in
kernel/init.js, sysproc:* workers, NDJSON/OTel/audit schema bumps, CI
(verify-kernel-roadmap-wave10.mjs) and doc updates across handbook,
developer-guide, compatibility matrix, and seeder kernel parity.
This commit is contained in:
Raven Scott
2026-04-04 06:15:24 -04:00
parent fccd07b726
commit b3eac448d1
67 changed files with 2736 additions and 485 deletions
@@ -0,0 +1,21 @@
/**
* Non-crypto stub: Pear/Bare guests must not use Node `node:crypto` for keys.
* Operators use host **`bare-crypto`** / Pear tooling; see developer-guide Node→Bare map.
*/
async function run(ctx, argv) {
const args = argv.slice(1)
if (args.includes('-h') || args.includes('--help') || args.includes('-?')) {
ctx.console.log(
'Usage: ssh-keygen (stub)\n' +
'Bare OS does not generate SSH keys in-guest. Use bare-crypto / Pear host workflows.\n'
)
ctx.exitCode = 0
return
}
ctx.console.error(
'ssh-keygen: Bare OS stub only — use bare-crypto and host key tooling (no node:crypto in guest).'
)
ctx.exitCode = 1
}
export { run }
+36
View File
@@ -0,0 +1,36 @@
/**
* Wave 10: bounded extended-attribute metadata sketch only (no archive I/O).
* Full archive workflows use Pear pack / bare-pack tooling outside the stub.
*/
async function run(ctx, argv) {
const args = argv.slice(1)
if (
args.includes('--bare-os-wave10-xattr-sketch') ||
args.includes('--bare-os-xattr-sketch')
) {
ctx.console.log(
JSON.stringify({
schema: 1,
note: 'tar xattr subset stub; no archive bytes read in stock coreutils',
entries: [],
atMs: Date.now()
}) + '\n'
)
ctx.exitCode = 0
return
}
if (args.includes('-h') || args.includes('--help')) {
ctx.console.log(
'Usage: tar [--bare-os-wave10-xattr-sketch]\n' +
'Bare OS tar is a documentation stub; use Pear/bare-pack for bundles.\n'
)
ctx.exitCode = 0
return
}
ctx.console.error(
'tar: Bare OS stub — pass --bare-os-wave10-xattr-sketch for JSON sketch or use host pack tools.'
)
ctx.exitCode = 1
}
export { run }
+41 -1
View File
@@ -3,12 +3,14 @@
* Limits: stdin 256KiB, 4096 whitespace/null tokens, 128 args per invocation,
* 64 invocations per run. Exceeding limits is a fatal error (exit 125).
* Supports -0/--null, -n, -I repl (replace repl in utility argv; implies -n 1 unless -n given).
* -P N is accepted; stock booter runs sequentially; N is capped at MAX_P_FLAG (4).
*/
const MAX_STDIN = 256 * 1024
const MAX_TOKENS = 4096
const MAX_PER_INVOCATION = 128
const MAX_INVOCATIONS = 64
const MAX_P_FLAG = 4
async function run(ctx, argv) {
if (typeof ctx.runBinCommand !== 'function') {
@@ -24,6 +26,7 @@ async function run(ctx, argv) {
/** @type {string | null} */
let repl = null
let nExplicit = false
let pCap = 1
let i = 0
while (i < args.length && args[i].startsWith('-')) {
@@ -37,6 +40,40 @@ async function run(ctx, argv) {
i++
continue
}
if (a === '-P' || a === '--max-procs') {
const n = args[i + 1]
if (n == null || !/^\d+$/.test(n)) {
ctx.console.error('xargs: -P requires a non-negative integer')
ctx.exitCode = 1
return
}
const raw = Number(n)
pCap = Math.min(MAX_P_FLAG, Math.max(1, raw))
if (raw > MAX_P_FLAG) {
ctx.console.error(
'xargs: -P ' +
raw +
' exceeds Bare OS cap ' +
MAX_P_FLAG +
' (parallelism hint only; sequential execution)'
)
}
i += 2
continue
}
if (a.startsWith('-P') && a.length > 2 && /^\d+$/.test(a.slice(2))) {
const raw = Number(a.slice(2))
pCap = Math.min(MAX_P_FLAG, Math.max(1, raw))
if (raw > MAX_P_FLAG) {
ctx.console.error(
'xargs: -P exceeds Bare OS cap ' +
MAX_P_FLAG +
' (parallelism hint only; sequential execution)'
)
}
i++
continue
}
if (a === '-n' || a === '--max-args') {
const n = args[i + 1]
if (n == null || !/^\d+$/.test(n) || Number(n) < 1) {
@@ -76,7 +113,9 @@ async function run(ctx, argv) {
ctx.console.error(
'xargs: Bare OS supports: -0/--null, -n N (max ' +
MAX_PER_INVOCATION +
' per run), -I repl'
' per run), -I repl, -P N (max ' +
MAX_P_FLAG +
', sequential)'
)
ctx.exitCode = 1
return
@@ -85,6 +124,7 @@ async function run(ctx, argv) {
/** @type {string[]} */
let cmd = args.slice(i)
if (cmd.length === 0) cmd = ['echo']
void pCap
let text = bareStdin(ctx) || ''
if (text.length > MAX_STDIN) {