Skip to content

QEMU 100 Completion Plan

André Borchert edited this page Jun 14, 2026 · 8 revisions

QEMU 100 Completion Plan

Purpose

This page defines the remaining work required to make OSAI 100% complete for the macOS/QEMU target.

This is a QEMU-hosted OS completion target. It does not mean physical Intel Desktop, Intel Xeon, AMD, or ARM/NVIDIA hardware is complete, and it does not authorize performance claims against Linux, BSD, or real hardware.

Contents

Definition of QEMU Complete

OSAI is 100% complete for macOS/QEMU when it can:

  • boot reliably in QEMU;
  • run multiple real EL0 user processes;
  • provide a minimal but real userspace control plane;
  • persist mutable state across reboot;
  • expose a usable filesystem surface;
  • exercise a real internal networking stack;
  • enforce AI Cell resource ownership;
  • run a deterministic CPU-only AI runtime boundary;
  • support app-agent source, workspace, build, test, update, and rollback flows in QEMU;
  • survive regression, fault-injection, reboot-loop, stress, and ABI gates;
  • produce clear machine-readable reports proving every QEMU contract;
  • keep performance claims disabled until physical hardware testing exists.

Progress Tracker

Milestone Phase Status Gate Report
60 Real scheduler and process model 🔵 Active next make qemu-process-gate build/qemu-milestone-60-process-gate.json
61 Real userspace command surface ⬜ Pending make qemu-osctl-gate build/qemu-milestone-61-osctl-gate.json
62 Minimal real filesystem surface ⬜ Pending make qemu-filesystem-gate build/qemu-milestone-62-filesystem-gate.json
63 App-agent workspace flow ⬜ Pending make qemu-app-agent-gate build/qemu-milestone-63-app-agent-gate.json
64 Network stack completion for QEMU ⬜ Pending make qemu-network-full-gate build/qemu-milestone-64-network-full-gate.json
65 CPU-only AI runtime MVP ⬜ Pending make qemu-cpu-ai-runtime-gate build/qemu-milestone-65-cpu-ai-runtime-gate.json
66 AI Cell production semantics in QEMU ⬜ Pending make qemu-ai-cell-gate build/qemu-milestone-66-ai-cell-gate.json
67 Security and capability hardening ⬜ Pending make qemu-security-gate build/qemu-milestone-67-security-gate.json
68 Update, rollback, and recovery ⬜ Pending make qemu-update-gate build/qemu-milestone-68-update-gate.json
69 Long-run stability and stress ⬜ Pending make qemu-soak-gate build/qemu-milestone-69-soak-gate.json
70 QEMU release artifact ⬜ Pending make qemu-release build/qemu-release-manifest.json
71 Final QEMU 100 gate ⬜ Pending make qemu-100-gate build/qemu-100-report.json

Milestone 60: Real Scheduler and Process Model

Goal: move beyond the current two foreground EL0 process path.

Required work:

  • Add process table growth beyond the current smoke path.
  • Add runnable, waiting, exited, and failed states.
  • Add cooperative scheduling first.
  • Add timer-driven preemption only for non-hot-path cores.
  • Add process wait and exit semantics.
  • Add parent/child supervision.
  • Add per-process address-space metadata.
  • Add process kill and restart paths.
  • Add tests for failed process cleanup.

Definition of done: QEMU boots, launches /init, the service manager, and at least three child user processes. The kernel reclaims all exited processes, and telemetry proves no leaked process slots.

Gate:

  • make qemu-process-gate

Milestone 61: Real Userspace Command Surface

Goal: make OSAI usable from a real internal control binary instead of boot fixtures.

Required work:

  • Expand osctl.
  • Add osctl status.
  • Add osctl ps.
  • Add osctl services.
  • Add osctl cells.
  • Add osctl fs.
  • Add osctl net.
  • Add osctl telemetry.
  • Add osctl update.
  • Add osctl rollback.
  • Add command parser tests.
  • Add syscall-backed status APIs.
  • Add permission checks per command.

Definition of done: all commands run from EL0 userspace, invalid commands fail cleanly, and missing capabilities fail closed.

Gate:

  • make qemu-osctl-gate

Milestone 62: Minimal Real Filesystem Surface

Goal: turn the mutable filesystem from a contract layer into a usable OS filesystem.

Required work:

  • Add directory listing.
  • Add file create, read, write, and delete.
  • Add file rename.
  • Add file metadata.
  • Add open, read, write, and close syscall APIs.
  • Add path normalization.
  • Add read-only versus mutable mount rules.
  • Add journal replay tests.
  • Add corruption tests.
  • Add filesystem capacity tests.

Definition of done: /etc, /bin, /state, /logs, /workspaces, and /models behave predictably. Reboot reloads mutable state, and rollback restores previous filesystem state.

Gate:

  • make qemu-filesystem-gate

Milestone 63: App-Agent Workspace Flow

Goal: make the OSAI app-agent thesis real inside QEMU.

Required work:

  • Add workspace records under /workspaces.
  • Add source-index loading from a fixture repo.
  • Add patch staging.
  • Add patch apply and revert.
  • Add build sandbox execution model.
  • Add test result records.
  • Add Git sync metadata model.
  • Add rollback after failed build or test.
  • Add app-agent lifecycle telemetry.

Definition of done: a QEMU app agent can inspect a source tree fixture, stage a patch, apply it, run a deterministic build, run tests, persist the result, and roll back on failure.

Gate:

  • make qemu-app-agent-gate

Milestone 64: Network Stack Completion for QEMU

Goal: make QEMU networking more than parser and state smoke paths.

Required work:

  • Add packet buffer pool.
  • Add UDP send and receive path.
  • Add UDP socket-like userspace API.
  • Add TCP listen, connect, accept, established, close, timeout, and reset states.
  • Add per-core queue ownership checks.
  • Add malformed packet tests.
  • Add QEMU host-user network test harness.

Definition of done: userspace can send and receive UDP through QEMU, TCP state transitions are internally complete enough for control traffic tests, and queue ownership telemetry remains clean.

Gate:

  • make qemu-network-full-gate

Milestone 65: CPU-Only AI Runtime MVP

Goal: move from deterministic simulator to a minimal real CPU-only model runtime boundary.

Required work:

  • Define the final QEMU model file ABI.
  • Add model metadata parser.
  • Add tokenizer table loading.
  • Add deterministic tiny inference kernel.
  • Add shared read-only weight mapping.
  • Add private KV/cache per AI Cell.
  • Add admission control by memory and core budget.
  • Add multi-agent shared model test.
  • Add model unload and refcount behavior.

Definition of done: multiple AI Cells share one model mapping, each cell has private KV/cache, bad model files are rejected, and GPU-required model metadata is rejected.

Gate:

  • make qemu-cpu-ai-runtime-gate

Milestone 66: AI Cell Production Semantics in QEMU

Goal: make AI Cells the real native execution unit.

Required work:

  • Finalize AI Cell descriptor ABI.
  • Add cell create, start, stop, restart, and destroy syscalls.
  • Enforce exclusive core leases.
  • Enforce arena reservations.
  • Enforce NIC queue binding.
  • Enforce workspace binding.
  • Add telemetry per cell.
  • Add conflict tests for duplicate core, duplicate queue, duplicate workspace, missing model, and insufficient memory.

Definition of done: userspace can create and manage AI Cells, all resource conflicts fail closed, and destroy releases all resources.

Gate:

  • make qemu-ai-cell-gate

Milestone 67: Security and Capability Hardening

Goal: make QEMU security policy internally consistent.

Required work:

  • Audit the capability model.
  • Add per-process capability sets.
  • Add per-service capability manifests.
  • Add filesystem access policy.
  • Add workspace access policy.
  • Add update and rollback authorization.
  • Add secret logging denial.
  • Add admin command allowlist.
  • Harden the signed update stub.
  • Add a security regression matrix.

Definition of done: every protected operation has a positive and negative test, unauthorized actions fail closed, and no secrets appear in logs or reports.

Gate:

  • make qemu-security-gate

Milestone 68: Update, Rollback, and Recovery

Goal: make update behavior credible in QEMU.

Required work:

  • Add update transaction format.
  • Add staged update state.
  • Add committed update state.
  • Add failed update recovery.
  • Add rollback point creation.
  • Add boot fallback path.
  • Add update audit log.
  • Add corrupted update tests.

Definition of done: a staged update can fail and recover, a committed update can roll back, and reboot preserves update state.

Gate:

  • make qemu-update-gate

Milestone 69: Long-Run Stability and Stress

Goal: prove the QEMU OS survives more than smoke tests.

Required work:

  • Add a 25-boot default loop.
  • Add a 100-boot optional soak.
  • Add repeated process create and exit.
  • Add filesystem churn.
  • Add network packet churn.
  • Add AI Cell create and destroy churn.
  • Add memory allocation and free churn.
  • Add telemetry leak checks.

Definition of done: the 25-boot default soak passes, no monotonic resource leak appears, and the optional 100-boot soak can be run manually.

Gate:

  • make qemu-soak-gate

Milestone 70: QEMU Release Artifact

Goal: make QEMU OSAI reproducible and reviewable.

Required work:

  • Add make qemu-release.
  • Generate the boot image.
  • Generate the test block image.
  • Include contract JSON files.
  • Include all gate reports.
  • Include a release manifest.
  • Include a checksum file.
  • Include a boot log archive.
  • Add version metadata.
  • Add release notes template.

Definition of done: a clean checkout can build and produce a complete QEMU release bundle.

Gate:

  • make qemu-release

Milestone 71: Final QEMU 100 Gate

Goal: one command proves QEMU completeness.

Required work:

  • Add make qemu-100-gate.
  • Run the existing post-51 gate.
  • Run the process gate.
  • Run the osctl gate.
  • Run the filesystem gate.
  • Run the app-agent gate.
  • Run the full network gate.
  • Run the CPU-AI runtime gate.
  • Run the AI Cell gate.
  • Run the security gate.
  • Run the update gate.
  • Run the soak gate.
  • Run the release gate.

Definition of done: make qemu-100-gate exits 0, writes build/qemu-100-report.json, the wiki Project Tracker marks the QEMU target complete, and README states that the QEMU target is complete while hardware targets remain pending.

Gate:

  • make qemu-100-gate

Execution Order

  1. Milestone 60: scheduler and process model.
  2. Milestone 61: userspace command surface.
  3. Milestone 62: filesystem surface.
  4. Milestone 63: app-agent workspace flow.
  5. Milestone 64: full QEMU networking.
  6. Milestone 65: CPU-only AI runtime MVP.
  7. Milestone 66: AI Cell production semantics.
  8. Milestone 67: security hardening.
  9. Milestone 68: update, rollback, and recovery.
  10. Milestone 69: soak and stress.
  11. Milestone 70: QEMU release artifact.
  12. Milestone 71: final QEMU 100 gate.

Completion Rule

The QEMU target is complete only when make qemu-100-gate passes from a clean checkout and writes build/qemu-100-report.json with status=pass.

Physical hardware validation, tuned Linux/BSD baselines, and any performance claims remain outside this QEMU completion rule.

Clone this wiki locally