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
+20
View File
@@ -0,0 +1,20 @@
# Phase 3 Steam discovery evidence
- Date: 2026-07-18
- Requirement IDs: R-005, R-009, R-012, R-016, R-024, R-027
- Phase/gate: phase 3 / read-only Steam discovery
- Scope: native Steam-root selection, bounded `libraryfolders.vdf` and
`appmanifest_*.acf` parsing, installed-title normalization, stable App ID and
installation identity, provider-scoped CLI discovery, and hostile fixtures
- Exclusions: Steam process startup, launch plans, game execution, Proton selection,
lifecycle tracking, account data, artwork, and Steam configuration mutation
- Commands: `cargo test --workspace --all-targets --locked`; `kiln scan --provider
steam --json`; `make check`
- Expected result: missing/unmounted libraries are skipped; partial installs and known
Steam runtime packages are excluded; malformed, duplicate, oversized, invalid-UTF-8,
traversal, and symlinked metadata fail closed; installed games normalize without
starting Steam
- Observed result: 61 automated tests passed; the production CLI parsed the current
local Steam metadata and reported 227 installed titles without starting Steam or a
game; a real trailing-space display-name case was normalized and retained as a fixture
- Result: pass
+16
View File
@@ -0,0 +1,16 @@
# Phase 3 status
Phase 3 is complete.
| Exit condition | Evidence | Status |
|---|---|---|
| Steam root and library parsing | Bounded KeyValues fixture tests | Passed |
| App-manifest parsing | Installed, partial, malformed, oversized, and invalid-UTF-8 fixtures | Passed |
| Normalized identity | Stable `steam:<appid>` and deterministic installation UUID tests | Passed |
| Read-only provider surface | Discovery/info-only capability and unsupported-launch tests | Passed |
| CLI integration | Provider-scoped list, search, info, and scan test | Passed |
| Real-system acceptance | Local Steam metadata scan, no client start or game launch | Passed |
| Repository gates | `make check` | Passed |
Steam launch-plan generation, client startup, Proton behavior, and lifecycle tracking remain
Phase 4 work.