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:
@@ -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 (aa–zz 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) |
|
||||
|
||||
Reference in New Issue
Block a user