--- since: 1.1.3 --- # gitaiflow MCP 1.1.3 — Release Checklist This is the release-facing gate. It is intentionally shorter than the verification documents. --- ## 1. Test gate ```bash pytest tests/ -v ``` Required: ```text 0 failed ``` MCP-specific tests: ```text tests/mcp-server/test_mcp_config.py tests/mcp-server/test_mcp_executor.py tests/mcp-server/test_mcp_middleware.py tests/mcp-server/test_mcp_workspace.py ``` --- ## 2. Native gate Verify: ```text [ ] native server starts [ ] /health returns 200 [ ] bearer authentication works [ ] MCP initialize works [ ] tools/list exposes all six tools [ ] gitaiflow_usage works [ ] gitaiflow_last_summary works [ ] workspace authorization works [ ] real gitaiflow AOT output is returned ``` Procedure: ```text MCP-LOCAL-VERIFICATION.md ``` --- ## 3. Docker gate Verify in this exact order: ```text [ ] host parent workspace resolved [ ] image builds [ ] container starts [ ] correct AOT binary is mounted [ ] /app/bin/gitaiflow --version works [ ] parent multi-repository workspace is mounted at /workspace [ ] selected repository has its own .git [ ] selected Git root resolves correctly [ ] /health returns 200 [ ] direct --last-summary works from the selected repository [ ] MCP initialize works [ ] gitaiflow_last_summary works through MCP with repository path selection ``` Procedure: ```text MCP-DOCKER-VERIFICATION.md ``` --- ## 4. Inspector gate Verify: ```text [ ] connection [ ] authentication [ ] initialize [ ] session [ ] tools/list [ ] six tools [ ] schemas [ ] required arguments [ ] optional arguments [ ] valid tool calls [ ] MCP responses ``` Procedure: ```text MCP-INSPECTOR-VERIFICATION.md ``` --- ## 5. Claude gate Verify: ```text [ ] Docker stdio works outside Claude [ ] Claude launches Docker MCP [ ] MCP initialization succeeds [ ] six tools discovered [ ] gitaiflow_last_summary invoked [ ] result returned to Claude [ ] Developer Binary Path behavior verified [ ] normal production binary resolution verified ``` Procedure: ```text MCP-CLAUDE-DESKTOP.md ``` --- ## 6. Binary compatibility For MCP `1.1.3`: ```text minimum compatible gitaiflow: 1.0.0 compatibility: same major + >= minimum ``` Therefore a compatible `1.x` gitaiflow binary at or above `1.0.0` satisfies the MCP minimum contract. --- ## 7. Packaging gate For the Claude MCPB bundle verify: ```text [ ] bundle exists [ ] manifest exists [ ] server launcher exists [ ] icon.png exists [ ] manifest references icon.png [ ] expected platform artifact exists [ ] bundled/server version is 1.1.3 ``` --- ## 8. Release signing gate ```text [ ] SHA256SUMS generated for every AOT asset in this version [ ] SHA256SUMS.sig present (scripts/release/sign_release.sh, or scripts/r2/gitai_r2.sh with GITAIFLOW_SIGNING_KEY_FILE set) [ ] GITAIFLOW_SIGNING_KEY_FILE was set for this sync — no "skipping release signing" warning printed by gitai_r2.sh [ ] embedded public key in install.sh and mcp_server/binary.py matches the key used to sign (unchanged, unless this release rotates it) ``` Procedure: ```text MCP-RELEASE-SIGNING.md ``` An unsigned AOT release is not a valid production release: `binary.py` rejects it unconditionally on the MCP install path, and `install.sh` falls back to checksum-only. --- ## 9. Configuration safety Verify: ```text [ ] .mcp.env is ignored [ ] real MCP token is not committed [ ] AI credentials remain in ~/.gitaiflow/config.env [ ] AI credentials are not baked into Dockerfile [ ] workspace paths are not stored in ~/.gitaiflow/config.env [ ] developer binary paths are not stored in ~/.gitaiflow/config.env ``` --- ## 10. Release decision The local v1.1.3 MCP release gate is complete when: ```text Automated tests ↓ Native MCP ↓ Docker MCP ↓ Direct Docker AOT ↓ MCP Inspector ↓ Claude Desktop ↓ Packaging ↓ Release signing ``` all pass. Cloud Run is the next release/deployment phase. It is not a prerequisite for the local v1.1.3 MCP release.