# Retired Decisions 004-005 (Historical Notes) This file keeps historical rationale from decisions that were retired after being absorbed by specs. Status: pedagogical / historical (not normative). ## Mapping - Retired `004-host-fault-taxonomy.md` - Canonical source now: `../specs/16a-syscall-policies.md` - Retired `005-v1-vm-owned-input-intrinsics-and-language-agnostic-surface.md` - Canonical sources now: - `../specs/06-input-peripheral.md` - `../specs/16-host-abi-and-syscalls.md` - `../specs/16a-syscall-policies.md` ## Historical Rationale Snapshot ### 1) Why input left syscall path in v1 - repeated input reads through syscall would force large value transport; - deterministic frame snapshot works better as VM-owned intrinsic surface; - frontend syntax should stay language-specific while VM contract stays language-agnostic. ### 2) Why fault taxonomy was tightened - operational domain outcomes should be returned as `status`; - `Trap` should represent structural ABI misuse from guest side; - `Panic` should represent runtime invariant break; - broad `Unavailable` usage was causing severity ambiguity. ## Practical Outcome - Input is VM-owned and deterministic per logical frame. - Host-backed syscall ABI remains structurally stable. - Domain agendas now anchor fault discussions on spec `16a`, not on retired decisions.