# Roadmap and acceptance evidence Each milestone should include source, tests, an exact build command, and an accompanying University lesson. The remaining work is substantial; the first boot milestone is not a complete OS. | Milestone | State | Acceptance evidence | | --- | --- | --- | | M0: honest source inventory and host build | Implemented | `make run` accurately reports placeholders; build instructions reproduce | | M1: bounded Ada ports and V interoperability | Implemented | `make test` passes normal, denied, boundary, stale-reference, and ABI checks | | M2: x86-64 virtual-machine boot | Implemented | `make boot-test` checks long-mode Ada entry, shared port-core tests, serial proof and exit status | | M3: exceptions and physical-memory inventory | Planned | Controlled exceptions produce structured diagnostics; parse Multiboot memory data with bounds; never allocate reserved/kernel/page-table/stack regions | | M4: page allocator and protected address spaces | Planned | Reuse/free exhaustion tests; read-only and unmapped access faults; separate users cannot read each other's pages; executable/write policies defined | | M5: timer, context switching and scheduling | Planned | Two tasks make progress; register/context preservation; bounded queues; starvation/cancellation cases documented | | M6: syscall IPC and service restart | Planned | Identity comes from trusted task state; invalid user pointers fail safely; service crash/restart does not corrupt another service; stale endpoint references fail | | M7: storage, network and devices | Planned | Disposable virtual disk/network tests; crash/recovery and corruption cases; no physical-disk experiments without explicit approval | | M8: application/framework contracts | Planned | Versioned Ada/V APIs, event loop, lifetime rules, serialization tests, and a working sample application | | M9: Open Amiga integration | Awaiting source | Identify owner's repository, license, architecture and build; choose bounded component and test compatibility explicitly | | M10: additional ISAs and CPU/GPU placement | Planned | Independent target boots, measured topology/transfer/latency evidence, synchronization tests; unsupported targets clearly labeled | ## Useful first contributions 1. Add an independently written randomized FIFO reference-model test and demonstrate that a deliberate queue bug is caught. 2. Test replacement of an allowed sender and the policy for messages already queued before revocation. 3. Add a boot-failure fixture or reproducible fault injection so the smoke test is shown to reject a false pass. 4. Improve translated build instructions with actual commands and captured output from a clean machine. 5. Design bounded parsing of the bootloader memory map with malformed/truncated fixtures before touching an allocator. 6. Specify a versioned service-message format with length, operation, request ID, and serialization test vectors. Every task should identify the relevant files, expected behavior, tests to run, and limits. Review must assess whether evidence establishes the claimed property, not just whether a demo prints a success message.