Mirrors the #1160 installed-layout block for the runtime auto-detection gap. Covers: runtimeOverride='claude' bypasses persisted config.runtime:'codex'; no override still honours persisted runtime (regression guard); alias canonicalization (codex-app -> codex); and an end-to-end CLI test proving 'capability state --runtime claude' resolves the Claude config dir despite a persisted runtime:'codex'. Expected RED against unfixed resolveCapabilityRuntimeState (no runtimeOverride param) and unfixed gsd-tools.cjs (no --runtime parsing for capability state / loop render-hooks).
84 KiB
84 KiB