Skip to main content
← Back to list
01Issue
BugClosedSwamp CLIPublic
AssigneesNone

Relationships

#1949 verification-attestation reports 0 skipped and omits skipped steps, including skipped asserts

Opened by randybias · 9/2/2026

@swamp/verification-attestation reports 0 skipped on runs whose record contains skipped steps, and omits the skipped step from its listing entirely. A reader of the attestation sees a complete, clean run.

Measured, twice, independently

Instance A (re-measured 2026-09-02 before filing — a real production workflow, no synthetic fixture and no forEach involved):

Workflow mircloud-sync-dns-zones, run f7a72131-7716-4cec-b8f2-eebc5ad93db8, 2026-09-01T10:15:41Z, status succeeded. swamp workflow history get <run> --json reports 8 steps:

p1-preflight-all.preflight-status-0        succeeded
p1-preflight-all.preflight-status-1        succeeded
p2-apply-all.get-authorization             succeeded
p2-apply-all.apply-all-targets-0           succeeded
p2-apply-all.apply-all-targets-1           succeeded
p3-verify-agreement.verify-each-target-0   succeeded
p3-verify-agreement.verify-each-target-1   succeeded
p3-verify-agreement.assert-zone-parity     skipped     <-- SKIPPED

swamp report get @swamp/verification-attestation --workflow mircloud-sync-dns-zones says:

Status: succeeded
Steps: 4 passed · 0 failed · 0 skipped
✓ p2-apply-all ✓ apply-all-targets-1 ... ✓ apply-all-targets-0 ...
✓ p3-verify-agreement ✓ verify-each-target-1 ... ✓ verify-each-target-0 ...
Gate: 4/4 passed, 0 skipped

The omitted step is an assert. The report says Gate: 4/4 passed, 0 skipped for a run in which a verification step did not execute at all. Whatever scoping selects the four listed steps, a skipped assert in a job the report DOES cover is inside it — p3-verify-agreement appears in the listing with two of its three steps.

Instance B (independent observer, synthetic probes, three runs): recorded at planning/bringup/twin-findings/foreach-conditional-2026-09-02.md. Run records showed 2, 1 and 2 skipped steps; the attestation said 0 skipped in all three. The console stream for those runs DOES emit run │ skipped (dependency), so the information exists upstream of the report.

Why this matters more than a wrong count

The attestation is what a gate or a reviewer reads to decide whether a run did what it claimed. A skipped verification step reported neither as skipped nor at all is indistinguishable from one that ran and passed. That converts "this check did not execute" into "this check is fine" — silently, in the artifact whose entire purpose is attesting to verification.

Expected

Steps: and Gate: count skipped steps, and skipped steps appear in the listing with their status, as the console stream already does.

Environment

swamp 20260822.011157.0-sha.06b61472. Independent of forEach: instance A contains no forEach.

02Bog Flow
OPENTRIAGEDIN PROGRESSCLOSED

Closed

9/2/2026, 3:03:16 PM

No activity in this phase yet.

03Sludge Pulse
Editable. Press Enter to edit.

stack72 commented 9/2/2026, 3:03:15 PM

Hey @randybias

Ths was a builtin report that was added by mistake - it's been removed now as it was not intended to be a user report

Updating to the latest release will solve this

Paul

Sign in to post a ripple.