graqle 0.16.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 (273) hide show
  1. graqle-0.16.0/.dockerignore +17 -0
  2. graqle-0.16.0/.github/FUNDING.yml +2 -0
  3. graqle-0.16.0/.github/workflows/ci.yml +67 -0
  4. graqle-0.16.0/.gitignore +51 -0
  5. graqle-0.16.0/.graqle/activation_memory.json +410 -0
  6. graqle-0.16.0/.graqle/metrics.json +318 -0
  7. graqle-0.16.0/CONTRIBUTING.md +73 -0
  8. graqle-0.16.0/Dockerfile +26 -0
  9. graqle-0.16.0/Dockerfile.lambda +27 -0
  10. graqle-0.16.0/LICENSE +17 -0
  11. graqle-0.16.0/NOTICE +48 -0
  12. graqle-0.16.0/PKG-INFO +641 -0
  13. graqle-0.16.0/README.md +558 -0
  14. graqle-0.16.0/benchmarks/results/multigov/multigov_results.json +318 -0
  15. graqle-0.16.0/benchmarks/results/multigov/multigov_table.tex +15 -0
  16. graqle-0.16.0/benchmarks/results/multigov_bc/multigov_results.json +598 -0
  17. graqle-0.16.0/benchmarks/results/multigov_bc/multigov_table.tex +18 -0
  18. graqle-0.16.0/benchmarks/results/multigov_v2/ANALYSIS.md +77 -0
  19. graqle-0.16.0/benchmarks/results/multigov_v2/multigov_results.json +1188 -0
  20. graqle-0.16.0/benchmarks/results/multigov_v2/multigov_table.tex +21 -0
  21. graqle-0.16.0/benchmarks/results/multigov_v2_test/multigov_results.json +428 -0
  22. graqle-0.16.0/benchmarks/results/multigov_v2_test/multigov_table.tex +15 -0
  23. graqle-0.16.0/benchmarks/results/multigov_v3_semantic_sonnet46/cost_report.json +328 -0
  24. graqle-0.16.0/benchmarks/results/multigov_v3_semantic_sonnet46/multigov_results.json +1498 -0
  25. graqle-0.16.0/benchmarks/results/multigov_v3_semantic_sonnet46/multigov_table.tex +21 -0
  26. graqle-0.16.0/benchmarks/results/multigov_v3_sonnet46/cost_report.json +478 -0
  27. graqle-0.16.0/benchmarks/results/multigov_v3_sonnet46/multigov_results.json +1188 -0
  28. graqle-0.16.0/benchmarks/results/multigov_v3_sonnet46/multigov_table.tex +21 -0
  29. graqle-0.16.0/demo_kg.json +291 -0
  30. graqle-0.16.0/docker-compose.yml +37 -0
  31. graqle-0.16.0/docs/ADR-103-content-aware-pcst.md +101 -0
  32. graqle-0.16.0/docs/ADR-104-query-reformulator.md +143 -0
  33. graqle-0.16.0/docs/api-reference.md +310 -0
  34. graqle-0.16.0/docs/mcp-setup.md +343 -0
  35. graqle-0.16.0/docs/website/index.html +888 -0
  36. graqle-0.16.0/examples/governance_example.py +254 -0
  37. graqle-0.16.0/examples/quickstart.py +115 -0
  38. graqle-0.16.0/graqle/__init__.py +25 -0
  39. graqle-0.16.0/graqle/__version__.py +1 -0
  40. graqle-0.16.0/graqle/activation/__init__.py +34 -0
  41. graqle-0.16.0/graqle/activation/adaptive.py +241 -0
  42. graqle-0.16.0/graqle/activation/chunk_scorer.py +322 -0
  43. graqle-0.16.0/graqle/activation/cypher_activation.py +105 -0
  44. graqle-0.16.0/graqle/activation/embeddings.py +200 -0
  45. graqle-0.16.0/graqle/activation/pcst.py +330 -0
  46. graqle-0.16.0/graqle/activation/reformulator.py +598 -0
  47. graqle-0.16.0/graqle/activation/relevance.py +241 -0
  48. graqle-0.16.0/graqle/adapters/__init__.py +14 -0
  49. graqle-0.16.0/graqle/adapters/auto_select.py +123 -0
  50. graqle-0.16.0/graqle/adapters/config.py +57 -0
  51. graqle-0.16.0/graqle/adapters/hub.py +99 -0
  52. graqle-0.16.0/graqle/adapters/loader.py +110 -0
  53. graqle-0.16.0/graqle/adapters/registry.py +85 -0
  54. graqle-0.16.0/graqle/agents/__init__.py +4 -0
  55. graqle-0.16.0/graqle/agents/base_agent.py +32 -0
  56. graqle-0.16.0/graqle/agents/slm_agent.py +87 -0
  57. graqle-0.16.0/graqle/backends/__init__.py +15 -0
  58. graqle-0.16.0/graqle/backends/api.py +474 -0
  59. graqle-0.16.0/graqle/backends/base.py +41 -0
  60. graqle-0.16.0/graqle/backends/fallback.py +98 -0
  61. graqle-0.16.0/graqle/backends/llamacpp_backend.py +117 -0
  62. graqle-0.16.0/graqle/backends/local.py +97 -0
  63. graqle-0.16.0/graqle/backends/mock.py +123 -0
  64. graqle-0.16.0/graqle/backends/registry.py +98 -0
  65. graqle-0.16.0/graqle/backends/vllm_backend.py +127 -0
  66. graqle-0.16.0/graqle/benchmarks/__init__.py +1 -0
  67. graqle-0.16.0/graqle/benchmarks/benchmark_runner.py +749 -0
  68. graqle-0.16.0/graqle/benchmarks/eu_regqa.py +256 -0
  69. graqle-0.16.0/graqle/benchmarks/hotpotqa_loader.py +146 -0
  70. graqle-0.16.0/graqle/benchmarks/multi_governance_benchmark.py +649 -0
  71. graqle-0.16.0/graqle/benchmarks/multi_governance_kg.py +1697 -0
  72. graqle-0.16.0/graqle/benchmarks/run_multigov.py +136 -0
  73. graqle-0.16.0/graqle/benchmarks/run_multigov_v2.py +422 -0
  74. graqle-0.16.0/graqle/benchmarks/run_multigov_v3.py +644 -0
  75. graqle-0.16.0/graqle/cli/__init__.py +0 -0
  76. graqle-0.16.0/graqle/cli/commands/__init__.py +0 -0
  77. graqle-0.16.0/graqle/cli/commands/activate.py +142 -0
  78. graqle-0.16.0/graqle/cli/commands/billing.py +172 -0
  79. graqle-0.16.0/graqle/cli/commands/doctor.py +488 -0
  80. graqle-0.16.0/graqle/cli/commands/grow.py +309 -0
  81. graqle-0.16.0/graqle/cli/commands/ingest.py +420 -0
  82. graqle-0.16.0/graqle/cli/commands/init.py +1803 -0
  83. graqle-0.16.0/graqle/cli/commands/learn.py +403 -0
  84. graqle-0.16.0/graqle/cli/commands/link.py +251 -0
  85. graqle-0.16.0/graqle/cli/commands/metrics_cmd.py +226 -0
  86. graqle-0.16.0/graqle/cli/commands/rebuild.py +118 -0
  87. graqle-0.16.0/graqle/cli/commands/register.py +121 -0
  88. graqle-0.16.0/graqle/cli/commands/scan.py +1207 -0
  89. graqle-0.16.0/graqle/cli/commands/setup_guide.py +390 -0
  90. graqle-0.16.0/graqle/cli/main.py +914 -0
  91. graqle-0.16.0/graqle/config/__init__.py +3 -0
  92. graqle-0.16.0/graqle/config/settings.py +176 -0
  93. graqle-0.16.0/graqle/connectors/__init__.py +12 -0
  94. graqle-0.16.0/graqle/connectors/base.py +28 -0
  95. graqle-0.16.0/graqle/connectors/json_graph.py +45 -0
  96. graqle-0.16.0/graqle/connectors/neo4j.py +395 -0
  97. graqle-0.16.0/graqle/connectors/networkx.py +81 -0
  98. graqle-0.16.0/graqle/connectors/tamr.py +256 -0
  99. graqle-0.16.0/graqle/core/__init__.py +31 -0
  100. graqle-0.16.0/graqle/core/edge.py +65 -0
  101. graqle-0.16.0/graqle/core/graph.py +1452 -0
  102. graqle-0.16.0/graqle/core/message.py +77 -0
  103. graqle-0.16.0/graqle/core/node.py +394 -0
  104. graqle-0.16.0/graqle/core/observer_report.py +255 -0
  105. graqle-0.16.0/graqle/core/state.py +80 -0
  106. graqle-0.16.0/graqle/core/types.py +140 -0
  107. graqle-0.16.0/graqle/domains/__init__.py +0 -0
  108. graqle-0.16.0/graqle/evaluation/__init__.py +13 -0
  109. graqle-0.16.0/graqle/evaluation/constrained_f1.py +366 -0
  110. graqle-0.16.0/graqle/inference/__init__.py +0 -0
  111. graqle-0.16.0/graqle/leads/__init__.py +1 -0
  112. graqle-0.16.0/graqle/leads/collector.py +378 -0
  113. graqle-0.16.0/graqle/learning/__init__.py +3 -0
  114. graqle-0.16.0/graqle/learning/activation_memory.py +293 -0
  115. graqle-0.16.0/graqle/learning/graph_learner.py +303 -0
  116. graqle-0.16.0/graqle/licensing/__init__.py +44 -0
  117. graqle-0.16.0/graqle/licensing/keygen.py +85 -0
  118. graqle-0.16.0/graqle/licensing/manager.py +398 -0
  119. graqle-0.16.0/graqle/metrics/__init__.py +21 -0
  120. graqle-0.16.0/graqle/metrics/dashboard.py +222 -0
  121. graqle-0.16.0/graqle/metrics/engine.py +372 -0
  122. graqle-0.16.0/graqle/ontology/__init__.py +90 -0
  123. graqle-0.16.0/graqle/ontology/constraint_graph.py +241 -0
  124. graqle-0.16.0/graqle/ontology/domain_detector.py +2069 -0
  125. graqle-0.16.0/graqle/ontology/domain_registry.py +178 -0
  126. graqle-0.16.0/graqle/ontology/domains/__init__.py +1 -0
  127. graqle-0.16.0/graqle/ontology/domains/governance.py +481 -0
  128. graqle-0.16.0/graqle/ontology/domains/governance_v3.py +535 -0
  129. graqle-0.16.0/graqle/ontology/markdown_parser.py +1568 -0
  130. graqle-0.16.0/graqle/ontology/ontology_generator.py +309 -0
  131. graqle-0.16.0/graqle/ontology/router.py +146 -0
  132. graqle-0.16.0/graqle/ontology/schema.py +935 -0
  133. graqle-0.16.0/graqle/ontology/semantic_shacl_gate.py +522 -0
  134. graqle-0.16.0/graqle/ontology/shacl_gate.py +210 -0
  135. graqle-0.16.0/graqle/ontology/skill_admin.py +913 -0
  136. graqle-0.16.0/graqle/ontology/skill_resolver.py +118 -0
  137. graqle-0.16.0/graqle/ontology/upper.py +125 -0
  138. graqle-0.16.0/graqle/optimization/__init__.py +0 -0
  139. graqle-0.16.0/graqle/optimization/message_compressor.py +132 -0
  140. graqle-0.16.0/graqle/optimization/token_optimizer.py +197 -0
  141. graqle-0.16.0/graqle/orchestration/__init__.py +13 -0
  142. graqle-0.16.0/graqle/orchestration/aggregation.py +188 -0
  143. graqle-0.16.0/graqle/orchestration/async_protocol.py +222 -0
  144. graqle-0.16.0/graqle/orchestration/convergence.py +164 -0
  145. graqle-0.16.0/graqle/orchestration/debate.py +225 -0
  146. graqle-0.16.0/graqle/orchestration/explanation.py +167 -0
  147. graqle-0.16.0/graqle/orchestration/hierarchical.py +164 -0
  148. graqle-0.16.0/graqle/orchestration/message_passing.py +166 -0
  149. graqle-0.16.0/graqle/orchestration/observer.py +631 -0
  150. graqle-0.16.0/graqle/orchestration/orchestrator.py +437 -0
  151. graqle-0.16.0/graqle/orchestration/streaming.py +137 -0
  152. graqle-0.16.0/graqle/plugins/__init__.py +4 -0
  153. graqle-0.16.0/graqle/plugins/mcp_dev_server.py +1447 -0
  154. graqle-0.16.0/graqle/plugins/mcp_server.py +410 -0
  155. graqle-0.16.0/graqle/prompts/__init__.py +0 -0
  156. graqle-0.16.0/graqle/py.typed +0 -0
  157. graqle-0.16.0/graqle/server/__init__.py +0 -0
  158. graqle-0.16.0/graqle/server/app.py +451 -0
  159. graqle-0.16.0/graqle/server/lambda_handler.py +124 -0
  160. graqle-0.16.0/graqle/server/middleware.py +186 -0
  161. graqle-0.16.0/graqle/server/models.py +66 -0
  162. graqle-0.16.0/graqle/server/stripe_webhook.py +330 -0
  163. graqle-0.16.0/graqle/studio/__init__.py +3 -0
  164. graqle-0.16.0/graqle/studio/app.py +42 -0
  165. graqle-0.16.0/graqle/studio/routes/__init__.py +1 -0
  166. graqle-0.16.0/graqle/studio/routes/api.py +350 -0
  167. graqle-0.16.0/graqle/studio/routes/dashboard.py +87 -0
  168. graqle-0.16.0/graqle/studio/static/css/studio.css +1202 -0
  169. graqle-0.16.0/graqle/studio/static/js/charts.js +378 -0
  170. graqle-0.16.0/graqle/studio/static/js/graph-viz.js +655 -0
  171. graqle-0.16.0/graqle/studio/static/vendor/alpine.min.js +5 -0
  172. graqle-0.16.0/graqle/studio/static/vendor/d3.min.js +2 -0
  173. graqle-0.16.0/graqle/studio/static/vendor/htmx-sse.js +290 -0
  174. graqle-0.16.0/graqle/studio/static/vendor/htmx.min.js +1 -0
  175. graqle-0.16.0/graqle/studio/templates/base.html +65 -0
  176. graqle-0.16.0/graqle/studio/templates/dashboard.html +133 -0
  177. graqle-0.16.0/graqle/studio/templates/graph.html +83 -0
  178. graqle-0.16.0/graqle/studio/templates/metrics.html +110 -0
  179. graqle-0.16.0/graqle/studio/templates/reasoning.html +149 -0
  180. graqle-0.16.0/graqle/studio/templates/settings.html +101 -0
  181. graqle-0.16.0/graqle/watchers/__init__.py +0 -0
  182. graqle-0.16.0/graqle.example.yaml +29 -0
  183. graqle-0.16.0/graqle.json +7 -0
  184. graqle-0.16.0/poc/add_env_edges.py +287 -0
  185. graqle-0.16.0/poc/ask_cognigraph.py +216 -0
  186. graqle-0.16.0/poc/deep_enrich_kg.py +816 -0
  187. graqle-0.16.0/poc/enrich_kg.py +258 -0
  188. graqle-0.16.0/poc/full_moat_poc.py +856 -0
  189. graqle-0.16.0/pyproject.toml +128 -0
  190. graqle-0.16.0/tests/__init__.py +0 -0
  191. graqle-0.16.0/tests/conftest.py +65 -0
  192. graqle-0.16.0/tests/test_activation/__init__.py +0 -0
  193. graqle-0.16.0/tests/test_activation/test_adaptive.py +267 -0
  194. graqle-0.16.0/tests/test_activation/test_chunk_scorer.py +216 -0
  195. graqle-0.16.0/tests/test_activation/test_content_aware_pcst.py +570 -0
  196. graqle-0.16.0/tests/test_activation/test_cypher_activation.py +124 -0
  197. graqle-0.16.0/tests/test_activation/test_pcst.py +52 -0
  198. graqle-0.16.0/tests/test_activation/test_reformulator.py +651 -0
  199. graqle-0.16.0/tests/test_activation/test_relevance_chunks.py +139 -0
  200. graqle-0.16.0/tests/test_adapters/__init__.py +0 -0
  201. graqle-0.16.0/tests/test_adapters/test_adapter_config.py +87 -0
  202. graqle-0.16.0/tests/test_adapters/test_auto_select.py +123 -0
  203. graqle-0.16.0/tests/test_agents/__init__.py +0 -0
  204. graqle-0.16.0/tests/test_agents/test_slm_agent.py +71 -0
  205. graqle-0.16.0/tests/test_backends/__init__.py +0 -0
  206. graqle-0.16.0/tests/test_backends/test_error_scenarios.py +417 -0
  207. graqle-0.16.0/tests/test_backends/test_mock.py +36 -0
  208. graqle-0.16.0/tests/test_backends/test_registry.py +48 -0
  209. graqle-0.16.0/tests/test_benchmarks/__init__.py +0 -0
  210. graqle-0.16.0/tests/test_benchmarks/test_constrained_f1.py +104 -0
  211. graqle-0.16.0/tests/test_benchmarks/test_metrics.py +207 -0
  212. graqle-0.16.0/tests/test_cli/__init__.py +0 -0
  213. graqle-0.16.0/tests/test_cli/test_activate.py +113 -0
  214. graqle-0.16.0/tests/test_cli/test_init.py +446 -0
  215. graqle-0.16.0/tests/test_cli/test_learn_entity_knowledge.py +108 -0
  216. graqle-0.16.0/tests/test_cli/test_link.py +121 -0
  217. graqle-0.16.0/tests/test_cli/test_scan.py +511 -0
  218. graqle-0.16.0/tests/test_connectors/__init__.py +0 -0
  219. graqle-0.16.0/tests/test_connectors/test_json_graph.py +68 -0
  220. graqle-0.16.0/tests/test_connectors/test_neo4j_enhanced.py +206 -0
  221. graqle-0.16.0/tests/test_connectors/test_tamr.py +157 -0
  222. graqle-0.16.0/tests/test_core/__init__.py +0 -0
  223. graqle-0.16.0/tests/test_core/test_chunk_pipeline.py +259 -0
  224. graqle-0.16.0/tests/test_core/test_edge.py +50 -0
  225. graqle-0.16.0/tests/test_core/test_graph.py +70 -0
  226. graqle-0.16.0/tests/test_core/test_graph_neo4j.py +158 -0
  227. graqle-0.16.0/tests/test_core/test_kg_validation.py +186 -0
  228. graqle-0.16.0/tests/test_core/test_message.py +58 -0
  229. graqle-0.16.0/tests/test_core/test_node.py +64 -0
  230. graqle-0.16.0/tests/test_integration/__init__.py +0 -0
  231. graqle-0.16.0/tests/test_integration/test_end_to_end.py +139 -0
  232. graqle-0.16.0/tests/test_integration/test_ollama_e2e.py +135 -0
  233. graqle-0.16.0/tests/test_integration/test_phase3.py +79 -0
  234. graqle-0.16.0/tests/test_leads/__init__.py +0 -0
  235. graqle-0.16.0/tests/test_leads/test_collector.py +217 -0
  236. graqle-0.16.0/tests/test_learning/__init__.py +0 -0
  237. graqle-0.16.0/tests/test_learning/test_activation_memory.py +184 -0
  238. graqle-0.16.0/tests/test_learning/test_graph_learner.py +296 -0
  239. graqle-0.16.0/tests/test_licensing/__init__.py +0 -0
  240. graqle-0.16.0/tests/test_licensing/test_keygen.py +130 -0
  241. graqle-0.16.0/tests/test_licensing/test_manager.py +578 -0
  242. graqle-0.16.0/tests/test_metrics/__init__.py +0 -0
  243. graqle-0.16.0/tests/test_metrics/test_metrics_accuracy.py +103 -0
  244. graqle-0.16.0/tests/test_ontology/__init__.py +0 -0
  245. graqle-0.16.0/tests/test_ontology/test_constraint_graph.py +119 -0
  246. graqle-0.16.0/tests/test_ontology/test_governance_v3.py +100 -0
  247. graqle-0.16.0/tests/test_ontology/test_ontology_generator.py +169 -0
  248. graqle-0.16.0/tests/test_ontology/test_registry.py +163 -0
  249. graqle-0.16.0/tests/test_ontology/test_router.py +97 -0
  250. graqle-0.16.0/tests/test_ontology/test_semantic_shacl_gate.py +348 -0
  251. graqle-0.16.0/tests/test_ontology/test_shacl_gate.py +135 -0
  252. graqle-0.16.0/tests/test_ontology/test_skill_resolver.py +99 -0
  253. graqle-0.16.0/tests/test_ontology/test_upper.py +87 -0
  254. graqle-0.16.0/tests/test_optimization/__init__.py +0 -0
  255. graqle-0.16.0/tests/test_optimization/test_token_optimizer.py +122 -0
  256. graqle-0.16.0/tests/test_orchestration/__init__.py +0 -0
  257. graqle-0.16.0/tests/test_orchestration/test_async_protocol.py +75 -0
  258. graqle-0.16.0/tests/test_orchestration/test_confidence_calibration.py +224 -0
  259. graqle-0.16.0/tests/test_orchestration/test_convergence.py +51 -0
  260. graqle-0.16.0/tests/test_orchestration/test_debate.py +46 -0
  261. graqle-0.16.0/tests/test_orchestration/test_explanation.py +103 -0
  262. graqle-0.16.0/tests/test_orchestration/test_hierarchical.py +44 -0
  263. graqle-0.16.0/tests/test_orchestration/test_message_passing.py +47 -0
  264. graqle-0.16.0/tests/test_orchestration/test_observer.py +272 -0
  265. graqle-0.16.0/tests/test_orchestration/test_streaming.py +61 -0
  266. graqle-0.16.0/tests/test_plugins/__init__.py +0 -0
  267. graqle-0.16.0/tests/test_plugins/test_mcp_dev_server.py +477 -0
  268. graqle-0.16.0/tests/test_plugins/test_mcp_dev_server_v015.py +280 -0
  269. graqle-0.16.0/tests/test_plugins/test_mcp_server.py +323 -0
  270. graqle-0.16.0/tests/test_server/__init__.py +0 -0
  271. graqle-0.16.0/tests/test_server/test_middleware.py +102 -0
  272. graqle-0.16.0/tests/test_server/test_models.py +33 -0
  273. graqle-0.16.0/tests/test_server/test_stripe_webhook.py +215 -0
@@ -0,0 +1,17 @@
1
+ __pycache__
2
+ *.pyc
3
+ *.pyo
4
+ .pytest_cache
5
+ .mypy_cache
6
+ .ruff_cache
7
+ *.egg-info
8
+ dist/
9
+ build/
10
+ .git
11
+ .github
12
+ tests/
13
+ docs/
14
+ *.md
15
+ !README.md
16
+ .env
17
+ .env.*
@@ -0,0 +1,2 @@
1
+ github: quantamixsol
2
+ custom: ["https://graqle.dev/pricing"]
@@ -0,0 +1,67 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ tags: ["v*"]
7
+ pull_request:
8
+ branches: [master]
9
+
10
+ jobs:
11
+ test:
12
+ runs-on: ubuntu-latest
13
+ strategy:
14
+ matrix:
15
+ python-version: ["3.10", "3.11", "3.12"]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Set up Python ${{ matrix.python-version }}
21
+ uses: actions/setup-python@v5
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+
25
+ - name: Install dependencies
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ pip install -e ".[dev]"
29
+
30
+ - name: Lint with ruff
31
+ run: ruff check graqle/ tests/
32
+
33
+ - name: Run tests with coverage
34
+ run: pytest --cov=graqle --cov-report=xml --cov-report=term -q
35
+
36
+ - name: Upload coverage report
37
+ if: matrix.python-version == '3.12'
38
+ uses: actions/upload-artifact@v4
39
+ with:
40
+ name: coverage-report
41
+ path: coverage.xml
42
+
43
+ publish:
44
+ needs: test
45
+ runs-on: ubuntu-latest
46
+ if: startsWith(github.ref, 'refs/tags/v')
47
+ permissions:
48
+ id-token: write
49
+
50
+ steps:
51
+ - uses: actions/checkout@v4
52
+
53
+ - name: Set up Python
54
+ uses: actions/setup-python@v5
55
+ with:
56
+ python-version: "3.12"
57
+
58
+ - name: Install build tools
59
+ run: python -m pip install --upgrade pip build
60
+
61
+ - name: Build package
62
+ run: python -m build
63
+
64
+ - name: Publish to PyPI
65
+ uses: pypa/gh-action-pypi-publish@release/v1
66
+ with:
67
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,51 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.egg-info/
6
+ dist/
7
+ build/
8
+ *.egg
9
+
10
+ # Virtual environments
11
+ .venv/
12
+ venv/
13
+ env/
14
+
15
+ # IDE
16
+ .vscode/
17
+ .idea/
18
+ *.swp
19
+ *.swo
20
+
21
+ # Testing
22
+ .pytest_cache/
23
+ .coverage
24
+ htmlcov/
25
+ .mypy_cache/
26
+ .ruff_cache/
27
+
28
+ # OS
29
+ .DS_Store
30
+ Thumbs.db
31
+
32
+ # Environment
33
+ .env
34
+ .env.local
35
+ .env.*.local
36
+
37
+ # Secrets (NEVER commit)
38
+ .secrets/
39
+
40
+ # Traces
41
+ traces/
42
+
43
+ # Benchmark data (large files)
44
+ graqle/benchmarks/data/
45
+ benchmarks/data/
46
+
47
+ # Results (regeneratable)
48
+ graqle/benchmarks/results/
49
+
50
+ # Benchmark logs
51
+ *.log
@@ -0,0 +1,410 @@
1
+ {
2
+ "total_queries": 238,
3
+ "records": {
4
+ "n1": {
5
+ "activations": 153,
6
+ "useful_activations": 0,
7
+ "avg_confidence": 0.0,
8
+ "query_patterns": [
9
+ "relationship",
10
+ "concepts?",
11
+ "query",
12
+ "query",
13
+ "query",
14
+ "query",
15
+ "query",
16
+ "query",
17
+ "query",
18
+ "query",
19
+ "relationship",
20
+ "concepts?",
21
+ "query",
22
+ "query",
23
+ "query",
24
+ "query",
25
+ "query",
26
+ "query",
27
+ "query",
28
+ "query"
29
+ ]
30
+ },
31
+ "n2": {
32
+ "activations": 153,
33
+ "useful_activations": 0,
34
+ "avg_confidence": 0.0,
35
+ "query_patterns": [
36
+ "relationship",
37
+ "concepts?",
38
+ "query",
39
+ "query",
40
+ "query",
41
+ "query",
42
+ "query",
43
+ "query",
44
+ "query",
45
+ "query",
46
+ "relationship",
47
+ "concepts?",
48
+ "query",
49
+ "query",
50
+ "query",
51
+ "query",
52
+ "query",
53
+ "query",
54
+ "query",
55
+ "query"
56
+ ]
57
+ },
58
+ "n3": {
59
+ "activations": 153,
60
+ "useful_activations": 0,
61
+ "avg_confidence": 0.0,
62
+ "query_patterns": [
63
+ "relationship",
64
+ "concepts?",
65
+ "query",
66
+ "query",
67
+ "query",
68
+ "query",
69
+ "query",
70
+ "query",
71
+ "query",
72
+ "query",
73
+ "relationship",
74
+ "concepts?",
75
+ "query",
76
+ "query",
77
+ "query",
78
+ "query",
79
+ "query",
80
+ "query",
81
+ "query",
82
+ "query"
83
+ ]
84
+ },
85
+ "n4": {
86
+ "activations": 153,
87
+ "useful_activations": 0,
88
+ "avg_confidence": 0.0,
89
+ "query_patterns": [
90
+ "relationship",
91
+ "concepts?",
92
+ "query",
93
+ "query",
94
+ "query",
95
+ "query",
96
+ "query",
97
+ "query",
98
+ "query",
99
+ "query",
100
+ "relationship",
101
+ "concepts?",
102
+ "query",
103
+ "query",
104
+ "query",
105
+ "query",
106
+ "query",
107
+ "query",
108
+ "query",
109
+ "query"
110
+ ]
111
+ },
112
+ "n5": {
113
+ "activations": 153,
114
+ "useful_activations": 0,
115
+ "avg_confidence": 0.0,
116
+ "query_patterns": [
117
+ "relationship",
118
+ "concepts?",
119
+ "query",
120
+ "query",
121
+ "query",
122
+ "query",
123
+ "query",
124
+ "query",
125
+ "query",
126
+ "query",
127
+ "relationship",
128
+ "concepts?",
129
+ "query",
130
+ "query",
131
+ "query",
132
+ "query",
133
+ "query",
134
+ "query",
135
+ "query",
136
+ "query"
137
+ ]
138
+ },
139
+ "gdpr": {
140
+ "activations": 17,
141
+ "useful_activations": 0,
142
+ "avg_confidence": 0.0,
143
+ "query_patterns": [
144
+ "gdpr",
145
+ "act",
146
+ "conflict",
147
+ "automated",
148
+ "decisions?",
149
+ "gdpr",
150
+ "act",
151
+ "conflict",
152
+ "automated",
153
+ "decisions?",
154
+ "gdpr",
155
+ "act",
156
+ "conflict",
157
+ "automated",
158
+ "decisions?",
159
+ "gdpr",
160
+ "act",
161
+ "conflict",
162
+ "automated",
163
+ "decisions?"
164
+ ]
165
+ },
166
+ "ai_act": {
167
+ "activations": 68,
168
+ "useful_activations": 0,
169
+ "avg_confidence": 0.0,
170
+ "query_patterns": [
171
+ "key",
172
+ "requirements",
173
+ "high-risk",
174
+ "ai?",
175
+ "gdpr",
176
+ "act",
177
+ "conflict",
178
+ "automated",
179
+ "decisions?",
180
+ "act",
181
+ "require",
182
+ "high-risk",
183
+ "systems?",
184
+ "explain",
185
+ "transparency",
186
+ "requirements.",
187
+ "key",
188
+ "requirements",
189
+ "high-risk",
190
+ "ai?"
191
+ ]
192
+ },
193
+ "art22": {
194
+ "activations": 17,
195
+ "useful_activations": 0,
196
+ "avg_confidence": 0.0,
197
+ "query_patterns": [
198
+ "gdpr",
199
+ "act",
200
+ "conflict",
201
+ "automated",
202
+ "decisions?",
203
+ "gdpr",
204
+ "act",
205
+ "conflict",
206
+ "automated",
207
+ "decisions?",
208
+ "gdpr",
209
+ "act",
210
+ "conflict",
211
+ "automated",
212
+ "decisions?",
213
+ "gdpr",
214
+ "act",
215
+ "conflict",
216
+ "automated",
217
+ "decisions?"
218
+ ]
219
+ },
220
+ "art6": {
221
+ "activations": 17,
222
+ "useful_activations": 0,
223
+ "avg_confidence": 0.0,
224
+ "query_patterns": [
225
+ "gdpr",
226
+ "act",
227
+ "conflict",
228
+ "automated",
229
+ "decisions?",
230
+ "gdpr",
231
+ "act",
232
+ "conflict",
233
+ "automated",
234
+ "decisions?",
235
+ "gdpr",
236
+ "act",
237
+ "conflict",
238
+ "automated",
239
+ "decisions?",
240
+ "gdpr",
241
+ "act",
242
+ "conflict",
243
+ "automated",
244
+ "decisions?"
245
+ ]
246
+ },
247
+ "consent": {
248
+ "activations": 17,
249
+ "useful_activations": 0,
250
+ "avg_confidence": 0.0,
251
+ "query_patterns": [
252
+ "gdpr",
253
+ "act",
254
+ "conflict",
255
+ "automated",
256
+ "decisions?",
257
+ "gdpr",
258
+ "act",
259
+ "conflict",
260
+ "automated",
261
+ "decisions?",
262
+ "gdpr",
263
+ "act",
264
+ "conflict",
265
+ "automated",
266
+ "decisions?",
267
+ "gdpr",
268
+ "act",
269
+ "conflict",
270
+ "automated",
271
+ "decisions?"
272
+ ]
273
+ },
274
+ "transparency": {
275
+ "activations": 68,
276
+ "useful_activations": 0,
277
+ "avg_confidence": 0.0,
278
+ "query_patterns": [
279
+ "key",
280
+ "requirements",
281
+ "high-risk",
282
+ "ai?",
283
+ "gdpr",
284
+ "act",
285
+ "conflict",
286
+ "automated",
287
+ "decisions?",
288
+ "act",
289
+ "require",
290
+ "high-risk",
291
+ "systems?",
292
+ "explain",
293
+ "transparency",
294
+ "requirements.",
295
+ "key",
296
+ "requirements",
297
+ "high-risk",
298
+ "ai?"
299
+ ]
300
+ },
301
+ "hub": {
302
+ "activations": 17,
303
+ "useful_activations": 0,
304
+ "avg_confidence": 0.0,
305
+ "query_patterns": [
306
+ "test",
307
+ "query",
308
+ "test",
309
+ "query",
310
+ "test",
311
+ "query",
312
+ "test",
313
+ "query",
314
+ "test",
315
+ "query",
316
+ "test",
317
+ "query",
318
+ "test",
319
+ "query",
320
+ "test",
321
+ "query",
322
+ "test",
323
+ "query",
324
+ "test",
325
+ "query"
326
+ ]
327
+ },
328
+ "leaf1": {
329
+ "activations": 17,
330
+ "useful_activations": 0,
331
+ "avg_confidence": 0.0,
332
+ "query_patterns": [
333
+ "test",
334
+ "query",
335
+ "test",
336
+ "query",
337
+ "test",
338
+ "query",
339
+ "test",
340
+ "query",
341
+ "test",
342
+ "query",
343
+ "test",
344
+ "query",
345
+ "test",
346
+ "query",
347
+ "test",
348
+ "query",
349
+ "test",
350
+ "query",
351
+ "test",
352
+ "query"
353
+ ]
354
+ },
355
+ "leaf2": {
356
+ "activations": 17,
357
+ "useful_activations": 0,
358
+ "avg_confidence": 0.0,
359
+ "query_patterns": [
360
+ "test",
361
+ "query",
362
+ "test",
363
+ "query",
364
+ "test",
365
+ "query",
366
+ "test",
367
+ "query",
368
+ "test",
369
+ "query",
370
+ "test",
371
+ "query",
372
+ "test",
373
+ "query",
374
+ "test",
375
+ "query",
376
+ "test",
377
+ "query",
378
+ "test",
379
+ "query"
380
+ ]
381
+ },
382
+ "high_risk": {
383
+ "activations": 34,
384
+ "useful_activations": 0,
385
+ "avg_confidence": 0.0,
386
+ "query_patterns": [
387
+ "key",
388
+ "requirements",
389
+ "high-risk",
390
+ "ai?",
391
+ "act",
392
+ "require",
393
+ "high-risk",
394
+ "systems?",
395
+ "key",
396
+ "requirements",
397
+ "high-risk",
398
+ "ai?",
399
+ "act",
400
+ "require",
401
+ "high-risk",
402
+ "systems?",
403
+ "key",
404
+ "requirements",
405
+ "high-risk",
406
+ "ai?"
407
+ ]
408
+ }
409
+ }
410
+ }