Problem
The cpfusa analyze CI job cannot fail, because its command is suffixed with || true. On the current green main-branch run, this silently swallowed 22 ERROR-severity static-analysis findings plus 284 warnings.
Evidence
.github/workflows/ci.yml:319:
run: /tmp/cpfusa/build/cpfusa analyze || true
Job id 90483651198 on run 30422915741 (the latest green main-branch run at time of filing, triggered by the v2.18.0 merge PR #57) logs:
Summary: 22 error(s), 284 warning(s), 225 info(s)
yet the job's conclusion is success.
RELAY spec §20.1.2 explicitly requires: "An ERROR-severity finding... MUST fail the job."
Why it matters
22 ERROR-severity static-analysis findings are currently merged into main and shipped in the v2.18.0 release with no CI signal at all — the job shows green regardless of how many errors cpfusa analyze reports. This defeats the purpose of running the analyzer in CI and is a direct violation of the RELAY spec's continuous-conformance requirement for this gate.
Suggested fix
Remove the || true (or replace it with logic that greps the tool's own JSON/exit code for error-severity findings and exits non-zero) so the job actually fails when cpfusa analyze reports ERROR-severity findings, per spec §20.1.2. Then triage and fix (or explicitly waive, if the spec provides a waiver mechanism) the 22 existing errors before re-enabling the gate as blocking.
Problem
The
cpfusa analyzeCI job cannot fail, because its command is suffixed with|| true. On the current greenmain-branch run, this silently swallowed 22 ERROR-severity static-analysis findings plus 284 warnings.Evidence
.github/workflows/ci.yml:319:Job id
90483651198on run30422915741(the latest greenmain-branch run at time of filing, triggered by the v2.18.0 merge PR #57) logs:yet the job's conclusion is
success.RELAY spec §20.1.2 explicitly requires: "An ERROR-severity finding... MUST fail the job."
Why it matters
22 ERROR-severity static-analysis findings are currently merged into
mainand shipped in the v2.18.0 release with no CI signal at all — the job shows green regardless of how many errorscpfusa analyzereports. This defeats the purpose of running the analyzer in CI and is a direct violation of the RELAY spec's continuous-conformance requirement for this gate.Suggested fix
Remove the
|| true(or replace it with logic that greps the tool's own JSON/exit code for error-severity findings and exits non-zero) so the job actually fails whencpfusa analyzereports ERROR-severity findings, per spec §20.1.2. Then triage and fix (or explicitly waive, if the spec provides a waiver mechanism) the 22 existing errors before re-enabling the gate as blocking.