fix(gstack2): treat hard runtime failure as not-ready in capability readiness

A capability whose binary launches while the managed runtime hard-fails
(e.g. skill-API mismatch) was reported as `degraded`/ok:true/exit 0, diverging
from plain `gstack doctor` (ok:false/exit 1) for the identical report. Split
the branch so runtime `warn` stays `degraded` and runtime `fail` maps to
`failed`, and add a regression test for the runtime-fail + capability-pass case.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sinabina
2026-07-21 14:12:54 -07:00
co-authored by Claude Opus 4.8
parent d240b0fa6a
commit 52a6101706
2 changed files with 9 additions and 1 deletions
+2 -1
View File
@@ -247,7 +247,8 @@ export function capabilityReadiness(report, capability, options = {}) {
const runtimeCheck = report.checks.find((check) => check.id === "managed-runtime");
let status;
if (capabilityCheck?.status === "pass" && runtimeCheck?.status === "pass") status = "ready";
else if (capabilityCheck?.status === "pass") status = "degraded";
else if (capabilityCheck?.status === "pass" && runtimeCheck?.status === "warn") status = "degraded";
else if (capabilityCheck?.status === "pass") status = "failed";
else if (capabilityCheck?.status === "fail") status = "failed";
else status = "unavailable";