Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Current Design Authority

The current capOS design lives in reader-facing architecture, capability, security, device, configuration, and status pages. Proposal documents remain important design history, but they stop being the primary place to patch a design after that design is implemented or accepted as the working baseline.

Stable Homes

Use these homes for current behavior and accepted contracts:

AreaCurrent-design home
Boot, manifest, init, processes, rings, IPC, session context, memory, schedulingdocs/architecture/
Capability model, authority accounting, ABI policydocs/capability-model.md, docs/authority-accounting-transfer-design.md, docs/abi-evolution-policy.md
Operator configuration and CUE overlaysdocs/configuration.md
DMA isolation, device authority, trusted inputs, panic surfacesdocs/dma-isolation-design.md, docs/devices/, docs/trusted-build-inputs.md, docs/panic-surface-inventory.md
Current status, roadmap, backlog, task lifecycledocs/status.md, docs/roadmap.md, docs/backlog/, docs/tasks/
Proposal status and archival decision recordsdocs/proposals/index.md and individual files under docs/proposals/

When a current-design home already exists, future implementation slices update that page. When none exists and the proposal has become the working design, create or extend a stable page in the nearest existing area instead of leaving the proposal as the only current reference.

Proposal Lifecycle

The proposal index classifies proposals with these roles:

  • Active design: near-term design work still being changed before or during implementation. It may remain the primary working document while the design is not stable.
  • Accepted design: selected direction. It can guide implementation, but any implemented subset needs a stable current-design page or an explicit pointer to the page that already owns the current contract.
  • Partially implemented: some behavior is in tree. The proposal must distinguish present behavior from planned behavior, and current pages should describe the implemented subset.
  • Implemented: the proposal is an archival decision record. Future changes update the stable current-design docs and code references first; the proposal changes only for archival status, links, or corrected history.
  • Superseded or Rejected: historical records. They should point at the replacement or rejection rationale and must not be cited as current behavior.

Initial Promotions

This repository already had stable homes for several implemented or accepted designs. The initial promotion set makes the weakest current-authority links explicit:

Proposal or decisionCurrent-design authorityDisposition
Session-Bound Invocation Contextdocs/architecture/session-context.md, with endpoint transport details in docs/architecture/ipc-endpoints.mdImplemented proposal becomes archival history.
Error Handlingdocs/architecture/error-handling.md, with ring transport details in docs/architecture/capability-ring.mdImplemented proposal becomes archival history.
System Configurationdocs/configuration.md and docs/architecture/manifest-startup.mdImplemented proposal stays as rationale and closeout history.
DMA Assurance Modeldocs/dma-isolation-design.mdAccepted design remains grounded in the stable DMA design page.
SMP and Scheduler Evolutiondocs/architecture/threading.md and docs/architecture/scheduling.mdAccepted design feeds current scheduler and threading contracts.

Follow-up promotions should focus on proposals whose implemented slices are large enough that readers still have to mine proposal text for current behavior. Good candidates include storage/naming, installable system, SystemInfo/System Manual, and userspace driver relocation once their current contracts settle further.