Skip to content

feat: smart update check with auto-upgrade, snooze backoff, config CLI (v0.3.9)#62

Merged
garrytan merged 5 commits intomainfrom
garrytan/fix-update-task
Mar 15, 2026
Merged

feat: smart update check with auto-upgrade, snooze backoff, config CLI (v0.3.9)#62
garrytan merged 5 commits intomainfrom
garrytan/fix-update-task

Conversation

@garrytan
Copy link
Owner

Summary

  • bin/gstack-config CLI — get/set/list for ~/.gstack/config.yaml, used by update-check and upgrade skill
  • Smart update check — 12h cache TTL, exponential snooze backoff (24h → 48h → 1wk), update_check: false to disable
  • Auto-upgrade modeauto_upgrade: true in config or GSTACK_AUTO_UPGRADE=1 env var
  • 4-option upgrade prompt — upgrade once, always, not now (snooze), never ask again
  • Vendored copy sync/gstack-upgrade detects and updates local vendored copies after primary upgrade
  • 25 new tests (11 config CLI + 14 snooze/config paths)
  • README simplified to reference /gstack-upgrade

Pre-Landing Review

No issues found.

TODOS

  • Auto-upgrade mode (zero-prompt) moved to Completed (v0.3.8)

Test plan

  • All tests pass (292 tests, 0 failures)
  • gstack-config: 11 tests (get/set/list, missing file, edge cases)
  • gstack-update-check: 29 tests (15 existing + 14 new snooze/config)
  • Skill validation + gen-skill-docs: 68 tests
  • All 10 SKILL.md files regenerated and fresh

🤖 Generated with Claude Code

garrytan and others added 5 commits March 15, 2026 01:20
…yaml

Simple get/set/list interface for persistent gstack configuration.
Used by update-check and upgrade skill for auto_upgrade and update_check settings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Reduce cache TTL from 24h to 12h for faster update detection
- Add exponential snooze backoff: 24h → 48h → 1 week (resets on new version)
- Add update_check: false config option to disable checks entirely
- Clear snooze file on just-upgraded
- 14 new tests covering snooze levels, expiry, corruption, and config paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Auto-upgrade mode via config or GSTACK_AUTO_UPGRADE=1 env var
- 4-option AskUserQuestion: upgrade once, always, not now, never
- Step 4.5: sync local vendored copy after upgrading primary install
- Snooze write with escalating backoff on "Not now"
- Update preamble text in gen-skill-docs for new upgrade flow
- Regenerate all SKILL.md files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
README now points to /gstack-upgrade instead of long paste commands.
Auto-upgrade TODO moved to Completed section (v0.3.8).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@garrytan garrytan merged commit bb46ca6 into main Mar 15, 2026
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