Repository navigation
docs: RFC-0005, RFC-0006, RFC-0007 (WIP — under review, do not merge) - #22
Conversation
Backup only — the review and revision workflows are still running. This commit will be replaced by the final, reviewed RFC commits before any PR is opened. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Pull request was converted to draft
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
|
CI red on f94bd19: known, and this PR's to fix. The file is still being revised by the drafting workflow, so it will be rewrapped in the final pass rather than now, which would mean racing the reviser's edits. This PR is a draft of work-in-progress snapshots and cannot merge in this state. Before it's marked ready, the final pass will run the full CI suite locally on the finished text. Generated by Claude Code |
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the revision workflows are still running. Carries the reviser's rewrap of RFC-0005's verdict box, which clears MD013. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the revision workflows are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Automatic five-minute backup of work in progress. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; RFC-0005's workflow has finished, RFC-0006 and RFC-0007 are still being revised. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the final revision agents for RFC-0006 and RFC-0007 are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Backup only; the final revision agents for RFC-0006 and RFC-0007 are still running. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Proposed RFC-0006 after the draft duel, synthesis, three-lens review (62 findings, 2 blockers) and revision. Awaiting the maintainer's verdict; not yet cross-checked against RFC-0005 and RFC-0007. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Proposed RFC-0007 after the draft duel, synthesis, three-lens review (48 findings, 3 blockers) and revision. Awaiting the maintainer's verdict; not yet cross-checked against RFC-0005 and RFC-0006. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Hand-off: paused 2026-09-27, ~17:10 CEST (credits)State: three proposed RFCs, each drafted twice (once by Opus 5.5, once by Fable 5.1), blind-judged by two judges, synthesised, reviewed through three lenses (constitution, technical correctness, implementability) and revised. Head
The verdict boxes at the top of each RFC are the twenty-minute read. Next session, in order
Decisions only the maintainer can make (full lists are in each RFC's Open questions)
x86_64 boot findings (input for a future RFC-0008)
Model comparison, as askedOpus 5.5 won all three drafting duels, and the Fable 5.1 judges agreed each time. Fable's drafts were often the cleaner read and carried better review aids (bit-position tables, "refused when" columns), and those were grafted in. They also carried design-level errors in exactly the unforgiving places: boot-time page tables that left the UART unmapped, missing barriers in the cache and TLB sequences, an FP/SIMD scheme that reopened CVE-2018-3665, and a syscall ABI with no register for the received tag. Recommendation: use Opus to draft and decide, and Fable as an adversarial technical reviewer. That split looks promising, but these three duels are the only evidence behind it. Environment notes
Generated by Claude Code |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Pull Request
Summary
This adds two foundational RFCs to the design record: RFC-0005 specifies the memory management subsystem (address spaces, physical memory, frame allocation, and W^X enforcement), and RFC-0006 specifies the threading and scheduling model (the event kernel, scheduling contexts as capabilities, priority dispatch, and budget donation). Together they discharge O-7 (resource accounting), O-8 (memory safety), O-13 (W^X), and answer open questions from RFC-0003 and RFC-0004.
Explanation for the maintainer
These two RFCs form the load-bearing layer between the capability model (RFC-0003) and the IPC mechanism (RFC-0004), and between the abstract design and the concrete system calls (RFC-0007, proposed). They are tightly coupled — RFC-0006 depends on RFC-0005 for kernel stacks and object memory, RFC-0005 depends on RFC-0006 for the scheduler's own structures — and were drafted together as a coherent whole.
RFC-0005 (Address spaces and physical memory) establishes:
MemoryMapPoolas the accounting layer (O-7)Region(memory),AddressSpace(page tables), andMapping(records, not capabilities)EXECUTEas a new right (bit 5) on RFC-0003's set, meaningful only on Regions and PoolsSCTLR_EL1.WXNreissueas the destruction-case operation that tears down all mappingsRFC-0006 (Threads and scheduling) establishes:
Threadobject with nine states, a fixed-size TCB, and authority-freeyieldandexitSchedContextas an object holding budget, period, and refills — time as a capability (O-4)Coreobject, one per core, minted to the root task, as the authority to sell time on that corecallto passive servers atmax(own, caller's)priorityBudgetExpiredon exhaustion, timeout faults for stranded serversIrqHandlerobjects that signal notificationsBoth RFCs are proposed verdicts awaiting the maintainer's decision. They are written as design records, not specifications: they state the mechanism, not the policy. They discharge commitments from RFC-0003 and RFC-0004, answer open questions those RFCs left, and establish the invariants the system calls (RFC-0007) and the HAL will rely on.
The RFCs are complete
https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW