2.9 KiB
2.9 KiB
| id | ticket | title | status | created | ref_decisions | tags | |
|---|---|---|---|---|---|---|---|
| PLN-0130 | system-run-cart | Remove Runtime Run Cart Stub Dispatch | open | 2026-07-03 |
|
Briefing
DEC-0035 forbids a callable userland system.run_cart stub. This plan covers
runtime and VM dispatch cleanup so obsolete calls cannot silently succeed.
Public ABI removal is handled by PLN-0129; direct boot preservation is handled
by PLN-0131.
Objective
Remove the runtime no-op dispatch path for SystemRunCart and ensure stale or
obsolete userland attempts fail explicitly rather than returning success.
Dependencies
- Source decision:
DEC-0035. - Depends on the ABI direction in
PLN-0129, but can be implemented in the same PR if the public enum/registry removal and dispatch cleanup move together.
Scope
- Remove the
Syscall::SystemRunCart => return Ok(())path fromcrates/console/prometeu-system/src/services/vm_runtime/dispatch.rs. - Update any match arms made unreachable or obsolete by removing
SystemRunCart. - Ensure stale numeric syscall ids or stale bytecode declarations fail with the repository's existing unknown/invalid syscall behavior.
- Add negative coverage for userland attempts to invoke the removed operation, using the closest existing VM runtime syscall tests.
Non-Goals
- Do not implement a replacement navigation operation.
- Do not implement the
Home -> another Gameorchestrator. - Do not alter direct host/CLI/debug cartridge boot paths.
- Do not change
system.has_cartbehavior unless required by compile fallout.
Execution Method
- Inspect
dispatch.rsfor allSystemRunCartmatch arms. - Remove the no-op success path and any unreachable arms tied only to
SystemRunCart. - If the public enum variant is removed by
PLN-0129, update exhaustiveness and registry mapping accordingly. - Add or update VM runtime tests that demonstrate
system.run_cartis not callable from guest/userland. - Run targeted runtime tests and compile checks.
Acceptance Criteria
- There is no runtime path where a guest
system.run_cartcall returnsOk(()). - Stale/obsolete attempts fail explicitly through existing invalid syscall or declaration validation behavior.
system.has_cartand unrelated system syscalls keep their current behavior.- Runtime dispatch remains exhaustive and clear after removing
SystemRunCart.
Tests
- Add a negative test in
crates/console/prometeu-system/src/services/vm_runtimefor stale userlandrun_cartattempts, if the test harness can express it. - Run
cargo testforprometeu-systemand any impacted syscall crates. - Run a workspace compile/test command if targeted tests reveal cross-crate enum fallout.
Affected Artifacts
crates/console/prometeu-system/src/services/vm_runtime/dispatch.rscrates/console/prometeu-system/src/services/vm_runtime/tests.rscrates/console/prometeu-hal/src/syscalls.rscrates/console/prometeu-hal/src/syscalls/registry.rs