feat: complete native execution and Steam discovery

This commit is contained in:
2026-07-18 20:11:52 -04:00
parent 514f87dacb
commit bc0090c63d
42 changed files with 6403 additions and 97 deletions
+26 -1
View File
@@ -12,8 +12,33 @@ relevant schema version is advanced.
- Dependency-free core identity contract and `kiln doctor` smoke CLI.
- Versioned normalized game records with validated game IDs, installation UUIDs,
contract roles, compatibility data, capabilities, and installation paths.
- Durable XDG installation identity registry with exact fingerprint matching, move
aliases, bounded hostile-input handling, locking, backups, and atomic replacement.
- Provider and runtime capability interfaces plus a deterministic mock adapter covering
every required Phase 1 outcome.
- Versioned argument-safe launch plans, conservative lifecycle policy, and structured
machine-readable errors.
- Versioned TOML configuration with fixed precedence, merge provenance, commented
defaults, and compare-and-swap replacement validation.
- Versioned schema reporting from `kiln doctor --json` and structured JSON CLI errors.
- Native adapter discovery from bounded per-user manifests and explicitly approved
Desktop Entries, with deterministic search and resolution.
- Native dry-run planning, owned process execution, private launch logs, and structured
launch failures through the shared CLI.
- Configuration defaults, validation, explanation, safe scalar edits, and native
launch-plan integration.
- Bounded redacted process capture and adversarial configuration, path, symlink, UTF-8,
environment, working-directory, and failure tests.
- Read-only Steam library-folder and app-manifest discovery with stable App ID identity,
normalized records, provider-scoped CLI list/search/info/scan commands, hostile fixtures,
and local installation acceptance evidence.
### Corrected
- Separated the Rust 1.85 MSRV from the exact Rust 1.97.1 development toolchain pin.
- Replaced the unused hosted-workflow plan with a complete local `make check` gate and
made Rust 1.97.1 the single minimum and reviewed compiler.
- Removed the `fs2` compatibility dependency in favor of Rust 1.97 standard-library file
locking.
- Advanced the private launch-plan schema to version 2 so dry runs carry the exact
working directory used for execution.
- Enforced the active compiler pin instead of assuming distro Cargo honors Rustup files.