CtrlK
BlogDocsLog inGet started
Tessl Logo

codew-release-qa-sweep

Use before claiming CodeWhale release work is done: run the full gate sweep and list the manual QA targets.

72

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

CodeWhale Release QA Sweep

Run this before claiming any CodeWhale release work is "done." A green automated gate sweep plus the three manual QA targets is the evidence bar. No sweep, no "done" — report exactly what was run and the result of each step.

When to use

  • Before telling Hunter (or a PR thread) that release work is complete or merge-ready.
  • After harvesting/landing PRs into the release branch, before the publish boundary.
  • When verifying a release candidate on the real landing branch (e.g. <release-branch>), which is often local-only.

Automated gate sweep

Run from the repo root, in order. Stop on the first failure and report it.

# 0. Confirm you are on the real release head, not a main-based assumption.
git branch --show-current          # expect e.g. <release-branch>
git status --short                 # working tree should be clean

# 1. Formatting + stray whitespace/conflict markers
cargo fmt --all --check
git diff --check

# 2. Library/protocol/cli/flow/state tests, locked
cargo test -p codewhale-config -p codewhale-protocol -p codewhale-cli \
  -p codewhale-workflow -p codewhale-state --locked

# 3. TUI test binaries, locked
cargo test -p codewhale-tui --bins --locked

# 4. Real-PTY release runtime QA (sealed HOME + loopback providers)
cargo test -p codewhale-tui --test release_runtime_qa --locked -- --test-threads=1

# 5. TUI debug build, locked
cargo build -p codewhale-tui --locked

# 6. Release build for the shipped binaries, locked
cargo build --release --locked -p codewhale-cli -p codewhale-tui

# 7. Version-drift gate (workspace ↔ npm ↔ Cargo.lock ↔ changelog ↔ README)
./scripts/release/check-versions.sh

# 8. Binary smoke
./target/release/codewhale --version

If you are validating a PR for landing, also test mergeability against the actual release head, never the main-based clean flag:

git merge-tree $(git merge-base <release-branch> <pr-head>) <release-branch> <pr-head>

A PR that is clean against main can still conflict with the release branch.

Manual QA targets

Unit/build gates do not cover the live TUI. Exercise all three and record what you saw:

The repeatable local baseline is release_runtime_qa: it boots real TUI processes in pseudo-terminals with sealed homes and loopback mock providers, then asserts each scenario below. Run it even when doing a separate hands-on visual pass; the test leaves no provider traffic or credentials behind.

  1. Six-worker fanout liveness (#3216/#2211). Spawn 6 sub-agents. Confirm typing, render, cancel, and the sidebar stay live throughout, and that Esc cancels mid-fanout (prompt interrupt, not a wedged ~24s burst or freeze). For the Windows Terminal retest path from #3289, start in plan mode, add follow-up input to the plan, press Esc, switch to yolo/accept flow, trigger at least two auto/Fleet worker spawns, and keep typing/cancel/mode-switch checks live for several minutes. Attach logs if the freeze reproduces.
  2. Multi-terminal route isolation (#3227). Open multiple terminals on distinct provider/model routes. Confirm zero cross-terminal contamination and no provider+model mismatch — each terminal honors its own route.
  3. Running-turn input contract (#3203). During a busy turn, confirm Enter queues a typed follow-up, the preview advertises Enter send now, and an empty Enter promotes the oldest queued follow-up. Confirm Ctrl+Enter steers typed text directly, Shift+Enter inserts a newline, and Ctrl+G/Ctrl+S only stash drafts.

Reporting format

Report a checklist: each command, pass/fail, and the salient output line (test counts, the --version string, check-versions.sh verdict). For manual QA, state what you actually observed per target, citing the issue number. If a step was skipped or could not be run (e.g. no display for TUI QA), say so explicitly — do not imply coverage you do not have.

Red flags / don't

  • Don't claim "done," "passing," or "merge-ready" without the evidence above. Assertions without command output are not acceptable.
  • Don't trust the main-based mergeability flag for a release branch; use git merge-tree against the real head.
  • Don't skip the manual TUI targets because the build is green — the freeze, route-mismatch, and steering regressions live in the runtime, not the gates.
  • Don't tag, publish, create a GitHub Release, push artifacts, or merge/close any PR or issue without Hunter's explicit approval. A green sweep is readiness evidence, not permission.
  • Never harvest/close from a PR title or label alone — review from code, tests, comments, and checks.
  • When the sweep clears a harvested PR, preserve contributor credit: cherry-pick keeps the original author, otherwise add Co-authored-by: Name <email> and Harvested-from: PR #N by @handle so the auto-close-at-main workflow credits the contributor.
  • Keep any contributor-facing comment positive and crediting; gates stay dry-run/advisory unless Hunter approves enforcement.
Repository
Hmbown/CodeWhale
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.