Skip to content

fix: differentiate self-update --check from bare self-update in up-to-date path (#15)#27

Merged
kevinkod merged 1 commit intomainfrom
fix/self-update-check-differentiate
May 1, 2026
Merged

fix: differentiate self-update --check from bare self-update in up-to-date path (#15)#27
kevinkod merged 1 commit intomainfrom
fix/self-update-check-differentiate

Conversation

@kevinkod
Copy link
Copy Markdown
Contributor

@kevinkod kevinkod commented May 1, 2026

Summary

Both specflow self-update --check and specflow self-update (no flag) used to print ✓ already up to date (X.Y.Z) when no update was available — making --check (documented as "reports availability only") indistinguishable from a real (no-op) update from a script's perspective.

Now:

--check, up-to-date:  ✓ no update available — current X.Y.Z
bare,    up-to-date:  ✓ already up to date (X.Y.Z)   (unchanged)

When an update IS available, the two forms already differed (--check prints Run \specflow self-update` to install.`, bare proceeds to download) — no change needed there.

Drops #15 from .claude/agents/qa-tester/memory/tracked-findings.md so the next QA run re-verifies.

Closes #15.

Test plan

  • deno task test — 318 tests pass.
  • Pre-commit hook (fmt + lint + bundle + check) green.
  • Smoke: deno run --allow-all src/main.ts self-update --check → "no update available — current 0.7.2"; deno run --allow-all src/main.ts self-update → "already up to date (0.7.2)".

🤖 Generated with Claude Code

…-date path (#15)

Both 'specflow self-update --check' and 'specflow self-update' (no flag) used to print '✓ already up to date (X.Y.Z)' when no update was available. That made --check (documented as 'reports availability only') indistinguishable from a real (no-op) update from a script's perspective.

Now:

  --check, up-to-date:  '✓ no update available — current X.Y.Z'

  bare,    up-to-date:  '✓ already up to date (X.Y.Z)'  (unchanged)

When an update IS available, the two forms already differed (--check prints 'Run `specflow self-update` to install.', bare proceeds to download), so no change needed there.

Drops #15 from .claude/agents/qa-tester/memory/tracked-findings.md so the next QA run re-verifies the fix from a fresh-eyes perspective.

Closes #15.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kevinkod kevinkod merged commit 85ebb1e into main May 1, 2026
4 checks passed
@kevinkod kevinkod deleted the fix/self-update-check-differentiate branch May 1, 2026 23:30
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.

self-update --check is indistinguishable from bare self-update in the up-to-date path

1 participant