Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 —
Expand Down
11 changes: 10 additions & 1 deletion docs/rfcs/0004-ipc.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down