cfa-kernel 0.1.0__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 (232) hide show
  1. cfa_kernel-0.1.0/.gitattributes +1 -0
  2. cfa_kernel-0.1.0/.github/ISSUE_TEMPLATE/bug_report.md +42 -0
  3. cfa_kernel-0.1.0/.github/ISSUE_TEMPLATE/feature_request.md +35 -0
  4. cfa_kernel-0.1.0/.github/PULL_REQUEST_TEMPLATE.md +30 -0
  5. cfa_kernel-0.1.0/.github/workflows/ci.yml +37 -0
  6. cfa_kernel-0.1.0/.github/workflows/deploy-docs.yml +36 -0
  7. cfa_kernel-0.1.0/.github/workflows/deploy-pypi.yml +24 -0
  8. cfa_kernel-0.1.0/.github/workflows/governance.yml +34 -0
  9. cfa_kernel-0.1.0/.gitignore +70 -0
  10. cfa_kernel-0.1.0/.uv-cache/.gitignore +1 -0
  11. cfa_kernel-0.1.0/.uv-cache/.lock +0 -0
  12. cfa_kernel-0.1.0/.uv-cache/CACHEDIR.TAG +1 -0
  13. cfa_kernel-0.1.0/.uv-cache/sdists-v9/.gitignore +0 -0
  14. cfa_kernel-0.1.0/CFA_IMPLEMENTATION_PLAN.md +780 -0
  15. cfa_kernel-0.1.0/CFA_MARKET_RESEARCH_2026.md +404 -0
  16. cfa_kernel-0.1.0/CODE_OF_CONDUCT.md +57 -0
  17. cfa_kernel-0.1.0/CONTRIBUTING.md +131 -0
  18. cfa_kernel-0.1.0/LICENSE +21 -0
  19. cfa_kernel-0.1.0/MANUAL_TESTING_GUIDE.md +693 -0
  20. cfa_kernel-0.1.0/PKG-INFO +32 -0
  21. cfa_kernel-0.1.0/README.md +285 -0
  22. cfa_kernel-0.1.0/SECURITY.md +39 -0
  23. cfa_kernel-0.1.0/examples/fiscal_governance.yaml +96 -0
  24. cfa_kernel-0.1.0/examples/full_pipeline.py +42 -0
  25. cfa_kernel-0.1.0/examples/llm_systematizer.py +79 -0
  26. cfa_kernel-0.1.0/examples/runtime_gate.py +90 -0
  27. cfa_kernel-0.1.0/examples/standalone_governance.py +98 -0
  28. cfa_kernel-0.1.0/examples/standalone_lifecycle.py +97 -0
  29. cfa_kernel-0.1.0/examples/standalone_resolution.py +74 -0
  30. cfa_kernel-0.1.0/integrations/airflow-governance-gate/README.md +134 -0
  31. cfa_kernel-0.1.0/integrations/airflow-governance-gate/dags/cfa_governance_gate_demo.py +79 -0
  32. cfa_kernel-0.1.0/integrations/airflow-governance-gate/requirements.txt +7 -0
  33. cfa_kernel-0.1.0/integrations/airflow-governance-gate/src/governance_gate.py +101 -0
  34. cfa_kernel-0.1.0/mcp.json +11 -0
  35. cfa_kernel-0.1.0/policies/compliance-strict-v1.yaml +79 -0
  36. cfa_kernel-0.1.0/policies/finops-strict-v1.yaml +59 -0
  37. cfa_kernel-0.1.0/policies/prod-v1.yaml +81 -0
  38. cfa_kernel-0.1.0/pyproject.toml +70 -0
  39. cfa_kernel-0.1.0/src/cfa/__init__.py +39 -0
  40. cfa_kernel-0.1.0/src/cfa/_lazy.py +39 -0
  41. cfa_kernel-0.1.0/src/cfa/adapters/__init__.py +104 -0
  42. cfa_kernel-0.1.0/src/cfa/adapters/autogen.py +19 -0
  43. cfa_kernel-0.1.0/src/cfa/adapters/crewai.py +19 -0
  44. cfa_kernel-0.1.0/src/cfa/adapters/dspy.py +19 -0
  45. cfa_kernel-0.1.0/src/cfa/adapters/langgraph.py +19 -0
  46. cfa_kernel-0.1.0/src/cfa/adapters/openai_agents.py +19 -0
  47. cfa_kernel-0.1.0/src/cfa/audit/__init__.py +15 -0
  48. cfa_kernel-0.1.0/src/cfa/audit/context.py +205 -0
  49. cfa_kernel-0.1.0/src/cfa/audit/hashing.py +41 -0
  50. cfa_kernel-0.1.0/src/cfa/audit/trail.py +194 -0
  51. cfa_kernel-0.1.0/src/cfa/backends/__init__.py +132 -0
  52. cfa_kernel-0.1.0/src/cfa/backends/dbt.py +338 -0
  53. cfa_kernel-0.1.0/src/cfa/backends/pyspark.py +240 -0
  54. cfa_kernel-0.1.0/src/cfa/backends/sql.py +270 -0
  55. cfa_kernel-0.1.0/src/cfa/behavior/__init__.py +49 -0
  56. cfa_kernel-0.1.0/src/cfa/behavior/llm.py +244 -0
  57. cfa_kernel-0.1.0/src/cfa/behavior/spec.py +235 -0
  58. cfa_kernel-0.1.0/src/cfa/behavior/systematizer.py +222 -0
  59. cfa_kernel-0.1.0/src/cfa/cli/__init__.py +296 -0
  60. cfa_kernel-0.1.0/src/cfa/cli/__main__.py +6 -0
  61. cfa_kernel-0.1.0/src/cfa/cli/_helpers.py +109 -0
  62. cfa_kernel-0.1.0/src/cfa/cli/core/__init__.py +0 -0
  63. cfa_kernel-0.1.0/src/cfa/cli/core/evaluate.py +72 -0
  64. cfa_kernel-0.1.0/src/cfa/cli/core/validate.py +29 -0
  65. cfa_kernel-0.1.0/src/cfa/cli/formatters.py +280 -0
  66. cfa_kernel-0.1.0/src/cfa/cli/governance/__init__.py +0 -0
  67. cfa_kernel-0.1.0/src/cfa/cli/governance/audit.py +65 -0
  68. cfa_kernel-0.1.0/src/cfa/cli/governance/catalog.py +28 -0
  69. cfa_kernel-0.1.0/src/cfa/cli/governance/policy.py +119 -0
  70. cfa_kernel-0.1.0/src/cfa/cli/governance/rules.py +42 -0
  71. cfa_kernel-0.1.0/src/cfa/cli/governance/signature.py +31 -0
  72. cfa_kernel-0.1.0/src/cfa/cli/infrastructure/__init__.py +0 -0
  73. cfa_kernel-0.1.0/src/cfa/cli/infrastructure/backend_list.py +24 -0
  74. cfa_kernel-0.1.0/src/cfa/cli/infrastructure/storage.py +87 -0
  75. cfa_kernel-0.1.0/src/cfa/cli/project/__init__.py +0 -0
  76. cfa_kernel-0.1.0/src/cfa/cli/project/init.py +73 -0
  77. cfa_kernel-0.1.0/src/cfa/cli/project/lifecycle.py +92 -0
  78. cfa_kernel-0.1.0/src/cfa/cli/project/status.py +75 -0
  79. cfa_kernel-0.1.0/src/cfa/cli/project/taxonomy.py +38 -0
  80. cfa_kernel-0.1.0/src/cfa/cli/reporting/__init__.py +0 -0
  81. cfa_kernel-0.1.0/src/cfa/cli/reporting/report.py +109 -0
  82. cfa_kernel-0.1.0/src/cfa/cli/reporting/serve.py +43 -0
  83. cfa_kernel-0.1.0/src/cfa/config.py +103 -0
  84. cfa_kernel-0.1.0/src/cfa/core/__init__.py +19 -0
  85. cfa_kernel-0.1.0/src/cfa/core/codegen.py +65 -0
  86. cfa_kernel-0.1.0/src/cfa/core/conditions.py +129 -0
  87. cfa_kernel-0.1.0/src/cfa/core/kernel.py +224 -0
  88. cfa_kernel-0.1.0/src/cfa/core/phases/__init__.py +0 -0
  89. cfa_kernel-0.1.0/src/cfa/core/phases/runner.py +477 -0
  90. cfa_kernel-0.1.0/src/cfa/core/planner.py +290 -0
  91. cfa_kernel-0.1.0/src/cfa/execution/__init__.py +12 -0
  92. cfa_kernel-0.1.0/src/cfa/execution/partial.py +339 -0
  93. cfa_kernel-0.1.0/src/cfa/execution/state_projection.py +216 -0
  94. cfa_kernel-0.1.0/src/cfa/governance/__init__.py +76 -0
  95. cfa_kernel-0.1.0/src/cfa/lifecycle/__init__.py +51 -0
  96. cfa_kernel-0.1.0/src/cfa/mcp/__init__.py +347 -0
  97. cfa_kernel-0.1.0/src/cfa/mcp/__main__.py +4 -0
  98. cfa_kernel-0.1.0/src/cfa/normalizer/__init__.py +15 -0
  99. cfa_kernel-0.1.0/src/cfa/normalizer/base.py +441 -0
  100. cfa_kernel-0.1.0/src/cfa/normalizer/llm.py +426 -0
  101. cfa_kernel-0.1.0/src/cfa/observability/__init__.py +14 -0
  102. cfa_kernel-0.1.0/src/cfa/observability/indices.py +177 -0
  103. cfa_kernel-0.1.0/src/cfa/observability/metrics.py +91 -0
  104. cfa_kernel-0.1.0/src/cfa/observability/notify.py +79 -0
  105. cfa_kernel-0.1.0/src/cfa/observability/otel.py +81 -0
  106. cfa_kernel-0.1.0/src/cfa/observability/promotion.py +367 -0
  107. cfa_kernel-0.1.0/src/cfa/policy/__init__.py +12 -0
  108. cfa_kernel-0.1.0/src/cfa/policy/bundle.py +317 -0
  109. cfa_kernel-0.1.0/src/cfa/policy/catalog.py +117 -0
  110. cfa_kernel-0.1.0/src/cfa/policy/engine.py +306 -0
  111. cfa_kernel-0.1.0/src/cfa/reporting/__init__.py +42 -0
  112. cfa_kernel-0.1.0/src/cfa/reporting/charts.py +223 -0
  113. cfa_kernel-0.1.0/src/cfa/reporting/engine.py +456 -0
  114. cfa_kernel-0.1.0/src/cfa/resolution/__init__.py +62 -0
  115. cfa_kernel-0.1.0/src/cfa/runtime/__init__.py +13 -0
  116. cfa_kernel-0.1.0/src/cfa/runtime/gate.py +287 -0
  117. cfa_kernel-0.1.0/src/cfa/sandbox/__init__.py +189 -0
  118. cfa_kernel-0.1.0/src/cfa/sandbox/executor.py +92 -0
  119. cfa_kernel-0.1.0/src/cfa/sandbox/mock.py +89 -0
  120. cfa_kernel-0.1.0/src/cfa/sandbox/panic.py +52 -0
  121. cfa_kernel-0.1.0/src/cfa/storage/__init__.py +591 -0
  122. cfa_kernel-0.1.0/src/cfa/testing/__init__.py +60 -0
  123. cfa_kernel-0.1.0/src/cfa/testing/asserts.py +77 -0
  124. cfa_kernel-0.1.0/src/cfa/testing/evaluate.py +168 -0
  125. cfa_kernel-0.1.0/src/cfa/testing/fixtures.py +89 -0
  126. cfa_kernel-0.1.0/src/cfa/testing/markers.py +36 -0
  127. cfa_kernel-0.1.0/src/cfa/types.py +489 -0
  128. cfa_kernel-0.1.0/src/cfa/validation/__init__.py +14 -0
  129. cfa_kernel-0.1.0/src/cfa/validation/runtime.py +285 -0
  130. cfa_kernel-0.1.0/src/cfa/validation/signature.py +146 -0
  131. cfa_kernel-0.1.0/src/cfa/validation/static.py +252 -0
  132. cfa_kernel-0.1.0/tests/conftest.py +98 -0
  133. cfa_kernel-0.1.0/tests/test_adapters.py +88 -0
  134. cfa_kernel-0.1.0/tests/test_airflow_governance_gate.py +76 -0
  135. cfa_kernel-0.1.0/tests/test_audit_persistent.py +143 -0
  136. cfa_kernel-0.1.0/tests/test_behavior.py +355 -0
  137. cfa_kernel-0.1.0/tests/test_behavior_llm.py +217 -0
  138. cfa_kernel-0.1.0/tests/test_catalog.py +49 -0
  139. cfa_kernel-0.1.0/tests/test_cli_validation.py +391 -0
  140. cfa_kernel-0.1.0/tests/test_codegen.py +79 -0
  141. cfa_kernel-0.1.0/tests/test_config.py +74 -0
  142. cfa_kernel-0.1.0/tests/test_context.py +39 -0
  143. cfa_kernel-0.1.0/tests/test_context_persistent.py +131 -0
  144. cfa_kernel-0.1.0/tests/test_dbt_backend.py +144 -0
  145. cfa_kernel-0.1.0/tests/test_hashing.py +43 -0
  146. cfa_kernel-0.1.0/tests/test_indices.py +191 -0
  147. cfa_kernel-0.1.0/tests/test_integration.py +288 -0
  148. cfa_kernel-0.1.0/tests/test_intensive.py +505 -0
  149. cfa_kernel-0.1.0/tests/test_kernel.py +161 -0
  150. cfa_kernel-0.1.0/tests/test_mcp.py +133 -0
  151. cfa_kernel-0.1.0/tests/test_metrics.py +51 -0
  152. cfa_kernel-0.1.0/tests/test_normalizer.py +189 -0
  153. cfa_kernel-0.1.0/tests/test_normalizer_llm.py +320 -0
  154. cfa_kernel-0.1.0/tests/test_notify.py +21 -0
  155. cfa_kernel-0.1.0/tests/test_otel.py +13 -0
  156. cfa_kernel-0.1.0/tests/test_partial_execution.py +201 -0
  157. cfa_kernel-0.1.0/tests/test_planner.py +152 -0
  158. cfa_kernel-0.1.0/tests/test_policy.py +95 -0
  159. cfa_kernel-0.1.0/tests/test_policy_bundle.py +85 -0
  160. cfa_kernel-0.1.0/tests/test_promotion.py +232 -0
  161. cfa_kernel-0.1.0/tests/test_reporting.py +159 -0
  162. cfa_kernel-0.1.0/tests/test_runtime.py +257 -0
  163. cfa_kernel-0.1.0/tests/test_runtime_validation.py +130 -0
  164. cfa_kernel-0.1.0/tests/test_sandbox.py +116 -0
  165. cfa_kernel-0.1.0/tests/test_serialization.py +113 -0
  166. cfa_kernel-0.1.0/tests/test_signature.py +40 -0
  167. cfa_kernel-0.1.0/tests/test_sql_backend.py +132 -0
  168. cfa_kernel-0.1.0/tests/test_state_projection.py +174 -0
  169. cfa_kernel-0.1.0/tests/test_static_validation.py +198 -0
  170. cfa_kernel-0.1.0/tests/test_storage.py +179 -0
  171. cfa_kernel-0.1.0/tests/test_testing.py +297 -0
  172. cfa_kernel-0.1.0/tests/test_types.py +121 -0
  173. cfa_kernel-0.1.0/tests/test_user_journeys.py +577 -0
  174. cfa_kernel-0.1.0/website/.gitignore +20 -0
  175. cfa_kernel-0.1.0/website/README.md +41 -0
  176. cfa_kernel-0.1.0/website/blog/2019-05-28-first-blog-post.mdx +12 -0
  177. cfa_kernel-0.1.0/website/blog/2019-05-29-long-blog-post.mdx +44 -0
  178. cfa_kernel-0.1.0/website/blog/2021-08-01-mdx-blog-post.mdx +24 -0
  179. cfa_kernel-0.1.0/website/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg +0 -0
  180. cfa_kernel-0.1.0/website/blog/2021-08-26-welcome/index.mdx +29 -0
  181. cfa_kernel-0.1.0/website/blog/authors.yml +25 -0
  182. cfa_kernel-0.1.0/website/blog/tags.yml +19 -0
  183. cfa_kernel-0.1.0/website/docs/api.md +184 -0
  184. cfa_kernel-0.1.0/website/docs/architecture-notes.md +97 -0
  185. cfa_kernel-0.1.0/website/docs/backends.md +158 -0
  186. cfa_kernel-0.1.0/website/docs/behavior-spec.md +64 -0
  187. cfa_kernel-0.1.0/website/docs/cli.md +152 -0
  188. cfa_kernel-0.1.0/website/docs/faq.md +75 -0
  189. cfa_kernel-0.1.0/website/docs/getting-started.md +173 -0
  190. cfa_kernel-0.1.0/website/docs/guide.md +299 -0
  191. cfa_kernel-0.1.0/website/docs/integrations/airflow.md +164 -0
  192. cfa_kernel-0.1.0/website/docs/integrations/langgraph.md +145 -0
  193. cfa_kernel-0.1.0/website/docs/integrations/openai-agents.md +143 -0
  194. cfa_kernel-0.1.0/website/docs/intro.md +107 -0
  195. cfa_kernel-0.1.0/website/docs/mcp-server.md +86 -0
  196. cfa_kernel-0.1.0/website/docs/policy-bundles.md +94 -0
  197. cfa_kernel-0.1.0/website/docs/reporting.md +82 -0
  198. cfa_kernel-0.1.0/website/docs/whitepaper.md +204 -0
  199. cfa_kernel-0.1.0/website/docusaurus.config.ts +118 -0
  200. cfa_kernel-0.1.0/website/i18n/pt-BR/code.json +329 -0
  201. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/api.md +170 -0
  202. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/architecture-notes.md +35 -0
  203. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/backends.md +131 -0
  204. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/behavior-spec.md +45 -0
  205. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/cli.md +151 -0
  206. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/faq.md +52 -0
  207. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/getting-started.md +173 -0
  208. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/guide.md +39 -0
  209. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations/airflow.md +42 -0
  210. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations/langgraph.md +28 -0
  211. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/integrations/openai-agents.md +20 -0
  212. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/intro.md +106 -0
  213. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/mcp-server.md +49 -0
  214. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/policy-bundles.md +62 -0
  215. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/reporting.md +53 -0
  216. cfa_kernel-0.1.0/website/i18n/pt-BR/docusaurus-plugin-content-docs/current/whitepaper.md +58 -0
  217. cfa_kernel-0.1.0/website/package-lock.json +19459 -0
  218. cfa_kernel-0.1.0/website/package.json +49 -0
  219. cfa_kernel-0.1.0/website/sidebars.ts +26 -0
  220. cfa_kernel-0.1.0/website/src/components/HomepageFeatures/index.tsx +71 -0
  221. cfa_kernel-0.1.0/website/src/components/HomepageFeatures/styles.module.css +11 -0
  222. cfa_kernel-0.1.0/website/src/css/custom.css +69 -0
  223. cfa_kernel-0.1.0/website/src/pages/index.module.css +23 -0
  224. cfa_kernel-0.1.0/website/src/pages/index.tsx +104 -0
  225. cfa_kernel-0.1.0/website/src/pages/markdown-page.mdx +7 -0
  226. cfa_kernel-0.1.0/website/static/.nojekyll +0 -0
  227. cfa_kernel-0.1.0/website/static/img/favicon.ico +0 -0
  228. cfa_kernel-0.1.0/website/static/img/logo.svg +1 -0
  229. cfa_kernel-0.1.0/website/static/img/undraw_docusaurus_mountain.svg +171 -0
  230. cfa_kernel-0.1.0/website/static/img/undraw_docusaurus_react.svg +170 -0
  231. cfa_kernel-0.1.0/website/static/img/undraw_docusaurus_tree.svg +40 -0
  232. cfa_kernel-0.1.0/website/tsconfig.json +12 -0
@@ -0,0 +1 @@
1
+ * text=auto eol=lf
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report an implementation bug or behavioral regression
4
+ title: "[Bug] "
5
+ labels: bug
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Summary
10
+
11
+ Describe the bug clearly.
12
+
13
+ ## Scope
14
+
15
+ - [ ] Runtime implementation
16
+ - [ ] Architecture/documentation mismatch
17
+ - [ ] Tests
18
+ - [ ] Packaging / CI
19
+
20
+ ## Steps to Reproduce
21
+
22
+ 1.
23
+ 2.
24
+ 3.
25
+
26
+ ## Expected Behavior
27
+
28
+ Describe what should happen.
29
+
30
+ ## Actual Behavior
31
+
32
+ Describe what happened instead.
33
+
34
+ ## Environment
35
+
36
+ - OS:
37
+ - Python version:
38
+ - Branch / commit:
39
+
40
+ ## Additional Context
41
+
42
+ Include logs, stack traces, or code snippets if relevant.
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: Feature request
3
+ about: Propose a new capability, extension point, or architectural improvement
4
+ title: "[Feature] "
5
+ labels: enhancement
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Summary
10
+
11
+ Describe the proposal briefly.
12
+
13
+ ## Type
14
+
15
+ - [ ] Architecture change
16
+ - [ ] Implementation feature
17
+ - [ ] Runtime adapter
18
+ - [ ] Documentation
19
+ - [ ] Tooling / CI
20
+
21
+ ## Problem
22
+
23
+ What problem does this solve?
24
+
25
+ ## Proposed Solution
26
+
27
+ Describe the intended change.
28
+
29
+ ## Alternatives Considered
30
+
31
+ List alternatives if you evaluated them.
32
+
33
+ ## Additional Context
34
+
35
+ Add links, examples, or prior discussion if relevant.
@@ -0,0 +1,30 @@
1
+ ## Summary
2
+
3
+ Describe the change in 2-5 lines.
4
+
5
+ ## Type of Change
6
+
7
+ - [ ] Bug fix
8
+ - [ ] Feature
9
+ - [ ] Refactor
10
+ - [ ] Documentation
11
+ - [ ] Test coverage
12
+ - [ ] CI / tooling
13
+
14
+ ## Architecture Impact
15
+
16
+ - [ ] No architectural impact
17
+ - [ ] Affects CFA runtime behavior
18
+ - [ ] Affects architectural contract or terminology
19
+
20
+ If there is architectural impact, describe it briefly.
21
+
22
+ ## Validation
23
+
24
+ - [ ] `pytest -q`
25
+ - [ ] Docs updated if needed
26
+ - [ ] Examples updated if needed
27
+
28
+ ## Notes
29
+
30
+ Anything reviewers should pay close attention to.
@@ -0,0 +1,37 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ lint:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: actions/setup-python@v5
18
+ with:
19
+ python-version: "3.11"
20
+ - name: Install ruff
21
+ run: pip install ruff
22
+ - name: Lint
23
+ run: ruff check src/ tests/
24
+
25
+ test:
26
+ runs-on: ubuntu-latest
27
+ steps:
28
+ - uses: actions/checkout@v4
29
+ - uses: actions/setup-python@v5
30
+ with:
31
+ python-version: "3.11"
32
+ - name: Install dependencies
33
+ run: |
34
+ python -m pip install --upgrade pip
35
+ pip install -e ".[dev]"
36
+ - name: Run tests with coverage
37
+ run: python -m pytest -q --cov=cfa --cov-report=term-missing
@@ -0,0 +1,36 @@
1
+ name: Deploy Docusaurus to GitHub Pages
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths:
7
+ - 'website/**'
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: write
12
+
13
+ jobs:
14
+ deploy:
15
+ runs-on: ubuntu-latest
16
+ defaults:
17
+ run:
18
+ working-directory: website
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - uses: actions/setup-node@v4
22
+ with:
23
+ node-version: 20
24
+ cache: npm
25
+ cache-dependency-path: website/package-lock.json
26
+ - name: Install dependencies
27
+ run: npm ci
28
+ - name: Build site
29
+ run: npm run build
30
+ - name: Deploy to GitHub Pages
31
+ uses: peaceiris/actions-gh-pages@v4
32
+ with:
33
+ github_token: ${{ secrets.GITHUB_TOKEN }}
34
+ publish_dir: website/build
35
+ publish_branch: gh-pages
36
+ force_orphan: true
@@ -0,0 +1,24 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ permissions:
8
+ contents: read
9
+ id-token: write
10
+
11
+ jobs:
12
+ pypi:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - uses: actions/setup-python@v5
17
+ with:
18
+ python-version: "3.11"
19
+ - name: Build package
20
+ run: |
21
+ pip install hatch
22
+ hatch build
23
+ - name: Publish to PyPI
24
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,34 @@
1
+ name: CFA Governance Check
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+
8
+ jobs:
9
+ governance:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: actions/setup-python@v5
14
+ with:
15
+ python-version: '3.11'
16
+ - name: Install CFA
17
+ run: pip install -e ".[dev]"
18
+ - name: Evaluate safe intent
19
+ run: cfa evaluate "Join NFe with Clientes and persist to Silver" --exit-code
20
+ - name: Evaluate with compliance bundle
21
+ run: cfa evaluate "Join NFe with Clientes persist Silver" --policy-bundle policies/compliance-strict-v1.yaml --format summary
22
+ - name: List rules
23
+ run: cfa rules list
24
+ - name: List backends
25
+ run: cfa backend list
26
+ - name: Generate compliance report
27
+ if: always()
28
+ run: cfa report compliance --policy-bundle compliance-strict-v1.0 --output cfa_compliance_report.html
29
+ - name: Upload report
30
+ if: always()
31
+ uses: actions/upload-artifact@v4
32
+ with:
33
+ name: cfa-compliance-report
34
+ path: cfa_compliance_report.html
@@ -0,0 +1,70 @@
1
+ # Python bytecode and caches
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # Test and tooling caches
7
+ .pytest_cache/
8
+ .mypy_cache/
9
+ .ruff_cache/
10
+ .coverage
11
+ .coverage.*
12
+ htmlcov/
13
+
14
+ # Virtual environments
15
+ .venv/
16
+ venv/
17
+ env/
18
+ ENV/
19
+
20
+ # Build artifacts
21
+ build/
22
+ dist/
23
+ *.egg-info/
24
+ .eggs/
25
+
26
+ # IDE and editor files
27
+ .vscode/
28
+ .idea/
29
+ *.swp
30
+ *.swo
31
+
32
+ # OS artifacts
33
+ .DS_Store
34
+ Thumbs.db
35
+
36
+ # Local logs and temp files
37
+ *.log
38
+ tmp/
39
+ temp/
40
+
41
+ # Binary artifacts
42
+ *.zip
43
+ *.exe
44
+ *.png
45
+ *.jpg
46
+ *.gif
47
+
48
+ # Draft documents
49
+ *draft*
50
+ *DRAFT*
51
+ CFA_DEVELOPMENT_PLAN.md
52
+ CFA_TECHNICAL_ANALYSIS_2026.md
53
+
54
+ # Runtime data (generated by CLI)
55
+ .cfa/
56
+ *.jsonl
57
+ context_state.json
58
+
59
+ # Docusaurus
60
+ website/node_modules/
61
+ website/build/
62
+ website/.docusaurus/
63
+
64
+ # Claude AI config
65
+ .claude/
66
+
67
+ # Test artifacts
68
+ cfa_test_results_*/
69
+ test_battery.py
70
+ uv.lock
@@ -0,0 +1 @@
1
+ *
File without changes
@@ -0,0 +1 @@
1
+ Signature: 8a477f597d28d172789f06886806bc55
File without changes