29 lines
3.1 KiB
Markdown
29 lines
3.1 KiB
Markdown
# 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.
|