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

Roadmap

This page owns capOS’s long-range architecture, outcome sequencing, and milestone history. It deliberately does not mirror live task state or current implementation detail.

QuestionAuthority
What is selected and runnable nowThe loopyard selected_milestone setting and task board
What works nowCurrent Status and the Current Design Authority map
What outcome comes nextThis roadmap
How an outcome is decomposeddocs/backlog/, the owning design page, and loopyard task dependencies
Which command proves a claimBuild, Run, Test and the gate registry
What a named milestone shippedMilestone History, with detailed evidence in the Changelog and git history

Current Direction

The live selected milestone is Public-Ready Multi-User Web UI. That value was verified against the loopyard project setting at this page’s review time; loopyard remains authoritative if it changes. Current Status summarizes the implemented boundary.

The outcome is a self-served Web UI whose anonymous ingress, authenticated sessions, lower-layer socket use, response delivery, and cleanup are bounded and observable under concurrent load. Completion requires independent browser sessions, generation-correct bounded delivery, and local ceiling and adversarial-coexistence evidence. Provider preflight, private billable proof, provider-health proof, and public Internet/TLS exposure are separate steps; each real provider or exposure action still requires fresh authorization.

Task status, dependency edges, per-slice readback fields, and current hold reasons belong in loopyard and the owning Resource Governance contract, not here.

Architectural Sequence

The numbered stages describe dependency direction, not a dispatch queue. Loopyard selects the concrete milestone and may interleave independent work when its dependencies and conflict domains permit it.

Foundations: Stages 0 Through 5

The bootable kernel, virtual memory, Ring 3 transition, process abstraction, shared capability ring, and preemptive scheduling foundation are complete. Their current behavior and validation live in Current Status, the Repository Map, and the architecture pages. Future work must extend these mechanisms without reopening the interface-as-permission model or adding ambient authority.

Stage 6: Capability IPC And Service Composition

The landed baseline includes cross-process Endpoint calls, copy/move transfer, local release and revocation, process spawning, immutable session context, notification objects, MemoryObject-backed zero-copy sharing, and one-hop promise pipelining over kernel and Endpoint antecedents.

The remaining architectural outcomes are:

  • service-facing SharedBuffer interfaces over the MemoryObject substrate;
  • promise chains deeper than one dependent hop, with an ABI-owned answer allocation identity;
  • stable service audit identity across intentional replacement or upgrade;
  • restart and notification-driven service composition without widening init or kernel authority.

Current contracts are owned by Capability Ring, IPC And Endpoints, Session Context, and Service Architecture. Detailed remaining work belongs in the linked backlogs and loopyard.

Stage 7: Concurrent Runtime, Networking, And Remote Operation

The landed baseline includes AP boot and selected-AP user execution, multi-process and in-process scaling proofs, fair-share scheduling, SchedulingContext budget enforcement and bounded Endpoint donation/return, bounded SQPOLL/nohz operation, a userspace TCP/IP stack, native shell, and focused remote-session/Web UI paths.

The remaining outcome families are:

  • concurrent scheduler ownership beyond the current selected-owner model and direct high-core hardware evidence;
  • EEVDF and realtime-island policy evaluation after the existing budget and isolation-capability substrate;
  • userspace-poller and device-queue placement under explicit policy;
  • production SSH and WebShell over durable account/key material, session lifecycle, the userspace network stack, and auditable listener authority;
  • standard Cap’n Proto RPC proxy transport and network-transparent services.

See Scheduling, Userspace Runtime, Networking, and the Stage 7 backlogs. The historical plaintext Telnet and kernel-socket fixtures are not production targets.

Hardware, Storage, And Portability

The local/QEMU storage substrate is complete through RAM-backed naming, virtio-blk, read-only and writable filesystems, persistent stores, bounded recovery, host-directory passthrough, and the installable-system proof. Device authority has landed for bounded DeviceMmio, DMAPool, and Interrupt paths, with a fail-closed DMA backend decision.

Long-range work remains:

  • production-hardware IOMMU programming and direct-remapping evidence beyond the bounded QEMU Intel path;
  • high-throughput and multiqueue NIC/storage ownership in userspace;
  • broader filesystems, secure boot, signed system generations, and production recovery policy;
  • AWS and Azure provider ports and separately authorized cloud proofs;
  • an aarch64 port after the x86_64 hardware abstraction is stable: EL0/EL1 entry, GICv3, ARM generic timer, PL011, TTBR layout, per-CPU state, and the architecture linker boundary.

Current storage and device behavior is in Current Status, Storage And Naming, the device maps, and DMA Isolation.

Identity, Policy, And Audit

The target is a durable identity and policy plane that grants narrow bundles to local, remote, service, guest, and external principals. Remaining outcomes include durable multi-account credentials and recovery identities, passkeys and explicit OIDC bindings, per-account/session resource profiles, policy labels implemented as wrapper capabilities, and persistent charged audit storage with protected recovery capacity. Authentication claims never substitute for resource admission or capability authority.

See User Identity And Policy, Local Users, and Trust Boundaries.

Security And Verification

Verification remains layered: host tests for pure logic, focused QEMU proofs for system behavior, bounded Loom/Kani/TLA+/Alloy models for named invariants, dependency and generated-code checks, and independent review. Bounded models must keep their bounds explicit and must not be described as universal proofs.

Future proof work follows concrete hazards: weak-memory and teardown races, untrusted-service exhaustion, public-ingress coexistence, durable recovery, high-core scheduling, and production device ownership. The owning sources are Verification Workflow, Security And Verification, and REVIEW.md.

Future Tracks

These tracks are not selected merely by appearing here. Promote one into loopyard only when it becomes a concrete visible outcome with an owning design and bounded acceptance evidence:

  • aarch64 and broader production hardware support;
  • Rust std, broader native C/POSIX and WASI, Go, Python, JavaScript/TypeScript, PUC Lua compatibility, C++, and browser/WASM support;
  • GPU/media capability integration, robotics realtime control, and scientific-agent workflows;
  • system monitoring, trusted time and clock authority, cloud metadata, volume encryption, formal MAC/MIC modeling, and debug/trace authority;
  • network transparency, persistence-at-scale and checkpoint/restore, live upgrade, crash recovery and supervision, and federated multi-instance demos;
  • SDK publication and distribution follow-ons, including the live-proxy Cap’n Proto RPC transport tracked by SDK Dual Transport;
  • typed native command surfaces that replace prototype application-owned StdIO parsing, as designed in Interactive Command Surfaces;
  • the self-hosted agent task backend described below.

Native no-std Rust, a bounded native C/POSIX adapter, and the WASI host adapter are implemented baselines; their presence does not complete the broader runtime tracks above.

The shared-service track continues to use chat, Adventure, and Paperclips to exercise resident services and capability-native clients. Per-feature demo narrative belongs in git history and the owning demo/backlog page, not in this roadmap.

Cross-Cutting Long-Range Tracks

Whitepaper

The schema-as-ABI paper consumes evidence from the implementation tracks; it does not define a second implementation plan. Its outline, evidence gaps, and claim boundaries live in docs/paper/ and papers/schema-as-abi/. Missing evidence stays explicit there until a normal implementation milestone produces it.

Self-Hosted Task Backend

The long-term outcome is a capability-native coordination backend running on capOS with durable validated tasks, dependency-derived runnable state, conflict-domain checks, and generation-fenced leases. PostgreSQL-backed loopyard is the current task authority and semantic reference. The bounded capOS coordinator, 9p persistence, HTTP/JSON adapter, and vibe-loop adapter are development proofs, not production storage, authentication, or public ingress. The gap inventory is Self-Hosted Task Backend.

Formal And Model-Based Engineering

seL4 HAMR and related model-driven techniques remain evaluation tracks rather than commitments to replace the Cap’n Proto-first runtime. Adopted techniques must preserve schema-defined interfaces, capability confinement, bounded resource accounting, and the existing executable proof workflow. See seL4 HAMR and seL4.

Milestone History

This ledger preserves named project outcomes. The timestamp is the recorded anchor or closeout time; the commit is the reviewed history anchor, not a claim that every later hardening change is contained in that one commit. Detailed measurements, commands, residuals, and follow-up slices belong in the Changelog, git history, and loopyard.

TimestampMilestoneAnchorBoundary
2026-04-22 16:35 UTCUnprivileged Strangerd4016abEmpty-capset userspace proof
2026-04-23 08:41 UTCNative Cap Shellf554e88Native capability shell runtime
2026-04-23 13:39 UTCBoot To Shelle5adafbInit-owned local setup/login and shell path
2026-04-23 15:42 UTCSplit UART Shell Session8b66c13Terminal and debug UART separation
2026-04-23 16:15 UTCRevocable Read7f19af2Parent revocation of a child grant
2026-04-23 22:09 UTCVerified Cored43b691Bounded Kani/Loom core gates
2026-04-24 00:13 UTCFirst Chat MVP2cd85a8Shared chat service/client proof
2026-04-24 01:40 UTCLocal MUD / Adventureadd7f9bMulti-process adventure prototype
2026-04-24 03:13 UTCRing As Black Boxda5f5e9Metadata-only ring trace path
2026-04-24 15:37 UTCFirst Packetb56a5c1QEMU kernel-network fixture; later retired as a socket owner
2026-04-24 16:47 UTCFirst HTTPa4f1722QEMU kernel HTTP fixture; later superseded by userspace networking
2026-04-25 05:32 UTCSMP Phase A0b79054BSP per-CPU entry state
2026-04-25 07:00 UTCSMP Phase Bd3c30c6AP startup and park
2026-04-25 11:31 UTCFirst AP Schedulerd88bca7Selected AP runs scheduler-owned user contexts
2026-04-25 20:25 UTCTelnet Shell Demo2834bfcHistorical local plaintext fixture; later retired
2026-04-29 12:24 UTCSession-Bound Invocation Context503abc9Immutable process sessions and privacy-preserving call context
2026-04-30 03:55 UTCPaperclips Terminal Demo6678d40Capability-granted standalone game proof
2026-04-30 09:45 UTCMulti-Process SMP Concurrency3fb89923Accepted bounded 1-to-2 process scaling proof
2026-05-01 14:12 UTCRemote Session CapSet Web UIfb102828Host-side development UI over a scoped remote CapSet
2026-05-01 14:58 UTCIn-Process Threading Scalability136b72deRepaired bounded thread-scale workload
2026-05-01 16:13 UTCRemote Session Adventure Launch5198e255Adventure service launch through a remote session
2026-05-08 09:06 UTCGCP Imported-Image Serial Boot3951e275Live no-public-IP serial boot run
2026-05-10 21:47 UTCScheduler Phase D1a08ec23Fair-share WFQ closeout and updated scaling evidence
2026-05-11 14:38 UTCSelf-Served capOS Remote Session Web UI28db3277Focused self-served UI fixture; its kernel-listener proof was later retired
2026-05-13 11:05 UTCWASI Bounded Environment Grant5f5028e7Manifest-bounded Preview 1 environment grant proof
2026-05-25 08:33 UTCLocal Disk Storageaf99a200BlockDevice plus read-only filesystem proof
2026-05-25 20:45 UTCPersistent Store1ade428bMulti-boot CAPOSST1 persistence and corruption boundary
2026-05-26 01:39 UTCWritable Local Storagefd4ac231Writable filesystem and bounded forced-poweroff recovery
2026-06-07 05:26 UTCGCP-First Usable Instanceb5fdcc3eRecorded serial, selected NIC/storage, and gVNIC evidence
2026-06-07 08:23 UTCDevice Driver Foundationef8d98c2Bounded production-authority closeout; not full hardware relocation
2026-06-07 18:20 UTCInstallable System12b8334aBounded local/QEMU install, provision, update, and rollback
2026-07-14 13:23 UTCAutoNoHz Policy Service14d852f3Userspace issuance, renewal, and revocation of bounded isolation leases
2026-07-19 19:43 UTCGCE Self-Hosted Web UI05956971Private same-VPC reachability closeout; supporting commit landed 2026-07-11 21:38 UTC
2026-07-21 01:22 UTCQEMU Host Directory Passthroughe339f88eBounded 9P read/write development fixture
2026-07-21 02:51 UTCHost-Inspectable Task Persistencefdd7debcCoordinator state persisted through writable 9p
2026-07-21 09:33 UTCHost-Accessible Persistent Task Backend2c291abcPersistent coordinator exposed through local HTTP/JSON
2026-07-21 10:22 UTCVibe-Loop Against Persistent capOS Backend05324347Local adapter contract over the bounded backend
2026-07-21 12:34 UTCCross-Vat Promise Pipelininge5fb9296One dependent hop across an Endpoint antecedent

The active Public-Ready Multi-User Web UI outcome is not a closeout and is not entered in this table. When the live selected milestone closes, record one verified row here, keep detailed evidence in its owning sources, and let loopyard select the next visible outcome.