spring-runtime-mcp 0.2.0__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/CHANGELOG.md +13 -0
  2. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/PKG-INFO +27 -13
  3. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/README.md +22 -8
  4. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/README.zh-CN.md +13 -4
  5. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/release-readiness-2026-10-31.md +9 -0
  6. spring_runtime_mcp-0.2.1/docs/launch/announcement.md +90 -0
  7. spring_runtime_mcp-0.2.1/docs/launch/registry-0.2.1.patch +35 -0
  8. spring_runtime_mcp-0.2.1/docs/launch/registry-plan.md +46 -0
  9. spring_runtime_mcp-0.2.1/docs/launch/release-0.2.0.md +56 -0
  10. spring_runtime_mcp-0.2.1/docs/launch/server-0.2.1.json +21 -0
  11. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/pyproject.toml +4 -4
  12. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/__init__.py +1 -1
  13. spring_runtime_mcp-0.2.0/docs/launch/announcement.md +0 -97
  14. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/.agent/PLANS.md +0 -0
  15. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/.agent/execplans/bean-graph-and-drift.md +0 -0
  16. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/.gitignore +0 -0
  17. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/AGENTS.md +0 -0
  18. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/HANDOVER.md +0 -0
  19. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/LEGACY_CONVENTIONS.md +0 -0
  20. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/LICENSE +0 -0
  21. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/SECURITY.md +0 -0
  22. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/SPEC.md +0 -0
  23. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/Spring-Boot-Safe-Runtime-MCP-Project-Plan.md +0 -0
  24. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/RISK_ITEMS_HANDOFF.md +0 -0
  25. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/adr/0001-positioning-and-non-goals.md +0 -0
  26. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/ai-collaboration-workflow.md +0 -0
  27. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/architecture/cross-version-normalization.md +0 -0
  28. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/architecture/security-and-sanitization.md +0 -0
  29. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/capability-validation-2026-10-31.md +0 -0
  30. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/comprehensive-remediation-2026-10-22.md +0 -0
  31. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/comprehensive-review-2026-10-22.md +0 -0
  32. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/coverage-risk-zoning-2026-10-23.md +0 -0
  33. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/delivery-audit-remediation-2026-10-22.md +0 -0
  34. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/final-delivery-audit-2026-10-23.md +0 -0
  35. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/large-project-cursor-probe-2026-10-22.json +0 -0
  36. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/large-project-cursor-remediation-2026-10-23.json +0 -0
  37. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/large-project-stability-2026-10-22.json +0 -0
  38. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/large-project-stability-2026-10-22.md +0 -0
  39. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/logic-and-boundary-audit-2026-10-18.md +0 -0
  40. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/logic-and-boundary-fix-verification-2026-10-18.md +0 -0
  41. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/logic-and-boundary-remediation-plan-2026-10-18.md +0 -0
  42. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/mcp-release-gate-2026-10-23.md +0 -0
  43. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/nacos-four-hour-2026-10-23.md +0 -0
  44. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/niche-project-hertzbeat-2026-10-23.md +0 -0
  45. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/openapi-project-matrix-remediation-2026-10-22.md +0 -0
  46. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/openapi-projection-remediation-2026-10-22.json +0 -0
  47. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/production-chaos-2026-10-23.json +0 -0
  48. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/production-chaos-2026-10-23.md +0 -0
  49. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/production-chaos-findings-2026-10-23.json +0 -0
  50. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/production-chaos-remediation-2026-10-23.json +0 -0
  51. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/production-chaos-remediation-2026-10-23.md +0 -0
  52. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/production-chaos-remediation-probe-2026-10-23.json +0 -0
  53. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/project-state-and-architecture-audit-2026-10-18.md +0 -0
  54. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/remaining-findings-remediation-2026-10-22.md +0 -0
  55. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/remaining-work-handoff-2026-10-20.md +0 -0
  56. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/rw-review-and-plans-2026-10-20.md +0 -0
  57. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/security-callpoints.json +0 -0
  58. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/security-redteam-2026-10-17.md +0 -0
  59. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/security-verification.json +0 -0
  60. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/system-map-2026-10-23.md +0 -0
  61. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/ultra-project-fineract-2026-10-23.md +0 -0
  62. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/unresolved-findings-investigation-2026-10-22.md +0 -0
  63. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/unresolved-review-probe-2026-10-22.json +0 -0
  64. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/unresolved-review-remediation-2026-10-22.json +0 -0
  65. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/webflux-predicate-investigation-2026-10-22.md +0 -0
  66. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/webflux-predicate-remediation-2026-10-22.md +0 -0
  67. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/worktree-inventory-2026-10-30.md +0 -0
  68. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/audits/xxl-job-2026-10-23.md +0 -0
  69. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/contracts/tool-calling-policy.md +0 -0
  70. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/docs/target-app-setup.md +0 -0
  71. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/LargeProjectLauncher.java +0 -0
  72. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/LegacyServletSecurity.java.template +0 -0
  73. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/README.md +0 -0
  74. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/ReactiveSecurity.java.template +0 -0
  75. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/ServletSecurity.java.template +0 -0
  76. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/common.properties +0 -0
  77. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/dataflow.properties +0 -0
  78. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/flowable.properties +0 -0
  79. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/projects.json +0 -0
  80. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/large-project-matrix/spring-boot-admin.properties +0 -0
  81. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/nacos-soak-matrix/DiagnosticManagementSecurity.java +0 -0
  82. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/nacos-soak-matrix/META-INF/spring/org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration.imports +0 -0
  83. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/nacos-soak-matrix/NacosDiagnosticsLauncher.java +0 -0
  84. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/nacos-soak-matrix/README.md +0 -0
  85. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/nacos-soak-matrix/common.properties +0 -0
  86. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/nacos-soak-matrix/nacos.properties +0 -0
  87. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/nacos-soak-matrix/projects.json +0 -0
  88. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/nacos-soak-matrix/results/nacos-four-hour-2026-10-23-build.json +0 -0
  89. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/nacos-soak-matrix/results/nacos-four-hour-2026-10-23.json +0 -0
  90. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/niche-project-matrix/DiagnosticSecurity.java +0 -0
  91. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/niche-project-matrix/README.md +0 -0
  92. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/niche-project-matrix/common.properties +0 -0
  93. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/niche-project-matrix/hertzbeat.properties +0 -0
  94. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/niche-project-matrix/projects.json +0 -0
  95. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/niche-project-matrix/results/hertzbeat-final-300s.json +0 -0
  96. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/ChaosConfiguration.java +0 -0
  97. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/DiagnosticSecurity.java +0 -0
  98. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/ProductionLauncher.java +0 -0
  99. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/README.md +0 -0
  100. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/ShenyuManagement.java +0 -0
  101. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/common.properties +0 -0
  102. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/dolphinscheduler.properties +0 -0
  103. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/projects.json +0 -0
  104. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/results/dolphinscheduler-remediation.json +0 -0
  105. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/results/dolphinscheduler.json +0 -0
  106. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/results/shenyu-remediation.json +0 -0
  107. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/results/shenyu.json +0 -0
  108. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/results/thingsboard-remediation.json +0 -0
  109. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/results/thingsboard.json +0 -0
  110. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/shenyu.properties +0 -0
  111. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/thingsboard-actuator.patch +0 -0
  112. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/production-chaos/thingsboard.properties +0 -0
  113. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/EarlyGroupedBeanProbe.java +0 -0
  114. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/ProjectDiagnosticsLauncher.java +0 -0
  115. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/README.md +0 -0
  116. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/SpringdocPatchedProbe.java +0 -0
  117. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/early-grouped-bean-verification.json +0 -0
  118. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/jhipster-actuator-namespace.patch +0 -0
  119. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/jhipster-core.properties +0 -0
  120. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/jhipster-fixed.properties +0 -0
  121. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/jhipster-same-port-verification.json +0 -0
  122. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/jhipster-same-port.properties +0 -0
  123. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/jhipster-separate-port-investigation.json +0 -0
  124. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/jhipster-separate-port-remediation-verification.json +0 -0
  125. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/jhipster.properties +0 -0
  126. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/logback-diagnostics.xml +0 -0
  127. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/petclinic-rest-final-remediation-verification.json +0 -0
  128. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/petclinic-rest-initial-verification.json +0 -0
  129. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/petclinic-rest-remediation-verification.json +0 -0
  130. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/petclinic-rest.properties +0 -0
  131. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/petclinic.properties +0 -0
  132. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/projects.json +0 -0
  133. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/springdoc-3.1.1-diagnostics.patch +0 -0
  134. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/springdoc-compile-pom.xml +0 -0
  135. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/springdoc-patched-probe-verification.json +0 -0
  136. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/project-matrix/verification.json +0 -0
  137. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/README.md +0 -0
  138. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/pom.xml +0 -0
  139. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/source-catalog.json +0 -0
  140. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/src/main/java/example/DemoApplication.java +0 -0
  141. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/src/main/java/example/OrderController.java +0 -0
  142. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/src/main/java/example/PaymentGateway.java +0 -0
  143. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/src/main/java/example/StripeClient.java +0 -0
  144. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/src/main/java/example/StripeConfiguration.java +0 -0
  145. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/src/main/java/example/StripePaymentGateway.java +0 -0
  146. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/src/main/resources/application-local-mcp.yml +0 -0
  147. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/src/main/resources/application.yml +0 -0
  148. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/spring-boot-demo/src/main/resources/db/migration/V1__create_orders.sql +0 -0
  149. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/tdd-runtime/DiagnosticsLauncher.java +0 -0
  150. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/tdd-runtime/README.md +0 -0
  151. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/tdd-runtime/actuator-profile.patch +0 -0
  152. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/tdd-runtime/application-runtime-diagnostics.properties +0 -0
  153. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/tdd-runtime/verification.json +0 -0
  154. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/ultra-project-matrix/FineractDiagnosticsLauncher.java +0 -0
  155. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/ultra-project-matrix/README.md +0 -0
  156. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/ultra-project-matrix/common.properties +0 -0
  157. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/ultra-project-matrix/fineract-build-workaround.patch +0 -0
  158. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/ultra-project-matrix/fineract.properties +0 -0
  159. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/ultra-project-matrix/projects.json +0 -0
  160. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/ultra-project-matrix/results/fineract-final-300s.json +0 -0
  161. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/upstream-guides/GuideDiagnosticsLauncher.java +0 -0
  162. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/upstream-guides/README.md +0 -0
  163. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/upstream-guides/diagnostics-pom.template.xml +0 -0
  164. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/upstream-guides/verification.json +0 -0
  165. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/upstream-guides/webflux-remediation-verification.json +0 -0
  166. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/xxl-job-matrix/DiagnosticSecurity.java +0 -0
  167. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/xxl-job-matrix/README.md +0 -0
  168. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/xxl-job-matrix/common.properties +0 -0
  169. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/xxl-job-matrix/projects.json +0 -0
  170. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/xxl-job-matrix/results/xxl-job-final-300s.json +0 -0
  171. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/examples/xxl-job-matrix/xxl-job.properties +0 -0
  172. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/ai_audit.py +0 -0
  173. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_demo_app.py +0 -0
  174. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_guide_runtime.py +0 -0
  175. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_large_project_runtime.py +0 -0
  176. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_nacos_soak.py +0 -0
  177. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_niche_project_runtime.py +0 -0
  178. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_production_chaos.py +0 -0
  179. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_project_runtime.py +0 -0
  180. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_stdio_install.py +0 -0
  181. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_tdd_runtime.py +0 -0
  182. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_ultra_project_runtime.py +0 -0
  183. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/check_xxl_job_runtime.py +0 -0
  184. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/pre_release_check.py +0 -0
  185. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/prepare_springdoc_patch.py +0 -0
  186. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/probe_jhipster_separate_port.py +0 -0
  187. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/probe_large_project_stability.py +0 -0
  188. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/probe_openapi_matrix_findings.py +0 -0
  189. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/probe_production_chaos_findings.py +0 -0
  190. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/probe_unresolved_review_findings.py +0 -0
  191. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/production_fault_proxy.py +0 -0
  192. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/scripts/validate_tool_contract.py +0 -0
  193. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/__init__.py +0 -0
  194. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/beans.py +0 -0
  195. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/conditions.py +0 -0
  196. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/config.py +0 -0
  197. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/drift.py +0 -0
  198. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/health.py +0 -0
  199. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/mapping_predicates.py +0 -0
  200. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/mappings.py +0 -0
  201. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/migrations.py +0 -0
  202. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/openapi.py +0 -0
  203. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/source_catalog.py +0 -0
  204. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/adapters/startup.py +0 -0
  205. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/analyzers/__init__.py +0 -0
  206. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/analyzers/bean_graph.py +0 -0
  207. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/analyzers/condition_failures.py +0 -0
  208. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/cli.py +0 -0
  209. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/contracts/__init__.py +0 -0
  210. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/contracts/definitions.py +0 -0
  211. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/diagnostics.py +0 -0
  212. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/models/__init__.py +0 -0
  213. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/models/bean_graph.py +0 -0
  214. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/models/common.py +0 -0
  215. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/models/conditions.py +0 -0
  216. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/models/queries.py +0 -0
  217. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/models/source_catalog.py +0 -0
  218. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/models/timestamps.py +0 -0
  219. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/policy/__init__.py +0 -0
  220. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/policy/configuration.py +0 -0
  221. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/policy/output_guard.py +0 -0
  222. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/policy/sanitization.py +0 -0
  223. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/py.typed +0 -0
  224. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay.py +0 -0
  225. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/bean_graph/README.md +0 -0
  226. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/bean_graph/factory-method/conditions.json +0 -0
  227. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/bean_graph/factory-method/source-catalog.json +0 -0
  228. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/bean_graph/nested-conditions/beans.json +0 -0
  229. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/bean_graph/nested-conditions/conditions.json +0 -0
  230. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/bean_graph/parent-child/beans.json +0 -0
  231. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/bean_graph/shape-metadata.json +0 -0
  232. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/bean_graph/stripe-missing/conditions.json +0 -0
  233. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/bean_graph/stripe-missing/source-catalog.json +0 -0
  234. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/README.md +0 -0
  235. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/beans.json +0 -0
  236. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/conditions.json +0 -0
  237. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/configprops.json +0 -0
  238. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/env.json +0 -0
  239. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/flyway.json +0 -0
  240. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/health-v2.json +0 -0
  241. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/health-v3.json +0 -0
  242. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/liquibase.json +0 -0
  243. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/mappings.json +0 -0
  244. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/openapi.json +0 -0
  245. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/source-catalog.json +0 -0
  246. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-2.7-servlet/startup.json +0 -0
  247. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/beans.json +0 -0
  248. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/conditions.json +0 -0
  249. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/configprops.json +0 -0
  250. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/env.json +0 -0
  251. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/flyway.json +0 -0
  252. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/health-v3.json +0 -0
  253. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/liquibase.json +0 -0
  254. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/mappings.json +0 -0
  255. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/openapi.json +0 -0
  256. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/source-catalog.json +0 -0
  257. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-3.4-servlet/startup.json +0 -0
  258. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/beans.json +0 -0
  259. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/conditions.json +0 -0
  260. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/configprops.json +0 -0
  261. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/env.json +0 -0
  262. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/flyway.json +0 -0
  263. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/health-v3.json +0 -0
  264. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/liquibase.json +0 -0
  265. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/mappings.json +0 -0
  266. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/openapi.json +0 -0
  267. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/servlet-namespace-comparison.json +0 -0
  268. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/source-catalog.json +0 -0
  269. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/boot-4.1-webflux/startup.json +0 -0
  270. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/contracts/springboot_analyze_startup.json +0 -0
  271. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/contracts/springboot_check_migrations.json +0 -0
  272. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/contracts/springboot_detect_drift.json +0 -0
  273. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/contracts/springboot_diagnose_health.json +0 -0
  274. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/contracts/springboot_inspect_beans.json +0 -0
  275. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/contracts/springboot_inspect_config.json +0 -0
  276. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/contracts/springboot_search_openapi.json +0 -0
  277. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/contracts/springboot_verify_mappings.json +0 -0
  278. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/faults/cases.json +0 -0
  279. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/faults/health-hidden.expected.json +0 -0
  280. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/faults/health-hidden.json +0 -0
  281. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/large/beans-2500.json +0 -0
  282. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/replay_data/conformance/manifest.json +0 -0
  283. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/schemas/tools-contract.json +0 -0
  284. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/server.py +0 -0
  285. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/services.py +0 -0
  286. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/snapshots.py +0 -0
  287. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/__init__.py +0 -0
  288. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/analyze_startup.py +0 -0
  289. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/check_migrations.py +0 -0
  290. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/detect_drift.py +0 -0
  291. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/diagnose_health.py +0 -0
  292. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/inspect_beans.py +0 -0
  293. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/inspect_config.py +0 -0
  294. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/registry.py +0 -0
  295. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/search_openapi.py +0 -0
  296. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/support.py +0 -0
  297. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/tools/verify_mappings.py +0 -0
  298. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/transport/__init__.py +0 -0
  299. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/transport/actuator_http.py +0 -0
  300. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/transport/bounded_json.py +0 -0
  301. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/transport/replay_files.py +0 -0
  302. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/transport/response_gate.py +0 -0
  303. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/transport/responses.py +0 -0
  304. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/src/spring_runtime_mcp/transport/stdio.py +0 -0
  305. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conformance/README.md +0 -0
  306. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conformance/__init__.py +0 -0
  307. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conformance/assertions.py +0 -0
  308. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conformance/conftest.py +0 -0
  309. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conformance/test_faults.py +0 -0
  310. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conformance/test_large_response.py +0 -0
  311. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conformance/test_multiversion_fixtures.py +0 -0
  312. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conformance/test_server_contract.py +0 -0
  313. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conformance/test_tools_contract.py +0 -0
  314. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/conftest.py +0 -0
  315. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/bean_graph/README.md +0 -0
  316. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/bean_graph/factory-method/conditions.json +0 -0
  317. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/bean_graph/factory-method/source-catalog.json +0 -0
  318. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/bean_graph/nested-conditions/beans.json +0 -0
  319. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/bean_graph/nested-conditions/conditions.json +0 -0
  320. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/bean_graph/parent-child/beans.json +0 -0
  321. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/bean_graph/shape-metadata.json +0 -0
  322. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/bean_graph/stripe-missing/conditions.json +0 -0
  323. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/bean_graph/stripe-missing/source-catalog.json +0 -0
  324. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/README.md +0 -0
  325. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/beans.json +0 -0
  326. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/conditions.json +0 -0
  327. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/configprops.json +0 -0
  328. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/env.json +0 -0
  329. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/flyway.json +0 -0
  330. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/health-v2.json +0 -0
  331. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/health-v3.json +0 -0
  332. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/liquibase.json +0 -0
  333. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/mappings.json +0 -0
  334. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/openapi.json +0 -0
  335. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/source-catalog.json +0 -0
  336. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-2.7-servlet/startup.json +0 -0
  337. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/beans.json +0 -0
  338. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/conditions.json +0 -0
  339. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/configprops.json +0 -0
  340. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/env.json +0 -0
  341. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/flyway.json +0 -0
  342. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/health-v3.json +0 -0
  343. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/liquibase.json +0 -0
  344. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/mappings.json +0 -0
  345. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/openapi.json +0 -0
  346. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/source-catalog.json +0 -0
  347. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-3.4-servlet/startup.json +0 -0
  348. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/beans.json +0 -0
  349. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/conditions.json +0 -0
  350. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/configprops.json +0 -0
  351. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/env.json +0 -0
  352. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/flyway.json +0 -0
  353. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/health-v3.json +0 -0
  354. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/liquibase.json +0 -0
  355. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/mappings.json +0 -0
  356. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/openapi.json +0 -0
  357. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/servlet-namespace-comparison.json +0 -0
  358. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/source-catalog.json +0 -0
  359. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/boot-4.1-webflux/startup.json +0 -0
  360. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/contracts/springboot_analyze_startup.json +0 -0
  361. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/contracts/springboot_check_migrations.json +0 -0
  362. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/contracts/springboot_detect_drift.json +0 -0
  363. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/contracts/springboot_diagnose_health.json +0 -0
  364. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/contracts/springboot_inspect_beans.json +0 -0
  365. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/contracts/springboot_inspect_config.json +0 -0
  366. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/contracts/springboot_search_openapi.json +0 -0
  367. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/contracts/springboot_verify_mappings.json +0 -0
  368. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/faults/cases.json +0 -0
  369. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/faults/health-hidden.expected.json +0 -0
  370. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/faults/health-hidden.json +0 -0
  371. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/large/beans-2500.json +0 -0
  372. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/fixtures/conformance/manifest.json +0 -0
  373. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/harness/__init__.py +0 -0
  374. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/harness/host.py +0 -0
  375. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/integration/test_cli_config_wiring.py +0 -0
  376. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/integration/test_diagnostic_pairs.py +0 -0
  377. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/integration/test_handler_boundaries.py +0 -0
  378. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/integration/test_inspect_beans.py +0 -0
  379. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/integration/test_mcp_host_and_http.py +0 -0
  380. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/integration/test_stdio_host_process.py +0 -0
  381. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/README.md +0 -0
  382. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/__init__.py +0 -0
  383. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/helpers.py +0 -0
  384. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/redteam-audit.test.ts +0 -0
  385. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/test_redteam_boundaries.py +0 -0
  386. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/test_redteam_injection.py +0 -0
  387. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/test_redteam_leakage.py +0 -0
  388. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/test_redteam_network.py +0 -0
  389. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/test_redteam_readonly.py +0 -0
  390. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/security/test_redteam_stdio.py +0 -0
  391. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/test_e2e_diagnostic_scenarios.py +0 -0
  392. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_audit_regressions.py +0 -0
  393. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_bean_graph.py +0 -0
  394. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_bounded_json_and_inputs.py +0 -0
  395. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_cli_startup_contract.py +0 -0
  396. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_comprehensive_review_regressions.py +0 -0
  397. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_condition_failures.py +0 -0
  398. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_delivery_audit_regressions.py +0 -0
  399. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_diagnose_health_characterization.py +0 -0
  400. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_handler_registration.py +0 -0
  401. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_health_characterization.py +0 -0
  402. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_health_incomplete_counts.py +0 -0
  403. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_http_connect_deadline.py +0 -0
  404. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_http_rejection_read_budget.py +0 -0
  405. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_logic_boundary_audit_regressions.py +0 -0
  406. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_mappings_servlet_coverage.py +0 -0
  407. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_openapi_projection_safety.py +0 -0
  408. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_pre_release_check.py +0 -0
  409. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_production_chaos_repairs.py +0 -0
  410. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_remaining_findings.py +0 -0
  411. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_responses_snapshots.py +0 -0
  412. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_rw02_protocol_regressions.py +0 -0
  413. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_rw06_architecture_regressions.py +0 -0
  414. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_sanitization.py +0 -0
  415. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/tests/unit/test_webflux_predicates.py +0 -0
  416. {spring_runtime_mcp-0.2.0 → spring_runtime_mcp-0.2.1}/uv.lock +0 -0
@@ -1,5 +1,18 @@
1
1
  # 版本记录
2
2
 
3
+ ## 未发布 — v0.2.1 Alpha 元数据修正候选
4
+
5
+ - Registry 名称与 README 所有权标记统一为 `io.github.neilmorse/spring-runtime-mcp`;项目 URL 指向当前仓库所有者。版本源、锁文件项目版本和 Registry 包版本同步为 0.2.1。
6
+ - 仅准备候选,不表示已上传 PyPI 或 Registry。已发布的 0.2.0 标签和产物保留;生产诊断实现、公开工具 Schema、运行依赖、只读/脱敏/目标/预算边界不变。
7
+ - 新标签、PyPI 环境标签授权、新版本上传及 Registry 登录/提交仍需操作者批准。安装说明继续固定已公开验收的 0.2.0,待新版本公开安装通过后再切换推荐版本。
8
+
9
+ ## v0.2.0 Alpha — 2026-10-31(正式发布)
10
+
11
+ - 已发布到 [PyPI](https://pypi.org/project/spring-runtime-mcp/0.2.0/),标签 `v0.2.0` 对应 `2394b29a84a5fcd8210d3934eee1a94e1d3fc0ac`。
12
+ - 干净提交本地完整门禁退出 0;正式 Release 的 Python 3.11–3.14、静态检查、契约、漏洞审计、构建/两产物隔离安装与发布全部通过。
13
+ - 公开 PyPI 仓库外全新环境安装通过两种 SDK 模式、八工具回环调用和七 replay;公开产物摘要与验收批次一致。首发保持 Alpha、本地回环与有限兼容范围,详见[发布记录](docs/launch/release-0.2.0.md)。
14
+ - 下列“未发布”记录保留各轮实施时状态;其中交付内容已随本版纳入,不应据历史措辞判断当前未发布。2026-10-22 的 v0.2.0 条目记录开发里程碑,不是 PyPI 首次发布日期。
15
+
3
16
  ## 未发布 — 2026-10-31 发布流程收口
4
17
 
5
18
  - 将已审阅的生产修复、测试、资源、脚本和历史证据准备为同一发布提交;Nacos 原运行日志/逐分钟 JSONL 本地留存并精确忽略,聚合证据保留。
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: spring-runtime-mcp
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Read-only, sanitized Spring Boot runtime diagnostics for coding agents over MCP.
5
- Project-URL: Homepage, https://github.com/Kaelenx/spring-runtime-mcp
6
- Project-URL: Repository, https://github.com/Kaelenx/spring-runtime-mcp
7
- Project-URL: Issues, https://github.com/Kaelenx/spring-runtime-mcp/issues
8
- Project-URL: Changelog, https://github.com/Kaelenx/spring-runtime-mcp/blob/master/CHANGELOG.md
5
+ Project-URL: Homepage, https://github.com/neilmorse/spring-runtime-mcp
6
+ Project-URL: Repository, https://github.com/neilmorse/spring-runtime-mcp
7
+ Project-URL: Issues, https://github.com/neilmorse/spring-runtime-mcp/issues
8
+ Project-URL: Changelog, https://github.com/neilmorse/spring-runtime-mcp/blob/master/CHANGELOG.md
9
9
  Author: Kaelenx
10
10
  License-Expression: Apache-2.0
11
11
  License-File: LICENSE
@@ -29,7 +29,7 @@ Description-Content-Type: text/markdown
29
29
 
30
30
  # Spring Boot Runtime Diagnostics MCP
31
31
 
32
- [![CI](https://github.com/Kaelenx/spring-runtime-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Kaelenx/spring-runtime-mcp/actions/workflows/ci.yml)
32
+ [![CI](https://github.com/neilmorse/spring-runtime-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/neilmorse/spring-runtime-mcp/actions/workflows/ci.yml)
33
33
  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
34
34
  [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](pyproject.toml)
35
35
  [![MCP](https://img.shields.io/badge/MCP-stdio-black.svg)](https://modelcontextprotocol.io)
@@ -42,6 +42,19 @@ It is local-first and safe by default: fixed `GET` endpoints only, no redirects,
42
42
 
43
43
  [中文说明](README.zh-CN.md)
44
44
 
45
+ **0.2.0 Alpha is available on [PyPI](https://pypi.org/project/spring-runtime-mcp/0.2.0/).**
46
+ It supports registered loopback targets over STDIO, with fixed endpoints and optional
47
+ Bearer environment binding. Commands below explicitly use public PyPI to avoid mirror lag. Windows/macOS and the full Boot/client matrix remain
48
+ unverified. See the [release record](docs/launch/release-0.2.0.md).
49
+
50
+ ```bash
51
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --version
52
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --base-url http://127.0.0.1:18081
53
+ ```
54
+
55
+ Configure your local target first using the [target setup guide](docs/target-app-setup.md).
56
+ The second command is the persistent MCP host; it waits for a client on STDIO.
57
+
45
58
  ## Why not just curl `/actuator`?
46
59
 
47
60
  Because an agent that can `curl` an Actuator can also `POST /actuator/shutdown`, read `/actuator/heapdump`, leak `spring.datasource.password` into a transcript, or paste 2 MB of `beans` JSON into its context window. This project replaces that with a narrow, auditable surface:
@@ -77,7 +90,7 @@ Tools are registered in alphabetical order, each carries `readOnlyHint`, `destru
77
90
  Requires Python 3.11+ and [uv](https://docs.astral.sh/uv/). No JDK, Docker, model API key or network target is needed; the replay command runs a tool against a committed synthetic Actuator fixture.
78
91
 
79
92
  ```bash
80
- git clone https://github.com/Kaelenx/spring-runtime-mcp.git && cd spring-runtime-mcp
93
+ git clone --branch v0.2.0 --depth 1 https://github.com/neilmorse/spring-runtime-mcp.git && cd spring-runtime-mcp
81
94
  uv run --locked python -m pytest -q
82
95
  uv run --locked python -m spring_runtime_mcp.replay \
83
96
  --scenario stripe-missing --tool springboot_inspect_beans \
@@ -275,7 +288,7 @@ uv run --no-sync ruff format --check src tests scripts
275
288
  uv build
276
289
  ```
277
290
 
278
- Add `--offline` to the initial sync once dependencies are cached. `uv.lock` fixes the tested runtime and development dependency versions; the wheel includes its tool Schema and `py.typed`. Tests block outbound network by default; real Shop acceptance is a separate operator-invoked script. PR CI runs the Python test matrix and static checks; release additionally runs the full audited pre-release script and requires a matching version tag. The changed workflow awaits remote verification.
291
+ Add `--offline` to the initial sync once dependencies are cached. `uv.lock` fixes the tested runtime and development dependency versions; the wheel includes its tool Schema and `py.typed`. Tests block outbound network by default; real Shop acceptance is a separate operator-invoked script. PR CI runs the Python test matrix and static checks; release additionally runs the full audited pre-release script and requires a matching version tag. The release workflow passed on the published commit; see the release record.
279
292
 
280
293
  For a working-tree review, run `uv run --no-sync python scripts/pre_release_check.py --allow-dirty`. Add `--audit` to run the separate online `uv audit --locked` dependency check. Skipping the audit or build, allowing a dirty tree, or accepting skipped tests makes the result incomplete (exit 2); a failure exits 1. The clean-room stage compares wheel and sdist resources and versions with the source, installs each into a separate environment using lockfile constraints for runtime dependencies, checks the CLI version, and runs `scripts/check_stdio_install.py` outside the repository with isolated Python. Both installations cover both SDK modes, eight handlers against a disposable loopback fixture and seven packaged replay scenarios. Build dependencies are pinned in the build system and included in the development lock and audit. The earlier verification is recorded in the [MCP delivery audit](docs/audits/mcp-release-gate-2026-10-23.md).
281
294
 
@@ -297,10 +310,10 @@ Security findings should go to the repository's private vulnerability reporting
297
310
 
298
311
  [Apache-2.0](LICENSE)
299
312
 
300
- <!-- mcp-name: io.github.Kaelenx/spring-runtime-mcp -->
313
+ <!-- mcp-name: io.github.neilmorse/spring-runtime-mcp -->
301
314
 
302
315
 
303
- The first release candidate remains **0.2.0 Alpha**: loopback targets, STDIO,
316
+ The published release is **0.2.0 Alpha**: loopback targets, STDIO,
304
317
  eight existing tools and Bearer environment binding. See the
305
318
  [release readiness report](docs/audits/release-readiness-2026-10-31.md) for separate
306
319
  platform, historical sample, SDK and actual client evidence.
@@ -315,6 +328,7 @@ uv pip install --python /tmp/spring-runtime-user/bin/python /absolute/path/sprin
315
328
  /tmp/spring-runtime-user/bin/spring-runtime-mcp --base-url http://127.0.0.1:18081
316
329
  ```
317
330
 
318
- Public PyPI availability was not verified this round. `uvx spring-runtime-mcp==0.2.0`
319
- is a post-publication path awaiting validation. Replay is a one-shot offline command,
320
- not the MCP host.
331
+ Public PyPI installation has passed an independent clean-environment check on
332
+ Linux/Python 3.12, including both SDK modes, eight fixture routes and seven replay
333
+ scenarios. Replay is a one-shot offline command, not the MCP host. See the
334
+ [release record](docs/launch/release-0.2.0.md) for evidence and remaining limits.
@@ -1,6 +1,6 @@
1
1
  # Spring Boot Runtime Diagnostics MCP
2
2
 
3
- [![CI](https://github.com/Kaelenx/spring-runtime-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Kaelenx/spring-runtime-mcp/actions/workflows/ci.yml)
3
+ [![CI](https://github.com/neilmorse/spring-runtime-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/neilmorse/spring-runtime-mcp/actions/workflows/ci.yml)
4
4
  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
5
5
  [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](pyproject.toml)
6
6
  [![MCP](https://img.shields.io/badge/MCP-stdio-black.svg)](https://modelcontextprotocol.io)
@@ -13,6 +13,19 @@ It is local-first and safe by default: fixed `GET` endpoints only, no redirects,
13
13
 
14
14
  [中文说明](README.zh-CN.md)
15
15
 
16
+ **0.2.0 Alpha is available on [PyPI](https://pypi.org/project/spring-runtime-mcp/0.2.0/).**
17
+ It supports registered loopback targets over STDIO, with fixed endpoints and optional
18
+ Bearer environment binding. Commands below explicitly use public PyPI to avoid mirror lag. Windows/macOS and the full Boot/client matrix remain
19
+ unverified. See the [release record](docs/launch/release-0.2.0.md).
20
+
21
+ ```bash
22
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --version
23
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --base-url http://127.0.0.1:18081
24
+ ```
25
+
26
+ Configure your local target first using the [target setup guide](docs/target-app-setup.md).
27
+ The second command is the persistent MCP host; it waits for a client on STDIO.
28
+
16
29
  ## Why not just curl `/actuator`?
17
30
 
18
31
  Because an agent that can `curl` an Actuator can also `POST /actuator/shutdown`, read `/actuator/heapdump`, leak `spring.datasource.password` into a transcript, or paste 2 MB of `beans` JSON into its context window. This project replaces that with a narrow, auditable surface:
@@ -48,7 +61,7 @@ Tools are registered in alphabetical order, each carries `readOnlyHint`, `destru
48
61
  Requires Python 3.11+ and [uv](https://docs.astral.sh/uv/). No JDK, Docker, model API key or network target is needed; the replay command runs a tool against a committed synthetic Actuator fixture.
49
62
 
50
63
  ```bash
51
- git clone https://github.com/Kaelenx/spring-runtime-mcp.git && cd spring-runtime-mcp
64
+ git clone --branch v0.2.0 --depth 1 https://github.com/neilmorse/spring-runtime-mcp.git && cd spring-runtime-mcp
52
65
  uv run --locked python -m pytest -q
53
66
  uv run --locked python -m spring_runtime_mcp.replay \
54
67
  --scenario stripe-missing --tool springboot_inspect_beans \
@@ -246,7 +259,7 @@ uv run --no-sync ruff format --check src tests scripts
246
259
  uv build
247
260
  ```
248
261
 
249
- Add `--offline` to the initial sync once dependencies are cached. `uv.lock` fixes the tested runtime and development dependency versions; the wheel includes its tool Schema and `py.typed`. Tests block outbound network by default; real Shop acceptance is a separate operator-invoked script. PR CI runs the Python test matrix and static checks; release additionally runs the full audited pre-release script and requires a matching version tag. The changed workflow awaits remote verification.
262
+ Add `--offline` to the initial sync once dependencies are cached. `uv.lock` fixes the tested runtime and development dependency versions; the wheel includes its tool Schema and `py.typed`. Tests block outbound network by default; real Shop acceptance is a separate operator-invoked script. PR CI runs the Python test matrix and static checks; release additionally runs the full audited pre-release script and requires a matching version tag. The release workflow passed on the published commit; see the release record.
250
263
 
251
264
  For a working-tree review, run `uv run --no-sync python scripts/pre_release_check.py --allow-dirty`. Add `--audit` to run the separate online `uv audit --locked` dependency check. Skipping the audit or build, allowing a dirty tree, or accepting skipped tests makes the result incomplete (exit 2); a failure exits 1. The clean-room stage compares wheel and sdist resources and versions with the source, installs each into a separate environment using lockfile constraints for runtime dependencies, checks the CLI version, and runs `scripts/check_stdio_install.py` outside the repository with isolated Python. Both installations cover both SDK modes, eight handlers against a disposable loopback fixture and seven packaged replay scenarios. Build dependencies are pinned in the build system and included in the development lock and audit. The earlier verification is recorded in the [MCP delivery audit](docs/audits/mcp-release-gate-2026-10-23.md).
252
265
 
@@ -268,10 +281,10 @@ Security findings should go to the repository's private vulnerability reporting
268
281
 
269
282
  [Apache-2.0](LICENSE)
270
283
 
271
- <!-- mcp-name: io.github.Kaelenx/spring-runtime-mcp -->
284
+ <!-- mcp-name: io.github.neilmorse/spring-runtime-mcp -->
272
285
 
273
286
 
274
- The first release candidate remains **0.2.0 Alpha**: loopback targets, STDIO,
287
+ The published release is **0.2.0 Alpha**: loopback targets, STDIO,
275
288
  eight existing tools and Bearer environment binding. See the
276
289
  [release readiness report](docs/audits/release-readiness-2026-10-31.md) for separate
277
290
  platform, historical sample, SDK and actual client evidence.
@@ -286,6 +299,7 @@ uv pip install --python /tmp/spring-runtime-user/bin/python /absolute/path/sprin
286
299
  /tmp/spring-runtime-user/bin/spring-runtime-mcp --base-url http://127.0.0.1:18081
287
300
  ```
288
301
 
289
- Public PyPI availability was not verified this round. `uvx spring-runtime-mcp==0.2.0`
290
- is a post-publication path awaiting validation. Replay is a one-shot offline command,
291
- not the MCP host.
302
+ Public PyPI installation has passed an independent clean-environment check on
303
+ Linux/Python 3.12, including both SDK modes, eight fixture routes and seven replay
304
+ scenarios. Replay is a one-shot offline command, not the MCP host. See the
305
+ [release record](docs/launch/release-0.2.0.md) for evidence and remaining limits.
@@ -2,7 +2,16 @@
2
2
 
3
3
  [English README](README.md)
4
4
 
5
- 当前版本为 **v0.2.0**,工作树另含尚未发布的综合审查修复。交付范围、实际验证与限制见 [版本记录](CHANGELOG.md)及[修复验收报告](docs/audits/comprehensive-remediation-2026-10-22.md)。
5
+ **v0.2.0 Alpha 已发布到 [PyPI](https://pypi.org/project/spring-runtime-mcp/0.2.0/)**。限定支持登记的回环目标、STDIO、固定端点及可选 Bearer 环境变量绑定;Windows/macOS 与完整 Boot/客户端矩阵仍未验证。发布提交、产物摘要与实际验收见[发布记录](docs/launch/release-0.2.0.md)。
6
+
7
+ 安装并检查版本(显式使用官方 PyPI,避免镜像尚未同步新包):
8
+
9
+ ```bash
10
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --version
11
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --base-url http://127.0.0.1:18081
12
+ ```
13
+
14
+ 先按[目标配置指南](docs/target-app-setup.md)配置本地应用。第二条命令为常驻 MCP 宿主,等待客户端通过 STDIO 发出请求;replay 仍是一次性离线命令。
6
15
 
7
16
  面向编码 Agent 的本地优先、只读、安全默认运行时诊断工具。项目目标是把获权 Spring Boot 实例的 Actuator 与 OpenAPI 响应转换为脱敏、可追溯、有界的运行证据。
8
17
 
@@ -249,14 +258,14 @@ uv run --no-sync ruff format --check src tests scripts
249
258
  uv build
250
259
  ```
251
260
 
252
- `uv.lock` 锁定运行及开发依赖;已缓存时首条同步可加 `--offline`。当前离线结果见[版本记录](CHANGELOG.md),历史交付核验见[报告](docs/audits/final-delivery-audit-2026-10-23.md);超大型 Fineract 验收见[审计报告](docs/audits/ultra-project-fineract-2026-10-23.md)。官方 SDK 的 legacy 和 2026-07-28 模式也完成隔离 wheel 安装验收。PR CI 运行 Python 测试矩阵与静态检查;正式发布另运行完整联网审计门禁并检查标签与包版本一致,修改后的远端工作流待验证。TypeScript 红队入口是 `tests/security/redteam-audit.test.ts`,需要本机 Node,不属于默认 Python 门禁。
261
+ `uv.lock` 锁定运行及开发依赖;已缓存时首条同步可加 `--offline`。当前离线结果见[版本记录](CHANGELOG.md),历史交付核验见[报告](docs/audits/final-delivery-audit-2026-10-23.md);超大型 Fineract 验收见[审计报告](docs/audits/ultra-project-fineract-2026-10-23.md)。官方 SDK 的 legacy 和 2026-07-28 模式也完成隔离 wheel 安装验收。PR CI 运行 Python 测试矩阵与静态检查;正式发布另运行完整联网审计门禁并检查标签与包版本一致,发布提交的远端工作流已通过,见发布记录。TypeScript 红队入口是 `tests/security/redteam-audit.test.ts`,需要本机 Node,不属于默认 Python 门禁。
253
262
 
254
263
  工作树自检运行 `uv run --no-sync python scripts/pre_release_check.py --allow-dirty`;加 `--audit` 才执行独立的联网 `uv audit --locked` 漏洞审计。未执行审计、跳过构建、允许脏工作树或接受跳过的测试时,检查不完整并返回 2;失败返回 1。净室阶段比对 wheel 与 sdist 的资源和版本,分别在独立环境按锁文件约束安装运行依赖、检查 CLI 版本,再从仓库外用隔离 Python 执行 SDK 两模式、八个自建回环 HTTP 处理器调用和七个内置 replay 场景。构建后端及其构建依赖固定版本,并纳入开发锁文件与漏洞审计。历史证据见 [MCP 交付专项核验](docs/audits/mcp-release-gate-2026-10-23.md)。
255
264
 
256
265
  Python 实现位于 `src/spring_runtime_mcp/`;公开契约位于 `src/spring_runtime_mcp/schemas/tools-contract.json`,随 wheel 一起分发;`tests/` 默认阻断外部网络。架构速查见 [HANDOVER.md](HANDOVER.md)。[SPEC](SPEC.md)定义产品目标,[目标配置指南](docs/target-app-setup.md)解释版本及授权,[归一化设计](docs/architecture/cross-version-normalization.md)说明响应差异,[红队报告](docs/audits/security-redteam-2026-10-17.md)列出已修复问题与仍未覆盖的真实实例边界。
257
266
 
258
267
 
259
- 首发候选为 **0.2.0 Alpha**,仅支持本地回环、STDIO、现有八工具和 Bearer 环境变量绑定。平台、历史样本、SDK 与实际客户端证据分列于[发布准备报告](docs/audits/release-readiness-2026-10-31.md),不代表完整兼容矩阵。
268
+ 已发布版本为 **0.2.0 Alpha**,仅支持本地回环、STDIO、现有八工具和 Bearer 环境变量绑定。平台、历史样本、SDK 与实际客户端证据分列于[发布准备报告](docs/audits/release-readiness-2026-10-31.md),不代表完整兼容矩阵。
260
269
 
261
270
  源码检出使用上方锁定项目命令。wheel 安装后直接运行入口:
262
271
 
@@ -267,4 +276,4 @@ uv pip install --python /tmp/spring-runtime-user/bin/python /absolute/path/sprin
267
276
  /tmp/spring-runtime-user/bin/spring-runtime-mcp --base-url http://127.0.0.1:18081
268
277
  ```
269
278
 
270
- 以上是 Linux/macOS 路径示例,Windows 尚未验收。公开 PyPI 版本存在性本轮未核实;`uvx spring-runtime-mcp==0.2.0` 仅为发布后待验路径。replay 是一次性离线命令,不是 MCP 宿主。
279
+ 以上是 Linux/macOS 路径示例,Windows 尚未验收。公开 PyPI 的仓库外全新环境安装已在 Linux/Python 3.12 验收,通过 SDK 两模式、八工具回环调用与七个 replay;详见[发布记录](docs/launch/release-0.2.0.md)。replay 是一次性离线命令,不是 MCP 宿主。
@@ -1,5 +1,14 @@
1
1
  # 正式发布准备收口 — 2026-10-31
2
2
 
3
+ **当前状态:0.2.0 Alpha 已发布并通过公开安装验收。** 标签 `v0.2.0` 指向
4
+ `2394b29a84a5fcd8210d3934eee1a94e1d3fc0ac`;本地干净提交完整门禁退出 0,
5
+ [正式 Release](https://github.com/neilmorse/spring-runtime-mcp/actions/runs/41176181251) 全部通过。
6
+ 公开文件摘要、支持范围与验证见[发布记录](../launch/release-0.2.0.md)。
7
+ 以下内容是发布前各阶段的历史快照;“尚未发布”“账户待核实”“工作树未提交”等不代表当前状态。
8
+ 本次文档同步不修改发布标签、生产源码或已上传的 PyPI 产物。
9
+
10
+ ## 发布前历史记录
11
+
3
12
  当前仍为 **0.2.0 Alpha、限定范围发布候选**。本报告保存前两轮本地验证与缺陷修复历史;本轮已获授权形成发布提交,并在该提交上运行不带旁路标志的完整门禁。最终提交 SHA、门禁退出码和同批产物 SHA256 写入仓库外的 `/tmp/spring-runtime-release-evidence/final-gate.json`,避免为补录结果改变被验证提交。只有该记录退出码为 0 才表示最终本地门禁通过。历史批次不作为最终发布产物。
4
13
 
5
14
  ## 本轮发布提交范围与流程
@@ -0,0 +1,90 @@
1
+ # 0.2.0 Alpha:发布与投稿材料
2
+
3
+ 更新于 2026-10-31。PyPI 0.2.0 已发布,发布与公开安装验证见
4
+ [发布记录](release-0.2.0.md)。Registry 尚未提交;命名空间迁移见[方案](registry-plan.md)。
5
+
6
+ ## GitHub Release 文案
7
+
8
+ Title: **Spring Runtime MCP 0.2.0 Alpha**
9
+
10
+ Spring Runtime MCP gives coding agents bounded, sanitized evidence from a registered
11
+ local Spring Boot instance: beans and conditions, routes, health, migrations,
12
+ startup, configuration origin, OpenAPI and drift.
13
+
14
+ Install with Python 3.11+ and uv:
15
+
16
+ ```bash
17
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --version
18
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --base-url http://127.0.0.1:18081
19
+ ```
20
+
21
+ Prepare a local, read-only Actuator endpoint using the
22
+ [target setup guide](https://github.com/neilmorse/spring-runtime-mcp/blob/v0.2.0/docs/target-app-setup.md).
23
+ The second command is the persistent STDIO host for your MCP client.
24
+
25
+ This Alpha supports loopback targets, fixed endpoints and optional Bearer environment
26
+ binding. It permits read-only GET requests, rejects redirects and environment proxies,
27
+ validates TLS, sanitizes results through two layers and limits complete tool responses
28
+ to 16 KiB. Missing evidence remains partial/unknown.
29
+
30
+ The release passed Python 3.11–3.14 offline tests, the complete audited gate,
31
+ independent wheel/sdist installations and a public PyPI clean-environment check.
32
+ Windows/macOS, the complete Boot/Java/client matrix and production clusters remain
33
+ unverified. Remote targets, Basic/custom headers, custom management paths and OpenAPI
34
+ path fallback are outside this release. Configuration diagnostics stay disabled by default.
35
+
36
+ - [PyPI 0.2.0](https://pypi.org/project/spring-runtime-mcp/0.2.0/)
37
+ - [Verified release workflow](https://github.com/neilmorse/spring-runtime-mcp/actions/runs/41176181251)
38
+ - [Release source](https://github.com/neilmorse/spring-runtime-mcp/tree/v0.2.0)
39
+
40
+ ## awesome-mcp-servers 投稿
41
+
42
+ 目标:[punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers)。
43
+ 遵循其[贡献指南](https://github.com/punkpeye/awesome-mcp-servers/blob/main/CONTRIBUTING.md),
44
+ 添加到 Developer Tools 类别并按仓库所有者排序,不声明 Registry 收录或完整兼容。
45
+
46
+ ```markdown
47
+ - [neilmorse/spring-runtime-mcp](https://github.com/neilmorse/spring-runtime-mcp) 🐍 🏠 - Read-only Spring Boot runtime diagnostics: beans and conditions, routes, health, migrations, startup, config origin, OpenAPI and drift. Loopback-only, sanitized, bounded responses.
48
+ ```
49
+
50
+ PR title: **Add Spring Runtime MCP**
51
+
52
+ PR body:
53
+
54
+ ```text
55
+ Add spring-runtime-mcp under Developer Tools. It is an Apache-2.0 Python STDIO server
56
+ with a public PyPI 0.2.0 Alpha package. Eight read-only tools inspect a registered
57
+ loopback Spring Boot instance; results are sanitized and bounded to 16 KiB.
58
+
59
+ Repository: https://github.com/neilmorse/spring-runtime-mcp
60
+ Package: https://pypi.org/project/spring-runtime-mcp/0.2.0/
61
+
62
+ The entry describes implemented scope only. It does not claim full Boot/client
63
+ compatibility or MCP Registry publication. Documentation and submission preparation
64
+ were assisted by a coding agent.
65
+ ```
66
+
67
+ ## 其他目录与社区公告
68
+
69
+ - [Smithery](https://smithery.ai/new) 当前跳转账户登录;需可用账户,且应先确认其安装模型适用于本地 STDIO。
70
+ - [Glama](https://glama.ai/mcp/servers) 的 Add Server 入口需实际页面核查;不使用旧的 `/submit` 搜索路由冒充提交端点。
71
+ - PulseMCP、mcp.so 未核实可用的直接提交路径,不能声称已提交或会自动同步。
72
+ - Reddit/dev.to 等帖子需选择平台并使用操作者已授权账户;本轮先准备下列短文,不跨平台自动群发。
73
+
74
+ Title: **Spring Runtime MCP 0.2.0 Alpha: read-only runtime evidence for Spring Boot agents**
75
+
76
+ ```text
77
+ Spring Runtime MCP 0.2.0 Alpha is available on PyPI. It gives coding agents eight
78
+ read-only tools for Spring Boot beans/conditions, routes, health, migrations,
79
+ startup, configuration origin, OpenAPI and drift.
80
+
81
+ It reads a registered local loopback instance over fixed Actuator endpoints.
82
+ Responses are sanitized and bounded to 16 KiB; missing evidence stays partial/unknown.
83
+ Configuration diagnostics are off by default. It never invokes business operations.
84
+
85
+ This is a limited Alpha, with fixture, isolated-install and fixed-project evidence.
86
+ It does not claim every Boot/Java/client combination or production-cluster readiness.
87
+
88
+ Package: https://pypi.org/project/spring-runtime-mcp/0.2.0/
89
+ Source: https://github.com/neilmorse/spring-runtime-mcp
90
+ ```
@@ -0,0 +1,35 @@
1
+ --- a/src/spring_runtime_mcp/__init__.py
2
+ +++ b/src/spring_runtime_mcp/__init__.py
3
+ @@ -3 +3 @@
4
+ -__version__ = "0.2.0"
5
+ +__version__ = "0.2.1"
6
+ --- a/README.md
7
+ +++ b/README.md
8
+ @@ -284 +284 @@
9
+ -<!-- mcp-name: io.github.Kaelenx/spring-runtime-mcp -->
10
+ +<!-- mcp-name: io.github.neilmorse/spring-runtime-mcp -->
11
+ --- a/pyproject.toml
12
+ +++ b/pyproject.toml
13
+ @@ -46,4 +46,4 @@
14
+ -Homepage = "https://github.com/Kaelenx/spring-runtime-mcp"
15
+ -Repository = "https://github.com/Kaelenx/spring-runtime-mcp"
16
+ -Issues = "https://github.com/Kaelenx/spring-runtime-mcp/issues"
17
+ -Changelog = "https://github.com/Kaelenx/spring-runtime-mcp/blob/master/CHANGELOG.md"
18
+ +Homepage = "https://github.com/neilmorse/spring-runtime-mcp"
19
+ +Repository = "https://github.com/neilmorse/spring-runtime-mcp"
20
+ +Issues = "https://github.com/neilmorse/spring-runtime-mcp/issues"
21
+ +Changelog = "https://github.com/neilmorse/spring-runtime-mcp/blob/master/CHANGELOG.md"
22
+ --- a/server.json
23
+ +++ b/server.json
24
+ @@ -3 +3 @@
25
+ - "name": "io.github.Kaelenx/spring-runtime-mcp",
26
+ + "name": "io.github.neilmorse/spring-runtime-mcp",
27
+ @@ -6 +6 @@
28
+ - "version": "0.2.0",
29
+ + "version": "0.2.1",
30
+ @@ -8 +8 @@
31
+ - "url": "https://github.com/Kaelenx/spring-runtime-mcp",
32
+ + "url": "https://github.com/neilmorse/spring-runtime-mcp",
33
+ @@ -15 +15 @@
34
+ - "version": "0.2.0",
35
+ + "version": "0.2.1",
@@ -0,0 +1,46 @@
1
+ # MCP Registry:命名空间与后续补丁方案
2
+
3
+ 核对日期:2026-10-31。当前尚未提交 Registry,0.2.0 的 PyPI 发布不依赖 Registry。
4
+
5
+ ## 已确认事实
6
+
7
+ - 本机 gh 的 GitHub 身份和仓库所有者均为 `neilmorse`;该身份的组织列表为空。
8
+ - 公开 PyPI 0.2.0 的包描述包含 `mcp-name: io.github.Kaelenx/spring-runtime-mcp`。
9
+ - 根 `server.json` 的 name 与该已发布标记一致,保留为 0.2.0 的历史发布元数据。
10
+ - GitHub `/users/Kaelenx` 查询返回 404;没有当前账号拥有旧命名空间的证据。
11
+ - GitHub 插件身份与本机 gh 不同,且对本仓库只有读取权限,不用于发布。
12
+
13
+ 官方规则要求 GitHub 登录授权其本人/组织的命名空间,并要求 PyPI 包 README 中的
14
+ `mcp-name` 与 server.json 的 name 完全一致。参见
15
+ [CLI 认证说明](https://github.com/modelcontextprotocol/registry/blob/main/docs/reference/cli/commands.md#github-interactive)和
16
+ [PyPI 所有权验证](https://github.com/modelcontextprotocol/registry/blob/main/docs/modelcontextprotocol-io/package-types.mdx#pypi-packages)。
17
+ 因此,仅将根 server.json 改为 `io.github.neilmorse/...` 会与公开 0.2.0 包描述冲突;
18
+ GitHub 仓库 URL 跳转也不构成旧 Registry 命名空间授权。
19
+
20
+ ## 建议方案:0.2.1 元数据补丁
21
+
22
+ 候选 JSON 为 [server-0.2.1.json](server-0.2.1.json),仅供下次发布审阅,不表示该版本已存在。
23
+ 可审阅改动如下;本轮不执行新版本发布或更改既有标签:
24
+
25
+ 1. 源码版本与锁文件项目版本从 0.2.0 升为 0.2.1,成熟度继续 Alpha。
26
+ 2. README 的所有权标记改为 `io.github.neilmorse/spring-runtime-mcp`。
27
+ 3. 根 server.json 使用候选名称、仓库 URL、包版本和服务版本;pyproject 的项目 URL 同步为当前所有者。
28
+ 4. 工具 Schema、生产诊断算法、认证、目标边界与预算保持现状;安装示例固定到新版本。
29
+ 5. 更新 CHANGELOG,干净提交上执行完整发布门禁及无发布 CI,记录新 SHA 和产物摘要。
30
+ 6. 发布前检查 GitHub pypi 环境规则。当前规则仅允许 `v0.2.0`,新增版本标签授权需单独批准;不能关闭保护或管理员绕过。
31
+ 7. 新版本 PyPI 发布和公开安装验收完成后,核对公开包标记,再以正确 GitHub 身份登录 Registry 并提交候选元数据。
32
+
33
+ 准备好的[补丁](registry-0.2.1.patch)覆盖版本源、README 标记、项目 URL 和 server.json。
34
+ 经批准后用 `git apply --unidiff-zero docs/launch/registry-0.2.1.patch` 应用,
35
+ 再运行 `uv lock --offline` 更新项目版本,复核文档示例并补充 CHANGELOG,再运行全部检查。
36
+ 补丁不包含账户权限修改、凭据、发布命令执行或网络守卫变更。
37
+
38
+ 不得覆盖 0.2.0 的标签或重新上传同版本包。若操作者能提供旧命名空间的独立授权证据,
39
+ 可另行核查保留旧名称的方案;当前不假定该授权存在。
40
+
41
+ ## 校验与投稿状态
42
+
43
+ 本轮会校验现有与候选 server.json 的官方 Schema/CLI 规则;本地校验不验证登录权限或 PyPI 包所有权。
44
+ 候选版本在 PyPI 不存在时不可执行 publish。CLI 身份认证可能需要操作者完成 GitHub 登录。
45
+
46
+ 目录和公告可以引用已发布的 PyPI 包及 GitHub 仓库,无需声称 Registry 已收录。
@@ -0,0 +1,56 @@
1
+ # 0.2.0 Alpha — 2026-10-31
2
+
3
+ Spring Runtime MCP 0.2.0 Alpha 已发布到 [PyPI](https://pypi.org/project/spring-runtime-mcp/0.2.0/)。
4
+ 发布标签为 [`v0.2.0`](https://github.com/neilmorse/spring-runtime-mcp/tree/v0.2.0),对应提交
5
+ `2394b29a84a5fcd8210d3934eee1a94e1d3fc0ac`。发布后的文档同步不改变该标签或已上传的产物。
6
+
7
+ ## 安装
8
+
9
+ 需要 Python 3.11+ 与 uv。首次运行从公开包索引安装依赖:
10
+
11
+ ```bash
12
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --version
13
+ uvx --default-index https://pypi.org/simple spring-runtime-mcp==0.2.0 --base-url http://127.0.0.1:18081
14
+ ```
15
+
16
+ 第二条命令为 STDIO MCP 宿主;先按[目标配置指南](../target-app-setup.md)准备本地回环实例,
17
+ 再由客户端启动并完成 initialize、tools/list 和一次只读调用。工具发现不证明目标已经授权。
18
+
19
+ ## 范围
20
+
21
+ 八个工具覆盖 Bean/条件、路由、健康、迁移、启动、配置来源、OpenAPI 和运行态漂移。
22
+ 限定登记回环目标、固定逻辑端点、STDIO、可选 Bearer 环境绑定;配置诊断默认关闭。
23
+ 只读 GET、禁止重定向/环境代理、验证 TLS、双层脱敏和 16 KiB 完整工具回包预算保持。
24
+ 证据缺失返回 partial/unknown。
25
+
26
+ 非回环目标、Basic/自定义头、自定义管理基路径、OpenAPI 路径回退尚未实现。
27
+ Windows/macOS、完整 Boot/Java/Web 栈矩阵及其他实际客户端交互仍未验收。
28
+ Codex CLI 只有一次自建 fixture 健康调用的实际客户端冒烟证据,不能外推全部客户端场景。
29
+
30
+ ## 验证与产物
31
+
32
+ [正式发布流水线](https://github.com/neilmorse/spring-runtime-mcp/actions/runs/41176181251)
33
+ 通过 Python 3.11–3.14 的各 1100 项离线测试、类型/格式/契约检查和完整发布门禁。
34
+ 本地干净提交完整门禁退出 0;wheel/sdist 分别在隔离环境完成两种 SDK 模式、八工具
35
+ 自建回环 HTTP 调用及七个 replay 场景。
36
+
37
+ 公开 PyPI 文件摘要与本地、验证型 CI 及正式 Release 同批产物一致:
38
+
39
+ | 文件 | SHA256 |
40
+ | --- | --- |
41
+ | `spring_runtime_mcp-0.2.0-py3-none-any.whl` | `5c1cada7be8c233cae7a8956fa2bc1e2f7bb3554bc0f6ead1fda9bdbef8380e0` |
42
+ | `spring_runtime_mcp-0.2.0.tar.gz` | `19e78b902790c8a8a83846cacb8e353585e705f7e16abcbf53abc75f3d4505cd` |
43
+
44
+ 公开 PyPI 安装在仓库外新建 Python 3.12.15 环境完成,不使用 uv 缓存、本地 wheel 或锁文件约束;
45
+ 版本、SDK 两模式、八工具回环调用、协议与脱敏、16 KiB 和七 replay 均通过。
46
+ 后续独立验收再次通过相同公开安装链路,111 个生产代码/资源文件与发布提交一致。
47
+ 这不代表未来所有传递依赖组合均已验证。
48
+
49
+ ## 发布后的事项
50
+
51
+ 默认分支文档、目录投稿和公告与 PyPI 产物分别维护。
52
+ MCP Registry 的命名空间迁移尚未完成:0.2.0 包描述仍为 `io.github.Kaelenx/...`,
53
+ 当前仓库所有者为 `neilmorse`,详见[Registry 方案](registry-plan.md)。不得声称已进入 Registry。
54
+
55
+ 历史修复、样本与失败记录保留在[发布准备报告](../audits/release-readiness-2026-10-31.md)
56
+ 和 [CHANGELOG](../../CHANGELOG.md),其中“未发布”是对应历史阶段的状态。
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
+ "name": "io.github.neilmorse/spring-runtime-mcp",
4
+ "title": "Spring Boot Runtime Diagnostics",
5
+ "description": "Read-only Spring Boot runtime evidence for agents: beans, routes, health, startup.",
6
+ "version": "0.2.1",
7
+ "repository": {
8
+ "url": "https://github.com/neilmorse/spring-runtime-mcp",
9
+ "source": "github"
10
+ },
11
+ "packages": [
12
+ {
13
+ "registryType": "pypi",
14
+ "identifier": "spring-runtime-mcp",
15
+ "version": "0.2.1",
16
+ "transport": {
17
+ "type": "stdio"
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -43,10 +43,10 @@ dev = [
43
43
  ]
44
44
 
45
45
  [project.urls]
46
- Homepage = "https://github.com/Kaelenx/spring-runtime-mcp"
47
- Repository = "https://github.com/Kaelenx/spring-runtime-mcp"
48
- Issues = "https://github.com/Kaelenx/spring-runtime-mcp/issues"
49
- Changelog = "https://github.com/Kaelenx/spring-runtime-mcp/blob/master/CHANGELOG.md"
46
+ Homepage = "https://github.com/neilmorse/spring-runtime-mcp"
47
+ Repository = "https://github.com/neilmorse/spring-runtime-mcp"
48
+ Issues = "https://github.com/neilmorse/spring-runtime-mcp/issues"
49
+ Changelog = "https://github.com/neilmorse/spring-runtime-mcp/blob/master/CHANGELOG.md"
50
50
 
51
51
  [tool.hatch.version]
52
52
  path = "src/spring_runtime_mcp/__init__.py"
@@ -1,3 +1,3 @@
1
1
  """Bounded, read-only Spring Boot diagnostic analysis."""
2
2
 
3
- __version__ = "0.2.0"
3
+ __version__ = "0.2.1"
@@ -1,97 +0,0 @@
1
- # Launch checklist and drafts
2
-
3
- Status on 2026-10-31: v0.2.0 Alpha release preparation based on `49ffdb9`.
4
- The release commit and final audited batch are recorded outside the repository
5
- to keep the verified commit clean; see the readiness report. No release tag is
6
- authorized yet. Public PyPI project/version endpoints returned 404, account
7
- access is blocked, and GitHub currently has no `pypi` environment. Codex CLI has a single-call
8
- fixture smoke check; other clients and complete client coverage remain unverified.
9
- The authoritative scope and current evidence are in
10
- [the release readiness report](../audits/release-readiness-2026-10-31.md).
11
-
12
- ## 1. PyPI (blocking for everything else)
13
-
14
- 1. Create the project `spring-runtime-mcp` on PyPI (or let the first trusted
15
- publish create it).
16
- 2. On PyPI → project → Publishing, add a trusted publisher:
17
- - owner: `neilmorse` (current repository owner; the old Kaelenx URL redirects)
18
- - repository: `spring-runtime-mcp`
19
- - workflow: `release.yml`
20
- - environment: `pypi`
21
- 3. After a clean-commit gate exits 0, validation-only CI succeeds, account checks
22
- are complete, and the operator approves publication, tag and push:
23
-
24
- ```bash
25
- git tag -a v0.2.0 -m "v0.2.0"
26
- git push origin v0.2.0
27
- ```
28
-
29
- 4. The `Release` workflow runs the strict audited gate, validates wheel and sdist
30
- independently, and publishes those same verified artifacts via OIDC. The updated
31
- workflow needs a successful remote run. Use `Release validation only` on a
32
- `codex/release-*` branch first; it has no publish job or OIDC permission.
33
- 5. After the package is live, update the README quick start to
34
- `uvx spring-runtime-mcp --base-url ...` and add the PyPI badge.
35
-
36
- ## 2. Official MCP Registry
37
-
38
- `server.json` declares the 2025-12-11 schema; online Registry validation and account
39
- authorization remain to be checked before submission. The
40
- README contains the ownership token `mcp-name: io.github.Kaelenx/spring-runtime-mcp`,
41
- which the registry checks against the PyPI project description.
42
-
43
- After PyPI shows version 0.2.0:
44
-
45
- ```bash
46
- # install the publisher CLI from the modelcontextprotocol/registry releases
47
- mcp-publisher login github
48
- mcp-publisher publish
49
- ```
50
-
51
- Verify that the GitHub login authorizes namespace `io.github.Kaelenx`; the
52
- PyPI package must already contain the `mcp-name` token in its README.
53
-
54
- ## 3. Directory submissions
55
-
56
- - **Smithery** — submit the repository at https://smithery.ai/new (or via the
57
- Smithery CLI once the PyPI package exists). Use the same description as
58
- `server.json`.
59
- - **awesome-mcp-servers** — open a PR to `punkpeye/awesome-mcp-servers` adding
60
- under Developer Tools:
61
-
62
- ```markdown
63
- - [Kaelenx/spring-runtime-mcp](https://github.com/Kaelenx/spring-runtime-mcp) - Read-only, sanitized Spring Boot runtime diagnostics for coding agents: beans and conditions, routes, health, migrations, startup, config origin, OpenAPI and drift.
64
- ```
65
-
66
- - **mcp.so / Glama / PulseMCP** — most index from the official registry, so
67
- publish there first and only submit manually where a form requires it.
68
-
69
- External submissions are visible actions; review the listing text before
70
- sending.
71
-
72
- ## 4. Launch post draft (r/java, r/springboot, dev.to)
73
-
74
- Title: **I built a read-only MCP server that tells your agent why a Spring bean
75
- is missing**
76
-
77
- > Coding agents can read a Spring codebase but not what happened at runtime.
78
- > I built `spring-runtime-mcp`, a local stdio MCP server that reads Actuator
79
- > and OpenAPI from an explicitly registered instance and turns it into eight
80
- > bounded, sanitized tools: beans and condition chains, routes, health,
81
- > migrations, startup, config origin, OpenAPI and drift.
82
- >
83
- > It is deliberately narrow: GET only, fixed endpoints, no redirects, no
84
- > heapdump/logfile, no raw env dumps, 16 KiB per response, and missing evidence
85
- > is reported as `partial`/`unknown` instead of a confident guess.
86
- >
87
- > Example from the included Boot 3.4 demo: `springboot_inspect_beans` returns
88
- >
89
- > ```text
90
- > REQUIRED_BEAN_MISSING (StripeConfiguration#paymentGateway)
91
- > → SOURCE_FACTORY_NOT_CREATED
92
- > → PROPERTY_NOT_FOUND (StripeConfiguration#stripeClient, stripe.enabled)
93
- > ```
94
- >
95
- > Repo: https://github.com/Kaelenx/spring-runtime-mcp (Apache-2.0). Feedback from
96
- > people running Spring Boot 2.7/3.x/4.x in unusual setups is especially
97
- > welcome — synthetic fixtures only go so far.