diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 8e6218a..c6fbfe7 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -110,6 +110,15 @@ recorded is indistinguishable from law that was never agreed. ### Changed +- **RFC-0004 accepted** (2026-08-01, by the maintainer). The IPC design — synchronous unbuffered + rendezvous, endpoints as RFC-0003 capability objects, virtual-register fast path with a bounded + copying slow path, move-only capability transfer, `call` with single-use reply objects, bounded + notifications — is accepted in the form the 2026-07-30 prior-art review revised it to. The §9 open + questions remain expressly open and join their named RFCs (copy-vs-map → MMU, multi-core rendezvous + → scheduler, register budget → syscall ABI). With both halves of the core mechanism now accepted on + paper — RFC-0003 already built and host-proven — the next design work is the initial kernel object + set and bootstrap (RFC-0003 §14.4), after which endpoints become the capability table's first real + consumer. - **Constitution §3 amended, on the maintainer's authorisation (2026-08-01): the compile-time claim is scoped.** The kernel-doctrine slogan "Rust's ownership and move semantics model capability transfer at compile time" now reads "…model the kernel's own capability handling at compile time — diff --git a/docs/rfcs/0004-ipc.md b/docs/rfcs/0004-ipc.md index d11e979..0c20cf2 100644 --- a/docs/rfcs/0004-ipc.md +++ b/docs/rfcs/0004-ipc.md @@ -4,13 +4,22 @@ | Field | Value | |-------|-------| -| Status | **Proposed** — the paper the design is argued on, awaiting the maintainer's verdict | +| Status | **Accepted** — 2026-08-01, by the maintainer, as revised by the prior-art review | | Author | Drafted by Claude Code as sparring partner; verdict the maintainer's | | Date | 2026-07-30 | | Affects | Constitution §3 (kernel doctrine, "IPC is the product"); the syscall ABI; the scheduler; every userspace service | | Depends on | RFC-0003 (capability table) — endpoints are objects, transfer moves capabilities | | Discharges | Contributes to O-5 (argument validation), O-7 (no unprivileged exhaustion), O-9 (no ambient side channel); the substrate for O-10 (broker) and O-17 (drivers) | +> **Accepted.** The synchronous unbuffered rendezvous (§4) is the IPC primitive; endpoints are +> RFC-0003 capability objects (§3); the virtual-register fast path and bounded copying slow path +> (§5), move-only capability transfer in messages (§6), `call` with single-use first-class reply +> objects and bounded notifications (§8) all stand, in the form the 2026-07-30 prior-art review +> revised them to. Accepting this RFC does not pre-empt the open questions in §9 — the slow-path +> copy-vs-map verdict joins the MMU RFC, multi-core rendezvous joins the scheduler RFC, and the +> exact register budget joins the syscall ABI RFC. Anything the first implementation PR proves +> wrong comes back here as a dated amendment, per house practice. +> > **Revised 2026-07-30 after the prior-art review > ([docs/research/0001](../research/0001-capabilities-and-ipc-prior-art.md)).** The spine — synchronous > rendezvous, endpoints-as-capabilities, bounded notifications, no kernel timeout — was validated