agentforge-graph 0.3.3__tar.gz → 0.5.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 (540) hide show
  1. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.agentforge-state/managed-files.lock +37 -37
  2. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.claude/CLAUDE.md +11 -4
  3. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.env.example +1 -1
  4. agentforge_graph-0.5.0/.github/ISSUE_TEMPLATE/bug_report.md +41 -0
  5. agentforge_graph-0.5.0/.github/ISSUE_TEMPLATE/config.yml +8 -0
  6. agentforge_graph-0.5.0/.github/ISSUE_TEMPLATE/feature_request.md +27 -0
  7. agentforge_graph-0.5.0/.github/PULL_REQUEST_TEMPLATE.md +22 -0
  8. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.github/copilot-instructions.md +1 -1
  9. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.github/workflows/ci.yml +15 -3
  10. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/AGENTS.md +3 -5
  11. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/CHANGELOG.md +228 -7
  12. agentforge_graph-0.5.0/CITATION.cff +26 -0
  13. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/CLAUDE.md +1 -1
  14. agentforge_graph-0.5.0/CODE_OF_CONDUCT.md +62 -0
  15. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/CONTRIBUTING.md +1 -1
  16. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/NOTICE +1 -1
  17. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/PKG-INFO +136 -48
  18. agentforge_graph-0.5.0/README.md +364 -0
  19. agentforge_graph-0.5.0/SECURITY.md +44 -0
  20. agentforge_graph-0.5.0/agentforge.yaml +149 -0
  21. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/ARCHITECTURE.md +10 -8
  22. agentforge_graph-0.5.0/docs/assets/demo.gif +0 -0
  23. agentforge_graph-0.5.0/docs/assets/demo.tape +34 -0
  24. agentforge_graph-0.5.0/docs/assets/setups.gif +0 -0
  25. agentforge_graph-0.5.0/docs/assets/setups.tape +47 -0
  26. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/ENH-003-pluggable-model-provider-registry.md +1 -1
  27. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/ENH-004-first-party-storage-backends.md +1 -1
  28. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/ENH-005-http-mcp-transport-auth.md +10 -8
  29. agentforge_graph-0.5.0/docs/enhancements/ENH-010-surrealdb-storage-backend.md +114 -0
  30. agentforge_graph-0.5.0/docs/enhancements/ENH-011-cross-file-framework-resolution.md +173 -0
  31. agentforge_graph-0.5.0/docs/enhancements/ENH-012-additional-framework-packs.md +64 -0
  32. agentforge_graph-0.5.0/docs/enhancements/ENH-013-rerank-measurement-campaign.md +73 -0
  33. agentforge_graph-0.5.0/docs/enhancements/ENH-017-surface-framework-upgrade-drift.md +140 -0
  34. agentforge_graph-0.5.0/docs/enhancements/ENH-018-store-location-and-central-hosting.md +154 -0
  35. agentforge_graph-0.5.0/docs/enhancements/ENH-019-serve-mcp-workdir-autodiscovery.md +100 -0
  36. agentforge_graph-0.5.0/docs/enhancements/ENH-020-federated-multi-repo-mcp.md +170 -0
  37. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/README.md +14 -0
  38. agentforge_graph-0.5.0/docs/enhancements/THEME-org-central-knowledge.md +95 -0
  39. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/TRACKER.md +28 -9
  40. agentforge_graph-0.5.0/docs/guides/01-getting-started.md +35 -0
  41. agentforge_graph-0.5.0/docs/guides/02-indexing-and-retrieval.md +81 -0
  42. agentforge_graph-0.5.0/docs/guides/03-framework-extraction.md +113 -0
  43. agentforge_graph-0.5.0/docs/guides/04-cross-file-framework-resolution.md +132 -0
  44. agentforge_graph-0.5.0/docs/guides/05-architecture-decisions.md +61 -0
  45. agentforge_graph-0.5.0/docs/guides/06-temporal-history.md +56 -0
  46. agentforge_graph-0.5.0/docs/guides/07-enrichment.md +59 -0
  47. agentforge_graph-0.3.3/docs/guides/model-providers.md → agentforge_graph-0.5.0/docs/guides/08-model-providers.md +4 -0
  48. agentforge_graph-0.5.0/docs/guides/09-storage-backends.md +165 -0
  49. agentforge_graph-0.3.3/docs/guides/using-over-mcp.md → agentforge_graph-0.5.0/docs/guides/10-using-over-mcp.md +61 -1
  50. agentforge_graph-0.5.0/docs/guides/README.md +42 -0
  51. agentforge_graph-0.5.0/docs/guides/getting-started/1-single-repo.md +122 -0
  52. agentforge_graph-0.5.0/docs/guides/getting-started/2-workspace.md +117 -0
  53. agentforge_graph-0.5.0/docs/guides/getting-started/3-central-store.md +95 -0
  54. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/01-set-up-new-agent.md +1 -1
  55. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/02-add-a-tool.md +16 -1
  56. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/03-add-a-pipeline-task.md +1 -1
  57. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/04-pick-reasoning-strategy.md +1 -1
  58. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/05-write-prompts.md +1 -1
  59. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/06-test-your-agent.md +1 -1
  60. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/07-debug-a-run.md +1 -1
  61. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/08-add-memory.md +1 -1
  62. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/09-add-mcp.md +16 -1
  63. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/10-add-evaluators.md +1 -1
  64. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/11-add-safety-guardrails.md +1 -1
  65. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/12-add-observability.md +1 -1
  66. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/13-configure-multi-provider.md +40 -1
  67. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/14-deploy-your-agent.md +1 -1
  68. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/15-upgrade-your-agent.md +1 -1
  69. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/16-configuration-reference.md +1 -1
  70. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/17-add-reranker.md +1 -1
  71. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/18-add-hybrid-search.md +1 -1
  72. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/19-add-graphrag.md +7 -1
  73. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/20-apply-schema-migrations.md +1 -1
  74. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/21-use-streaming-guardrails.md +1 -1
  75. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/runbooks/README.md +1 -1
  76. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/README.md +1 -1
  77. agentforge_graph-0.5.0/docs/validation/rerank/agentforge-graph.yaml +56 -0
  78. agentforge_graph-0.5.0/docs/validation/rerank/benchmark.md +87 -0
  79. agentforge_graph-0.5.0/docs/validation/rerank/click.yaml +44 -0
  80. agentforge_graph-0.5.0/docs/validation/rerank/results.md +81 -0
  81. agentforge_graph-0.5.0/examples/README.md +52 -0
  82. agentforge_graph-0.5.0/examples/fastapi-shop/app.py +49 -0
  83. agentforge_graph-0.5.0/examples/microservices/README.md +70 -0
  84. agentforge_graph-0.5.0/examples/microservices/gateway/app.py +12 -0
  85. agentforge_graph-0.5.0/examples/microservices/gateway/client.py +10 -0
  86. agentforge_graph-0.5.0/examples/microservices/orders/app.py +21 -0
  87. agentforge_graph-0.5.0/examples/microservices/payments/openapi.yaml +16 -0
  88. agentforge_graph-0.5.0/examples/microservices/web/app.js +8 -0
  89. agentforge_graph-0.5.0/examples/microservices/workspace.yaml +16 -0
  90. agentforge_graph-0.5.0/examples/workspace.yaml +21 -0
  91. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/pyproject.toml +31 -7
  92. agentforge_graph-0.5.0/scripts/render-setups-gif.sh +26 -0
  93. agentforge_graph-0.5.0/scripts/rerank_benchmark.py +225 -0
  94. agentforge_graph-0.5.0/scripts/rerank_eval.py +159 -0
  95. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/__init__.py +0 -1
  96. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/cli.py +201 -10
  97. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/config.py +70 -15
  98. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/core/kinds.py +10 -0
  99. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/cross_file.py +300 -0
  100. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/extractor.py +36 -9
  101. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/_csharp_ast.py +73 -0
  102. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/_go_ast.py +49 -0
  103. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/_php_ast.py +45 -0
  104. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/_python_ast.py +31 -0
  105. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/_ruby_ast.py +43 -0
  106. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/aspnet/__init__.py +209 -0
  107. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/aspnet/routes.scm +5 -0
  108. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/fastapi/__init__.py +82 -3
  109. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/fastapi/include.scm +7 -0
  110. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/gin/__init__.py +135 -0
  111. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/gin/routes.scm +10 -0
  112. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/httpclient/__init__.py +160 -0
  113. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/httpclient/calls.scm +8 -0
  114. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/httpclient/clients.scm +10 -0
  115. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/jshttpclient/__init__.py +137 -0
  116. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/jshttpclient/calls.scm +12 -0
  117. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/laravel/__init__.py +155 -0
  118. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/laravel/routes.scm +7 -0
  119. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/rails/__init__.py +218 -0
  120. agentforge_graph-0.5.0/src/agentforge_graph/frameworks/packs/rails/routes.scm +7 -0
  121. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/registry.py +12 -0
  122. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/codegraph.py +46 -12
  123. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/incremental/indexer.py +7 -12
  124. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/pipeline.py +32 -10
  125. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/report.py +20 -1
  126. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/main.py +0 -1
  127. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/retrieve/rerank.py +71 -3
  128. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/serve/__init__.py +2 -1
  129. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/serve/engine.py +46 -8
  130. agentforge_graph-0.5.0/src/agentforge_graph/serve/federation.py +287 -0
  131. agentforge_graph-0.5.0/src/agentforge_graph/serve/http_runner.py +64 -0
  132. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/serve/server.py +40 -13
  133. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/serve/tools.py +222 -44
  134. agentforge_graph-0.5.0/src/agentforge_graph/serve/workspace.py +76 -0
  135. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/store/__init__.py +4 -0
  136. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/store/facade.py +23 -11
  137. agentforge_graph-0.5.0/src/agentforge_graph/store/location.py +96 -0
  138. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/store/registry.py +11 -2
  139. agentforge_graph-0.5.0/src/agentforge_graph/store/surreal_store.py +405 -0
  140. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/temporal/backfill.py +2 -1
  141. agentforge_graph-0.5.0/tests/frameworks/fixtures/aspnet/UsersController.cs +26 -0
  142. agentforge_graph-0.5.0/tests/frameworks/fixtures/fastapi_multifile/db.py +5 -0
  143. agentforge_graph-0.5.0/tests/frameworks/fixtures/fastapi_multifile/main.py +15 -0
  144. agentforge_graph-0.5.0/tests/frameworks/fixtures/fastapi_multifile/payments/routes.py +15 -0
  145. agentforge_graph-0.5.0/tests/frameworks/fixtures/fastapi_multifile/pyproject.toml +4 -0
  146. agentforge_graph-0.5.0/tests/frameworks/fixtures/gin/go.mod +5 -0
  147. agentforge_graph-0.5.0/tests/frameworks/fixtures/gin/main.go +22 -0
  148. agentforge_graph-0.5.0/tests/frameworks/fixtures/laravel/app/Http/Controllers/UserController.php +16 -0
  149. agentforge_graph-0.5.0/tests/frameworks/fixtures/laravel/routes/web.php +10 -0
  150. agentforge_graph-0.5.0/tests/frameworks/fixtures/rails/app/controllers/home_controller.rb +5 -0
  151. agentforge_graph-0.5.0/tests/frameworks/fixtures/rails/app/controllers/users_controller.rb +9 -0
  152. agentforge_graph-0.5.0/tests/frameworks/fixtures/rails/config/routes.rb +6 -0
  153. agentforge_graph-0.5.0/tests/frameworks/test_aspnet_integration.py +65 -0
  154. agentforge_graph-0.5.0/tests/frameworks/test_aspnet_pack.py +86 -0
  155. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_contract.py +2 -0
  156. agentforge_graph-0.5.0/tests/frameworks/test_fastapi_crossfile_integration.py +117 -0
  157. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_fastapi_pack.py +54 -0
  158. agentforge_graph-0.5.0/tests/frameworks/test_gin_integration.py +86 -0
  159. agentforge_graph-0.5.0/tests/frameworks/test_gin_pack.py +109 -0
  160. agentforge_graph-0.5.0/tests/frameworks/test_httpclient.py +122 -0
  161. agentforge_graph-0.5.0/tests/frameworks/test_jshttpclient.py +58 -0
  162. agentforge_graph-0.5.0/tests/frameworks/test_laravel_integration.py +77 -0
  163. agentforge_graph-0.5.0/tests/frameworks/test_laravel_pack.py +78 -0
  164. agentforge_graph-0.5.0/tests/frameworks/test_rails_integration.py +65 -0
  165. agentforge_graph-0.5.0/tests/frameworks/test_rails_pack.py +84 -0
  166. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/retrieve/test_rerank.py +58 -0
  167. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/serve/test_cli.py +2 -0
  168. agentforge_graph-0.5.0/tests/serve/test_federation.py +138 -0
  169. agentforge_graph-0.5.0/tests/serve/test_openapi_anchoring.py +120 -0
  170. agentforge_graph-0.5.0/tests/serve/test_org_central_e2e.py +131 -0
  171. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/serve/test_schemas.py +5 -1
  172. agentforge_graph-0.5.0/tests/serve/test_service_map.py +105 -0
  173. agentforge_graph-0.5.0/tests/serve/test_trace.py +91 -0
  174. agentforge_graph-0.5.0/tests/store/test_location.py +105 -0
  175. agentforge_graph-0.5.0/tests/store/test_surreal_conformance.py +73 -0
  176. agentforge_graph-0.5.0/tests/temporal/__init__.py +0 -0
  177. agentforge_graph-0.5.0/tests/test_cli_path_args.py +137 -0
  178. agentforge_graph-0.5.0/tests/test_config.py +82 -0
  179. agentforge_graph-0.5.0/tests/test_read_only.py +90 -0
  180. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/uv.lock +554 -23
  181. agentforge_graph-0.3.3/README.md +0 -283
  182. agentforge_graph-0.3.3/agentforge.yaml +0 -24
  183. agentforge_graph-0.3.3/ckg.yaml +0 -116
  184. agentforge_graph-0.3.3/docs/guides/storage-backends.md +0 -88
  185. agentforge_graph-0.3.3/src/agentforge_graph/serve/http_runner.py +0 -133
  186. agentforge_graph-0.3.3/tests/test_cli_path_args.py +0 -60
  187. agentforge_graph-0.3.3/tests/test_config.py +0 -53
  188. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.agentforge-state/answers.yml +0 -0
  189. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.claude/settings.local.json +0 -0
  190. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.claude/standards/coding.md +0 -0
  191. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.claude/standards/testing.md +0 -0
  192. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.cursorrules +0 -0
  193. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.gitignore +0 -0
  194. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.gitkeep +0 -0
  195. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/.pre-commit-config.yaml +0 -0
  196. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/LICENSE +0 -0
  197. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/0001-build-on-agentforge-framework.md +0 -0
  198. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/0002-tree-sitter-over-compiler-grade-extraction.md +0 -0
  199. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/0003-stable-symbol-ids-and-per-file-subgraphs.md +0 -0
  200. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/0004-provenance-on-every-fact.md +0 -0
  201. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/0005-reserve-higher-level-node-kinds-up-front.md +0 -0
  202. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/0006-embedded-first-pluggable-storage.md +0 -0
  203. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/0007-ast-aware-chunking-with-chunk-symbol-separation.md +0 -0
  204. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/0008-hybrid-retrieval-vector-then-graph.md +0 -0
  205. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/0009-top-10-language-scope-with-support-tiers.md +0 -0
  206. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/adr/README.md +0 -0
  207. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/bugs/BUG-001-src-layout-import-resolution.md +0 -0
  208. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/bugs/BUG-002-retrieval-scores-render-zero.md +0 -0
  209. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/bugs/BUG-003-adr-readme-ingested-as-decision.md +0 -0
  210. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/bugs/BUG-004-relative-from-import-resolution.md +0 -0
  211. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/bugs/BUG-005-typescript-abstract-class-not-extracted.md +0 -0
  212. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/bugs/BUG-006-commonjs-require-not-resolved.md +0 -0
  213. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/bugs/BUG-007-overload-resolution-nondeterministic.md +0 -0
  214. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/bugs/BUG-008-rerank-yaml-boolean-breaks-query.md +0 -0
  215. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/bugs/README.md +0 -0
  216. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/README.md +0 -0
  217. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-001-core-contracts-module.md +0 -0
  218. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-002-tree-sitter-ingestion.md +0 -0
  219. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-003-graph-storage-adapters.md +0 -0
  220. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-004-incremental-indexing.md +0 -0
  221. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-005-ast-chunking-and-embeddings.md +0 -0
  222. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-006-hybrid-retrieval.md +0 -0
  223. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-007-repo-map.md +0 -0
  224. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-008-mcp-server-and-tool-api.md +0 -0
  225. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-009-temporal-evolution-layer.md +0 -0
  226. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-010-adr-and-docs-ingestion.md +0 -0
  227. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-011-framework-extractors.md +0 -0
  228. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-012-llm-enrichment.md +0 -0
  229. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/design/design-012b-summaries.md +0 -0
  230. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/ENH-001-pattern-recall-tuning.md +0 -0
  231. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/ENH-002-parallelize-enrichment-calls.md +0 -0
  232. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/ENH-006-cli-path-arg-consistency.md +0 -0
  233. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/ENH-007-repomap-public-api-orientation.md +0 -0
  234. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/ENH-008-typescript-symbol-completeness.md +0 -0
  235. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/enhancements/ENH-009-retrieval-precision-dense-codebases.md +0 -0
  236. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/README.md +0 -0
  237. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-001-graph-schema-and-core-contracts.md +0 -0
  238. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-002-tree-sitter-ingestion.md +0 -0
  239. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-003-graph-storage-adapters.md +0 -0
  240. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-004-incremental-indexing.md +0 -0
  241. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-005-ast-chunking-and-embeddings.md +0 -0
  242. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-006-hybrid-retrieval.md +0 -0
  243. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-007-repo-map-summarization.md +0 -0
  244. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-008-mcp-server-and-tool-api.md +0 -0
  245. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-009-temporal-evolution-layer.md +0 -0
  246. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-010-adr-and-docs-ingestion.md +0 -0
  247. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-011-framework-extractors.md +0 -0
  248. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/features/feat-012-llm-enrichment.md +0 -0
  249. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/known-limitations/KL-001-llm-summary-hallucination.md +0 -0
  250. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/known-limitations/README.md +0 -0
  251. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/open-source-ckg-research.md +0 -0
  252. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/cpp-fmt.md +0 -0
  253. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/csharp-newtonsoft-json.md +0 -0
  254. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/go-cobra.md +0 -0
  255. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/java-gson.md +0 -0
  256. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/javascript-express-chalk.md +0 -0
  257. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/php-monolog.md +0 -0
  258. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/python-click.md +0 -0
  259. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/ruby-thor.md +0 -0
  260. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/rust-serde-json.md +0 -0
  261. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/typescript-zod.md +0 -0
  262. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/docs/validation/w4-agent-dogfood.md +0 -0
  263. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/chunking/__init__.py +0 -0
  264. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/chunking/cast.py +0 -0
  265. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/chunking/chunk.py +0 -0
  266. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/chunking/tokens.py +0 -0
  267. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/core/__init__.py +0 -0
  268. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/core/conformance.py +0 -0
  269. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/core/contracts.py +0 -0
  270. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/core/models.py +0 -0
  271. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/core/provenance.py +0 -0
  272. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/core/symbols.py +0 -0
  273. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/embed/__init__.py +0 -0
  274. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/embed/base.py +0 -0
  275. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/embed/bedrock.py +0 -0
  276. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/embed/fake.py +0 -0
  277. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/embed/openai.py +0 -0
  278. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/embed/pipeline.py +0 -0
  279. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/embed/registry.py +0 -0
  280. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/embed/report.py +0 -0
  281. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/__init__.py +0 -0
  282. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/anthropic.py +0 -0
  283. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/anthropic_client.py +0 -0
  284. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/bedrock.py +0 -0
  285. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/bedrock_client.py +0 -0
  286. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/bedrock_summarizer.py +0 -0
  287. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/claude.py +0 -0
  288. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/enricher.py +0 -0
  289. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/governs.py +0 -0
  290. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/governs_enricher.py +0 -0
  291. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/heuristics.py +0 -0
  292. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/judge.py +0 -0
  293. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/registry.py +0 -0
  294. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/report.py +0 -0
  295. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/summarizer.py +0 -0
  296. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/summary_enricher.py +0 -0
  297. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/enrich/taxonomy.py +0 -0
  298. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/__init__.py +0 -0
  299. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/base.py +0 -0
  300. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/detect.py +0 -0
  301. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/orm.py +0 -0
  302. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/_js_ast.py +0 -0
  303. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/django/__init__.py +0 -0
  304. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/django/models.scm +0 -0
  305. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/express/__init__.py +0 -0
  306. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/express/routes.scm +0 -0
  307. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/fastapi/depends.scm +0 -0
  308. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/fastapi/routes.scm +0 -0
  309. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/flask/__init__.py +0 -0
  310. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/flask/routes.scm +0 -0
  311. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/nestjs/__init__.py +0 -0
  312. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/nestjs/routes.scm +0 -0
  313. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/spring/__init__.py +0 -0
  314. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/spring/routes.scm +0 -0
  315. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/sqlalchemy/__init__.py +0 -0
  316. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/frameworks/packs/sqlalchemy/models.scm +0 -0
  317. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/__init__.py +0 -0
  318. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/extractor.py +0 -0
  319. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/incremental/__init__.py +0 -0
  320. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/incremental/detect.py +0 -0
  321. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/incremental/dirty.py +0 -0
  322. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/incremental/meta.py +0 -0
  323. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/incremental/ports.py +0 -0
  324. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/pack.py +0 -0
  325. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/__init__.py +0 -0
  326. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/cpp/__init__.py +0 -0
  327. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/cpp/references.scm +0 -0
  328. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/cpp/structure.scm +0 -0
  329. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/csharp/__init__.py +0 -0
  330. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/csharp/references.scm +0 -0
  331. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/csharp/structure.scm +0 -0
  332. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/go/__init__.py +0 -0
  333. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/go/references.scm +0 -0
  334. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/go/structure.scm +0 -0
  335. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/java/__init__.py +0 -0
  336. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/java/references.scm +0 -0
  337. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/java/structure.scm +0 -0
  338. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/javascript/__init__.py +0 -0
  339. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/javascript/references.scm +0 -0
  340. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/javascript/structure.scm +0 -0
  341. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/php/__init__.py +0 -0
  342. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/php/references.scm +0 -0
  343. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/php/structure.scm +0 -0
  344. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/python/__init__.py +0 -0
  345. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/python/references.scm +0 -0
  346. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/python/structure.scm +0 -0
  347. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/ruby/__init__.py +0 -0
  348. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/ruby/references.scm +0 -0
  349. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/ruby/structure.scm +0 -0
  350. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/rust/__init__.py +0 -0
  351. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/rust/references.scm +0 -0
  352. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/rust/structure.scm +0 -0
  353. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/typescript/__init__.py +0 -0
  354. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/typescript/references.scm +0 -0
  355. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/packs/typescript/structure.scm +0 -0
  356. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/resolver.py +0 -0
  357. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/ingest/source.py +0 -0
  358. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/knowledge/__init__.py +0 -0
  359. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/knowledge/adr.py +0 -0
  360. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/knowledge/commits.py +0 -0
  361. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/knowledge/ingest.py +0 -0
  362. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/knowledge/mentions.py +0 -0
  363. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/knowledge/report.py +0 -0
  364. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/providers.py +0 -0
  365. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/repomap/__init__.py +0 -0
  366. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/repomap/rank.py +0 -0
  367. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/repomap/render.py +0 -0
  368. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/repomap/repomap.py +0 -0
  369. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/retrieve/__init__.py +0 -0
  370. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/retrieve/pack.py +0 -0
  371. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/retrieve/retriever.py +0 -0
  372. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/retrieve/scoring.py +0 -0
  373. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/store/_rowmap.py +0 -0
  374. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/store/errors.py +0 -0
  375. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/store/kuzu_store.py +0 -0
  376. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/store/lance_store.py +0 -0
  377. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/store/neo4j_store.py +0 -0
  378. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/store/pgvector_store.py +0 -0
  379. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/temporal/__init__.py +0 -0
  380. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/temporal/events.py +0 -0
  381. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/temporal/index.py +0 -0
  382. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/temporal/mining.py +0 -0
  383. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/temporal/recorder.py +0 -0
  384. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/src/agentforge_graph/temporal/store.py +0 -0
  385. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/__init__.py +0 -0
  386. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/chunking/__init__.py +0 -0
  387. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/chunking/test_cast.py +0 -0
  388. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/chunking/test_layering.py +0 -0
  389. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/core/__init__.py +0 -0
  390. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/core/test_conformance.py +0 -0
  391. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/core/test_kinds.py +0 -0
  392. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/core/test_layering.py +0 -0
  393. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/core/test_models.py +0 -0
  394. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/core/test_provenance.py +0 -0
  395. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/core/test_symbols.py +0 -0
  396. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/core/test_vector_contracts.py +0 -0
  397. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/embed/__init__.py +0 -0
  398. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/embed/test_bedrock.py +0 -0
  399. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/embed/test_cli.py +0 -0
  400. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/embed/test_fake.py +0 -0
  401. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/embed/test_openai.py +0 -0
  402. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/embed/test_openai_live.py +0 -0
  403. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/embed/test_pipeline.py +0 -0
  404. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/embed/test_registry.py +0 -0
  405. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/__init__.py +0 -0
  406. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/conftest.py +0 -0
  407. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_anthropic.py +0 -0
  408. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_anthropic_live.py +0 -0
  409. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_bedrock.py +0 -0
  410. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_bedrock_client.py +0 -0
  411. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_claude.py +0 -0
  412. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_enricher.py +0 -0
  413. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_heuristics.py +0 -0
  414. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_integration.py +0 -0
  415. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_live.py +0 -0
  416. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_registry.py +0 -0
  417. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_summaries.py +0 -0
  418. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_summaries_integration.py +0 -0
  419. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/enrich/test_summaries_live.py +0 -0
  420. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/__init__.py +0 -0
  421. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/django/models.py +0 -0
  422. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/express/app.js +0 -0
  423. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/fastapi/app.py +0 -0
  424. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/fastapi/pyproject.toml +0 -0
  425. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/fastapi/service.py +0 -0
  426. {agentforge_graph-0.3.3/tests/ingest → agentforge_graph-0.5.0/tests/frameworks/fixtures/fastapi_multifile/payments}/__init__.py +0 -0
  427. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/flask/app.py +0 -0
  428. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/nestjs/users.controller.ts +0 -0
  429. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/spring/Helper.java +0 -0
  430. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/spring/UserController.java +0 -0
  431. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/fixtures/sqlalchemy/models.py +0 -0
  432. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_detect.py +0 -0
  433. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_django_integration.py +0 -0
  434. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_django_pack.py +0 -0
  435. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_express_integration.py +0 -0
  436. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_express_pack.py +0 -0
  437. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_flask_integration.py +0 -0
  438. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_flask_pack.py +0 -0
  439. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_integration.py +0 -0
  440. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_layering.py +0 -0
  441. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_nestjs_integration.py +0 -0
  442. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_nestjs_pack.py +0 -0
  443. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_spring_integration.py +0 -0
  444. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_spring_pack.py +0 -0
  445. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_sqlalchemy_integration.py +0 -0
  446. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/frameworks/test_sqlalchemy_pack.py +0 -0
  447. {agentforge_graph-0.3.3/tests/ingest/incremental → agentforge_graph-0.5.0/tests/ingest}/__init__.py +0 -0
  448. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/conftest.py +0 -0
  449. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/fixtures/javascript/mathutils.js +0 -0
  450. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/fixtures/javascript/shapes.js +0 -0
  451. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/fixtures/python/mathutils.py +0 -0
  452. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/fixtures/python/shapes.py +0 -0
  453. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/fixtures/typescript/mathutils.ts +0 -0
  454. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/fixtures/typescript/shapes.ts +0 -0
  455. {agentforge_graph-0.3.3/tests/knowledge → agentforge_graph-0.5.0/tests/ingest/incremental}/__init__.py +0 -0
  456. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/incremental/test_equivalence.py +0 -0
  457. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/incremental/test_incremental.py +0 -0
  458. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_aliased_imports.py +0 -0
  459. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_cli.py +0 -0
  460. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_codegraph.py +0 -0
  461. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_cpp_pack.py +0 -0
  462. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_csharp_pack.py +0 -0
  463. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_docstrings.py +0 -0
  464. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_export_member.py +0 -0
  465. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_go_pack.py +0 -0
  466. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_go_receiver_calls.py +0 -0
  467. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_inherited_method_calls.py +0 -0
  468. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_inherits.py +0 -0
  469. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_inherits_packs.py +0 -0
  470. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_java_pack.py +0 -0
  471. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_javascript_pack.py +0 -0
  472. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_jsdoc.py +0 -0
  473. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_layering.py +0 -0
  474. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_member_calls.py +0 -0
  475. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_member_calls_packs.py +0 -0
  476. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_module_member_calls.py +0 -0
  477. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_pack.py +0 -0
  478. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_php_pack.py +0 -0
  479. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_pipeline.py +0 -0
  480. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_python_extractor.py +0 -0
  481. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_qualified_bases.py +0 -0
  482. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_resolver.py +0 -0
  483. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_ruby_pack.py +0 -0
  484. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_rust_pack.py +0 -0
  485. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_source.py +0 -0
  486. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_src_layout.py +0 -0
  487. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/ingest/test_typescript_pack.py +0 -0
  488. {agentforge_graph-0.3.3/tests/repomap → agentforge_graph-0.5.0/tests/knowledge}/__init__.py +0 -0
  489. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/fixtures/repo/docs/adr/0007-old-payments.md +0 -0
  490. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/fixtures/repo/docs/adr/0012-idempotency.md +0 -0
  491. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/fixtures/repo/src/app/payments.py +0 -0
  492. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/test_adr_parser.py +0 -0
  493. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/test_commit_messages.py +0 -0
  494. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/test_discover.py +0 -0
  495. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/test_doc_embedding.py +0 -0
  496. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/test_doc_globs.py +0 -0
  497. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/test_infer_governs.py +0 -0
  498. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/test_integration.py +0 -0
  499. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/test_layering.py +0 -0
  500. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/knowledge/test_mentions.py +0 -0
  501. {agentforge_graph-0.3.3/tests/retrieve → agentforge_graph-0.5.0/tests/repomap}/__init__.py +0 -0
  502. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/repomap/test_cli.py +0 -0
  503. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/repomap/test_edge_cases.py +0 -0
  504. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/repomap/test_layering.py +0 -0
  505. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/repomap/test_rank.py +0 -0
  506. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/repomap/test_render.py +0 -0
  507. {agentforge_graph-0.3.3/tests/serve → agentforge_graph-0.5.0/tests/retrieve}/__init__.py +0 -0
  508. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/retrieve/test_cli.py +0 -0
  509. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/retrieve/test_doc_weight.py +0 -0
  510. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/retrieve/test_filters.py +0 -0
  511. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/retrieve/test_layering.py +0 -0
  512. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/retrieve/test_live_relevance.py +0 -0
  513. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/retrieve/test_pack_scoring.py +0 -0
  514. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/retrieve/test_retriever.py +0 -0
  515. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/retrieve/test_temporal_item.py +0 -0
  516. {agentforge_graph-0.3.3/tests/store → agentforge_graph-0.5.0/tests/serve}/__init__.py +0 -0
  517. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/serve/test_binding.py +0 -0
  518. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/serve/test_engine.py +0 -0
  519. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/serve/test_guardrails.py +0 -0
  520. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/serve/test_http_auth.py +0 -0
  521. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/serve/test_live_agent.py +0 -0
  522. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/serve/test_tools.py +0 -0
  523. {agentforge_graph-0.3.3/tests/temporal → agentforge_graph-0.5.0/tests/store}/__init__.py +0 -0
  524. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/store/test_facade.py +0 -0
  525. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/store/test_kuzu_conformance.py +0 -0
  526. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/store/test_kuzu_internals.py +0 -0
  527. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/store/test_lance_conformance.py +0 -0
  528. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/store/test_layering.py +0 -0
  529. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/store/test_neo4j_conformance.py +0 -0
  530. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/store/test_pgvector_conformance.py +0 -0
  531. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/store/test_server_drivers.py +0 -0
  532. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/temporal/test_asof.py +0 -0
  533. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/temporal/test_backfill.py +0 -0
  534. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/temporal/test_denormalize.py +0 -0
  535. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/temporal/test_index.py +0 -0
  536. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/temporal/test_lifecycle.py +0 -0
  537. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/temporal/test_mining.py +0 -0
  538. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/temporal/test_read_e2e.py +0 -0
  539. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/temporal/test_store.py +0 -0
  540. {agentforge_graph-0.3.3 → agentforge_graph-0.5.0}/tests/test_providers.py +0 -0
@@ -2,19 +2,19 @@
2
2
  forked: false
3
3
  hash: 8a75b914bdf3cadbde5693497f0c1812a67ee01fde9e2166e97006a299b78962
4
4
  source_module: template:minimal:_shared
5
- source_version: 0.2.4
5
+ source_version: 0.3.1
6
6
  .env.example:
7
7
  forked: false
8
- hash: 45e023968759bfc3b10eee810fe2cde2033e8f80c998db5eda156b7ec1eccbe5
8
+ hash: a3c0f025887da55714180c85a24c96234d93e8f407b33a77be603ccc7d23dba8
9
9
  source_module: template:minimal
10
- source_version: 0.2.4
10
+ source_version: 0.3.1
11
11
  .github/copilot-instructions.md:
12
12
  forked: false
13
13
  hash: 23c6e939d9d162837a85f0e3859f8e5808327aa77380d2a8e07f5b8c91d423e2
14
14
  source_module: template:minimal:_shared
15
- source_version: 0.2.4
15
+ source_version: 0.3.1
16
16
  .gitignore:
17
- forked: false
17
+ forked: true
18
18
  hash: e2e64343502ba0a2753b9b76908c3861fcdcafa1f4052c9da02be123f3d7404a
19
19
  source_module: template:minimal
20
20
  source_version: 0.2.4
@@ -22,24 +22,24 @@
22
22
  forked: false
23
23
  hash: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
24
24
  source_module: template:minimal:_shared
25
- source_version: 0.2.4
25
+ source_version: 0.3.1
26
26
  AGENTS.md:
27
27
  forked: false
28
- hash: c2f4dad7b549ce1f78d932e03c00159080caa1569a25be4a03f2e33d795fe8e2
28
+ hash: 8156ae690c999929ef55b587dc911fa0abe7b75dbc2d16f893b2f53b736352a5
29
29
  source_module: template:minimal:_shared
30
- source_version: 0.2.4
30
+ source_version: 0.3.1
31
31
  CLAUDE.md:
32
32
  forked: false
33
33
  hash: 9120f1c4a7740f3147e85b6010ea0c0cd12d09e886b496fd6d0b958e2239b469
34
34
  source_module: template:minimal:_shared
35
- source_version: 0.2.4
35
+ source_version: 0.3.1
36
36
  README.md:
37
- forked: false
37
+ forked: true
38
38
  hash: c474ab3012ec420a13389cd5cbfeebc1d69ee35b4f9ad0c6fb84a0404d820303
39
39
  source_module: template:minimal
40
40
  source_version: 0.2.4
41
41
  agentforge.yaml:
42
- forked: false
42
+ forked: true
43
43
  hash: 3f971e1f7bac5a4d647849d5f6fcdf7b9cb7ad2e399247b38d66c726918e6d98
44
44
  source_module: template:minimal
45
45
  source_version: 0.2.4
@@ -47,124 +47,124 @@ docs/runbooks/01-set-up-new-agent.md:
47
47
  forked: false
48
48
  hash: 9767d5fccc9a78206289504337f26b3ebfd18a62c4ec68c75d5684e64f2ff0d3
49
49
  source_module: template:minimal:_shared
50
- source_version: 0.2.4
50
+ source_version: 0.3.1
51
51
  docs/runbooks/02-add-a-tool.md:
52
52
  forked: false
53
53
  hash: 54e75ed0aa463dcc143fbee577746b7d853ca19c7b31d4ed91557f2afb1b5f03
54
54
  source_module: template:minimal:_shared
55
- source_version: 0.2.4
55
+ source_version: 0.3.1
56
56
  docs/runbooks/03-add-a-pipeline-task.md:
57
57
  forked: false
58
58
  hash: e02a38df57668ab1873d35c83c666bc0b3e4f01f9836babe1eb780eb3a3e3d0b
59
59
  source_module: template:minimal:_shared
60
- source_version: 0.2.4
60
+ source_version: 0.3.1
61
61
  docs/runbooks/04-pick-reasoning-strategy.md:
62
62
  forked: false
63
63
  hash: abe78f8b53fe324f2b86c0a7c69822425c3e267ed232c83021baca0cf6eb804b
64
64
  source_module: template:minimal:_shared
65
- source_version: 0.2.4
65
+ source_version: 0.3.1
66
66
  docs/runbooks/05-write-prompts.md:
67
67
  forked: false
68
68
  hash: 248e76f52c90220d05d1bb2ad1976643d8e68896e5888e9da4b5ccdbf25ccaae
69
69
  source_module: template:minimal:_shared
70
- source_version: 0.2.4
70
+ source_version: 0.3.1
71
71
  docs/runbooks/06-test-your-agent.md:
72
72
  forked: false
73
73
  hash: 81af251a9a4ce45d3b80bf07ffd88173926363fa2e27d7c958279c3b760fdd9b
74
74
  source_module: template:minimal:_shared
75
- source_version: 0.2.4
75
+ source_version: 0.3.1
76
76
  docs/runbooks/07-debug-a-run.md:
77
77
  forked: false
78
78
  hash: 336052b797bc5f39d29ed754fec76e37c50511515a765fbe874cacb1dd06165f
79
79
  source_module: template:minimal:_shared
80
- source_version: 0.2.4
80
+ source_version: 0.3.1
81
81
  docs/runbooks/08-add-memory.md:
82
82
  forked: false
83
83
  hash: 34357485fbb087775cfd99e55500515795e7ff4207b1257b9b66b77b55e82ea5
84
84
  source_module: template:minimal:_shared
85
- source_version: 0.2.4
85
+ source_version: 0.3.1
86
86
  docs/runbooks/09-add-mcp.md:
87
87
  forked: false
88
88
  hash: 3e945da99f484716937036b6dd4686a3f84b3784c877e3ef01166ea1b7399cb2
89
89
  source_module: template:minimal:_shared
90
- source_version: 0.2.4
90
+ source_version: 0.3.1
91
91
  docs/runbooks/10-add-evaluators.md:
92
92
  forked: false
93
93
  hash: acfbdccaaad2ffb9c6fdd7a99de9a42a5fac365585d5cb7fd3e8230ee77bbf26
94
94
  source_module: template:minimal:_shared
95
- source_version: 0.2.4
95
+ source_version: 0.3.1
96
96
  docs/runbooks/11-add-safety-guardrails.md:
97
97
  forked: false
98
98
  hash: c52053398767e28ec3d6c1e334a7b8fdf9359276ab3248ebdda956d0ec610daf
99
99
  source_module: template:minimal:_shared
100
- source_version: 0.2.4
100
+ source_version: 0.3.1
101
101
  docs/runbooks/12-add-observability.md:
102
102
  forked: false
103
103
  hash: b9ce79b8f258b393fd9fc5d9aa4f453503399b3415ac893af3cfd158271302ec
104
104
  source_module: template:minimal:_shared
105
- source_version: 0.2.4
105
+ source_version: 0.3.1
106
106
  docs/runbooks/13-configure-multi-provider.md:
107
107
  forked: false
108
- hash: 3587a253001bab61486c59c6f40e29a60b26c0ee0deed2167fa62e6de9cb04f7
108
+ hash: b61977c4acbc0d51b10bf56e65c1ecbc819410a966c8cce41852b3153992e1a1
109
109
  source_module: template:minimal:_shared
110
- source_version: 0.2.4
110
+ source_version: 0.3.1
111
111
  docs/runbooks/14-deploy-your-agent.md:
112
112
  forked: false
113
113
  hash: e036df7d4cf3f2d144fb8dd05b747539483b507340fc3ea474c4d1e016424b29
114
114
  source_module: template:minimal:_shared
115
- source_version: 0.2.4
115
+ source_version: 0.3.1
116
116
  docs/runbooks/15-upgrade-your-agent.md:
117
117
  forked: false
118
118
  hash: 81034a5ee4c294ab12d356461a75f065cb6c2cb42dcc23cc71ce05d0b11098ee
119
119
  source_module: template:minimal:_shared
120
- source_version: 0.2.4
120
+ source_version: 0.3.1
121
121
  docs/runbooks/16-configuration-reference.md:
122
122
  forked: false
123
123
  hash: e2cf5067d2fb8ef6ba9e3c1f0f7a39f63082b9685ee687385a0bf2d115b014b6
124
124
  source_module: template:minimal:_shared
125
- source_version: 0.2.4
125
+ source_version: 0.3.1
126
126
  docs/runbooks/17-add-reranker.md:
127
127
  forked: false
128
128
  hash: 2718f76d448ecbe0831c09bcd8431e914b911d487ef50dbb09a4c06bc7bfc36b
129
129
  source_module: template:minimal:_shared
130
- source_version: 0.2.4
130
+ source_version: 0.3.1
131
131
  docs/runbooks/18-add-hybrid-search.md:
132
132
  forked: false
133
133
  hash: 4f5a8eabfd560ef02552ff24ce9f75288f87a096750cb04e6eb457989e954ba1
134
134
  source_module: template:minimal:_shared
135
- source_version: 0.2.4
135
+ source_version: 0.3.1
136
136
  docs/runbooks/19-add-graphrag.md:
137
137
  forked: false
138
138
  hash: 39504e95e5eee24c3e533ceaacbb1479406c36d83969d53aca2fe1d06fb69a8f
139
139
  source_module: template:minimal:_shared
140
- source_version: 0.2.4
140
+ source_version: 0.3.1
141
141
  docs/runbooks/20-apply-schema-migrations.md:
142
142
  forked: false
143
143
  hash: eef758aedb2670f7cbdbb1222b06f8f41e4a786852f344199bf1f5ec63ce2f24
144
144
  source_module: template:minimal:_shared
145
- source_version: 0.2.4
145
+ source_version: 0.3.1
146
146
  docs/runbooks/21-use-streaming-guardrails.md:
147
147
  forked: false
148
148
  hash: 66b694aabc6e09a4c599d4e347044f8b21ce0c24feaea3157349a667e428d518
149
149
  source_module: template:minimal:_shared
150
- source_version: 0.2.4
150
+ source_version: 0.3.1
151
151
  docs/runbooks/README.md:
152
152
  forked: false
153
153
  hash: baeef86ba55cd2185c5ae2fa3b070771dd90e6e19fa9826472ea5f7772b7b249
154
154
  source_module: template:minimal:_shared
155
- source_version: 0.2.4
155
+ source_version: 0.3.1
156
156
  pyproject.toml:
157
- forked: false
157
+ forked: true
158
158
  hash: 6f314576dc1d2b62ea17fe94d39b0a69d98bda996c89685ee084539312387d95
159
159
  source_module: template:minimal
160
160
  source_version: 0.2.4
161
161
  src/agentforge_graph/__init__.py:
162
- forked: false
162
+ forked: true
163
163
  hash: b6f9eb202d197dad3ae57d0defe4396b9e14ff0b56a7949cf760492c452a5401
164
164
  source_module: template:minimal
165
165
  source_version: 0.2.4
166
166
  src/agentforge_graph/main.py:
167
- forked: false
167
+ forked: true
168
168
  hash: c05d490b5a1c7dd8ab3bda75558a7083cf22c8676f872476cb50c087edfbc020
169
169
  source_module: template:minimal
170
170
  source_version: 0.2.4
@@ -35,10 +35,17 @@
35
35
  `agentforge add module` does **not** work here (it shells out to
36
36
  `pip`, absent in uv venvs) — declare modules in `pyproject.toml`
37
37
  and `uv sync` instead.
38
- - **Two config files, on purpose.** `agentforge.yaml` is framework
39
- config (strict validator no unknown keys). `ckg.yaml` is this
40
- agent's own engine config (store/ingest/chunking/embed/retrieve/
41
- serve), read by the `agentforge_graph` package.
38
+ - **One config file: `agentforge.yaml`.** Framework keys at the top
39
+ level; this agent's engine config (store/ingest/chunking/embed/
40
+ retrieve/serve/…) under the framework's `app:` passthrough
41
+ (agentforge-py ≥0.3). The engine reads `app:` with **plain pyyaml,
42
+ no `agentforge` import** (ADR-0001) — `config.resolve_config()`
43
+ discovers `agentforge.yaml` (with `app:`) or a standalone `ckg.yaml`,
44
+ and `_read_block` reads from `app.<key>` or top-level. A standalone
45
+ `ckg.yaml` is still supported (framework-free use). *(History: we
46
+ used a separate `ckg.yaml` because 0.2.4's strict validator rejected
47
+ app keys — fixed upstream in 0.3.x via `app:`; see
48
+ `docs/framework/upgrade-0.2.4-to-0.3.x.md`.)*
42
49
  - **Framework learnings go in `docs/framework/`** — local-only,
43
50
  git-ignored. Log any framework bug/hack/workaround/missing-feature
44
51
  there as you hit it (baseline: agentforge-py 0.2.4).
@@ -1,4 +1,4 @@
1
- # Environment variables for My Agent.
1
+ # Environment variables for Agentforge Graph.
2
2
  # Copy this file to `.env` and fill in real values.
3
3
 
4
4
  ANTHROPIC_API_KEY=
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: Bug report
3
+ about: Something the engine, CLI, or MCP server got wrong
4
+ title: "[bug] "
5
+ labels: bug
6
+ ---
7
+
8
+ ## What happened
9
+
10
+ A clear description of the bug, and what you expected instead.
11
+
12
+ ## Reproduce
13
+
14
+ Steps / the smallest repo or snippet that triggers it:
15
+
16
+ ```bash
17
+ ckg index .
18
+ ckg ... # the command that misbehaves
19
+ ```
20
+
21
+ If it's an extraction/resolution issue, a **minimal source file** that reproduces
22
+ it helps a lot.
23
+
24
+ ## Environment
25
+
26
+ - agentforge-graph version: `ckg --version` (or `pip show agentforge-graph`)
27
+ - Python version:
28
+ - OS:
29
+ - Store backend (if not default): `kuzu`/`neo4j`/`pgvector`/`surrealdb`/…
30
+ - Language(s) involved (if extraction): Python / TS / Go / …
31
+ - Provider (if embed/enrich): `bedrock`/`openai`/`anthropic`/`fake`/…
32
+
33
+ ## Logs / output
34
+
35
+ ```
36
+ paste the relevant output, error, or stack trace
37
+ ```
38
+
39
+ ## Notes
40
+
41
+ Anything else — was it incremental vs full index, a specific framework pack, etc.
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: true
2
+ contact_links:
3
+ - name: Security vulnerability
4
+ url: https://github.com/Scaffoldic/agentforge-graph/security/advisories/new
5
+ about: Please report security issues privately — see SECURITY.md, not a public issue.
6
+ - name: Question / usage help
7
+ url: https://github.com/Scaffoldic/agentforge-graph/discussions
8
+ about: Ask how to use the engine, MCP tools, or a provider/backend.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: Feature request
3
+ about: Propose a capability, a language/framework pack, or a backend
4
+ title: "[feat] "
5
+ labels: enhancement
6
+ ---
7
+
8
+ ## The problem / use case
9
+
10
+ What are you trying to do that the engine doesn't support today? Who's it for —
11
+ a human, or a coding agent consuming the graph?
12
+
13
+ ## Proposed solution
14
+
15
+ What you'd like to see. If it's a new **language pack**, **framework pack**,
16
+ **storage backend**, or **model provider**, note the target (e.g. "Rails routes",
17
+ "SurrealDB", "Gemini embeddings") — these ride documented extension points (see
18
+ [`CONTRIBUTING.md`](../../CONTRIBUTING.md) §5).
19
+
20
+ ## Alternatives considered
21
+
22
+ Other approaches, or how you work around it now.
23
+
24
+ ## Scope
25
+
26
+ - [ ] I'd be willing to help implement this
27
+ - [ ] This needs a design discussion first
@@ -0,0 +1,22 @@
1
+ <!-- Thanks for contributing! Keep PRs to one feature/fix = one branch = one PR. -->
2
+
3
+ ## What & why
4
+
5
+ What this changes and the motivation. Link the issue / feature spec / ADR if any
6
+ (e.g. `Closes #123`, `feat-0NN`, `ENH-0NN`).
7
+
8
+ ## How
9
+
10
+ A short note on the approach — and, if it touches an extension point (a language
11
+ / framework pack, storage backend, model provider, MCP tool, enricher), how it
12
+ rides the existing rails.
13
+
14
+ ## Checklist
15
+
16
+ - [ ] `uv run ruff format --check . && uv run ruff check . && uv run mypy src` clean
17
+ - [ ] `uv run pytest` green (≥90% coverage)
18
+ - [ ] New behavior has tests (golden + end-to-end where it applies; new backends
19
+ pass the conformance suite)
20
+ - [ ] Docs updated (README / a `docs/guides/` page / CHANGELOG `[Unreleased]`)
21
+ - [ ] No new `agentforge` import inside the deterministic engine (ADR-0001)
22
+ - [ ] Conventional-commit title (`feat:` / `fix:` / `docs:` / `chore:` / …)
@@ -1,4 +1,4 @@
1
- <!-- AGENTFORGE-MANAGED: template:minimal@0.2.4 hash:23c6e939d9d1 -->
1
+ <!-- AGENTFORGE-MANAGED: template:minimal@0.3.1 hash:23c6e939d9d1 -->
2
2
  See [AGENTS.md](../AGENTS.md) for project conventions. AGENTS.md
3
3
  is the canonical source for AI-assistant instructions. This file
4
4
  exists so GitHub Copilot's native
@@ -55,7 +55,7 @@ jobs:
55
55
  # no secrets), so Neo4j/pgvector are verified in CI — not just locally. Separate
56
56
  # job so a DB hiccup can't fail the core gate; both must pass to merge.
57
57
  server-backends:
58
- name: server backends (neo4j + pgvector conformance)
58
+ name: server backends (neo4j + pgvector + surrealdb conformance)
59
59
  runs-on: ubuntu-latest
60
60
  services:
61
61
  neo4j:
@@ -81,14 +81,26 @@ jobs:
81
81
  uses: astral-sh/setup-uv@v6
82
82
  with:
83
83
  enable-cache: true
84
- - name: Sync dependencies (+ neo4j + pgvector extras)
85
- run: uv sync --extra dev --extra engine --extra neo4j --extra pgvector
84
+ - name: Sync dependencies (+ neo4j + pgvector + surrealdb extras)
85
+ run: uv sync --extra dev --extra engine --extra neo4j --extra pgvector --extra surrealdb
86
+ # SurrealDB needs its `start` command + args, which a `services:` container
87
+ # can't express — so run it directly and wait for the /health endpoint.
88
+ - name: Start SurrealDB
89
+ run: |
90
+ docker run -d --name surreal -p 8000:8000 \
91
+ surrealdb/surrealdb:latest start --user root --pass root memory
92
+ for i in $(seq 1 30); do
93
+ curl -sf http://localhost:8000/health && break
94
+ sleep 1
95
+ done
86
96
  - name: Server-backend conformance
87
97
  env:
88
98
  CKG_NEO4J_URI: bolt://localhost:7687
89
99
  CKG_NEO4J_PASSWORD: ckgckgckg
90
100
  CKG_PGVECTOR_DSN: postgresql://postgres:ckg@localhost:5432/ckg
101
+ CKG_SURREALDB_URL: ws://localhost:8000/rpc
91
102
  run: >-
92
103
  uv run pytest --no-cov
93
104
  tests/store/test_neo4j_conformance.py
94
105
  tests/store/test_pgvector_conformance.py
106
+ tests/store/test_surreal_conformance.py
@@ -1,14 +1,14 @@
1
- <!-- AGENTFORGE-MANAGED: template:minimal@0.2.4 hash:c2f4dad7b549 -->
1
+ <!-- AGENTFORGE-MANAGED: template:minimal@0.3.1 hash:8156ae690c99 -->
2
2
  # AgentForge agent — AI assistant instructions
3
3
 
4
- This project is built on **AgentForge 0.2.4**. Use
4
+ This project is built on **AgentForge 0.3.1**. Use
5
5
  these rules when suggesting changes. The file is read by Claude
6
6
  Code, Cursor, Aider, and any tool following the
7
7
  [AGENTS.md convention](https://agents.md).
8
8
 
9
9
  ## Project shape (you must respect this)
10
10
 
11
- - Framework version: `0.2.4`
11
+ - Framework version: `0.3.1`
12
12
  - Template: `minimal`
13
13
  - Project slug: `agentforge-graph`
14
14
  - LLM provider: `anthropic`
@@ -161,6 +161,4 @@ design-doc-first for features. Gate every change on
161
161
  **Dogfood:** `ckg index . && ckg serve-mcp --repo .` exposes this repo's own
162
162
  graph (decisions, routes, impact, summaries) — useful grounded context for an
163
163
  assistant working here.
164
-
165
164
  <!-- agentforge:end-custom -->
166
-
@@ -8,6 +8,226 @@ on a schema mismatch is **rebuild** (ADR-0006).
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.5.0] — 2026-06-21
12
+
13
+ The **org-level central knowledge** release — take CKG from "indexes my one repo"
14
+ to "is my org's shared code brain": host the index **centrally** and consume it
15
+ **read-only**, serve a multi-repo **workspace** from one federated MCP endpoint,
16
+ and **trace requests across services** (HTTP client → route, matched by path or
17
+ OpenAPI contract). (Also: the scaffold template was upgraded to AgentForge 0.3.1.)
18
+
19
+ ### Added
20
+
21
+ - **`ckg services-map` and `ckg trace` CLI commands** (ENH-020). The cross-service
22
+ call graph and request tracing — previously MCP-only — are now on the command
23
+ line: `ckg services-map --workspace workspace.yaml` prints `from → to` edges
24
+ (with handler + `via`), and `ckg trace <service> --workspace …
25
+ [--direction downstream|upstream] [--depth N]` walks the graph (data flow /
26
+ blast radius). See the org topology from a terminal, not just an agent.
27
+ - **Microservices demo + end-to-end test** for the org-central features. A
28
+ bundled `examples/microservices` workspace (web→gateway→orders→payments,
29
+ spanning JS `fetch`, Python `httpx`/`requests`, and a contract-first OpenAPI
30
+ service) with a runnable walkthrough, plus an automated e2e test that exercises
31
+ ENH-018 (central hosting + read-only), ENH-019 (cwd discovery) and ENH-020
32
+ (federation + `ckg_services_map` + `ckg_trace`) in one flow — the demo is the
33
+ test fixture, so they can't drift.
34
+ - **OpenAPI contract anchoring for the cross-service map** (ENH-020 C-full). When
35
+ a member ships an OpenAPI/Swagger spec (`openapi.{json,yaml,yml}` /
36
+ `swagger.{json,yaml}` at the repo root), `service_map` now matches calls against
37
+ the **declared contract** too — giving authoritative paths, the `operationId` as
38
+ the handler, and coverage for **contract-first services with no detected
39
+ framework**. A framework route and its spec twin are deduped (param-agnostic) so
40
+ they never make a call ambiguous; each edge reports its `via` (`framework` |
41
+ `openapi`). Precision + coverage upgrade over URL-string matching alone.
42
+ - **JS/TS cross-service calls (fetch / axios)** (ENH-020 C-full). A new
43
+ `jshttpclient` pack (spanning `.js` + `.ts`) captures `fetch("…")`,
44
+ `axios.get("…")` / `axios.post("…")` and `axios("…")` as `ServiceCall` nodes —
45
+ `fetch`'s method read from a literal `{ method: "POST" }` option, default GET.
46
+ So a JS/TS frontend or BFF now appears as a caller in the cross-service map /
47
+ `ckg_services_map` / `ckg_trace`, not just Python services.
48
+ - **HTTP client coverage: instance clients + `base_url`** (ENH-020 C-full). The
49
+ `httpclient` pack now also captures calls through a client *instance* —
50
+ `s = requests.Session(); s.get(…)` and `c = httpx.Client(base_url="http://orders");
51
+ c.get("/v1/x")` — composing `base_url + path` into the matched URL. This is the
52
+ dominant real-world pattern (previously only module-qualified `requests.get(…)`
53
+ with a literal URL was seen), so the cross-service map covers far more actual
54
+ calls. Still conservative: dynamic URLs are counted, not guessed.
55
+ - **`ckg_trace` — walk a request across services** (ENH-020 C-full). From a
56
+ starting service, trace the cross-service call graph `downstream` (what it
57
+ calls — data flow) or `upstream` (who calls it — blast radius), to a depth.
58
+ Returns the reachable hops (with hop numbers) and the services reached; cycles
59
+ terminate. Turns the `ckg_services_map` edges into the answer to *"what does
60
+ this service depend on / which services break if I change it"* — impact
61
+ analysis that spans service boundaries. Federation-only tool.
62
+ - **Cross-service call graph** (ENH-020, C-full increment 2). The federated MCP
63
+ server now draws **who-calls-whom across services**: it matches each member's
64
+ outbound `ServiceCall` to a `Route` in *another* member by `(method, path)` —
65
+ with path-parameter awareness (`{id}` / `:id` / `<id>`) — and exposes the org
66
+ call graph via a new `ckg_services_map` tool (`from_service → to_service`,
67
+ method, path, handler, plus `unresolved` calls). Computed live because member
68
+ graphs are separate stores; unique-match-only (ADR-0004) — an ambiguous call is
69
+ reported, never guessed. This completes the microservices payoff: an agent can
70
+ see the whole org's service topology from one endpoint.
71
+ - **Outbound HTTP client calls are captured** (ENH-020, C-full increment 1).
72
+ A new `httpclient` framework pack records module-qualified `requests.get("…")`
73
+ / `httpx.post("…")` calls as `ServiceCall` graph nodes (method + URL + path),
74
+ riding the caller file's subgraph like routes. Surfaced via
75
+ `CodeGraph.service_calls()` and `ckg service-calls`. Conservative (ADR-0004):
76
+ literal URLs only; dynamic URLs / client-instance calls are counted, not
77
+ guessed. This is the **caller side** of a cross-service edge — at federation
78
+ time these match `Route` nodes in other services (the next increment:
79
+ `ckg_services_map` / `ckg_trace`).
80
+ - **Federated MCP over a workspace** (ENH-020, C-lite). `ckg serve-mcp
81
+ --workspace workspace.yaml` serves **many member repos/services from one
82
+ endpoint**. The **survey tools** (`ckg_search`, `ckg_routes`, `ckg_decisions`,
83
+ `ckg_status`) fan across every member and tag each result with its `service`
84
+ (with a per-service staleness envelope); the **pinpoint tools** (`ckg_symbol`,
85
+ `ckg_impact`, `ckg_neighbors`, `ckg_explain`, `ckg_history`, `ckg_repo_map`)
86
+ take a `service` to target one member. A single repo is unchanged (no
87
+ `services` envelope). This is the microservices payoff of the
88
+ org-central-knowledge theme — one code brain for the whole org. (Cross-service
89
+ *contract edges* — tracing a request across services — are the next phase,
90
+ C-full.) Also fixes the MCP `_Engine` to honor `store.central_root` (ENH-018).
91
+ - **Read-only consumers** (ENH-018). `store.read_only: true` (or `--read-only` /
92
+ `$CKG_READ_ONLY`) makes a store consume-only: the write verbs (`index`,
93
+ `embed`, `enrich`) refuse with a clear message and a non-zero exit, and opening
94
+ a *missing* index errors instead of silently creating one. Read verbs
95
+ (`query`, `map`, `routes`, `serve-mcp`, …) work normally. This is what lets a
96
+ team host one central index (built by CI) and hand it to many developers and
97
+ agents without risk of accidental mutation.
98
+ - **Host the index outside the repo with `store.central_root`** (ENH-018).
99
+ By default the index stays in the gitignored `.ckg/` inside the repo (the
100
+ laptop story, unchanged). Set `store.central_root: /shared/ckg` and each repo's
101
+ artifacts move to a stable, **collision-free per-repo subdir** under that root
102
+ — keyed by git remote (`org/repo`, host-independent) or `<dirname>-<hash>` with
103
+ no remote — so a team/CI can build once and host many repos centrally. The
104
+ `.ckg` root is now resolved through one helper (`store.location.resolve_root`),
105
+ de-duplicating ~10 call sites. `ckg status` shows the resolved location
106
+ (`(central)` when hosting is on). First rung of the org-central-knowledge theme.
107
+ - **`ckg` now discovers the repo root from the working directory** (ENH-019).
108
+ When no path is given, every subcommand — including `ckg serve-mcp` — walks up
109
+ from the cwd to the nearest `.ckg/` / `agentforge.yaml` / `ckg.yaml` / `.git`
110
+ (nearest wins), like `git`. So a bare `ckg serve-mcp` from anywhere inside a
111
+ repo serves *that* repo — no `--repo` needed — which is what an MCP client
112
+ launching the server in a project directory wants. Falls back to `.` when no
113
+ marker is found (unchanged for a bare directory); an explicit positional /
114
+ `--path` / `--repo` always wins; when discovery climbs above the cwd the
115
+ resolved root is announced on stderr. First rung of the org-central-knowledge
116
+ theme (zero-config consumption).
117
+
118
+ ### Changed
119
+
120
+ - **Getting-started guides reorganised by setup** into three step-by-step
121
+ walkthroughs — [single repo](docs/guides/getting-started/1-single-repo.md),
122
+ [workspace](docs/guides/getting-started/2-workspace.md), and
123
+ [central store](docs/guides/getting-started/3-central-store.md) — under a hub
124
+ (`01-getting-started.md`, kept so existing links resolve). The 10 topic guides
125
+ are unchanged.
126
+ - **README refreshed for the three setups** with a new `docs/assets/setups.gif`
127
+ (single repo → central store → workspace `services-map` / `trace`), rendered by
128
+ `scripts/render-setups-gif.sh`.
129
+ - **Scaffold template upgraded to AgentForge 0.3.1** (`agentforge upgrade`); the
130
+ files we own are forked so future upgrades skip them.
131
+
132
+ ## [0.4.0] — 2026-06-20
133
+
134
+ ### Changed
135
+
136
+ - **Consolidated engine config into `agentforge.yaml` (`app:` section).**
137
+ agentforge-py 0.3.x added a sanctioned `app:` passthrough to its strict config
138
+ file — the fix for the workaround that forced a separate `ckg.yaml`. The engine
139
+ now reads its config from `app:` (or a top-level standalone `ckg.yaml`, still
140
+ supported) using **plain pyyaml, no `agentforge` import** (ADR-0001), and
141
+ **auto-discovers** the file in the repo (previously only `--config` was read).
142
+ One config file. `config.resolve_config()` + `app:`-aware `_read_block`.
143
+ - **HTTP MCP auth now rides the framework's `from_http(middleware=)` seam**
144
+ (agentforge-mcp 0.3.x), replacing the `CkgHttpRunner` that reimplemented ~60
145
+ lines of HTTP-serve internals to add a bearer gate. `BearerAuthMiddleware`
146
+ unchanged; verified live (401 / pass-through). (ENH-005.)
147
+ - **Upgraded the AgentForge framework pin to `>=0.3,<0.4`** (from the validated
148
+ 0.2.x line). Re-validated: the full gate (666 tests / 95%, ruff + mypy) and an
149
+ MCP server-construction smoke pass on `agentforge-py` 0.3.1 — the `Tool` /
150
+ `BudgetPolicy` / `MCPServer` surfaces are unchanged.
151
+
152
+ ### Added
153
+
154
+ - **Bedrock-native reranker + measurement campaign (ENH-013).** A torch-free
155
+ `BedrockRerankScorer` (AWS Bedrock Rerank API — Cohere Rerank 3.5 / Amazon
156
+ Rerank) behind the existing `CrossScorer` seam, selected via
157
+ `rerank_model: bedrock:cohere.rerank-v3-5:0` — reuses the AWS creds the embedder
158
+ already uses, no `rerank`/torch extra. A two-corpus campaign (harness
159
+ `scripts/rerank_eval.py`, [results](docs/validation/rerank/results.md)) found
160
+ the cross-encoder is an **ordering** win (MRR +10–16% at blend weight 0.3) over
161
+ an already-recall-saturated base, costing ~540 ms/query — so rerank **stays
162
+ opt-in**, with the Bedrock config @ `w=0.3` documented as the recommended
163
+ precision setting. New `retrieve.rerank_region` config. A **rigorous follow-up
164
+ benchmark** (`scripts/rerank_benchmark.py`, objective docstring→code labels,
165
+ 388 queries / 4 OSS repos) confirms base retrieval MRR 0.95 / recall@1 0.92 and
166
+ a statistically-significant rerank lift (ΔMRR +0.019, p<0.001) — surfaced in the
167
+ README's "Retrieval quality (measured)" section.
168
+
169
+ - **Four new framework packs — Go / C# / PHP / Ruby routes (ENH-012).** Framework
170
+ awareness now spans **11 packs** across six languages. Each rides a small new
171
+ `_<lang>_ast` helper and is conservative (ADR-0004); detection uses import
172
+ markers since these languages' deps live outside the scanned manifests.
173
+ - **Gin** (Go) — `r.GET("/x", handler)` method calls → `Route` + `HANDLED_BY`
174
+ to the Go function (mirrors Express).
175
+ - **ASP.NET** (C#) — `[HttpGet("/x")]` attributes on controllers → `Route` +
176
+ `HANDLED_BY` to `Class#method`; `[Route]` base path + `[controller]` token
177
+ (mirrors Spring).
178
+ - **Laravel** (PHP) — `Route::get('/x', [C::class, 'm'])` / `'C@m'` / invokable.
179
+ - **Rails** (Ruby) — `routes.rb` explicit `get '/x' => 'c#a'` / `to:` / `root`.
180
+
181
+ Laravel and Rails name their handler in another file, so a new **generic
182
+ cross-file route-handler grounding** pass-2 step (`frameworks/cross_file.py`)
183
+ resolves the controller reference to the real `Class#method` symbol anywhere in
184
+ the repo (unique-match), emitting `HANDLED_BY` — globally idempotent, surfaced
185
+ as `IndexReport.route_handlers_grounded`. ORM models (EF Core / Eloquent /
186
+ ActiveRecord), the ASP.NET minimal API, and the Rails resourceful DSL are
187
+ follow-ups.
188
+
189
+ - **Cross-file framework resolution — route prefixes + DI grounding (ENH-011).**
190
+ A globally-idempotent pass-2 (`frameworks/cross_file.py`) stitches the
191
+ compose-points real apps split across files, reading only the persisted graph
192
+ (`IMPORTS` edges + node attrs), unique-match-only (ADR-0004):
193
+ - `app.include_router(payments.router, prefix="/api")` composes `/api` onto the
194
+ included router's routes. The base `path` is preserved; the composed URL is a
195
+ new `path_pattern` attr (`RouteInfo.path_pattern`, shown by `ckg routes` and
196
+ returned by the `ckg_routes` MCP tool). New `RouteMount` node kind.
197
+ - `Depends(get_db)` grounds the provider *name* to the `get_db` function symbol
198
+ in its module via a new `PROVIDED_BY` edge (+ `Service.provider_symbol`).
199
+
200
+ Ships for **FastAPI**; Flask / Express / Django reuse the same framework-
201
+ agnostic pass-2 (per-pack pass-1 capture pending). New `RouteMount` /
202
+ `PROVIDED_BY` kinds are additive and migration-free (the stores key edges/nodes
203
+ by a `kind` string column). `IndexReport.route_prefixes_composed` /
204
+ `di_providers_grounded`; `incremental == full` preserved. New runbook:
205
+ `docs/guides/04-cross-file-framework-resolution.md`.
206
+
207
+ - **`CITATION.cff`** — GitHub "Cite this repository" metadata.
208
+
209
+ - **Consumer feature guides + a runnable example.** New `docs/guides/` for the
210
+ headline features — framework extraction (routes/models/services), architecture
211
+ decisions, temporal/history, enrichment, and an index→query walkthrough — plus
212
+ `examples/fastapi-shop/`, a tiny FastAPI+SQLAlchemy app you can index in one
213
+ command to see routes/models/services (output verified against the CLI).
214
+
215
+ - **Project metadata + community health.** `[project.urls]` (Homepage,
216
+ Repository, Changelog, Issues, Documentation) so the PyPI page links out;
217
+ `SECURITY.md`, `CODE_OF_CONDUCT.md`, GitHub issue + PR templates; README doc
218
+ links made absolute so they resolve on the PyPI project page.
219
+
220
+ - **SurrealDB storage backend — graph + vectors in one (ENH-010).** A first-party
221
+ `surrealdb` driver for *both* `store.graph.driver` and `store.vectors.driver`,
222
+ so one multi-model server is a complete backend (`pip install
223
+ agentforge-graph[surrealdb]`). It passes the same `GraphStoreConformance` /
224
+ `VectorStoreConformance` suites as Kuzu/Neo4j/LanceDB/pgvector — verified
225
+ against a live SurrealDB in the `server-backends` CI job. Nodes/edges are
226
+ document tables on the shared open schema (hash-keyed records, the symbol id in
227
+ a `key` field); vector search is brute-force cosine in `[0, 1]`. This makes the
228
+ "day-one, plug in a different DB" promise provable end-to-end against an
229
+ independent third backend.
230
+
11
231
  ## [0.3.3] - 2026-06-19
12
232
 
13
233
  Leaner base install + the refreshed README on PyPI.
@@ -429,10 +649,11 @@ questions over the tools, unattended.
429
649
  on a real repo (fixed BUG-008, a default-config `ckg query` break); and parse
430
650
  coverage holds at scale (`django`, 2922 files, ~100%, no crash).
431
651
 
432
- [Unreleased]: https://github.com/Scaffoldic/agentforge-grpah/compare/v0.3.3...HEAD
433
- [0.3.3]: https://github.com/Scaffoldic/agentforge-grpah/compare/v0.3.2...v0.3.3
434
- [0.3.2]: https://github.com/Scaffoldic/agentforge-grpah/compare/v0.3.1...v0.3.2
435
- [0.3.1]: https://github.com/Scaffoldic/agentforge-grpah/compare/v0.3.0...v0.3.1
436
- [0.3.0]: https://github.com/Scaffoldic/agentforge-grpah/compare/v0.2.0...v0.3.0
437
- [0.2.0]: https://github.com/Scaffoldic/agentforge-grpah/compare/v0.1.0...v0.2.0
438
- [0.1.0]: https://github.com/Scaffoldic/agentforge-grpah/releases/tag/v0.1.0
652
+ [Unreleased]: https://github.com/Scaffoldic/agentforge-graph/compare/v0.4.0...HEAD
653
+ [0.4.0]: https://github.com/Scaffoldic/agentforge-graph/compare/v0.3.3...v0.4.0
654
+ [0.3.3]: https://github.com/Scaffoldic/agentforge-graph/compare/v0.3.2...v0.3.3
655
+ [0.3.2]: https://github.com/Scaffoldic/agentforge-graph/compare/v0.3.1...v0.3.2
656
+ [0.3.1]: https://github.com/Scaffoldic/agentforge-graph/compare/v0.3.0...v0.3.1
657
+ [0.3.0]: https://github.com/Scaffoldic/agentforge-graph/compare/v0.2.0...v0.3.0
658
+ [0.2.0]: https://github.com/Scaffoldic/agentforge-graph/compare/v0.1.0...v0.2.0
659
+ [0.1.0]: https://github.com/Scaffoldic/agentforge-graph/releases/tag/v0.1.0