aws-mcp v4.0.0 SIGNED 2026-05-08 — Bible v19.1.10 + R50 cascade live

aws-mcp v4.0.0 SIGNED — Phase 9 cutover successful

Production state (LIVE 2026-05-08T12:10Z)

{
  "version": "4.0.0",
  "framework": "v19.1.10",
  "architecture": "registry-dispatch",
  "deployment_tier": "1",
  "contract": {
    "loaded": true,
    "pair_status": "SIGNED",
    "framework_version": "v19.1.10",
    "server_version": "4.0.0",
    "banned_tool_count": 0
  },
  "primitives": {
    "tools_exposed": 18,
    "internal_registry_count": 2999
  }
}

Cutover sequence (what AJ approved 2026-05-08)

  1. PR #8 merged → main 446ec7c..c7a9b37
  2. Pre-flight: .env hash captured (92565401cff3...), tools-list snapshot, /health pre-deploy, rollback image tagged aws-mcp-aws-mcp:v3.1.0-pre-upgrade
  3. Sync: rsync from /tmp clone → /opt/mcp-servers/aws-mcp/, .env preserved (excluded from rsync)
  4. First build attempt v4.0.0: container restarted on TWO bugs caught by gate
  5. Rollback to v3.1.0 while fixing bugs in /tmp clone (server healthy throughout)
  6. Bug fixes committed 446ec7c:
    • FastMCP 3.0.x removed stateless_http from constructor — already passed correctly to mcp.run() in __main__.py, just remove from ctor
    • Dockerfile only had COPY src/ src/ — added COPY docs/ docs/ so Pairing Contract is in image (Contract Enforcer was logging contract_file_missing)
  7. Re-sync, rebuild, redeploy: container healthy, /health v2 shape correct
  8. Phase 9 17/17 gate: ALL GREEN (full check list in Pairing Contract sign-off block)
  9. R32 Census: 16 PASS, 0 FEATURE_NOT_ENABLED, 4 PROBE_GAP (template improvements, not bugs), 0 TRUE_BUG
  10. Flip pair_status DRAFT → SIGNED committed 4b04a85, rebuild + redeploy
  11. Final verification: /health.contract.pair_status: "SIGNED"
  12. Bible R50 DRAFT PR #25 filed at https://github.com/ARJ999/MCP-God-Agent-Development-Bible/pull/25

Critical operational learnings (would have saved 1 hour)

  1. FastMCP 3.0.x changed stateless_http placement — it was removed from FastMCP() constructor in newer 3.x and must be passed to mcp.run() instead (or set FASTMCP_STATELESS_HTTP=true env var). The error message is helpful: TypeError: FastMCP() no longer accepts stateless_http. Pass stateless_http to run_http_async() or http_app(), or set FASTMCP_STATELESS_HTTP.. Pre-existing v3.1.0 codebases that worked with older FastMCP need this adjustment when bumping fastmcp>=3.0.2,<4.

  2. Bible v19.1.10 mandates COPY docs/ — Contract Enforcer (G6) loads docs/pairing-contract.md at module init. If the Dockerfile only copies src/, the contract is missing, contract_loaded: false, and pair_status: unknown. Pattern to remember: any Bible-mandated artifact at <repo-root>/docs/ MUST be in the Dockerfile COPY directives, not just src/. Add this to the framework template.

  3. ast.walk is wrong for module-level audits — descends into nested async def helpers (boto3 paginator pattern). Walk tree.body only.

  4. Phase 9 cutover gate WORKED EXACTLY AS DESIGNED — caught 2 bugs before SIGN. Rollback executed in <60s. .env preserved across full sequence (verified via SHA-256). The framework’s safety mechanisms paid for themselves.

  5. rsync code 23 with --exclude='.env' is normal — the .env in /opt/ has different ownership than /tmp/ clone, rsync warns but the actual file content is preserved (excluded from sync). Verify via sha256sum post-sync.

Files of permanent reference

  • Pair repo: https://github.com/ARJ999/aws-god-agent-mcp-server (main = SIGNED v4.0.0)
  • Pairing Contract: /opt/mcp-servers/aws-mcp/docs/pairing-contract.md (12 sections, SIGNED block populated)
  • Pilot learnings: /opt/mcp-servers/aws-mcp/docs/pilot-learnings.md
  • Skill: /root/.claude/skills/aws/SKILL.md (250 lines, 9 sections, Bible v19.1.10 format)
  • Bible R50 DRAFT: https://github.com/ARJ999/MCP-God-Agent-Development-Bible/pull/25 (file 19_FRAMEWORK_REFINEMENTS_v19.1.12_DRAFT.md)
  • Census harness: /opt/mcp-servers/aws-mcp/scripts/tool_health_census.py (R32 4-layer)
  • Registry-dispatch audit: /opt/mcp-servers/aws-mcp/scripts/registry_dispatch_audit.py (R50 reference)

Rollback path (still viable, retain for 30 days)

docker tag aws-mcp-aws-mcp:v3.1.0-pre-upgrade aws-mcp-aws-mcp:latest
cd /opt/mcp-servers/aws-mcp && docker compose up -d

The v3.1.0-pre-upgrade image is retained on the host. Recommend keeping for 30 days, then garbage-collect.

Confidence

0.95 — pair is SIGNED, gate passed, .env preserved, rollback viable, Bible cascade filed. Residual risk: Bible R50 DRAFT may need iteration before canonization; not blocking pair operation.