Skip to content

fix(fleet): log verdicts in the CVE release and drift sweep too - #538

Merged
rubenvdlinde merged 2 commits into
mainfrom
fix/fleet-cve-drift-log-verdicts
Aug 21, 2026
Merged

fix(fleet): log verdicts in the CVE release and drift sweep too#538
rubenvdlinde merged 2 commits into
mainfrom
fix/fleet-cve-drift-log-verdicts

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Completes the fix applied in #536 (fleet-shared-dep-bump) and #537 (fleet-friday-merge): per-app verdicts went only to $GITHUB_STEP_SUMMARY, so gh run view --log showed the echo source and never a decision.

fleet-cve-release merges and ships security fixes across the beta and main protections unattended. Its entire safety rests on one judgement — is this PR a security fix? — so the record of how each PR was classified is the record of whether the workflow behaved. That shouldn't live solely as a rendered artifact. (9 sites → srow().)

fleet-drift-sweep exists to answer "which apps are red under today's gates". An answer no script can read is most of the way to no answer. (Adds a VERDICT: line per app, carrying the raw conclusion and run URL.)

Markdown rendering unchanged in both; validated with bash -n on every extracted run: block.

Conduction Release Bot added 2 commits August 21, 2026 12:41
This workflow MERGES pull requests unattended. Its per-PR verdicts went only to
$GITHUB_STEP_SUMMARY, so `gh run view --log` showed the echo source and never
which PRs were merged, nor why the others were not.

MEASURED 2026-08-21: a dry run reported "39 merged/would-merge, 44 skipped" and
the log could not name a single one of those 83 PRs. For an automation that
merges dozens of PRs without a human present, the audit trail then exists only
as one rendered artifact, unreadable to any script and easy to lose.

All eight verdict sites now route through srow(), which writes the markdown row
to the summary AND a `VERDICT: ...` line to stdout. Table headers are
deliberately not logged. Verified the emitted markdown is byte-identical.
Completes the same fix applied to fleet-shared-dep-bump (#536) and
fleet-friday-merge (#537): per-app verdicts went only to
$GITHUB_STEP_SUMMARY, so `gh run view --log` showed the echo source and never
a decision.

fleet-cve-release merges and SHIPS security fixes across the beta and main
protections unattended. Its entire safety rests on one judgement -- is this PR
a security fix? -- so the record of how each PR was classified IS the record of
whether the workflow behaved correctly. That record should not exist solely as
a rendered artifact.

fleet-drift-sweep exists to answer "which apps are red under today's gates".
An answer no script can read is most of the way to no answer.
@rubenvdlinde
rubenvdlinde merged commit 45e9e7f into main Aug 21, 2026
36 checks passed
@rubenvdlinde
rubenvdlinde deleted the fix/fleet-cve-drift-log-verdicts branch August 21, 2026 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant