From fb4a1fa25b3c840b6e0d635df92411a6e9cea223 Mon Sep 17 00:00:00 2001 From: mptyl Date: Tue, 25 Aug 2026 19:23:57 +0200 Subject: [PATCH] fix(ci): complete Pi provider fixture metadata --- .../scripts/verify-workspace-descriptor-files.mjs | 2 +- scripts/test-task13-runtime-fixtures.sh | 14 ++++++++++++++ scripts/unified-deployment-smoke.sh | 7 +++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/backend/scripts/verify-workspace-descriptor-files.mjs b/backend/scripts/verify-workspace-descriptor-files.mjs index 1ad077f3..3731fe2a 100755 --- a/backend/scripts/verify-workspace-descriptor-files.mjs +++ b/backend/scripts/verify-workspace-descriptor-files.mjs @@ -39,7 +39,7 @@ const reviewedExpandableBlocks = new Map([ { sha256: "b903e5dae953ae1372f1a5276f12a92ed3dd632b897f3afe5e00c646d90a1b42", rationale: "Same reviewed block in the repository-required CRLF checkout representation." }, ]], ["scripts/unified-deployment-smoke.sh", [ - { sha256: "ca0c17d9ff8dc0fbe018fc1c5510eb33bc667a936fbe44a9be2d311390576825", rationale: "Generates reviewed Task 13 runtime configuration." }, + { sha256: "1d60bf140165a8fabfa0c3729e776136904717e67becf3e0ab68c70d8e37847e", rationale: "Generates reviewed Task 13 runtime configuration." }, { sha256: "36d3d8a2362dbdc4fad90948d6c227586d749f56b9a4bc5b6b5a91bcbec6407b", rationale: "Generates the reviewed local Task 13 Compose override." }, { sha256: "c556f7d910d0788e219b042957e6b307cb9925b43920c680535d0d3a6dcbdb25", rationale: "Generates the reviewed local Task 13 installation descriptor." }, { sha256: "526006fa6d48a8080b3834723630c64de5005a67243e944ebf1da15212b4d654", rationale: "Generates the reviewed server Task 13 Compose override." }, diff --git a/scripts/test-task13-runtime-fixtures.sh b/scripts/test-task13-runtime-fixtures.sh index 285c436f..5c8c6d83 100755 --- a/scripts/test-task13-runtime-fixtures.sh +++ b/scripts/test-task13-runtime-fixtures.sh @@ -52,6 +52,20 @@ cp "$root/scripts/fixtures/workspace-registry-task13.yaml" "$workspace" if [[ "$profile" == local ]]; then task13_write_fixture_files + node - "$TASK13_PI_MODELS" <<'NODE' +const fs = require("fs"); +const models = JSON.parse(fs.readFileSync(process.argv[2], "utf8")); +const model = models.providers?.["local-qwen"]?.models?.find( + (candidate) => candidate?.id === "task13-smoke", +); +if (!model || JSON.stringify(model.input) !== JSON.stringify(["text"])) { + throw new Error("Task 13 provider smoke model must declare text input support"); +} +const expectedCost = { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }; +if (JSON.stringify(model.cost) !== JSON.stringify(expectedCost)) { + throw new Error("Task 13 provider smoke model must declare complete zero-cost metadata"); +} +NODE task13_write_environment /fixtures/remote.git compose_files=(-f "$root/compose.yaml" -f "$root/deploy/compose.local.yaml" -f "$TASK13_OVERRIDE") else diff --git a/scripts/unified-deployment-smoke.sh b/scripts/unified-deployment-smoke.sh index cda216bd..499bf930 100755 --- a/scripts/unified-deployment-smoke.sh +++ b/scripts/unified-deployment-smoke.sh @@ -408,6 +408,13 @@ task13_write_fixture_files() { "id": "task13-smoke", "name": "Task 13 deterministic smoke", "reasoning": false, + "input": ["text"], + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, "contextWindow": 4096, "maxTokens": 64 }