feat(booter): POSIX/P2P kernel roadmap — sockets, disk.os, VFS, docs

- Bump bareOsCtxApiVersion to 1.46.0 and POSIX profile 1.0.10; sync
  syscalls example, process table, compatibility matrix, CHANGELOGs.
- Socket FD bridge: passive SOCK_DGRAM bind/connect/send path, poll
  readiness; bareOsPosixPoll monotonic timeouts via bare-hrtime.
- disk.os: replication_operator_sketch schema 2; cap-gated
  replication_operator_intent + audit; enrich protomux proc JSON.
- VFS: route /.bare/** to personal drive; optional
  BARE_OS_PERSONAL_VAULT_INDEX_CACHE_MS readdir TTL cache.
- Boot policy: p2pAdmission (peerAllowlistHex, hyperswarmBootstrap) in
  schema + kernel init merge into ctx.env when unset.
- Coreutils/booter getconf: expand _SC_* coverage; shell wait -n under
  BARE_OS_SHELL_POSIX_MODE; seeder multisig verify → security_posture.
- Tests: vfs /.bare routing; test.bare-smoke + test:bare; bench schema 2.
- Docs: syscall-socket-contract, handbook/env/kernel-extensions,
  holepunch drift pretest note, vault threat model multisig section.
- Drop hyperbee from bare-os-booter package.json dependencies (if that
  change is part of this commit).
This commit is contained in:
Raven Scott
2026-04-05 01:46:17 -04:00
parent 15209b4837
commit ebee9576c8
62 changed files with 1235 additions and 547 deletions
+2 -2
View File
@@ -10,7 +10,7 @@ Normative narrative: [`docs/architecture/POSIX_DECLARED_PROFILE.md`](../architec
| --- | --- | --- |
| Profile | profileId | bare-os-posix-like |
| Profile | schema | 1 |
| Profile | note | Machine-readable summary; normative detail remains in handbook ch.9 and environment POSIX appendix. Profile 1.0.9 / syscalls schema 8: cooperative fcntl locks (optional BARE_OS_POSIX_FCNTL_BLOCKING_WAIT: F_SETLKW FIFO waiters per path, BARE_OS_FCNTL_LOCK_WAIT_MS_MAX ETIMEDOUT; not full POSIX deadlock detection), SOCK_DGRAM send/sendmsg/recv/recvfrom/recvmsg + poll/select readiness on socket FD bridge, sendmsg/recvmsg partial iovec/msgHdr on bridge; socketMsgSurface schema 3 documents explicit ancillary rejection (ENOTSUP + ancillaryReject) on sendmsg when cmsgs/control/controllen/msgHdr.* present, recvmsg controllen 0. /bin/split uses POSIX-style multi-length suffixes (aazz then aaa…). Dynamic sysconf via ctx.bareOsGetconfSysconf, guestReplicationPlan via BARE_OS_REPLICATION_PLAN_JSON in /proc/bare_os/replication JSON; liveHyperdrive replication sketch schema 2 (auxiliaryDriveCount). |
| Profile | note | Machine-readable summary; normative detail remains in handbook ch.9 and environment POSIX appendix. Profile 1.0.10 / syscalls schema 8: cooperative fcntl locks (optional BARE_OS_POSIX_FCNTL_BLOCKING_WAIT: F_SETLKW FIFO waiters per path, BARE_OS_FCNTL_LOCK_WAIT_MS_MAX ETIMEDOUT; not full POSIX deadlock detection), SOCK_DGRAM passive bind(2) via bareDgram + recv/sendto-style send with port+host args when bound without connect, optional connect after bind; poll/select readability for udp_bound; sendmsg/recvmsg partial iovec/msgHdr; socketMsgSurface schema 3 documents ancillary ENOTSUP. /bin/split POSIX-style suffixes. Dynamic sysconf via ctx.bareOsGetconfSysconf; replication operator sketch RPC schema 2. |
| Utilities | tier1_bin | high |
| Utilities | sed_awk_grep | issue7_inspired_js_engines |
| Utilities | coreutils | see packages/bare-os-coreutils/src |
@@ -27,4 +27,4 @@ Normative narrative: [`docs/architecture/POSIX_DECLARED_PROFILE.md`](../architec
| synthetic /proc | syscalls_json_schema | 8 |
| synthetic /proc | process_table_schema | 7 |
| synthetic /proc | paths | /proc/bare_os/syscalls.json, /proc/bare_os/process_table.json |
| synthetic /proc | posix_xsh_surface | open,close,read,write,readv,writev,getsockopt,setsockopt,lseek,pipe,dup,dup2,fcntl cooperative F_GETLK/F_SETLK/F_SETLKW + F_GETFL/F_SETFL,poll,select,umask,socket,bind,listen,accept,connect,send,recv,recvfrom,sendmsg,recvmsg,shutdown in syscalls.json posixXsh.namesCsv; default socket ENOSYS-shaped; BARE_OS_POSIX_SOCKET_FD_BRIDGE SOCK_STREAM connect via bareTcp; passive SOCK_STREAM bind+listen+accept via bareTcp.Server; accepted stream fds use send/recv with bounded tcpRecvQueue; SOCK_DGRAM connect+send+sendmsg+recv+recvfrom+recvmsg via bareDgram with BARE_OS_POSIX_DGRAM_RECVQ_MAX / BARE_OS_POSIX_DGRAM_RECV_BLOCK_MS_MAX; BARE_OS_POSIX_ACCEPT_QUEUE_MAX; poll/select mark UDP bridge fds readable when queue non-empty, TCP accepted fds when tcpRecvQueue non-empty, listening fds when accept queue non-empty; ctx.bareOsSyscall readv/writev on POSIX_FD_SIM pipes; ctx.bareOsPosixPoll; socketMsgSurface schema 3 documents partial sendmsg/recvmsg on bridge + ancillaryControl rejection contract |
| synthetic /proc | posix_xsh_surface | open,close,read,write,readv,writev,getsockopt,setsockopt,lseek,pipe,dup,dup2,fcntl cooperative F_GETLK/F_SETLK/F_SETLKW + F_GETFL/F_SETFL,poll,select,umask,socket,bind,listen,accept,connect,send,recv,recvfrom,sendmsg,recvmsg,shutdown in syscalls.json posixXsh.namesCsv; default socket ENOSYS-shaped; BARE_OS_POSIX_SOCKET_FD_BRIDGE SOCK_STREAM connect via bareTcp; passive SOCK_STREAM bind+listen+accept via bareTcp.Server; accepted stream fds use send/recv with bounded tcpRecvQueue; SOCK_DGRAM passive bind via bareDgram.Socket.bind, connect optional after bind, send with explicit port+host when udp_bound without default peer; connect+send path unchanged; BARE_OS_POSIX_DGRAM_RECVQ_MAX / BARE_OS_POSIX_DGRAM_RECV_BLOCK_MS_MAX; BARE_OS_POSIX_ACCEPT_QUEUE_MAX; poll/select mark UDP bridge fds (connected or udp_bound) readable when dgram queue non-empty; TCP accepted fds when tcpRecvQueue non-empty; listening fds when accept queue non-empty; ctx.bareOsSyscall readv/writev on POSIX_FD_SIM pipes; ctx.bareOsPosixPoll; socketMsgSurface schema 3 ancillaryControl rejection contract (normative ENOTSUP for SCM_RIGHTS / non-empty cmsgs; optional BARE_OS_POSIX_SOCKET_SCM_RIGHTS reserved for future bare-ipc fd pass-through) |