Files
open_kernel/docs/ROADMAP.md
T

3.1 KiB

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.