ci: give test:tech-log its own gate command and junit evidence

The TechLog suite already ran in CI, but only inside `test:coverage`'s combined
`vitest run tests/runtime-schema tests/unit … tests/features/tech-log`
invocation on FE-GATE-005. A TechLog regression therefore surfaced as a
coverage-gate failure, and the only junit that carried it was coverage.xml,
which reports every other suite at the same time.

`test-tech-log` now sits on FE-GATE-007 beside `test-reference-feature`, the
sibling it mirrors — both drive a suite under `tests/features/` — and declares
`artifacts/tests/tech-log.xml`, which `test:tech-log` already wrote, as its own
command-generated junit evidence. The gate log now names
`$ corepack pnpm test:tech-log` as its own step and the failure lands on the
suite that produced it.

Adding a command and an artifact moves the exact-count authority to 84
definitions / 96 references / 130 artifacts (109 evidence references), and
changes the canonical gate shape digest because FE-GATE-007's commandIds and
evidenceArtifactIds are part of it. There is no tooling to regenerate that
digest, so it was recomputed by hand under the standing procedure: a fresh
transcription of `canonicalGateShapeSha256` first reproduced the committed
f3cc9075… from the unedited config/ci/gates.json — proving the transcription,
not just agreeing with whatever the check compares against — and only then
hashed the edited file to 98d19911….

`corepack pnpm ci:gate -- FE-GATE-007` passes end to end; the generated
workflow bytes are unchanged, since the yml dispatches gates rather than
commands.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
DongHyeonka
2026-08-18 12:58:41 +09:00
co-authored by Claude Opus 5
parent 74281b0277
commit 419d9d006d
4 changed files with 41 additions and 12 deletions
+16
View File
@@ -174,6 +174,11 @@
"script": "test:reference-feature",
"expect": "pass"
},
{
"id": "test-tech-log",
"script": "test:tech-log",
"expect": "pass"
},
{
"id": "test-recipes",
"script": "test:recipes",
@@ -901,6 +906,15 @@
"test-reference-feature"
]
},
{
"id": "artifact-artifacts-tests-tech-log-xml",
"path": "artifacts/tests/tech-log.xml",
"schemaId": "junit",
"production": "command-generated",
"producerCommandIds": [
"test-tech-log"
]
},
{
"id": "artifact-artifacts-tests-optional-recipes-xml",
"path": "artifacts/tests/optional-recipes.xml",
@@ -1852,6 +1866,7 @@
"test-integration",
"test-http-scenario-evidence",
"test-reference-feature",
"test-tech-log",
"test-recipes"
],
"logArtifactId": "artifact-artifacts-quality-gates-FE-GATE-007-txt",
@@ -1861,6 +1876,7 @@
"artifact-artifacts-quality-http-scenario-evidence-json",
"artifact-artifacts-quality-http-scenario-evidence-fixture-json",
"artifact-artifacts-tests-reference-feature-xml",
"artifact-artifacts-tests-tech-log-xml",
"artifact-artifacts-tests-optional-recipes-xml"
],
"retentionClassId": "merge-cycle"