# Phase 1A contract evidence - Date: 2026-07-18 - Requirement IDs: R-009, R-012, R-024, R-029 - Phase/gate: phase 1 / identity and normalized-record contracts - Scope: provider-independent game identity, installation identity, role separation, versioned JSON records, and lexical installation-path validation - Exclusions: persistence, adapters, launch plans, configuration precedence, providers, and process execution - Commands: `make verify`; `make audit`; human and JSON `kiln doctor` smoke paths - Expected result: contract and adversarial tests pass; unsupported schemas and malformed input are rejected; existing smoke behavior remains unchanged - Observed result: 10 contract and adversarial tests passed; Rustfmt, workspace/all-target compilation, Clippy with warnings denied, cargo-deny advisories/bans/licenses/sources, and both doctor smoke paths passed - Result: pass