feat: POSIX/P2P roadmap — multisig shape, socket bridge, bin index, docs
- Unify pear.multisig.json validation via bare-os-protocol + kernel boot fragment - Socket bridge: SCM_RIGHTS path, ancillary handling, TCP half-close/shutdown how, connect tcpRecvQueue + poll/recv EOF and EPIPE-shaped errors - Bin manifest / Hyperbee hints schema 2 + namesDigest; batch-write invalidation - Host booter structured logging; BOOT_PERF_DETAIL bare_stdlib_merge_ns timing - Wasm kernel optional syscall imports; security_posture rotation hints schema 2 - Shell errexit inside compound bodies; expand getconf/_SC_* and bareOsGetconfSysconf - Subprocess bridge snapshot timeoutPolicy; blind-relay protomux backpressure tests - Pear updater minimal delegate example + verify-pear scan; holepunch drift repos - Refresh handbook, kernel-image, syscall-socket-contract, posix matrix, PEAR-RUN Rebuild coreutils/bundles; bundle kernel; keep seeder/kernel parity.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Keep algorithm in sync with `packages/bare-os-protocol/lib/bare-os-pear-multisig-shape.js`
|
||||
* (`pearMultisigShapeOk`). Kernel bundle cannot import npm packages.
|
||||
* @param {unknown} parsed
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function bareOsPearMultisigShapeOk(parsed) {
|
||||
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) return false
|
||||
const signers = /** @type {{ signers?: unknown }} */ (parsed).signers
|
||||
const quorum = /** @type {{ quorum?: unknown }} */ (parsed).quorum
|
||||
if (!Array.isArray(signers) || typeof quorum !== 'number') return false
|
||||
if (quorum < 1 || quorum > signers.length) return false
|
||||
return true
|
||||
}
|
||||
Reference in New Issue
Block a user