cfa-kernel 0.1.3__tar.gz → 0.1.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.
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.github/workflows/ci.yml +6 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.gitignore +7 -5
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/PKG-INFO +3 -2
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/README.md +2 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/pyproject.toml +1 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/__init__.py +1 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/observability/promotion.py +3 -2
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/api.md +1 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/faq.md +2 -2
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/intro.md +1 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/whitepaper.md +2 -2
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docusaurus.config.ts +1 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/api.md +1 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/intro.md +1 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/whitepaper.md +1 -1
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/src/pages/index.tsx +2 -2
- cfa_kernel-0.1.3/CFA_IMPLEMENTATION_PLAN.md +0 -780
- cfa_kernel-0.1.3/CFA_MARKET_RESEARCH_2026.md +0 -404
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.gitattributes +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.github/workflows/deploy-docs.yml +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.github/workflows/deploy-pypi.yml +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.github/workflows/governance.yml +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.uv-cache/.gitignore +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.uv-cache/.lock +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.uv-cache/CACHEDIR.TAG +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/.uv-cache/sdists-v9/.gitignore +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/CODE_OF_CONDUCT.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/CONTRIBUTING.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/LICENSE +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/MANUAL_TESTING_GUIDE.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/SECURITY.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/examples/fiscal_governance.yaml +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/examples/full_pipeline.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/examples/llm_systematizer.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/examples/runtime_gate.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/examples/standalone_governance.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/examples/standalone_lifecycle.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/examples/standalone_resolution.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/integrations/airflow-governance-gate/README.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/integrations/airflow-governance-gate/dags/cfa_governance_gate_demo.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/integrations/airflow-governance-gate/requirements.txt +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/integrations/airflow-governance-gate/src/governance_gate.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/mcp.json +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/policies/compliance-strict-v1.yaml +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/policies/finops-strict-v1.yaml +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/policies/prod-v1.yaml +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/_lazy.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/adapters/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/adapters/autogen.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/adapters/crewai.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/adapters/dspy.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/adapters/langgraph.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/adapters/openai_agents.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/audit/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/audit/context.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/audit/hashing.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/audit/trail.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/backends/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/backends/dbt.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/backends/pyspark.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/backends/sql.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/behavior/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/behavior/llm.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/behavior/spec.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/behavior/systematizer.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/__main__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/_helpers.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/core/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/core/evaluate.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/core/validate.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/formatters.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/governance/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/governance/audit.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/governance/catalog.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/governance/policy.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/governance/rules.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/governance/signature.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/infrastructure/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/infrastructure/backend_list.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/infrastructure/storage.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/project/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/project/init.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/project/lifecycle.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/project/status.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/project/taxonomy.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/reporting/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/reporting/report.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/cli/reporting/serve.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/config.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/core/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/core/codegen.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/core/conditions.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/core/kernel.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/core/phases/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/core/phases/runner.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/core/planner.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/execution/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/execution/partial.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/execution/state_projection.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/governance/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/lifecycle/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/mcp/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/mcp/__main__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/normalizer/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/normalizer/base.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/normalizer/llm.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/observability/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/observability/indices.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/observability/metrics.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/observability/notify.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/observability/otel.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/policy/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/policy/bundle.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/policy/catalog.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/policy/engine.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/reporting/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/reporting/charts.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/reporting/engine.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/resolution/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/runtime/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/runtime/gate.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/sandbox/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/sandbox/executor.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/sandbox/mock.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/sandbox/panic.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/storage/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/testing/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/testing/asserts.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/testing/evaluate.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/testing/fixtures.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/testing/markers.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/types.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/validation/__init__.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/validation/runtime.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/validation/signature.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/src/cfa/validation/static.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/conftest.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_adapters.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_airflow_governance_gate.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_audit_persistent.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_behavior.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_behavior_llm.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_catalog.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_cli_validation.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_codegen.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_config.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_context.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_context_persistent.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_dbt_backend.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_hashing.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_indices.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_integration.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_intensive.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_kernel.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_mcp.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_metrics.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_normalizer.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_normalizer_llm.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_notify.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_otel.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_partial_execution.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_planner.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_policy.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_policy_bundle.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_promotion.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_reporting.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_runtime.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_runtime_validation.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_sandbox.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_serialization.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_signature.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_sql_backend.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_state_projection.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_static_validation.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_storage.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_testing.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_types.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/tests/test_user_journeys.py +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/.gitignore +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/README.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/blog/2019-05-28-first-blog-post.mdx +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/blog/2019-05-29-long-blog-post.mdx +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/blog/2021-08-01-mdx-blog-post.mdx +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/blog/2021-08-26-welcome/index.mdx +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/blog/authors.yml +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/blog/tags.yml +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/architecture-notes.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/backends.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/behavior-spec.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/cli.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/getting-started.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/guide.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/integrations/airflow.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/integrations/langgraph.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/integrations/openai-agents.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/mcp-server.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/policy-bundles.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/docs/reporting.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/code.json +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/architecture-notes.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/backends.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/behavior-spec.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/cli.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/faq.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/getting-started.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/guide.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations/airflow.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations/langgraph.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations/openai-agents.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/mcp-server.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/policy-bundles.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/reporting.md +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/package-lock.json +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/package.json +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/sidebars.ts +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/src/components/HomepageFeatures/index.tsx +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/src/components/HomepageFeatures/styles.module.css +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/src/css/custom.css +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/src/pages/index.module.css +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/src/pages/markdown-page.mdx +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/static/.nojekyll +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/static/img/favicon.ico +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/static/img/logo.svg +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/static/img/undraw_docusaurus_mountain.svg +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/static/img/undraw_docusaurus_react.svg +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/static/img/undraw_docusaurus_tree.svg +0 -0
- {cfa_kernel-0.1.3 → cfa_kernel-0.1.5}/website/tsconfig.json +0 -0
|
@@ -34,4 +34,9 @@ jobs:
|
|
|
34
34
|
python -m pip install --upgrade pip
|
|
35
35
|
pip install -e ".[dev]"
|
|
36
36
|
- name: Run tests with coverage
|
|
37
|
-
run: python -m pytest -q --cov=cfa --cov-report=term-missing
|
|
37
|
+
run: python -m pytest -q --cov=cfa --cov-report=term-missing --cov-report=xml
|
|
38
|
+
- name: Upload coverage to Codecov
|
|
39
|
+
uses: codecov/codecov-action@v5
|
|
40
|
+
with:
|
|
41
|
+
files: ./coverage.xml
|
|
42
|
+
fail_ci_if_error: false
|
|
@@ -45,11 +45,13 @@ temp/
|
|
|
45
45
|
*.jpg
|
|
46
46
|
*.gif
|
|
47
47
|
|
|
48
|
-
# Draft documents
|
|
49
|
-
*draft*
|
|
50
|
-
*DRAFT*
|
|
51
|
-
CFA_DEVELOPMENT_PLAN.md
|
|
52
|
-
CFA_TECHNICAL_ANALYSIS_2026.md
|
|
48
|
+
# Draft documents
|
|
49
|
+
*draft*
|
|
50
|
+
*DRAFT*
|
|
51
|
+
CFA_DEVELOPMENT_PLAN.md
|
|
52
|
+
CFA_TECHNICAL_ANALYSIS_2026.md
|
|
53
|
+
CFA_IMPLEMENTATION_PLAN.md
|
|
54
|
+
CFA_MARKET_RESEARCH_2026.md
|
|
53
55
|
|
|
54
56
|
# Runtime data (generated by CLI)
|
|
55
57
|
.cfa/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cfa-kernel
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: CFA — Governed execution for AI agents and data systems
|
|
5
5
|
Project-URL: Homepage, https://marquesantero.github.io/cfa/
|
|
6
6
|
Project-URL: Repository, https://github.com/marquesantero/cfa
|
|
@@ -38,9 +38,10 @@ Provides-Extra: yaml
|
|
|
38
38
|
Requires-Dist: pyyaml>=6.0; extra == 'yaml'
|
|
39
39
|
Description-Content-Type: text/markdown
|
|
40
40
|
|
|
41
|
-
# CFA v0.1.
|
|
41
|
+
# CFA v0.1.5
|
|
42
42
|
|
|
43
43
|
[](https://github.com/marquesantero/cfa/actions/workflows/ci.yml)
|
|
44
|
+
[](https://codecov.io/github/marquesantero/cfa)
|
|
44
45
|
[](https://github.com/astral-sh/ruff)
|
|
45
46
|
[](https://github.com/marquesantero/cfa/actions/workflows/ci.yml)
|
|
46
47
|
[](https://pypi.org/project/cfa-kernel/)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
# CFA v0.1.
|
|
1
|
+
# CFA v0.1.5
|
|
2
2
|
|
|
3
3
|
[](https://github.com/marquesantero/cfa/actions/workflows/ci.yml)
|
|
4
|
+
[](https://codecov.io/github/marquesantero/cfa)
|
|
4
5
|
[](https://github.com/astral-sh/ruff)
|
|
5
6
|
[](https://github.com/marquesantero/cfa/actions/workflows/ci.yml)
|
|
6
7
|
[](https://pypi.org/project/cfa-kernel/)
|
|
@@ -26,8 +26,9 @@ Every promoted skill carries generation_metadata for traceability.
|
|
|
26
26
|
from __future__ import annotations
|
|
27
27
|
|
|
28
28
|
from dataclasses import dataclass, field
|
|
29
|
-
from datetime import datetime
|
|
29
|
+
from datetime import datetime
|
|
30
30
|
from enum import StrEnum
|
|
31
|
+
from typing import Any
|
|
31
32
|
|
|
32
33
|
from cfa.observability.indices import ExecutionRecord, IndexCalculator, IndexScores
|
|
33
34
|
from cfa.types import _utcnow
|
|
@@ -40,7 +41,7 @@ def _parse_storage_timestamp(ts: str) -> datetime | None:
|
|
|
40
41
|
try:
|
|
41
42
|
dt = datetime.fromisoformat(ts)
|
|
42
43
|
if dt.tzinfo is None:
|
|
43
|
-
dt = dt.replace(tzinfo=
|
|
44
|
+
dt = dt.replace(tzinfo=datetime.UTC)
|
|
44
45
|
return dt
|
|
45
46
|
except (ValueError, TypeError):
|
|
46
47
|
return None
|
|
@@ -68,8 +68,8 @@ Invariant I4: after every execution (success, partial, or failure), the `StatePr
|
|
|
68
68
|
|
|
69
69
|
## Can CFA handle streaming data?
|
|
70
70
|
|
|
71
|
-
CFA v0.1.
|
|
71
|
+
CFA v0.1.5 targets batch and micro-batch execution. Streaming support is planned for a future version. The architecture's concurrency model assumes `single_active_intent_per_target_scope`.
|
|
72
72
|
|
|
73
73
|
## Is CFA production-ready?
|
|
74
74
|
|
|
75
|
-
CFA v0.1.
|
|
75
|
+
CFA v0.1.5 has 343 passing tests, a full CLI, MCP server, rich reporting, and framework adapters. It is designed for production governance gates. The core has been battle-tested through multiple refactors. As with any governance tool, deploy with monitoring and start with `cfa evaluate` in CI before moving to runtime gates.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
sidebar_position: 3
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# CFA v0.1.
|
|
5
|
+
# CFA v0.1.5 Whitepaper
|
|
6
6
|
|
|
7
7
|
Contextual Flux Architecture — Governed execution for AI agents and data systems.
|
|
8
8
|
|
|
@@ -197,7 +197,7 @@ Comprehensive test coverage across governance, resolution, lifecycle, kernel, ad
|
|
|
197
197
|
|
|
198
198
|
## 9. Conclusion
|
|
199
199
|
|
|
200
|
-
CFA v0.1.
|
|
200
|
+
CFA v0.1.5 establishes a governance kernel that bridges the gap between AI agent flexibility and production-grade safety. By formalizing intent, enforcing policy before execution, generating deterministic code, sandboxing runtime, projecting state, and maintaining tamper-evident audit trails, CFA provides the guardrails that AI-native data systems require to operate in regulated, high-stakes environments.
|
|
201
201
|
|
|
202
202
|
The architecture is designed for **progressive adoption**: start with a single policy gate before an existing pipeline, then expand to full kernel orchestration as confidence grows. Every component is pluggable, every decision is auditable, and every state transition is recorded.
|
|
203
203
|
|
|
@@ -17,7 +17,7 @@ function HomepageHeader() {
|
|
|
17
17
|
fontFamily: 'monospace', fontSize: '0.75rem', letterSpacing: '0.25em',
|
|
18
18
|
color: '#3dffa0', textTransform: 'uppercase', marginBottom: '1rem',
|
|
19
19
|
}}>
|
|
20
|
-
Technical Whitepaper · v0.1.
|
|
20
|
+
Technical Whitepaper · v0.1.5
|
|
21
21
|
</p>
|
|
22
22
|
<h1 className="hero__title" style={{
|
|
23
23
|
fontFamily: "'Syne', sans-serif", fontSize: '3.5rem', fontWeight: 800,
|
|
@@ -95,7 +95,7 @@ export default function Home(): JSX.Element {
|
|
|
95
95
|
pip install cfa-kernel && cfa evaluate "Join NFe with Clientes persist Silver"
|
|
96
96
|
</code>
|
|
97
97
|
<p style={{ color: '#8892a4', marginTop: '1rem', fontSize: '0.85rem' }}>
|
|
98
|
-
|
|
98
|
+
536 tests · MIT License · Python 3.11+
|
|
99
99
|
</p>
|
|
100
100
|
</div>
|
|
101
101
|
</main>
|