-
Notifications
You must be signed in to change notification settings - Fork 1
P8-T2: Prepare for Release 0.4.3 #167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
7c5db14
Branch for P8-T2: prepare release 0.4.3
SoundBlaster 1bcb8c4
Select task P8-T2: Prepare for Release 0.4.3
SoundBlaster 725ce88
Plan task P8-T2: Prepare for Release 0.4.3
SoundBlaster b35218b
Implement P8-T2: prepare release 0.4.3 metadata and notes
SoundBlaster e90ef02
Archive task P8-T2: Prepare_for_Release_0.4.3 (PASS)
SoundBlaster 666d0fe
Review P8-T2: release_0.4.3_preparation
SoundBlaster 3a1119b
Archive REVIEW_release_0.4.3_preparation report
SoundBlaster 61fff70
Document 0.4.2 changelog entry
SoundBlaster File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
131 changes: 131 additions & 0 deletions
131
SPECS/ARCHIVE/P8-T2_Prepare_for_Release_0.4.3/P8-T2_Prepare_for_Release_0.4.3.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,131 @@ | ||
| # P8-T2: Prepare for Release 0.4.3 | ||
|
|
||
| **Status:** In Progress | ||
SoundBlaster marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| **Date:** 2026-03-10 | ||
| **Priority:** P0 | ||
| **Dependencies:** P1-T13, P2-T8 (completed) | ||
|
|
||
| --- | ||
|
|
||
| ## Objective | ||
|
|
||
| Prepare patch release `0.4.3` for the work merged after `v0.4.2`: | ||
| - `P2-T8` hardened broker startup by gating `tools/list` on a warmed tool catalog and retrying the probe instead of exposing a transient empty catalog to clients. | ||
| - `P1-T13` documented the editable-install version mismatch trap so local development setups can self-diagnose stale `.venv` metadata after a version bump. | ||
|
|
||
| The deliverable is a merge-ready branch that updates release metadata, records release notes in `CHANGELOG.md`, passes the full pre-release quality gate suite, and leaves exact post-merge tag/publish commands for the human operator. | ||
|
|
||
| **Scope boundary:** Creating and pushing the `v0.4.3` tag, publishing to PyPI, and publishing to the MCP Registry remain post-merge human actions on `main`. This task prepares the branch and validates the repository state before those actions. | ||
|
|
||
| --- | ||
|
|
||
| ## Current State | ||
|
|
||
| | Artifact | Current value | | ||
| |----------|---------------| | ||
| | `pyproject.toml` version | `0.4.2` | | ||
| | `server.json` root version | `0.4.2` | | ||
| | `server.json` package version | `0.4.2` | | ||
| | `README.md` version badge | `v0.4.2` | | ||
| | Latest git tag on current baseline | `v0.4.2` | | ||
| | Unreleased merged work since `v0.4.2` | `P2-T8`, `P1-T13` | | ||
|
|
||
| --- | ||
|
|
||
| ## Deliverables | ||
|
|
||
| 1. **`pyproject.toml`** — `[project].version` updated to `0.4.3`. | ||
| 2. **`server.json`** — root `version` and `packages[0].version` updated to `0.4.3`. | ||
| 3. **`README.md`** — version badge updated to `v0.4.3`. | ||
| 4. **`CHANGELOG.md`** — new `[0.4.3] - 2026-03-10` entry summarizing the shipped fixes/docs. | ||
| 5. **`SPECS/INPROGRESS/P8-T2_Validation_Report.md`** — records release metadata checks, quality gates, and post-merge publish instructions. | ||
SoundBlaster marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| --- | ||
|
|
||
| ## Implementation Steps | ||
|
|
||
| ### 1. Update release metadata | ||
|
|
||
| Use the existing release helpers so version fields stay in sync: | ||
|
|
||
| ```bash | ||
| make bump-version VERSION=0.4.3 | ||
| make badge-version TAG=v0.4.3 | ||
| ``` | ||
|
|
||
| This updates: | ||
| - `pyproject.toml` | ||
| - `server.json` | ||
| - `README.md` version badge block | ||
|
|
||
| ### 2. Add release notes | ||
|
|
||
| Update `CHANGELOG.md` with a new `0.4.3` entry that covers: | ||
| - broker `tools/list` warm-catalog gating / retry behavior (`P2-T8`) | ||
| - the editable-install troubleshooting addition (`P1-T13`) | ||
|
|
||
| ### 3. Run pre-release quality gates | ||
|
|
||
| Run the full local validation suite required by FLOW, `CONTRIBUTING.md`, and this release workflow: | ||
|
|
||
| ```bash | ||
| pytest tests/ -v --cov=src --cov-report=term | ||
| python -m ruff check src/ tests/ | ||
| python -m ruff format --check src/ tests/ | ||
| mypy src/ | ||
| make doccheck-all | ||
| python -m build | ||
| twine check dist/* | ||
| ``` | ||
|
|
||
| ### 4. Record release validation | ||
|
|
||
| Write `SPECS/INPROGRESS/P8-T2_Validation_Report.md` with: | ||
| - the exact versions now present in release metadata | ||
| - changelog verification | ||
| - quality gate outcomes | ||
| - explicit post-merge steps for tagging and publish verification | ||
|
|
||
| ### 5. Post-merge operator steps | ||
|
|
||
| These commands must be executed only after the PR merges into `main`: | ||
|
|
||
| ```bash | ||
| git checkout main | ||
| git pull origin main | ||
| git tag v0.4.3 | ||
| git push origin v0.4.3 | ||
| ``` | ||
|
|
||
| Then verify: | ||
| - GitHub Actions `publish-mcp.yml` succeeds for `v0.4.3` | ||
| - PyPI serves `mcpbridge-wrapper==0.4.3` | ||
| - the MCP Registry reflects `0.4.3` | ||
|
|
||
| --- | ||
|
|
||
| ## Acceptance Criteria | ||
|
|
||
| - [ ] `pyproject.toml` contains `version = "0.4.3"`. | ||
| - [ ] `server.json` root `version` and `packages[0].version` both equal `0.4.3`. | ||
| - [ ] `README.md` version badge reflects `v0.4.3`. | ||
| - [ ] `CHANGELOG.md` contains `[0.4.3] - 2026-03-10` and summarizes `P2-T8` and `P1-T13`. | ||
| - [ ] `pytest tests/ -v --cov=src --cov-report=term` passes with coverage ≥90%. | ||
| - [ ] `python -m ruff check src/ tests/` passes. | ||
| - [ ] `python -m ruff format --check src/ tests/` passes. | ||
| - [ ] `mypy src/` passes. | ||
| - [ ] `make doccheck-all` passes. | ||
| - [ ] `python -m build` and `twine check dist/*` pass. | ||
| - [ ] Validation report captures the exact post-merge commands and verification steps for `v0.4.3`. | ||
SoundBlaster marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| --- | ||
|
|
||
| ## Risk Notes | ||
|
|
||
| - `main` is protected. Do not tag or publish from this feature branch; tag only after merge. | ||
| - `make badge-version` must be called with explicit `TAG=v0.4.3` so it does not reuse `v0.4.2`. | ||
| - If the local editable install was not refreshed after the version bump, local `mcpbridge-wrapper --version` output may lag until `pip install -e .` is rerun. This is documented by `P1-T13`. | ||
|
|
||
| --- | ||
| **Archived:** 2026-03-10 | ||
| **Verdict:** PASS | ||
65 changes: 65 additions & 0 deletions
65
SPECS/ARCHIVE/P8-T2_Prepare_for_Release_0.4.3/P8-T2_Validation_Report.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| # P8-T2 Validation Report — Prepare for Release 0.4.3 | ||
|
|
||
| **Date:** 2026-03-10 | ||
| **Branch:** `codex/feature/P8-T2-prepare-release-0.4.3` | ||
| **Python:** `3.10.19` | ||
| **Verdict:** PASS | ||
|
|
||
| --- | ||
|
|
||
| ## Deliverables Checklist | ||
|
|
||
| | Deliverable | Status | Detail | | ||
| |-------------|--------|--------| | ||
| | `pyproject.toml` version = `0.4.3` | ✅ PASS | Updated via `make bump-version VERSION=0.4.3` | | ||
| | `server.json` root `version` = `0.4.3` | ✅ PASS | Updated by `scripts/publish_helper.py` | | ||
| | `server.json` `packages[0].version` = `0.4.3` | ✅ PASS | Updated by `scripts/publish_helper.py` | | ||
| | `README.md` badge updated to `v0.4.3` | ✅ PASS | Updated via `make badge-version TAG=v0.4.3` | | ||
| | `Sources/XcodeMCPWrapper/Documentation.docc/XcodeMCPWrapper.md` badge updated to `v0.4.3` | ✅ PASS | Synced via `python scripts/update_version_badge.py --readme ... --tag v0.4.3` | | ||
| | `CHANGELOG.md` contains `[0.4.3] - 2026-03-10` | ✅ PASS | Added release notes for `P2-T8` and `P1-T13` | | ||
|
|
||
| --- | ||
|
|
||
| ## Quality Gates | ||
|
|
||
| | Gate | Result | Detail | | ||
| |------|--------|--------| | ||
| | `pytest tests/ -v --cov=src --cov-report=term` | ✅ PASS | `902 passed, 5 skipped, 2 warnings in 8.93s` | | ||
| | Coverage ≥ 90% | ✅ PASS | Total coverage: **91.55%** | | ||
| | `python -m ruff check src/ tests/` | ✅ PASS | All checks passed | | ||
| | `python -m ruff format --check src/ tests/` | ✅ PASS | `55 files already formatted` | | ||
| | `mypy src/` | ✅ PASS | `Success: no issues found in 20 source files` | | ||
| | `make doccheck-all` | ✅ PASS | README and DocC overview stayed in sync across unstaged/staged/branch scopes | | ||
| | `python -m build` | ✅ PASS | Built `dist/mcpbridge_wrapper-0.4.3.tar.gz` and `dist/mcpbridge_wrapper-0.4.3-py3-none-any.whl` | | ||
| | `twine check dist/*` | ✅ PASS | Wheel and sdist metadata both passed | | ||
|
|
||
| --- | ||
|
|
||
| ## Release Notes Scope | ||
|
|
||
| `0.4.3` is prepared as a patch release for the work merged after `v0.4.2`: | ||
|
|
||
| - `P2-T8` prevents clients from seeing a premature empty `tools/list` success by gating on a warmed, valid tool catalog and retrying empty warm-up probes. | ||
| - `P1-T13` documents how stale editable-install metadata can make a local `.venv` report an older package version than the current `uvx` release after version bumps. | ||
|
|
||
| --- | ||
|
|
||
| ## Remaining Steps (post-merge) | ||
|
|
||
| The following steps are intentionally deferred until the PR merges into `main`: | ||
|
|
||
| 1. `git checkout main` | ||
| 2. `git pull origin main` | ||
| 3. `git tag v0.4.3` | ||
| 4. `git push origin v0.4.3` | ||
| 5. Verify GitHub Actions `publish-mcp.yml` for `v0.4.3` completes successfully | ||
| 6. Verify `https://pypi.org/project/mcpbridge-wrapper/0.4.3/` is live | ||
| 7. Verify the MCP Registry reflects `0.4.3` | ||
|
|
||
| These checks are acceptance criteria that cannot be completed on the feature branch without publishing from the wrong ref. | ||
|
|
||
| --- | ||
|
|
||
| ## Summary | ||
|
|
||
| All pre-merge release-preparation deliverables are complete. Version metadata is consistent across package, registry manifest, README, and DocC overview; the changelog captures the shipped work; and the full local validation suite required by FLOW, `CONTRIBUTING.md`, and `PUBLISHING.md` passed. |
34 changes: 34 additions & 0 deletions
34
SPECS/ARCHIVE/P8-T2_Prepare_for_Release_0.4.3/REVIEW_release_0.4.3_preparation.md
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| ## REVIEW REPORT — release_0.4.3_preparation | ||
|
|
||
| **Scope:** `origin/main..HEAD` | ||
| **Files:** 10 | ||
|
|
||
| ### Summary Verdict | ||
| - [x] Approve | ||
| - [ ] Approve with comments | ||
| - [ ] Request changes | ||
| - [ ] Block | ||
|
|
||
| ### Critical Issues | ||
|
|
||
| - None. | ||
|
|
||
| ### Secondary Issues | ||
|
|
||
| - None. | ||
|
|
||
| ### Architectural Notes | ||
|
|
||
| - The release-preparation branch keeps publication side effects out of scope for the PR itself, which matches the protected-`main` workflow documented in `CONTRIBUTING.md` and `PUBLISHING.md`. | ||
| - README and DocC overview version badges were updated together, so the branch remains compatible with `make doccheck-all`. | ||
| - `CHANGELOG.md` now documents only the work merged after `v0.4.2`, keeping the patch-release scope narrow and reviewable. | ||
|
|
||
| ### Tests | ||
|
|
||
| - `pytest tests/ -v --cov=src --cov-report=term` passed with `902 passed, 5 skipped, 2 warnings` and `91.55%` total coverage. | ||
| - `python -m ruff check src/ tests/`, `python -m ruff format --check src/ tests/`, `mypy src/`, `make doccheck-all`, `python -m build`, and `twine check dist/*` all passed. | ||
|
|
||
| ### Next Steps | ||
|
|
||
| - No actionable review findings. FOLLOW-UP is skipped. | ||
| - After merge, run the documented `git tag v0.4.3` / `git push origin v0.4.3` sequence on `main` and verify the `publish-mcp.yml` workflow, PyPI package page, and MCP Registry entry. |
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
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
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
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
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
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.
Uh oh!
There was an error while loading. Please reload this page.