petfishframework 0.4.2__tar.gz → 0.4.5__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 (177) hide show
  1. {petfishframework-0.4.2 → petfishframework-0.4.5}/CHANGELOG.md +27 -0
  2. {petfishframework-0.4.2 → petfishframework-0.4.5}/PKG-INFO +1 -1
  3. petfishframework-0.4.5/docs/api-stability.md +88 -0
  4. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/api.md +733 -1
  5. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/skeleton-completeness-checklist.md +34 -23
  6. {petfishframework-0.4.2 → petfishframework-0.4.5}/pyproject.toml +1 -1
  7. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/__init__.py +1 -1
  8. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/environment.py +6 -2
  9. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/permissions/__init__.py +5 -5
  10. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/permissions/model.py +1 -1
  11. {petfishframework-0.4.2 → petfishframework-0.4.5}/uv.lock +1 -1
  12. {petfishframework-0.4.2 → petfishframework-0.4.5}/.env.example +0 -0
  13. {petfishframework-0.4.2 → petfishframework-0.4.5}/.gitattributes +0 -0
  14. {petfishframework-0.4.2 → petfishframework-0.4.5}/.github/workflows/ci.yml +0 -0
  15. {petfishframework-0.4.2 → petfishframework-0.4.5}/.github/workflows/publish.yml +0 -0
  16. {petfishframework-0.4.2 → petfishframework-0.4.5}/.gitignore +0 -0
  17. {petfishframework-0.4.2 → petfishframework-0.4.5}/.sisyphus/plans/v0.1.6-plan.md +0 -0
  18. {petfishframework-0.4.2 → petfishframework-0.4.5}/.sisyphus/plans/v0.2.0-plan.md +0 -0
  19. {petfishframework-0.4.2 → petfishframework-0.4.5}/.sisyphus/plans/v0.3.0-plan.md +0 -0
  20. {petfishframework-0.4.2 → petfishframework-0.4.5}/.sisyphus/plans/v0.4.0-plan.md +0 -0
  21. {petfishframework-0.4.2 → petfishframework-0.4.5}/AGENTS.md +0 -0
  22. {petfishframework-0.4.2 → petfishframework-0.4.5}/AGENTS.md.new +0 -0
  23. {petfishframework-0.4.2 → petfishframework-0.4.5}/CONTRIBUTING.md +0 -0
  24. {petfishframework-0.4.2 → petfishframework-0.4.5}/Dockerfile +0 -0
  25. {petfishframework-0.4.2 → petfishframework-0.4.5}/LICENSE +0 -0
  26. {petfishframework-0.4.2 → petfishframework-0.4.5}/README.md +0 -0
  27. {petfishframework-0.4.2 → petfishframework-0.4.5}/SECURITY.md +0 -0
  28. {petfishframework-0.4.2 → petfishframework-0.4.5}/conftest.py +0 -0
  29. {petfishframework-0.4.2 → petfishframework-0.4.5}/docker-compose.yml +0 -0
  30. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/architecture.md +0 -0
  31. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/benchmark-results.md +0 -0
  32. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/deployment.md +0 -0
  33. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/development-plan.md +0 -0
  34. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/development.md +0 -0
  35. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/enterprise-expense-demo.md +0 -0
  36. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_0_1_4_playground_recommendations.md +0 -0
  37. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_playground_report.md +0 -0
  38. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_production_readiness_roadmap.md +0 -0
  39. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_recommendations.md +0 -0
  40. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_1_6_playground_review.md +0 -0
  41. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_1_7_review.md +0 -0
  42. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_1_8_review.md +0 -0
  43. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_2_1_review.md +0 -0
  44. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_2_2_review.md +0 -0
  45. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_3_0_review.md +0 -0
  46. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_4_0_review.md +0 -0
  47. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/petfishframework_v0_4_1_review.md +0 -0
  48. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/release-checklist.md +0 -0
  49. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/release-protocol.md +0 -0
  50. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/README.md +0 -0
  51. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/competitor-matrix.md +0 -0
  52. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/market-brief.md +0 -0
  53. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/positioning-map.md +0 -0
  54. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/swot-analysis.md +0 -0
  55. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/literature-review/inclusion-exclusion-criteria.md +0 -0
  56. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/literature-review/literature-matrix.md +0 -0
  57. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/literature-review/literature-review.md +0 -0
  58. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/literature-review/search-strategy.md +0 -0
  59. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/reference-repos-absorption.md +0 -0
  60. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/test-results-report.md +0 -0
  61. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/threat-model.md +0 -0
  62. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/usage-guide.md +0 -0
  63. {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/validation-roadmap.md +0 -0
  64. {petfishframework-0.4.2 → petfishframework-0.4.5}/initialization-report.md +0 -0
  65. {petfishframework-0.4.2 → petfishframework-0.4.5}/mcp/README.md +0 -0
  66. {petfishframework-0.4.2 → petfishframework-0.4.5}/mcp/connection-checklist.md +0 -0
  67. {petfishframework-0.4.2 → petfishframework-0.4.5}/mcp/mcp-config.example.json +0 -0
  68. {petfishframework-0.4.2 → petfishframework-0.4.5}/opencode.json +0 -0
  69. {petfishframework-0.4.2 → petfishframework-0.4.5}/qa/code-review-checklist.md +0 -0
  70. {petfishframework-0.4.2 → petfishframework-0.4.5}/qa/qa-review.md +0 -0
  71. {petfishframework-0.4.2 → petfishframework-0.4.5}/qa/qc-gate-decision.md +0 -0
  72. {petfishframework-0.4.2 → petfishframework-0.4.5}/qa/test-plan.md +0 -0
  73. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/__main__.py +0 -0
  74. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/config.py +0 -0
  75. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/__init__.py +0 -0
  76. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/agent.py +0 -0
  77. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/compiled.py +0 -0
  78. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/contracts.py +0 -0
  79. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/conversation.py +0 -0
  80. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/events.py +0 -0
  81. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/session.py +0 -0
  82. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/structured.py +0 -0
  83. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/types.py +0 -0
  84. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/credentials/__init__.py +0 -0
  85. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/credentials/broker.py +0 -0
  86. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/credentials/token.py +0 -0
  87. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/credentials/vault_adapter.py +0 -0
  88. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/__init__.py +0 -0
  89. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/client.py +0 -0
  90. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/server.py +0 -0
  91. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/stdio_transport.py +0 -0
  92. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/wrapper.py +0 -0
  93. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/models/__init__.py +0 -0
  94. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/models/anthropic.py +0 -0
  95. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/models/fake.py +0 -0
  96. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/models/openai.py +0 -0
  97. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/observability/__init__.py +0 -0
  98. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/observability/otel_sink.py +0 -0
  99. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/observability/siem_sink.py +0 -0
  100. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/observability/sinks.py +0 -0
  101. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/__init__.py +0 -0
  102. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/conditions.py +0 -0
  103. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/engine.py +0 -0
  104. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/rule.py +0 -0
  105. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/test_runner.py +0 -0
  106. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/validator.py +0 -0
  107. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reasoning/__init__.py +0 -0
  108. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reasoning/lats.py +0 -0
  109. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reasoning/llm_plus_p.py +0 -0
  110. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reasoning/react.py +0 -0
  111. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/__init__.py +0 -0
  112. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/audit_report.py +0 -0
  113. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/cost.py +0 -0
  114. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/cost_report.py +0 -0
  115. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/pass_at_k.py +0 -0
  116. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/replay.py +0 -0
  117. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/retry.py +0 -0
  118. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/timeout.py +0 -0
  119. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/retrieval/__init__.py +0 -0
  120. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/retrieval/adaptive.py +0 -0
  121. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/retrieval/crag.py +0 -0
  122. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/retrieval/memory_store.py +0 -0
  123. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/__init__.py +0 -0
  124. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/agent_tool.py +0 -0
  125. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/base.py +0 -0
  126. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/calculator.py +0 -0
  127. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/path_planner.py +0 -0
  128. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/registry.py +0 -0
  129. {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/word_sorter.py +0 -0
  130. {petfishframework-0.4.2 → petfishframework-0.4.5}/tasks/backlog.md +0 -0
  131. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/integration/__init__.py +0 -0
  132. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/integration/test_anthropic_integration.py +0 -0
  133. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/integration/test_openai_integration.py +0 -0
  134. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/policies/enterprise-expense.tests.yaml +0 -0
  135. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_agent_tool.py +0 -0
  136. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_anthropic_adapter.py +0 -0
  137. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_agent_lifecycle.py +0 -0
  138. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_edge_cases.py +0 -0
  139. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_integration.py +0 -0
  140. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_public_surface.py +0 -0
  141. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_type_safety.py +0 -0
  142. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_async.py +0 -0
  143. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_audit_report_v2.py +0 -0
  144. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_conversation.py +0 -0
  145. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_credential_broker.py +0 -0
  146. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_credential_integration.py +0 -0
  147. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_degrade.py +0 -0
  148. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_degrade_failclosed.py +0 -0
  149. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_enterprise_demo.py +0 -0
  150. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_m2_m3_m4.py +0 -0
  151. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_main_entry.py +0 -0
  152. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_mcp.py +0 -0
  153. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_openai_adapter.py +0 -0
  154. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_otel_sink.py +0 -0
  155. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_pass_at_k.py +0 -0
  156. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_permission_semantics.py +0 -0
  157. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_quickstart_smoke.py +0 -0
  158. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_replay.py +0 -0
  159. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_replay_rerun.py +0 -0
  160. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_replay_resume.py +0 -0
  161. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_retrieval.py +0 -0
  162. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_retry.py +0 -0
  163. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_siem_export.py +0 -0
  164. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_skeleton.py +0 -0
  165. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_stdio_transport.py +0 -0
  166. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_streaming.py +0 -0
  167. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_structured.py +0 -0
  168. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_tool_registry.py +0 -0
  169. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v016_semantics.py +0 -0
  170. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v018.py +0 -0
  171. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v019.py +0 -0
  172. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v2_interface_compatibility.py +0 -0
  173. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v2_lats.py +0 -0
  174. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v2_llm_plus_p.py +0 -0
  175. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_vault_adapter.py +0 -0
  176. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_yaml_policy.py +0 -0
  177. {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_yaml_policy_suite.py +0 -0
@@ -2,6 +2,33 @@
2
2
 
3
3
  All notable changes to petfishFramework will be documented in this file.
4
4
 
5
+ ## [0.4.5] — 2026-07-08
6
+
7
+ ### v0.5 Readiness: API Documentation + Technical Debt Cleanup
8
+
9
+ #### API Reference Overhaul (28 APIs documented)
10
+ - `docs/api.md` expanded from 1471 to 2203 lines (+50%)
11
+ - All 28 previously-undocumented public APIs now have full signatures, parameters, and examples:
12
+ - **Observability**: OTelSink, SIEMSink (with redact_keys boundary note)
13
+ - **Reliability**: RetryPolicy, with_retry, with_retry_async, RetryableError, RetryModelAdapter, retry_model_adapter, TimeoutPolicy, with_timeout, OperationTimedOut, RerunEnvironment, RerunResult, CostReport
14
+ - **Configuration**: FrameworkConfig (from_env, from_dict)
15
+ - **Conversation Memory**: ConversationStore, InMemoryConversationStore
16
+ - **Structured Output**: StructuredResult, parse_json, parse_structured
17
+ - **Tools**: AgentAsTool, WordSorter
18
+ - **Models**: AnthropicModel, AsyncFakeModel
19
+ - **Policies**: PolicyRule, load_policy
20
+ - **MCP**: serve_as_mcp (marked as v0.5 stub)
21
+
22
+ #### API Stability Policy
23
+ - New `docs/api-stability.md` classifies all public APIs into Stable / Experimental / Internal tiers
24
+ - Documents deprecation process and v1.0 freeze criteria
25
+
26
+ #### Code Cleanup (stale markers removed)
27
+ - `permissions/__init__.py`: docstring updated — CredentialBroker is implemented, not TODO
28
+ - `permissions/model.py`: DefaultAllowPolicy comment clarified (allow-all by design, not a skeleton TODO)
29
+ - `core/environment.py`: DEGRADE docstring fixed — tool switching IS implemented (was incorrectly marked "future work"); visibility gate clarified as v0.5 planned
30
+ - `docs/skeleton-completeness-checklist.md`: comprehensively updated to reflect v0.4.5 state (RESUME/RERUN, Pass^k, CredentialBroker, OTel/SIEM, retry/timeout all marked ✅)
31
+
5
32
  ## [0.4.2] — 2026-07-08
6
33
 
7
34
  ### CI & Deployment Hardening
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: petfishframework
3
- Version: 0.4.2
3
+ Version: 0.4.5
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
@@ -0,0 +1,88 @@
1
+ # API Stability Policy
2
+
3
+ > Effective: v0.4.5
4
+ > Goal: Help users understand which APIs are safe to depend on before v1.0.
5
+
6
+ ## Stability Tiers
7
+
8
+ | Tier | Meaning | Breaking changes | Versioning |
9
+ |---|---|---|---|
10
+ | **Stable** | API signature and semantics will not change before v1.0 without a deprecation cycle (min 1 minor version). | Only for security fixes. | Patch (0.4.x) |
11
+ | **Experimental** | API exists and works, but may change signature or semantics in the next minor version. | Allowed with CHANGELOG note. | Minor (0.x.0) |
12
+ | **Internal** | Used by the framework internally. May change or be removed without notice. | No guarantees. | Any |
13
+
14
+ ## Classification
15
+
16
+ ### Stable
17
+
18
+ These APIs have been validated by 300+ tests and are used in production-facing examples:
19
+
20
+ - `Agent`, `Session` — core execution abstractions
21
+ - `Budget`, `BudgetExceeded` — budget enforcement
22
+ - `DecisionEffect` (all 6 values) — permission semantics
23
+ - `Subject`, `Action`, `Resource`, `AccessContext`, `Decision` — SARC model
24
+ - `PermissionPolicy` protocol — policy interface
25
+ - `DefaultAllowPolicy`, `DenyByDefaultPolicy` — built-in policies
26
+ - `Event`, `EventEmitter` — event infrastructure
27
+ - `Result`, `Task`, `Step`, `Trajectory`, `Usage` — core types
28
+ - `Tool` protocol, `BaseTool`, `@tool` decorator
29
+ - `Calculator`, `WordSorter` — reference tools
30
+ - `FakeModel` — testing model
31
+ - `ReAct` — default reasoning strategy
32
+ - `RuntimeEnvironment` — the chokepoint
33
+ - `AuditReport`, `audit_report_from_session` — audit output
34
+ - `CredentialBroker`, `ScopedToken` — credential governance
35
+ - `YamlPolicy`, `PolicyRule` — YAML policy engine
36
+ - `pass_at_k`, `pass_at_k_with_perturbations` — reliability metric
37
+
38
+ ### Experimental
39
+
40
+ These APIs work and are tested, but their signatures or semantics may change:
41
+
42
+ - `OTelSink`, `SIEMSink` — observability sinks (redaction API may evolve)
43
+ - `RecordingEnvironment`, `ReplayEnvironment`, `RerunEnvironment`, `ResumableEnvironment` — replay wrappers
44
+ - `RerunResult` — divergence detection output format may change
45
+ - `RetryPolicy`, `with_retry`, `RetryModelAdapter` — retry infrastructure
46
+ - `TimeoutPolicy`, `with_timeout` — timeout infrastructure
47
+ - `VaultCredentialSource` — Vault adapter (needs real-world validation)
48
+ - `OpenAIModel`, `AnthropicModel` — model adapters (provider API changes)
49
+ - `LATS`, `LLMPlusP` — reasoning strategies (lightweight implementations)
50
+ - `CRAGRetriever`, `AdaptiveRetriever`, `MemoryRetriever` — retrieval (lightweight)
51
+ - `AgentAsTool` — multi-agent delegation
52
+ - `ConversationStore`, `InMemoryConversationStore` — conversation memory
53
+ - `StructuredResult`, `parse_json`, `parse_structured` — structured output
54
+ - `FrameworkConfig` — configuration system
55
+ - `CostReport` — cost reporting format
56
+ - `connect_stdio`, `MCPClient` — MCP client
57
+ - Policy condition matchers — YAML matcher set may expand/change
58
+ - `SIEMSink.redact_keys` — redaction key set may change defaults
59
+
60
+ ### Internal
61
+
62
+ These are implementation details that should not be directly imported:
63
+
64
+ - `CostAccountant` — internal cost tracking (use `Result.usage` instead)
65
+ - `CapabilityProjection` — visibility gate (not yet enforced)
66
+ - `CapabilityGrant` — audit artifact type (not yet emitted)
67
+ - `CompiledContext`, `TaskSpec`, `MemorySlice`, `EvidenceBundle`, `OutputContract` — compiled context types
68
+ - `MemoryView` — memory protocol (empty stub)
69
+ - `serve_as_mcp` — MCP server stub (raises NotImplementedError)
70
+ - `pass_at_k` perturbation functions (`canonical`, `order_shuffled`, etc.) — stable interface but internal implementations
71
+
72
+ ## Deprecation Process
73
+
74
+ When an API moves from Stable to deprecated:
75
+
76
+ 1. Add `DeprecationWarning` in the next minor version
77
+ 2. Document replacement in CHANGELOG
78
+ 3. Keep the API functional for at least 1 minor version
79
+ 4. Remove in the following minor version (or v1.0 if major)
80
+
81
+ ## v1.0 Freeze Criteria
82
+
83
+ Before declaring v1.0:
84
+
85
+ - All Stable APIs have been unchanged for 2+ minor versions
86
+ - All Experimental APIs are reclassified as Stable or explicitly dropped
87
+ - Breaking changes require semver-major version bump
88
+ - Migration guide published for any dropped APIs