Skip to content

feat(runs): diagnose each check failure with run diagnose --failures (WIZ-12578) - #1702

Merged
Matt Teran (matt-teran) merged 2 commits into
mainfrom
matt/wiz-12578-api-contracts-0-129
Nov 5, 2026
Merged

Matt Teran (matt-teran) merged 2 commits into
mainfrom
matt/wiz-12578-api-contracts-0-129

Conversation

@matt-teran

@matt-teran Matt Teran (matt-teran) commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Related to WIZ-12578

Overview of Changes

qawolf run diagnose gains --failures, which diagnoses an attempt's failures one by one as <attemptId>:<position>, and qawolf attempt get now lists each attempt's failures with their positions. Until now the CLI pinned @qawolf/api-contracts 0.116.0, so a flow whose attempt failed on several expect.soft() checks was refused with several-failures and could not be diagnosed from the CLI. This pins 0.129.0 and commits the regenerated skill and snapshots; the generator also adds deployment reportStatus --changes <json>, plus new output fields on issue get, investigation get, activity wait and promotion get, which the changeset lists.

  • --flow-ids on run diagnose is now optional; the command needs --failures or --flow-ids, and the CLI checks that before it sends anything. A handle test pins both cases.
  • build upload help now says "up to 1 GB by default", matching build requestUpload and the server's new limit, and the upload gets 60 minutes instead of 30, the signed URL's lifetime.
  • run create does not get --investigate-failures. A presence-only flag could only send true, which keeps the workspace's policy, so the generator skips it through a new skippedFlagPaths list next to skippedContractNames.

Testing

bun install --frozen-lockfile   # no changes
bash scripts/check-naming.sh    # pass
bun run generate                # no diff
bun run typecheck               # pass
bun run lint --max-warnings 0   # pass
bun run format:check            # pass
bun run knip                    # pass
bun run test                    # 2973 pass, 0 fail
bun run build                   # pass
bun run build:types-gate        # pass

Checked by hand: qawolf run diagnose --issue-id i --run-id r without either flag fails locally with "At least one of failures or flowIds is required.", --failures "bad value" fails with "Expected :", and qawolf run create --investigate-failures fails with "unknown option".

Checklist

  • Changes follow the code style of this project
  • Self-review completed
  • Tests added/updated (or not applicable)
  • No breaking changes (or described below)

Pin @qawolf/api-contracts 0.129.0. Since 0.127.0, run.diagnose takes
failures as <attemptId>:<position>, so an attempt that failed on several
checks can be diagnosed one failure at a time instead of being refused
with several-failures. attempt get lists those failures (WIZ-12578).
@matt-teran
Matt Teran (matt-teran) marked this pull request as ready for review November 5, 2026 22:34
run create --investigate-failures could only send true, which keeps the
workspace's policy, so the generator now skips that flag. build upload
gives the PUT 60 minutes, the signed URL's lifetime, so a 1 GB file fits
at ~300 KB/s. A handle test pins run diagnose: no request without
--failures or --flow-ids, and --failures sends only failures, issueId and
runId. The changeset adds notABugReason (WIZ-12578).
@matt-teran
Matt Teran (matt-teran) merged commit 1d6ba18 into main Nov 5, 2026
4 checks passed
@matt-teran
Matt Teran (matt-teran) deleted the matt/wiz-12578-api-contracts-0-129 branch November 5, 2026 23:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants