quality-gates-lens

Observer-only lens that falsifies every claim in the quality-gates evidence log against the real Git tree — without ever executing a build, tests, or mutation run.

Role in the adversarial panel

This lens belongs to software-engineer-reviewer. It is activated on every DELIVER cycle — it is one of the 4 CORE lenses. It receives a single input: the evidence log produced by the software-engineer at the end of the COMMIT phase (.copilot-tracking/skraft-plans/{projectSlug}/evidence/{date}/qg-{story}.json).

graph LR
  SER[software-engineer-reviewer] -->|dispatches| QGL[quality-gates-lens]
  QGL -->|JSON verdict| SER
  QGL -.->|reads only| GIT[(Git tree)]
  QGL -.->|reads only| LOG[(evidence log)]

What the lens checks

Verdict and thresholds

Condition Verdict Severity
Log absent, malformed, or $schema unsupported inconclusive
Referenced file unreachable or stdout_sha256 mismatch inconclusive
status: "pass" with tests_failed > 0 fail high
status: "not_applicable" without rationale fail high
commits_covered[].subject fails G8 regex fail high
Commit SHA does not resolve, or files_changed lists a path absent from the diff fail high
RED→GREEN snapshot: removal or mutation of a line (G9) fail blocker
Every applicable gate at pass and every reference resolves pass

inconclusive is never equivalent to pass. Absence of evidence is not evidence of success.

Invariants

« Absence of evidence is not evidence of absence. » — Scientific verification principle, epistemological tradition.

Sources

See also