* fix(install): record commands/gsd in manifest for Claude local + per-runtime --minimal coverage
writeManifest gated commands/gsd/ recording to Gemini, leaving Claude
Code local installs with an incomplete manifest. Audit during #2923
investigation showed every runtime adapter correctly honours --minimal
on disk (6 skills, 0 agents) — but Claude local manifest reported 0
skills, breaking saveLocalPatches() drift detection and any downstream
tooling that reads manifest.files for the installed surface.
Drop the isGemini gate so any runtime that writes commands/gsd/ has
those files hashed into the manifest.
Adds tests/install-minimal-all-runtimes.test.cjs: spawns the installer
end-to-end for all 14 supported runtimes in both --global and --local
modes, parses the manifest JSON, and asserts mode === 'minimal',
skill set equals MINIMAL_SKILL_ALLOWLIST, and zero gsd-* agents are
recorded. Cross-checks the manifest against on-disk skill files.
Closes#2923
* test(install): address CR feedback on bug-2923 minimal-runtime tests
- Assert installer exit status in runInstall() so failing installs do not
produce misleading downstream artifact assertions; include stderr in the
failure message for debuggability.
- Guard the on-disk vs manifest parity loop with assert.ok(manifest, ...)
so the equality check cannot pass accidentally when the manifest is
missing.