Expand bounded awk/expr/test toward Issue 7; refresh man, profile 1.0.18,
posix matrix/dashboard, and syscalls/process_table schema alignment (v8). Booter: replication_operator_sketch/corestore hints, HRPC allowlist tests, Protomux cap channel 65536-byte bound + export, Wasm posix_profile_peek, swarm-disk and security_posture docs. Coreutils/kernel: pkg-swarm-index pathCapabilityEnvelopeVerify on get; pathcap-verify --trusted failure hint; rebuild bins and sync seeder. Docs: KERNEL_CONTRACT, kernel-extensions, capabilities index, environment appendix (warm-cache tuning, cap channel, Wasm env), handbook observability, vault threat model (multisig), developer-guide ctx/HRPC/Wasm, DOCUMENTATION release-checklist note, release-checklist optional tier1 drift. Changelog maintenance in bare-os-booter and bare-os-protocol.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
[Reference index →](README.md)
|
||||
|
||||
This document maps the **guest-visible** syscall-shaped surface to POSIX.1-2017 XSH-style names and to Bare OS implementation paths. The **machine-readable** source of truth is built at runtime into **`/proc/bare_os/syscalls.json`** (schema **10**) via [`buildBareOsSyscallsProcJson`](../../packages/bare-os-booter/lib/bare-os-syscalls-proc-json.js). Stock **`ctx.bareOsSyscall('posix_fadvise', { path, offset?, len?, advice? })`** is a **simulated** no-op for portable Issue 7-style hints on Hyperdrive-backed paths.
|
||||
This document maps the **guest-visible** syscall-shaped surface to POSIX.1-2017 XSH-style names and to Bare OS implementation paths. The **machine-readable** source of truth is built at runtime into **`/proc/bare_os/syscalls.json`** (schema **11**) via [`buildBareOsSyscallsProcJson`](../../packages/bare-os-booter/lib/bare-os-syscalls-proc-json.js). Stock **`ctx.bareOsSyscall('posix_fadvise', { path, offset?, len?, advice? })`** is a **simulated** no-op for portable Issue 7-style hints on Hyperdrive-backed paths.
|
||||
|
||||
## Source modules
|
||||
|
||||
@@ -30,6 +30,20 @@ These names appear in **`BARE_OS_STOCK_SYSCALL_OPS`** and are invoked as **`ctx.
|
||||
|
||||
**`BARE_OS_POSIX_XSH_OPS_DETAIL`** lists Issue 7–style names (**`open`**, **`close`**, **`read`**, **`write`**, **`pipe`**, **`dup`**, **`dup2`**, **`fcntl`**, **`poll`**, **`select`**, **`lseek`**, **`nanosleep`**, **`clock_gettime`**, **`umask`**, socket family aliases, etc.) with **`posixAlignment`**: **`simulated`**, **`partial`**, or **`ENOTSUP`**. They are **not** all separate **`ctx.bareOsSyscall`** op strings; they document how guest utilities and Wasm shims should reason about behavior. **Wasm:** only the small **sync** import set under **`BARE_OS_WASM_KERNEL_SYSCALL`** is wired into linear memory; use JS **`ctx.bareOsSyscall`** for **`clock_gettime`** and other async-shaped ops. The CSV of names is exposed as **`posixXsh.namesCsv`** in proc JSON.
|
||||
|
||||
## Structured errno payloads (`partial` / `ENOTSUP`)
|
||||
|
||||
When the socket FD bridge or **`sendmsg`** / **`recvmsg`** paths reject input, stock **`ctx.bareOsSyscall`** throws or returns **`Error`** objects carrying stable machine fields (see [`packages/bare-os-booter/index.js`](../../packages/bare-os-booter/index.js)):
|
||||
|
||||
| Field | Role |
|
||||
| --- | --- |
|
||||
| **`code`** | Short token (**`ENOTSUP`**, **`EINVAL`**, **`EBADF`**, **`EAGAIN`**, **`ETIMEDOUT`**, …) aligned with POSIX errno names where applicable |
|
||||
| **`errnoHint`** | Same as **`code`** for proc JSON symmetry |
|
||||
| **`posixAlignment`** | **`ENOTSUP`**, **`partial`**, or **`simulated`** — mirrors **`opsDetail.posixAlignment`** |
|
||||
| **`note`** | Human-readable reason (iov cap, ancillary unsupported, SCM_RIGHTS dup failure, unknown FD, …) |
|
||||
| **`op`** | Syscall-shaped op name (**`sendmsg`**, **`recvmsg`**, **`connect`**, …) for log correlation |
|
||||
|
||||
**`recvmsg`** on the bridge reports **`controllen: 0`** when ancillary data is not surfaced; non-empty host-style cmsg requests without **`BARE_OS_POSIX_SOCKET_SCM_RIGHTS`** yield **`ENOTSUP`** with **`note`** explaining the gate. **`socketMsgSurface`** in proc JSON (schema **5**) documents **`sendmsg`** / **`recvmsg`** caps and rejection shapes.
|
||||
|
||||
## Intentionally absent or non-kernel
|
||||
|
||||
- **Real host `fork`, host PID namespaces, real kernel `waitpid`** — The process table is synthetic; see **`/proc/bare_os/process_table.json`**.
|
||||
|
||||
Reference in New Issue
Block a user