fix: compact noisy cli health outputs

This commit is contained in:
Codex
2026-05-22 23:00:38 +00:00
parent 79fb17b546
commit 65ac76c235
10 changed files with 454 additions and 45 deletions
+26 -1
View File
@@ -1,5 +1,5 @@
import { describe, expect, test } from "bun:test";
import { buildProviderTriageResult, type ProviderTriageSignal } from "./provider-triage";
import { buildProviderTriageResult, compactProviderTriageResult, type ProviderTriageSignal } from "./provider-triage";
function signal(
id: string,
@@ -77,4 +77,29 @@ describe("provider triage contract", () => {
expect(result.degradedScopes).toContain("registry");
expect(result.healthyScopes).toEqual(expect.arrayContaining(["k3s", "provider-gateway", "ssh"]));
});
test("compact output is bounded and preserves drill-down command args", () => {
const result = buildProviderTriageResult("D601", [
signal("backend-core-node", "provider-gateway", "ok"),
signal("host-ssh-probe", "ssh", "ok"),
signal("artifact-registry-health", "registry", "degraded"),
signal("k3sctl-adapter-health", "k3s", "unknown"),
signal("code-queue-health", "scheduler", "unknown"),
signal("service-a", "microservice", "failed"),
signal("service-b", "microservice", "failed"),
signal("service-c", "microservice", "degraded"),
signal("service-d", "microservice", "unknown"),
signal("service-e", "microservice", "unknown"),
signal("service-f", "microservice", "unknown"),
], "2026-05-20T00:00:00.000Z");
const compact = compactProviderTriageResult(result, ["--microservice", "code-queue", "--microservice", "k3sctl-adapter"]);
const signalCounts = compact.signalCounts as Record<string, unknown>;
const outputPolicy = compact.outputPolicy as Record<string, unknown>;
expect((compact.signals as unknown[]).length).toBe(8);
expect(signalCounts.omittedIssueSignals).toBe(1);
expect(outputPolicy.full).toBe("bun scripts/cli.ts provider triage D601 --microservice 'code-queue' --microservice 'k3sctl-adapter' --full");
expect(outputPolicy.raw).toBe("bun scripts/cli.ts provider triage D601 --microservice 'code-queue' --microservice 'k3sctl-adapter' --raw");
});
});