Merged
Conversation
Add planning documents for the auto-update system: - release-management.brainstorm.md: initial design notes covering tag-triggered releases, update checks, and conductor update command - release-management.plan.md: detailed solution design with architecture, data flow, security considerations, and phased implementation plan
- Add .github/workflows/release.yml with tag-triggered release pipeline - Workflow runs lint, typecheck, and test quality gates before release - Pre-release tags (containing hyphen) produce pre-release GitHub Releases - Build artifacts (.whl, .tar.gz) attached via gh release create --generate-notes - Concurrency group cancels in-progress runs for same tag ref - Update Epic 1 status to DONE in plan document Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add src/conductor/cli/update.py with full update-check logic:
get_cache_path, read_cache, write_cache (24-hour TTL),
fetch_latest_version (GitHub releases API, 2s timeout),
parse_version, has_prerelease, is_newer (semver + pre-release),
check_for_update_hint (TTY/silent/subcommand guards),
run_update (uv tool install --force git+...@{tag_name})
- Add 46 comprehensive tests in tests/test_cli/test_update.py
- Update plan document: Epic 2 status DONE, acceptance criteria checked
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add check_for_update_hint() call in main() callback guarded by TTY, non-SILENT verbosity, and subcommand != 'update' with deferred import - Add conductor update command (@app.command()) with error handling - Add 7 CLI-level tests: TestUpdateCommand (3) and TestUpdateHintCLI (4) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add update.py to AGENTS.md cli/ architecture bullet list - Verify AGENTS.md Common Commands includes conductor update - Verify SKILL.md Quick Reference includes conductor update - Verify execution.md has conductor update reference section Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements a complete auto-update lifecycle for Conductor, enabling automated releases, passive update notifications, and one-command upgrades.
Changes
Epic 1: GitHub Release Workflow
.github/workflows/release.yml— tag-triggered CI/CD workflow that runs quality gates (lint, typecheck, test) and creates GitHub Releases with build artifacts onv*tag pushesv0.2.0-beta.1)Epic 2: Update Check Module
src/conductor/cli/update.py— core update-check logic:get_cache_path(),read_cache(),write_cache()— 24h cache at~/.conductor/update-check.jsonfetch_latest_version()— GitHub API with 2s timeout, silent failureparse_version(),has_prerelease(),is_newer()— semver comparison with pre-release supportcheck_for_update_hint()— TTY-only, non-silent one-line hintrun_update()— version-pinneduv tool install --forceupgradetests/test_cli/test_update.py— comprehensive tests for all functionsEpic 3: CLI Integration
src/conductor/cli/app.py—conductor updatecommand + update hint inmain()callbackupdateEpic 4: Documentation & Skill Updates
AGENTS.md,.claude/skills/conductor/SKILL.md,.claude/skills/conductor/references/execution.mdconductor updateto common commands, quick reference, and execution docsDesign
urllib.request(stdlib) and tuple version comparison--silentgit+...@v0.3.0)Plan
See
docs/projects/releases/release-management.plan.mdfor full solution design.