-
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 | 🔵 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 |
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
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
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