{"status":"pass","category":"ARCH","severity":"medium","evidence":["src/swiss_environment_mcp/server.py:315-343 (_mcp_protocol_version() + server_start-Log mit mcp_protocol_version in der lifespan)","README.md:313-322 (Sektion \"MCP Protocol Version & Maintenance\": SDK-Version als kanonischer Pin, Update-Policy, monatliche Dependabot-PRs)",".github/dependabot.yml (pip + github-actions, monatlich)","CHANGELOG.md (Keep-a-Changelog-Format; Unreleased-Eintrag dokumentiert ARCH-012 Protokollversion-Logging)"],"gaps":["protocolVersion wird über die SDK-Konstante LATEST_PROTOCOL_VERSION geloggt statt als hartcodierter Literal gepinnt — bewusste, dokumentierte Design-Entscheidung (SDK-Version = Pin, via Dependabot getrackt)"],"evaluator_notes":"Zuvor partial (protocolVersion nicht geloggt/gepinnt). Remediation Batch 4: lifespan loggt nun beim server_start die vom SDK unterstützte mcp_protocol_version; README-Sektion, Update-Policy, CHANGELOG und Dependabot vorhanden. Pinning erfolgt über SDK-Versions-Pin + Startup-Logging statt Literal — dokumentiert und audit-trail-sichtbar; Pass-Intention (kein stiller Bruch, Nachvollziehbarkeit) erfüllt."}
