-
Notifications
You must be signed in to change notification settings - Fork 0
QEMU 100 Completion Plan
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.
- Definition of QEMU Complete
- Progress Tracker
- Milestone 60: Real Scheduler and Process Model
- Milestone 61: Real Userspace Command Surface
- Milestone 62: Minimal Real Filesystem Surface
- Milestone 63: App-Agent Workspace Flow
- Milestone 64: Network Stack Completion for QEMU
- Milestone 65: CPU-Only AI Runtime MVP
- Milestone 66: AI Cell Production Semantics in QEMU
- Milestone 67: Security and Capability Hardening
- Milestone 68: Update, Rollback, and Recovery
- Milestone 69: Long-Run Stability and Stress
- Milestone 70: QEMU Release Artifact
- Milestone 71: Final QEMU 100 Gate
- Execution Order
- Completion Rule
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.
| 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 |
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.
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.
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
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
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
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
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
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
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
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
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
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
- Milestone 60: scheduler and process model.
- Milestone 61: userspace command surface.
- Milestone 62: filesystem surface.
- Milestone 63: app-agent workspace flow.
- Milestone 64: full QEMU networking.
- Milestone 65: CPU-only AI runtime MVP.
- Milestone 66: AI Cell production semantics.
- Milestone 67: security hardening.
- Milestone 68: update, rollback, and recovery.
- Milestone 69: soak and stress.
- Milestone 70: QEMU release artifact.
- Milestone 71: final QEMU 100 gate.
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.
This page defines the GitHub Wiki navigation sidebar.
- Architecture
- AI Cells
- CPU AI Runtime
- App Agents
- Memory System
- Networking
- Scheduler and Core Isolation
- Filesystem and Storage
- Driver Model
- Security Model
- Build System
- Build System
- Project Tracker
- Implementation Plan
- QEMU Full OS Core Workdown
- QEMU 100 Completion Plan
- Example Apps
- Codex Work Packages
- Testing and Benchmarking