gate-trace
Deterministic traceability quality gate — reads coverage matrix + blind-spot data, applies decision rules with oracle confidence downgrade, emits PASS/CONCERNS/FAIL/WAIVED verdict. Use before release-branch to gate merges on traceability.
- License 许可
- MIT
- 最近更新
- 2026-11-10
- Stars
- ★ 289
- Forks
- 24
01 前言 Front Matter
- name
- gate-trace
- model
- haiku
- description
- Deterministic traceability quality gate — reads coverage matrix + blind-spot data, applies decision rules with oracle confidence downgrade, emits PASS/CONCERNS/FAIL/WAIVED verdict. Use before release-branch to gate merges on traceability.
03 SKILL.md 正文
Gate Trace
Deterministic quality gate that combines traceability coverage and blind-spot data into a single PASS/FAIL/CONCERNS/WAIVED decision before release.
Decision Rules
| Rule | Condition | Verdict |
|---|---|---|
| R1 | Any undone story with 0 code tags | FAIL |
| R2 | Any story done but no verify evidence | CONCERNS |
| R3 | P0 story (top WSJF quartile) with 0% coverage | FAIL |
| R4 | Overall coverage < 60% | CONCERNS |
| R6 | P0 story + eNN-TEST_PLAN_LATEST.md exists + zero SC-eNNsYY-P0-* in test files | CONCERNS |
| R5 | Overall ≥ 80% + no critical gaps + all verify → PASS | PASS |
Oracle Confidence Downgrade
TEA-inspired: if trace links rely on heuristics rather than explicit tags, confidence drops.
| Heuristic Ratio | Downgrade |
|---|---|
| > 50% links from heuristics (file-name or task-reference) | One level (PASS→CONCERNS, CONCERNS→FAIL) |
| > 80% links from heuristics | Two levels (PASS→FAIL, CONCERNS→FAIL) |
Process
- Pre-flight: Ensure
scripts/trace-stories.sh --jsonhas been run (producesspecs/traceability-matrix.json). If not present, run it. - Ensure
scripts/check-blind-spots.shhas been run (producesspecs/blind-spots.json). If not present, run it. - Read
specs/traceability-matrix.jsonandspecs/blind-spots.json. - Apply decision rules R1–R5 in order (first match wins).
- Apply oracle confidence downgrade based on the heuristic link ratio from the matrix's
oracle_stats. - Drift check (e39s03): If
specs/drift-report.jsonexists and has suspect links, mark verdict as CONCERNS with note: "Drift detected — some implementing files are newer than their specs. Run scripts/check-spec-drift.sh for details." - Output verdict + rationale to stdout.
- Adversarial refute check (e45s32): Before emitting PASS, attempt to refute the verdict — list at least one concrete traceability gap that would block merge if it were real. If the gap is real, downgrade the verdict. Rubber-stamping is prohibited; every PASS must survive one refutation attempt.
- Completeness critic (e45s05) — Run adversarial gap-finding:
bash scripts/lib/completeness-critic.sh
Classify output as BLOCKER / WARNING / FILLED. BLOCKER overrides any PASS verdict → FAIL. Append critic summary to rationale.
10. Update specs/execution-status.yaml with gate-trace result.
Verdict Semantics
| Verdict | Meaning | Action |
|---|---|---|
| PASS | All gates satisfied | Proceed with merge |
| CONCERNS | Non-critical issues found | Requires explicit human override in state.yaml |
| FAIL | Critical traceability gap | Block merge — fix gap first |
| WAIVED | Cannot evaluate (missing inputs) | Skip gate — data not available |
Output Format
gate_trace:
verdict: PASS|CONCERNS|FAIL|WAIVED
generated_at: "<ISO 8601>"
rationale: "<human-readable explanation>"
heuristic_ratio: <0.0–1.0>
downgrade_applied: <true|false>
Integration Points
- release-branch SKILL.md — pre-PR gate (FAIL blocks merge).
- test-build-release.yml — its
syncjob runstrace-stories.sh --strictas the "Traceability gate" step (FAIL blocks the release job), which shares this skill's coverage data (traceability-matrix.json) but does not invoke a gate-trace PASS/CONCERNS/FAIL/WAIVED verdict directly. - verify-work SKILL.md — runs blind-spot checks; gate-trace consumes the result.
References
- BMAD TEA traceability approach (market survey 2026-07-02).
- scripts/trace-stories.sh (e38s01) — produces traceability-matrix.json.
- scripts/check-blind-spots.sh (e38s04) — produces blind-spots.json.
- specs/execution-status.yaml — output target for gate result.
Handoff
Gate: READY → next: release-branch (final step before merge) Writes: state.yaml handoff.next_skill = release-branch
Verify
→ verify: test -x scripts/run-gate-trace-verify.sh && bash scripts/run-gate-trace-verify.sh --self-test && echo OK
04 同仓库更多 Skills
skill-verify-fail-open-fixture
Negative-path fixture for run-skill-verify.sh — must never PASS.
negative-path
暂无简介
write-document
Write, organize, and sync high-integrity technical documents using the BMAD methodology. Ensures every document is Bold, Minimal, Actionable, and Durable. Use when creating architectural docs, technical guides, or organizing the specs/ directory.
wire-observability
Add structured JSON logging, observability commands, and idempotent setup scripts to a project. Use when a project needs production-readiness instrumentation, when user wants structured logging, or as a production-readiness gate at any phase of development.
wire-ci
CI pipeline setup with bundled, forge-neutral templates and local validation. Detects the forge from the git remote, generates workflows for supported forges, and skips honestly for the rest. The CI equivalent of wire-observability.
visual-dashboard
Start a browser-based dashboard that visualizes architecture, implementation plans, and project status. Persists artifacts in .bigpowers/dashboard/. Reads specs/state.yaml, release-plan.yaml, epics, and planning-status via HTTP API or opencode panel.