petfishframework 0.5.1__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.
- {petfishframework-0.5.1 → petfishframework-0.5.2}/CHANGELOG.md +25 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/PKG-INFO +17 -3
- {petfishframework-0.5.1 → petfishframework-0.5.2}/README.md +16 -2
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/api.md +1 -1
- petfishframework-0.5.2/docs/feedbacks/petfishframework_v0_5_1_review.md +947 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/pyproject.toml +1 -1
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/__init__.py +1 -1
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/agent.py +2 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/environment.py +16 -16
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/session.py +6 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/mcp/server.py +2 -1
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/permissions/model.py +1 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/__init__.py +2 -0
- petfishframework-0.5.2/src/petfishframework/tools/governance.py +40 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/uv.lock +1 -1
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.env.example +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.gitattributes +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.github/workflows/ci.yml +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.github/workflows/publish.yml +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.gitignore +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.sisyphus/plans/v0.1.6-plan.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.sisyphus/plans/v0.2.0-plan.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.sisyphus/plans/v0.3.0-plan.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.sisyphus/plans/v0.4.0-plan.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/.sisyphus/plans/v0.5.0-plan.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/AGENTS.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/AGENTS.md.new +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/CONTRIBUTING.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/Dockerfile +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/LICENSE +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/SECURITY.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/conftest.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docker-compose.yml +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/api-stability.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/architecture.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/benchmark-results.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/deployment.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/development-plan.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/development.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/enterprise-expense-demo.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_0_1_4_playground_recommendations.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_playground_report.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_production_readiness_roadmap.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_recommendations.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_1_6_playground_review.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_1_7_review.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_1_8_review.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_2_1_review.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_2_2_review.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_3_0_review.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/feedbacks/archives/petfishframework_v0_4_0_review.md +0 -0
- {petfishframework-0.5.1/docs/feedbacks → petfishframework-0.5.2/docs/feedbacks/archives}/petfishframework_v0_4_1_review.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/release-checklist.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/release-protocol.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/competitor-analysis/README.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/competitor-analysis/competitor-matrix.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/competitor-analysis/market-brief.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/competitor-analysis/positioning-map.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/competitor-analysis/swot-analysis.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/literature-review/inclusion-exclusion-criteria.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/literature-review/literature-matrix.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/literature-review/literature-review.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/literature-review/search-strategy.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/research/reference-repos-absorption.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/skeleton-completeness-checklist.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/test-results-report.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/threat-model.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/usage-guide.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/docs/validation-roadmap.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/initialization-report.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/mcp/README.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/mcp/connection-checklist.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/mcp/mcp-config.example.json +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/opencode.json +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/qa/code-review-checklist.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/qa/qa-review.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/qa/qc-gate-decision.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/qa/test-plan.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/__main__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/config.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/compiled.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/contracts.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/conversation.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/events.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/structured.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/core/types.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/credentials/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/credentials/broker.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/credentials/token.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/credentials/vault_adapter.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/mcp/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/mcp/allowlist.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/mcp/client.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/mcp/exceptions.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/mcp/risk_mapper.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/mcp/schema_pin.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/mcp/stdio_transport.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/mcp/wrapper.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/models/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/models/anthropic.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/models/fake.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/models/openai.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/observability/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/observability/otel_sink.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/observability/siem_sink.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/observability/sinks.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/permissions/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/permissions/risk_policy.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/policies/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/policies/conditions.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/policies/engine.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/policies/hot_reload.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/policies/rule.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/policies/test_runner.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/policies/validator.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reasoning/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reasoning/lats.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reasoning/llm_plus_p.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reasoning/react.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reasoning/reflexion.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reliability/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reliability/audit_report.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reliability/circuit_breaker.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reliability/cost.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reliability/cost_report.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reliability/pass_at_k.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reliability/replay.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reliability/retry.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/reliability/timeout.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/retrieval/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/retrieval/adaptive.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/retrieval/crag.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/retrieval/memory_store.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/agent_tool.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/base.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/calculator.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/idempotency.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/metadata_policy.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/path_planner.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/rate_limiter.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/registry.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/sandbox.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/schema_validator.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/src/petfishframework/tools/word_sorter.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tasks/backlog.md +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/integration/__init__.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/integration/test_anthropic_integration.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/integration/test_openai_integration.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/policies/enterprise-expense.tests.yaml +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_agent_tool.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_anthropic_adapter.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_api_agent_lifecycle.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_api_edge_cases.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_api_integration.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_api_public_surface.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_api_type_safety.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_async.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_audit_report_v2.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_circuit_breaker.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_conversation.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_credential_broker.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_credential_integration.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_degrade.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_degrade_failclosed.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_enterprise_demo.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_lats_mcts.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_llm_plus_p_general.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_m2_m3_m4.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_main_entry.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_mcp.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_mcp_allowlist.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_mcp_lifecycle.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_mcp_risk_mapping.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_mcp_schema_pin.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_mcp_server.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_openai_adapter.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_otel_sink.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_pass_at_k.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_permission_semantics.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_policy_hot_reload.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_quickstart_smoke.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_rate_limiter.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_reflexion.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_replay.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_replay_rerun.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_replay_resume.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_retrieval.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_retry.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_risk_classification.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_sandbox.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_siem_export.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_skeleton.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_stdio_transport.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_streaming.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_structured.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_tool_idempotency.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_tool_metadata.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_tool_registry.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_tool_retry.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_tool_schema.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_tool_timeout.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_v016_semantics.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_v018.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_v019.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_v2_interface_compatibility.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_v2_lats.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_v2_llm_plus_p.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_vault_adapter.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_yaml_policy.py +0 -0
- {petfishframework-0.5.1 → petfishframework-0.5.2}/tests/test_yaml_policy_suite.py +0 -0
|
@@ -2,6 +2,31 @@
|
|
|
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
|
+
|
|
5
30
|
## [0.5.1] — 2026-07-09
|
|
6
31
|
|
|
7
32
|
### Deferred Items Completion + Reasoning Strategy Upgrades
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: petfishframework
|
|
3
|
-
Version: 0.5.
|
|
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
|
|
@@ -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 |
|
|
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 |
|
|
@@ -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 |
|
|
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 |
|
|
@@ -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.
|
|
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
|
|