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 ✅ Done make qemu-process-gate build/qemu-milestone-60-process-gate.json
61 Real userspace command surface ✅ Done make qemu-osctl-gate build/qemu-milestone-61-osctl-gate.json
62 Minimal real filesystem surface 🔵 Active next 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

Implementation status: complete in QEMU. The kernel now tracks eight process slots, runnable/running/waiting/exited/failed states, parent ids, dispatch ticks, active-process telemetry, and repeated EL0 worker execution from /bin/osai-worker.

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

Implementation status: complete in QEMU. The EL0 service manager now exercises osctl status, osctl ps, osctl services, osctl cells, osctl fs, osctl net, osctl telemetry, osctl update, and osctl rollback through the existing syscall-backed control plane.

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