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.
- {petfishframework-0.4.2 → petfishframework-0.4.5}/CHANGELOG.md +27 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/PKG-INFO +1 -1
- petfishframework-0.4.5/docs/api-stability.md +88 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/api.md +733 -1
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/skeleton-completeness-checklist.md +34 -23
- {petfishframework-0.4.2 → petfishframework-0.4.5}/pyproject.toml +1 -1
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/__init__.py +1 -1
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/environment.py +6 -2
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/permissions/__init__.py +5 -5
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/permissions/model.py +1 -1
- {petfishframework-0.4.2 → petfishframework-0.4.5}/uv.lock +1 -1
- {petfishframework-0.4.2 → petfishframework-0.4.5}/.env.example +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/.gitattributes +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/.github/workflows/ci.yml +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/.github/workflows/publish.yml +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/.gitignore +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/.sisyphus/plans/v0.1.6-plan.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/.sisyphus/plans/v0.2.0-plan.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/.sisyphus/plans/v0.3.0-plan.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/.sisyphus/plans/v0.4.0-plan.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/AGENTS.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/AGENTS.md.new +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/CONTRIBUTING.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/Dockerfile +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/LICENSE +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/README.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/SECURITY.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/conftest.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docker-compose.yml +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/architecture.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/benchmark-results.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/deployment.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/development-plan.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/development.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/enterprise-expense-demo.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_0_1_4_playground_recommendations.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_playground_report.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_production_readiness_roadmap.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_recommendations.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_1_6_playground_review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_1_7_review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_1_8_review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_2_1_review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_2_2_review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_3_0_review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/archives/petfishframework_v0_4_0_review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/feedbacks/petfishframework_v0_4_1_review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/release-checklist.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/release-protocol.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/README.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/competitor-matrix.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/market-brief.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/positioning-map.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/competitor-analysis/swot-analysis.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/literature-review/inclusion-exclusion-criteria.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/literature-review/literature-matrix.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/literature-review/literature-review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/literature-review/search-strategy.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/research/reference-repos-absorption.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/test-results-report.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/threat-model.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/usage-guide.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/docs/validation-roadmap.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/initialization-report.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/mcp/README.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/mcp/connection-checklist.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/mcp/mcp-config.example.json +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/opencode.json +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/qa/code-review-checklist.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/qa/qa-review.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/qa/qc-gate-decision.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/qa/test-plan.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/__main__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/config.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/agent.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/compiled.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/contracts.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/conversation.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/events.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/session.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/structured.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/core/types.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/credentials/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/credentials/broker.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/credentials/token.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/credentials/vault_adapter.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/client.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/server.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/stdio_transport.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/mcp/wrapper.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/models/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/models/anthropic.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/models/fake.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/models/openai.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/observability/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/observability/otel_sink.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/observability/siem_sink.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/observability/sinks.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/conditions.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/engine.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/rule.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/test_runner.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/policies/validator.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reasoning/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reasoning/lats.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reasoning/llm_plus_p.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reasoning/react.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/audit_report.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/cost.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/cost_report.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/pass_at_k.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/replay.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/retry.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/reliability/timeout.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/retrieval/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/retrieval/adaptive.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/retrieval/crag.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/retrieval/memory_store.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/agent_tool.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/base.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/calculator.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/path_planner.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/registry.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/src/petfishframework/tools/word_sorter.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tasks/backlog.md +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/integration/__init__.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/integration/test_anthropic_integration.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/integration/test_openai_integration.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/policies/enterprise-expense.tests.yaml +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_agent_tool.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_anthropic_adapter.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_agent_lifecycle.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_edge_cases.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_integration.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_public_surface.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_api_type_safety.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_async.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_audit_report_v2.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_conversation.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_credential_broker.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_credential_integration.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_degrade.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_degrade_failclosed.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_enterprise_demo.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_m2_m3_m4.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_main_entry.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_mcp.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_openai_adapter.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_otel_sink.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_pass_at_k.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_permission_semantics.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_quickstart_smoke.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_replay.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_replay_rerun.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_replay_resume.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_retrieval.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_retry.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_siem_export.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_skeleton.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_stdio_transport.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_streaming.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_structured.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_tool_registry.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v016_semantics.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v018.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v019.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v2_interface_compatibility.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v2_lats.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_v2_llm_plus_p.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_vault_adapter.py +0 -0
- {petfishframework-0.4.2 → petfishframework-0.4.5}/tests/test_yaml_policy.py +0 -0
- {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.
|
|
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
|