petfishframework 0.5.0__tar.gz → 0.5.2__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 (212) hide show
  1. {petfishframework-0.5.0 → petfishframework-0.5.2}/CHANGELOG.md +71 -0
  2. {petfishframework-0.5.0 → petfishframework-0.5.2}/PKG-INFO +19 -5
  3. {petfishframework-0.5.0 → petfishframework-0.5.2}/README.md +18 -4
  4. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/api.md +1 -1
  5. petfishframework-0.5.2/docs/feedbacks/petfishframework_v0_5_1_review.md +947 -0
  6. {petfishframework-0.5.0 → petfishframework-0.5.2}/pyproject.toml +1 -1
  7. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/__init__.py +1 -1
  8. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/agent.py +2 -0
  9. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/environment.py +16 -16
  10. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/session.py +6 -0
  11. petfishframework-0.5.2/src/petfishframework/mcp/server.py +155 -0
  12. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/permissions/model.py +1 -0
  13. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/policies/__init__.py +2 -1
  14. petfishframework-0.5.2/src/petfishframework/policies/hot_reload.py +112 -0
  15. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reasoning/__init__.py +2 -1
  16. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reasoning/lats.py +157 -41
  17. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reasoning/llm_plus_p.py +44 -16
  18. petfishframework-0.5.2/src/petfishframework/reasoning/reflexion.py +155 -0
  19. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reliability/__init__.py +4 -0
  20. petfishframework-0.5.2/src/petfishframework/reliability/circuit_breaker.py +84 -0
  21. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/__init__.py +4 -0
  22. petfishframework-0.5.2/src/petfishframework/tools/governance.py +40 -0
  23. petfishframework-0.5.2/src/petfishframework/tools/sandbox.py +122 -0
  24. petfishframework-0.5.2/tests/test_circuit_breaker.py +55 -0
  25. petfishframework-0.5.2/tests/test_lats_mcts.py +140 -0
  26. petfishframework-0.5.2/tests/test_llm_plus_p_general.py +62 -0
  27. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_mcp.py +3 -6
  28. petfishframework-0.5.2/tests/test_mcp_server.py +156 -0
  29. petfishframework-0.5.2/tests/test_policy_hot_reload.py +94 -0
  30. petfishframework-0.5.2/tests/test_reflexion.py +90 -0
  31. petfishframework-0.5.2/tests/test_sandbox.py +123 -0
  32. {petfishframework-0.5.0 → petfishframework-0.5.2}/uv.lock +1 -1
  33. petfishframework-0.5.0/src/petfishframework/mcp/server.py +0 -14
  34. {petfishframework-0.5.0 → petfishframework-0.5.2}/.env.example +0 -0
  35. {petfishframework-0.5.0 → petfishframework-0.5.2}/.gitattributes +0 -0
  36. {petfishframework-0.5.0 → petfishframework-0.5.2}/.github/workflows/ci.yml +0 -0
  37. {petfishframework-0.5.0 → petfishframework-0.5.2}/.github/workflows/publish.yml +0 -0
  38. {petfishframework-0.5.0 → petfishframework-0.5.2}/.gitignore +0 -0
  39. {petfishframework-0.5.0 → petfishframework-0.5.2}/.sisyphus/plans/v0.1.6-plan.md +0 -0
  40. {petfishframework-0.5.0 → petfishframework-0.5.2}/.sisyphus/plans/v0.2.0-plan.md +0 -0
  41. {petfishframework-0.5.0 → petfishframework-0.5.2}/.sisyphus/plans/v0.3.0-plan.md +0 -0
  42. {petfishframework-0.5.0 → petfishframework-0.5.2}/.sisyphus/plans/v0.4.0-plan.md +0 -0
  43. {petfishframework-0.5.0 → petfishframework-0.5.2}/.sisyphus/plans/v0.5.0-plan.md +0 -0
  44. {petfishframework-0.5.0 → petfishframework-0.5.2}/AGENTS.md +0 -0
  45. {petfishframework-0.5.0 → petfishframework-0.5.2}/AGENTS.md.new +0 -0
  46. {petfishframework-0.5.0 → petfishframework-0.5.2}/CONTRIBUTING.md +0 -0
  47. {petfishframework-0.5.0 → petfishframework-0.5.2}/Dockerfile +0 -0
  48. {petfishframework-0.5.0 → petfishframework-0.5.2}/LICENSE +0 -0
  49. {petfishframework-0.5.0 → petfishframework-0.5.2}/SECURITY.md +0 -0
  50. {petfishframework-0.5.0 → petfishframework-0.5.2}/conftest.py +0 -0
  51. {petfishframework-0.5.0 → petfishframework-0.5.2}/docker-compose.yml +0 -0
  52. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/api-stability.md +0 -0
  53. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/architecture.md +0 -0
  54. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/benchmark-results.md +0 -0
  55. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/deployment.md +0 -0
  56. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/development-plan.md +0 -0
  57. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/development.md +0 -0
  58. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/enterprise-expense-demo.md +0 -0
  59. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_0_1_4_playground_recommendations.md +0 -0
  60. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_playground_report.md +0 -0
  61. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_production_readiness_roadmap.md +0 -0
  62. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_recommendations.md +0 -0
  63. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_1_6_playground_review.md +0 -0
  64. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_1_7_review.md +0 -0
  65. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_1_8_review.md +0 -0
  66. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_2_1_review.md +0 -0
  67. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_2_2_review.md +0 -0
  68. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_3_0_review.md +0 -0
  69. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_4_0_review.md +0 -0
  70. {petfishframework-0.5.0/docs/feedbacks → petfishframework-0.5.2/docs/feedbacks/archives}/petfishframework_v0_4_1_review.md +0 -0
  71. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/release-checklist.md +0 -0
  72. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/release-protocol.md +0 -0
  73. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/competitor-analysis/README.md +0 -0
  74. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/competitor-analysis/competitor-matrix.md +0 -0
  75. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/competitor-analysis/market-brief.md +0 -0
  76. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/competitor-analysis/positioning-map.md +0 -0
  77. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/competitor-analysis/swot-analysis.md +0 -0
  78. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/literature-review/inclusion-exclusion-criteria.md +0 -0
  79. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/literature-review/literature-matrix.md +0 -0
  80. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/literature-review/literature-review.md +0 -0
  81. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/literature-review/search-strategy.md +0 -0
  82. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/research/reference-repos-absorption.md +0 -0
  83. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/skeleton-completeness-checklist.md +0 -0
  84. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/test-results-report.md +0 -0
  85. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/threat-model.md +0 -0
  86. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/usage-guide.md +0 -0
  87. {petfishframework-0.5.0 → petfishframework-0.5.2}/docs/validation-roadmap.md +0 -0
  88. {petfishframework-0.5.0 → petfishframework-0.5.2}/initialization-report.md +0 -0
  89. {petfishframework-0.5.0 → petfishframework-0.5.2}/mcp/README.md +0 -0
  90. {petfishframework-0.5.0 → petfishframework-0.5.2}/mcp/connection-checklist.md +0 -0
  91. {petfishframework-0.5.0 → petfishframework-0.5.2}/mcp/mcp-config.example.json +0 -0
  92. {petfishframework-0.5.0 → petfishframework-0.5.2}/opencode.json +0 -0
  93. {petfishframework-0.5.0 → petfishframework-0.5.2}/qa/code-review-checklist.md +0 -0
  94. {petfishframework-0.5.0 → petfishframework-0.5.2}/qa/qa-review.md +0 -0
  95. {petfishframework-0.5.0 → petfishframework-0.5.2}/qa/qc-gate-decision.md +0 -0
  96. {petfishframework-0.5.0 → petfishframework-0.5.2}/qa/test-plan.md +0 -0
  97. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/__main__.py +0 -0
  98. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/config.py +0 -0
  99. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/__init__.py +0 -0
  100. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/compiled.py +0 -0
  101. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/contracts.py +0 -0
  102. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/conversation.py +0 -0
  103. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/events.py +0 -0
  104. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/structured.py +0 -0
  105. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/core/types.py +0 -0
  106. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/credentials/__init__.py +0 -0
  107. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/credentials/broker.py +0 -0
  108. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/credentials/token.py +0 -0
  109. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/credentials/vault_adapter.py +0 -0
  110. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/mcp/__init__.py +0 -0
  111. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/mcp/allowlist.py +0 -0
  112. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/mcp/client.py +0 -0
  113. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/mcp/exceptions.py +0 -0
  114. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/mcp/risk_mapper.py +0 -0
  115. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/mcp/schema_pin.py +0 -0
  116. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/mcp/stdio_transport.py +0 -0
  117. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/mcp/wrapper.py +0 -0
  118. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/models/__init__.py +0 -0
  119. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/models/anthropic.py +0 -0
  120. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/models/fake.py +0 -0
  121. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/models/openai.py +0 -0
  122. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/observability/__init__.py +0 -0
  123. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/observability/otel_sink.py +0 -0
  124. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/observability/siem_sink.py +0 -0
  125. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/observability/sinks.py +0 -0
  126. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/permissions/__init__.py +0 -0
  127. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/permissions/risk_policy.py +0 -0
  128. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/policies/conditions.py +0 -0
  129. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/policies/engine.py +0 -0
  130. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/policies/rule.py +0 -0
  131. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/policies/test_runner.py +0 -0
  132. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/policies/validator.py +0 -0
  133. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reasoning/react.py +0 -0
  134. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reliability/audit_report.py +0 -0
  135. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reliability/cost.py +0 -0
  136. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reliability/cost_report.py +0 -0
  137. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reliability/pass_at_k.py +0 -0
  138. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reliability/replay.py +0 -0
  139. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reliability/retry.py +0 -0
  140. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/reliability/timeout.py +0 -0
  141. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/retrieval/__init__.py +0 -0
  142. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/retrieval/adaptive.py +0 -0
  143. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/retrieval/crag.py +0 -0
  144. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/retrieval/memory_store.py +0 -0
  145. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/agent_tool.py +0 -0
  146. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/base.py +0 -0
  147. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/calculator.py +0 -0
  148. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/idempotency.py +0 -0
  149. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/metadata_policy.py +0 -0
  150. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/path_planner.py +0 -0
  151. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/rate_limiter.py +0 -0
  152. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/registry.py +0 -0
  153. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/schema_validator.py +0 -0
  154. {petfishframework-0.5.0 → petfishframework-0.5.2}/src/petfishframework/tools/word_sorter.py +0 -0
  155. {petfishframework-0.5.0 → petfishframework-0.5.2}/tasks/backlog.md +0 -0
  156. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/integration/__init__.py +0 -0
  157. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/integration/test_anthropic_integration.py +0 -0
  158. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/integration/test_openai_integration.py +0 -0
  159. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/policies/enterprise-expense.tests.yaml +0 -0
  160. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_agent_tool.py +0 -0
  161. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_anthropic_adapter.py +0 -0
  162. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_api_agent_lifecycle.py +0 -0
  163. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_api_edge_cases.py +0 -0
  164. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_api_integration.py +0 -0
  165. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_api_public_surface.py +0 -0
  166. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_api_type_safety.py +0 -0
  167. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_async.py +0 -0
  168. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_audit_report_v2.py +0 -0
  169. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_conversation.py +0 -0
  170. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_credential_broker.py +0 -0
  171. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_credential_integration.py +0 -0
  172. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_degrade.py +0 -0
  173. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_degrade_failclosed.py +0 -0
  174. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_enterprise_demo.py +0 -0
  175. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_m2_m3_m4.py +0 -0
  176. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_main_entry.py +0 -0
  177. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_mcp_allowlist.py +0 -0
  178. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_mcp_lifecycle.py +0 -0
  179. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_mcp_risk_mapping.py +0 -0
  180. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_mcp_schema_pin.py +0 -0
  181. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_openai_adapter.py +0 -0
  182. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_otel_sink.py +0 -0
  183. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_pass_at_k.py +0 -0
  184. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_permission_semantics.py +0 -0
  185. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_quickstart_smoke.py +0 -0
  186. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_rate_limiter.py +0 -0
  187. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_replay.py +0 -0
  188. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_replay_rerun.py +0 -0
  189. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_replay_resume.py +0 -0
  190. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_retrieval.py +0 -0
  191. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_retry.py +0 -0
  192. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_risk_classification.py +0 -0
  193. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_siem_export.py +0 -0
  194. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_skeleton.py +0 -0
  195. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_stdio_transport.py +0 -0
  196. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_streaming.py +0 -0
  197. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_structured.py +0 -0
  198. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_tool_idempotency.py +0 -0
  199. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_tool_metadata.py +0 -0
  200. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_tool_registry.py +0 -0
  201. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_tool_retry.py +0 -0
  202. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_tool_schema.py +0 -0
  203. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_tool_timeout.py +0 -0
  204. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_v016_semantics.py +0 -0
  205. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_v018.py +0 -0
  206. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_v019.py +0 -0
  207. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_v2_interface_compatibility.py +0 -0
  208. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_v2_lats.py +0 -0
  209. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_v2_llm_plus_p.py +0 -0
  210. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_vault_adapter.py +0 -0
  211. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_yaml_policy.py +0 -0
  212. {petfishframework-0.5.0 → petfishframework-0.5.2}/tests/test_yaml_policy_suite.py +0 -0
@@ -2,6 +2,77 @@
2
2
 
3
3
  All notable changes to petfishFramework will be documented in this file.
4
4
 
5
+ ## [0.5.2] — 2026-07-09
6
+
7
+ ### Review Fix Patch
8
+
9
+ #### MCP Server Version Fix
10
+ - `serve_as_mcp()` now returns dynamic `__version__` instead of hardcoded "0.5.0"
11
+
12
+ #### README Status Sync
13
+ - MCP server mode: `📋 Planned` → `✅ MVP (stdio JSON-RPC: initialize/tools.list/tools.call)`
14
+ - Examples run instruction: added "from a repository checkout" clarification
15
+
16
+ #### ToolGovernance First-Class API
17
+ - New `ToolGovernance` dataclass bundles schema_validator + rate_limiter + idempotency_store + timeout_policy
18
+ - `Agent(tool_governance=...)` wires governance into Session → RuntimeEnvironment
19
+ - No more need to construct RuntimeEnvironment directly for governance features
20
+ - README now includes Tool Governance usage example
21
+
22
+ #### Resource Type Fix
23
+ - `Resource` dataclass gains `risk_level: RiskLevel | None` field
24
+ - `RiskClassificationPolicy` now works with standard Resource objects
25
+
26
+ #### Rate-Limit / Idempotency Order Fix
27
+ - Idempotency cache check moved BEFORE rate limiting
28
+ - Cache hits no longer consume rate quota (correct semantic: rate limit counts real executions)
29
+
30
+ ## [0.5.1] — 2026-07-09
31
+
32
+ ### Deferred Items Completion + Reasoning Strategy Upgrades
33
+
34
+ #### LATS Full MCTS
35
+ - Upgraded from simplified greedy to full Monte Carlo Tree Search
36
+ - UCB1 node selection, rollout simulation, backpropagation
37
+ - `n_simulations` and `exploration_constant` parameters
38
+ - Backward compatible (n_simulations=1 ≈ previous greedy behavior)
39
+
40
+ #### LLM+P Generalization
41
+ - Supports arbitrary planners beyond path_planner
42
+ - `problem_type`, `translate_template`, `parse_template` fields
43
+ - `for_planner()` factory for common configurations
44
+ - Backward compatible (default = path_finding)
45
+
46
+ #### Reflexion Strategy
47
+ - Self-reflection wrapper around any ReasoningStrategy
48
+ - Attempts task → reflects on failure → retries with accumulated lessons
49
+ - `max_reflections` and `inner_strategy` parameters
50
+
51
+ #### MCP Server Mode
52
+ - `serve_as_mcp()` now functional (was NotImplementedError stub)
53
+ - JSON-RPC over stdio: tools/list, tools/call, initialize
54
+ - Framework tools exportable as MCP server
55
+
56
+ #### Sandbox Executor
57
+ - Subprocess isolation for high-risk tool execution
58
+ - Temp working directory, restricted env vars, hard timeout
59
+ - Documented as "Phase 1 — process isolation, not security boundary"
60
+
61
+ #### CircuitBreaker
62
+ - Failure-rate-based circuit breaking (CLOSED → OPEN → HALF_OPEN)
63
+ - `failure_threshold`, `recovery_timeout_s` configuration
64
+ - Thread-safe state management
65
+
66
+ #### Policy Hot-Reload
67
+ - `PolicyHotReloader` watches YAML policy files for changes
68
+ - mtime-based polling (no watchdog dependency)
69
+ - Callback registration for reload events
70
+ - Daemon thread watcher
71
+
72
+ #### Test Growth
73
+ - v0.5.0: 352 tests → v0.5.1: 382 tests (+30)
74
+ - All existing tests unmodified (backward compatible)
75
+
5
76
  ## [0.5.0] — 2026-07-08
6
77
 
7
78
  ### Tool / MCP Governance
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: petfishframework
3
- Version: 0.5.0
3
+ Version: 0.5.2
4
4
  Summary: A lightweight runtime framework for reliable, auditable, budget-aware, and permission-aware AI agents.
5
5
  Project-URL: Homepage, https://github.com/kylecui/petfishFramework
6
6
  Project-URL: Documentation, https://github.com/kylecui/petfishFramework/tree/master/docs
@@ -39,7 +39,7 @@ Description-Content-Type: text/markdown
39
39
 
40
40
  [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
41
41
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kylecui/petfishFramework/blob/master/LICENSE)
42
- [![Tests: 352](https://img.shields.io/badge/tests-352-brightgreen.svg)](https://github.com/kylecui/petfishFramework/tree/master/tests/)
42
+ [![Tests: 382](https://img.shields.io/badge/tests-382-brightgreen.svg)](https://github.com/kylecui/petfishFramework/tree/master/tests/)
43
43
 
44
44
  **Status: Alpha** — API may change. Core runtime works; see [Roadmap](#roadmap).
45
45
 
@@ -218,7 +218,7 @@ print(result.summary())
218
218
 
219
219
  See `examples/05_enterprise_expense.py` and `tests/test_enterprise_demo.py` for a complete enterprise expense approval scenario demonstrating all 6 DecisionEffects.
220
220
 
221
- Run: `python examples/05_enterprise_expense.py`
221
+ Run (from a repository checkout): `python examples/05_enterprise_expense.py`
222
222
 
223
223
  ## YAML Policy Engine
224
224
 
@@ -271,6 +271,20 @@ session.events.subscribe(siem_sink)
271
271
  result = session.run()
272
272
  ```
273
273
 
274
+ ## Tool Governance
275
+
276
+ ```python
277
+ from petfishframework.tools import ToolGovernance, ToolSchemaValidator
278
+ from petfishframework.tools.rate_limiter import RateLimiter, RateLimitPolicy
279
+
280
+ governance = ToolGovernance(
281
+ schema_validator=ToolSchemaValidator(), # validate tool args before execution
282
+ rate_limiter=RateLimiter(), # per-tool sliding-window rate limit
283
+ )
284
+
285
+ agent = Agent(model=model, reasoning=ReAct(), tools=tools, tool_governance=governance)
286
+ ```
287
+
274
288
  ## Roadmap
275
289
 
276
290
  - **v0.2.x**: Core runtime, permission semantics, enterprise PoC, Trusted Publishing ✅
@@ -293,7 +307,7 @@ petfishFramework is **Alpha**. API may change before v1.0.
293
307
  | Session replay / deterministic rerun / resume | ✅ Available |
294
308
  | OpenTelemetry + SIEM observability | ✅ Available |
295
309
  | MCP client stdio | ✅ Available |
296
- | MCP server mode | 📋 Planned |
310
+ | MCP server mode | MVP (stdio JSON-RPC: initialize/tools.list/tools.call) |
297
311
  | Structured output / conversation memory | ✅ Available |
298
312
  | YAML Policy Engine | ✅ Available |
299
313
  | Credential Broker | ✅ Available |
@@ -306,7 +320,7 @@ petfishFramework is **Alpha**. API may change before v1.0.
306
320
  git clone https://github.com/kylecui/petfishFramework.git
307
321
  cd petfishFramework
308
322
  uv sync --all-extras
309
- uv run pytest # 352 tests
323
+ uv run pytest # 382 tests
310
324
  uv run ruff check src/ tests/
311
325
  ```
312
326
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kylecui/petfishFramework/blob/master/LICENSE)
7
- [![Tests: 352](https://img.shields.io/badge/tests-352-brightgreen.svg)](https://github.com/kylecui/petfishFramework/tree/master/tests/)
7
+ [![Tests: 382](https://img.shields.io/badge/tests-382-brightgreen.svg)](https://github.com/kylecui/petfishFramework/tree/master/tests/)
8
8
 
9
9
  **Status: Alpha** — API may change. Core runtime works; see [Roadmap](#roadmap).
10
10
 
@@ -183,7 +183,7 @@ print(result.summary())
183
183
 
184
184
  See `examples/05_enterprise_expense.py` and `tests/test_enterprise_demo.py` for a complete enterprise expense approval scenario demonstrating all 6 DecisionEffects.
185
185
 
186
- Run: `python examples/05_enterprise_expense.py`
186
+ Run (from a repository checkout): `python examples/05_enterprise_expense.py`
187
187
 
188
188
  ## YAML Policy Engine
189
189
 
@@ -236,6 +236,20 @@ session.events.subscribe(siem_sink)
236
236
  result = session.run()
237
237
  ```
238
238
 
239
+ ## Tool Governance
240
+
241
+ ```python
242
+ from petfishframework.tools import ToolGovernance, ToolSchemaValidator
243
+ from petfishframework.tools.rate_limiter import RateLimiter, RateLimitPolicy
244
+
245
+ governance = ToolGovernance(
246
+ schema_validator=ToolSchemaValidator(), # validate tool args before execution
247
+ rate_limiter=RateLimiter(), # per-tool sliding-window rate limit
248
+ )
249
+
250
+ agent = Agent(model=model, reasoning=ReAct(), tools=tools, tool_governance=governance)
251
+ ```
252
+
239
253
  ## Roadmap
240
254
 
241
255
  - **v0.2.x**: Core runtime, permission semantics, enterprise PoC, Trusted Publishing ✅
@@ -258,7 +272,7 @@ petfishFramework is **Alpha**. API may change before v1.0.
258
272
  | Session replay / deterministic rerun / resume | ✅ Available |
259
273
  | OpenTelemetry + SIEM observability | ✅ Available |
260
274
  | MCP client stdio | ✅ Available |
261
- | MCP server mode | 📋 Planned |
275
+ | MCP server mode | MVP (stdio JSON-RPC: initialize/tools.list/tools.call) |
262
276
  | Structured output / conversation memory | ✅ Available |
263
277
  | YAML Policy Engine | ✅ Available |
264
278
  | Credential Broker | ✅ Available |
@@ -271,7 +285,7 @@ petfishFramework is **Alpha**. API may change before v1.0.
271
285
  git clone https://github.com/kylecui/petfishFramework.git
272
286
  cd petfishFramework
273
287
  uv sync --all-extras
274
- uv run pytest # 352 tests
288
+ uv run pytest # 382 tests
275
289
  uv run ruff check src/ tests/
276
290
  ```
277
291
 
@@ -1,6 +1,6 @@
1
1
  # petfishFramework API Reference
2
2
 
3
- This document is the authoritative reference for the public API of petfishFramework v0.5.0. Every signature, field, and example below is derived from the source code and from the tests that exercise it.
3
+ This document is the authoritative reference for the public API of petfishFramework v0.5.2. Every signature, field, and example below is derived from the source code and from the tests that exercise it.
4
4
 
5
5
  ## 1. Overview
6
6