codegraph-brain 0.12.0__tar.gz → 0.13.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 (313) hide show
  1. codegraph_brain-0.13.0/.gitattributes +6 -0
  2. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/.github/workflows/ci.yml +31 -1
  3. codegraph_brain-0.13.0/.release-please-manifest.json +3 -0
  4. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/CHANGELOG.md +7 -0
  5. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/PKG-INFO +1 -1
  6. codegraph_brain-0.13.0/benchmarks/martian-p3-run1.jsonl +19 -0
  7. codegraph_brain-0.13.0/benchmarks/martian-p3-run2.jsonl +19 -0
  8. codegraph_brain-0.13.0/benchmarks/martian-p3-run3.jsonl +7 -0
  9. codegraph_brain-0.13.0/benchmarks/martian-repeat-reviews.jsonl +6 -0
  10. codegraph_brain-0.13.0/benchmarks/martian-reviews.jsonl +64 -0
  11. codegraph_brain-0.13.0/docs/specs/2026-08-14-review-fingerprint-design.md +545 -0
  12. codegraph_brain-0.13.0/docs/specs/plans/2026-08-14-review-fingerprint.md +1389 -0
  13. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/pyproject.toml +1 -1
  14. codegraph_brain-0.13.0/scripts/backfill_review_fingerprint.py +290 -0
  15. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/guardian_bench.py +3 -8
  16. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/guardian_martian.py +16 -2
  17. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/guardian_review.py +15 -2
  18. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/martian.py +15 -0
  19. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/metrics.py +4 -0
  20. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/providers/base.py +45 -0
  21. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/providers/gemini.py +4 -0
  22. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/providers/mistral.py +4 -0
  23. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/providers/ollama.py +3 -0
  24. codegraph_brain-0.13.0/src/cgis/guardian/review_fingerprint.py +262 -0
  25. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/runner.py +14 -0
  26. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/conftest.py +37 -1
  27. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/guardian_stubs.py +8 -0
  28. codegraph_brain-0.13.0/tests/unit/review_path_inventory.txt +43 -0
  29. codegraph_brain-0.13.0/tests/unit/test_backfill_review_fingerprint.py +454 -0
  30. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_chunked.py +3 -0
  31. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_core.py +9 -0
  32. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_martian.py +3 -0
  33. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_martian_script.py +18 -1
  34. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_metrics.py +37 -0
  35. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_providers.py +4 -0
  36. codegraph_brain-0.13.0/tests/unit/test_guardian_providers_name.py +128 -0
  37. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_runner.py +38 -0
  38. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_salvage.py +3 -0
  39. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_skeptic.py +3 -0
  40. codegraph_brain-0.13.0/tests/unit/test_review_fingerprint_closure.py +259 -0
  41. codegraph_brain-0.13.0/tests/unit/test_review_fingerprint_contract.py +122 -0
  42. codegraph_brain-0.13.0/tests/unit/test_review_fingerprint_digest.py +173 -0
  43. codegraph_brain-0.13.0/tests/unit/test_review_fingerprint_record.py +25 -0
  44. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/uv.lock +1 -1
  45. codegraph_brain-0.12.0/.release-please-manifest.json +0 -3
  46. codegraph_brain-0.12.0/benchmarks/martian-p3-run1.jsonl +0 -19
  47. codegraph_brain-0.12.0/benchmarks/martian-p3-run2.jsonl +0 -19
  48. codegraph_brain-0.12.0/benchmarks/martian-p3-run3.jsonl +0 -7
  49. codegraph_brain-0.12.0/benchmarks/martian-repeat-reviews.jsonl +0 -6
  50. codegraph_brain-0.12.0/benchmarks/martian-reviews.jsonl +0 -64
  51. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/.claude-plugin/marketplace.json +0 -0
  52. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/.github/workflows/autodoc.yml +0 -0
  53. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/.github/workflows/guardian.yml +0 -0
  54. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/.github/workflows/pr-title.yml +0 -0
  55. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/.github/workflows/release-please.yml +0 -0
  56. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/.gitignore +0 -0
  57. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/.pre-commit-config.yaml +0 -0
  58. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/.python-version +0 -0
  59. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/CLAUDE.md +0 -0
  60. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/CONTRIBUTING.md +0 -0
  61. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/LICENSE +0 -0
  62. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/Makefile +0 -0
  63. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/PRIVACY.md +0 -0
  64. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/README.md +0 -0
  65. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/CURATION.md +0 -0
  66. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/calibration.jsonl +0 -0
  67. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-122.yaml +0 -0
  68. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-140.yaml +0 -0
  69. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-141.yaml +0 -0
  70. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-142.yaml +0 -0
  71. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-143.yaml +0 -0
  72. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-144.yaml +0 -0
  73. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-278.yaml +0 -0
  74. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-313.yaml +0 -0
  75. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/guardian/results.jsonl +0 -0
  76. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian/README.md +0 -0
  77. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian/cal_dot_com.json +0 -0
  78. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian/discourse.json +0 -0
  79. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian/grafana.json +0 -0
  80. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian/keycloak.json +0 -0
  81. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian/sentry.json +0 -0
  82. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian-judged.jsonl +0 -0
  83. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian-p3-judged-run1.jsonl +0 -0
  84. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian-p3-judged-run1.jsonl.corrupted-backup +0 -0
  85. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian-plan.json +0 -0
  86. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/benchmarks/martian-repeat-judged.jsonl +0 -0
  87. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/data/.gitkeep +0 -0
  88. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/AUDIT.md +0 -0
  89. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/CASE_STUDY.md +0 -0
  90. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/GUARDIAN_LOCAL_BENCH.md +0 -0
  91. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/GUARDIAN_REMOTE_OLLAMA.md +0 -0
  92. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/architecture/HOW_IT_WORKS.md +0 -0
  93. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/architecture/ONTOLOGY.md +0 -0
  94. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/architecture/PATTERNS_AND_TRIADS.md +0 -0
  95. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/architecture/SELF_PORTRAIT.md +0 -0
  96. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/architecture/diagrams/pipeline_flow.mermaid +0 -0
  97. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/architecture/health_badge.json +0 -0
  98. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/assets/.gitignore +0 -0
  99. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/assets/cgis-app-avatar.png +0 -0
  100. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/assets/cgis-app-avatar.svg +0 -0
  101. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/assets/generate_avatar.py +0 -0
  102. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/examples/.gitkeep +0 -0
  103. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/how-to/AGENT_ONBOARDING.md +0 -0
  104. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/how-to/CLI_USAGE.md +0 -0
  105. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/how-to/MCP_REFERENCE.md +0 -0
  106. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/lab-notes/2026-06-11-chunked-review-negative-result.md +0 -0
  107. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/ontology/.gitkeep +0 -0
  108. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/ontology/core.yaml +0 -0
  109. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/ontology/domains.yaml +0 -0
  110. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/ontology/patterns.yaml +0 -0
  111. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/ontology/tolerances.lock +0 -0
  112. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-09-domain-pattern-fingerprint-design.md +0 -0
  113. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-09-pattern-alphabet-motif-basis-design.md +0 -0
  114. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-10-guardian-sprint-design.md +0 -0
  115. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-fastapi-di-edges-design.md +0 -0
  116. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-guardian-chunked-review-design.md +0 -0
  117. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-guardian-chunker-design.md +0 -0
  118. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-mcp-drift-validate-fqn-design.md +0 -0
  119. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-resolver-split-design.md +0 -0
  120. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-symbol-import-edges-design.md +0 -0
  121. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-12-drift-empty-domains-design.md +0 -0
  122. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-12-gate-semantics-design.md +0 -0
  123. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-12-init-ontology-design.md +0 -0
  124. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-12-release-please-ci-design.md +0 -0
  125. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-13-suggest-packages-design.md +0 -0
  126. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-13-tangle-anti-pattern-design.md +0 -0
  127. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-29-guardian-skeptic-scoring-design.md +0 -0
  128. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-cgis-fractal-design.md +0 -0
  129. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-cgis-fractal-plan.md +0 -0
  130. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-chunk-source-filter-design.md +0 -0
  131. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-chunk-source-filter-plan.md +0 -0
  132. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-genai-client-close-design.md +0 -0
  133. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-genai-client-close-plan.md +0 -0
  134. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-guardian-precision-bench-design.md +0 -0
  135. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-guardian-precision-bench-plan.md +0 -0
  136. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-guardian-timeout-retry-design.md +0 -0
  137. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-guardian-timeout-retry-plan.md +0 -0
  138. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-31-finder-bug-class-taxonomy.md +0 -0
  139. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-08-01-aura-autoevolution-poc.md +0 -0
  140. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/2026-08-11-guardian-code-review-bench.md +0 -0
  141. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/BLUEPRINT.md +0 -0
  142. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/PRD.md +0 -0
  143. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/TDD.md +0 -0
  144. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-09-fingerprint-drift.md +0 -0
  145. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-10-guardian-context-skeptic-inline.md +0 -0
  146. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-10-guardian-structured-findings-bench.md +0 -0
  147. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-10-motif-basis-part-b.md +0 -0
  148. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-10-unified-pattern-alphabet.md +0 -0
  149. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-fastapi-di-edges.md +0 -0
  150. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-guardian-chunked-review.md +0 -0
  151. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-guardian-chunker.md +0 -0
  152. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-mcp-drift-validate-fqn.md +0 -0
  153. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-resolver-split.md +0 -0
  154. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-drift-empty-domains.md +0 -0
  155. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-gate-semantics.md +0 -0
  156. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-init-ontology.md +0 -0
  157. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-release-please-ci.md +0 -0
  158. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-symbol-import-edges.md +0 -0
  159. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-13-suggest-packages.md +0 -0
  160. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-07-29-guardian-skeptic-scoring.md +0 -0
  161. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/main.py +0 -0
  162. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/plugin/.claude-plugin/plugin.json +0 -0
  163. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/plugin/.mcp.json +0 -0
  164. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/plugin/README.md +0 -0
  165. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/plugin/skills/cgis/SKILL.md +0 -0
  166. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/plugin/skills/ingest/SKILL.md +0 -0
  167. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/release-please-config.json +0 -0
  168. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/colab_bench.sh +0 -0
  169. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/gen_ideal_graph.py +0 -0
  170. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/generate_health.py +0 -0
  171. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/generate_mcp_ref.py +0 -0
  172. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/generate_schema_docs.py +0 -0
  173. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/guardian_calibrate.py +0 -0
  174. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/inject_readme_graph.py +0 -0
  175. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/ollama_visitor.sh +0 -0
  176. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/probe_closure_gap.py +0 -0
  177. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/scripts/probe_tier_ladder.py +0 -0
  178. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/__init__.py +0 -0
  179. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/__main__.py +0 -0
  180. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/api/.gitkeep +0 -0
  181. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/api/__init__.py +0 -0
  182. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/api/mcp_server.py +0 -0
  183. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/cli.py +0 -0
  184. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/core/.gitkeep +0 -0
  185. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/core/models.py +0 -0
  186. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/.gitkeep +0 -0
  187. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_ast.py +0 -0
  188. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_classes.py +0 -0
  189. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_functions.py +0 -0
  190. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_imports.py +0 -0
  191. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_types.py +0 -0
  192. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/base.py +0 -0
  193. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/python_extractor.py +0 -0
  194. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/registry.py +0 -0
  195. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/extractors/typescript_extractor.py +0 -0
  196. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/__init__.py +0 -0
  197. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/axes.py +0 -0
  198. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/bench.py +0 -0
  199. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/calibrate.py +0 -0
  200. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/chunked.py +0 -0
  201. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/chunker.py +0 -0
  202. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/collector.py +0 -0
  203. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/core.py +0 -0
  204. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/diff_index.py +0 -0
  205. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/findings.py +0 -0
  206. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/github_poster.py +0 -0
  207. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/prompts.py +0 -0
  208. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/providers/__init__.py +0 -0
  209. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/recording.py +0 -0
  210. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/render.py +0 -0
  211. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/guardian/skeptic.py +0 -0
  212. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/pipeline.py +0 -0
  213. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/py.typed +0 -0
  214. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/__init__.py +0 -0
  215. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/analyzer.py +0 -0
  216. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/anomaly.py +0 -0
  217. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/cohesion.py +0 -0
  218. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/health.py +0 -0
  219. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/suggest_service.py +0 -0
  220. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/context/__init__.py +0 -0
  221. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/context/audit.py +0 -0
  222. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/context/context_service.py +0 -0
  223. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/context/prompt.py +0 -0
  224. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/context/snippet.py +0 -0
  225. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/__init__.py +0 -0
  226. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/_scc.py +0 -0
  227. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/drift.py +0 -0
  228. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/drift_service.py +0 -0
  229. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/fingerprint.py +0 -0
  230. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/fractal.py +0 -0
  231. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/ontology_init.py +0 -0
  232. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/quotient.py +0 -0
  233. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/triads.py +0 -0
  234. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/engine.py +0 -0
  235. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/fqn.py +0 -0
  236. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/render/__init__.py +0 -0
  237. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/render/graph_json.py +0 -0
  238. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/render/mermaid.py +0 -0
  239. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/query/render/metrics.py +0 -0
  240. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/resolver/.gitkeep +0 -0
  241. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/resolver/__init__.py +0 -0
  242. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/resolver/engine.py +0 -0
  243. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/resolver/indices.py +0 -0
  244. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/resolver/symbols.py +0 -0
  245. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/resolver/uplift.py +0 -0
  246. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/storage/.gitkeep +0 -0
  247. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/src/cgis/storage/sqlite_store.py +0 -0
  248. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/integration/.gitkeep +0 -0
  249. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/.gitkeep +0 -0
  250. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/__init__.py +0 -0
  251. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/conftest.py +0 -0
  252. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_architecture.py +0 -0
  253. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_drift.py +0 -0
  254. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_fractal.py +0 -0
  255. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_init_ontology_roundtrip.py +0 -0
  256. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_self_parse.py +0 -0
  257. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_self_parse_ts.py +0 -0
  258. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_suggest.py +0 -0
  259. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/.gitkeep +0 -0
  260. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test___main__.py +0 -0
  261. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_analyzer.py +0 -0
  262. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_audit.py +0 -0
  263. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_cli.py +0 -0
  264. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_cohesion.py +0 -0
  265. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_context_service.py +0 -0
  266. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_di_acceptance.py +0 -0
  267. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_drift.py +0 -0
  268. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_drift_service.py +0 -0
  269. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_extractor_registry.py +0 -0
  270. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_fingerprint.py +0 -0
  271. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_fqn.py +0 -0
  272. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_fractal.py +0 -0
  273. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_gen_ideal_graph.py +0 -0
  274. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_generate_mcp_ref.py +0 -0
  275. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_graph_json.py +0 -0
  276. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_axes.py +0 -0
  277. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_bench.py +0 -0
  278. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_calibrate.py +0 -0
  279. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_calibrate_script.py +0 -0
  280. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_chunker.py +0 -0
  281. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_collector.py +0 -0
  282. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_diff_index.py +0 -0
  283. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_findings.py +0 -0
  284. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_martian_union.py +0 -0
  285. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_mistral_sampling.py +0 -0
  286. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_ollama_sampling.py +0 -0
  287. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_ollama_truncation.py +0 -0
  288. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_poster.py +0 -0
  289. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_recording.py +0 -0
  290. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_render.py +0 -0
  291. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_review_script.py +0 -0
  292. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_health_scorer.py +0 -0
  293. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_import_acceptance.py +0 -0
  294. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_mcp_server.py +0 -0
  295. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_mermaid.py +0 -0
  296. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_metrics.py +0 -0
  297. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_models.py +0 -0
  298. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_ontology_compliance.py +0 -0
  299. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_ontology_init.py +0 -0
  300. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_patterns_yaml.py +0 -0
  301. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_pipeline.py +0 -0
  302. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_prompt.py +0 -0
  303. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_python_extractor.py +0 -0
  304. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_quotient.py +0 -0
  305. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_resolver.py +0 -0
  306. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_resolver_indices.py +0 -0
  307. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_resolver_symbols.py +0 -0
  308. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_snippet.py +0 -0
  309. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_sqlite_store.py +0 -0
  310. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_suggest_service.py +0 -0
  311. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_triads.py +0 -0
  312. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_typescript_extractor.py +0 -0
  313. {codegraph_brain-0.12.0 → codegraph_brain-0.13.0}/tests/unit/test_uplift.py +0 -0
@@ -0,0 +1,6 @@
1
+ # The review fingerprint (#375) hashes file bytes, so a checkout that stores
2
+ # CRLF would produce a different digest for identical code — and the measured
3
+ # digest would disagree with the reconstructed one on the same commit. Pinned
4
+ # rather than normalised at hash time, because a normaliser can only fail by
5
+ # merging two reviewers that differ.
6
+ *.py text eol=lf
@@ -115,6 +115,34 @@ jobs:
115
115
  # Deliberately scoped to scripts/. src/ keeps the rule — metrics.py:70
116
116
  # is library code and its instance deserves a real answer (#342).
117
117
  #
118
+ # pythonsecurity:S2083 ("do not construct the path from user-controlled
119
+ # data") is exempted for scripts/ too, but for a DIFFERENT reason than
120
+ # S8707 above, and the difference matters. S8707's argument is that
121
+ # confining these tools to a root would break legitimate ad-hoc runs.
122
+ # S2083 was raised against backfill_review_fingerprint.py, which does
123
+ # the opposite: `safe_corpus_path` resolves the argument, requires a
124
+ # .jsonl regular file, confines it under the repository root, raises
125
+ # otherwise, and returns the resolved path that `backfill()` then uses
126
+ # for every read and write — the original argument never reaches the
127
+ # filesystem again (#375).
128
+ #
129
+ # The finding survived that. It was reported first at the read, then at
130
+ # the write, unchanged by binding the check to the value used, because
131
+ # SonarCloud's Python taint engine does not model `Path.resolve()` plus
132
+ # `is_relative_to()` as a sanitiser. The remaining report is an engine
133
+ # limitation, not an unvalidated path. Verified rather than assumed:
134
+ # main carries no open S2083, and the one S8707 left in src/ is marked
135
+ # FALSE-POSITIVE by a human, so neither rule has a working precedent
136
+ # here to copy blindly.
137
+ #
138
+ # The alternative considered and rejected was taking a bare filename
139
+ # and building the path from a fixed base, which the engine would
140
+ # accept. It makes traversal inexpressible, but it changes a documented
141
+ # CLI to satisfy an analyser rather than to close a hole that is
142
+ # already closed. If a script ever takes a path it does NOT validate,
143
+ # this exemption hides it — that is the cost, and it is the reason the
144
+ # rule stays on for src/.
145
+ #
118
146
  # `sonar.newCode.referenceBranch` overrides the server-side new-code
119
147
  # definition for this analysis. The instance default is
120
148
  # `previous_version` (confirmed: sonar.leak.period=previous_version,
@@ -173,9 +201,11 @@ jobs:
173
201
  -Dsonar.tests=tests
174
202
  -Dsonar.python.version=3.12
175
203
  -Dsonar.python.coverage.reportPaths=coverage.xml
176
- -Dsonar.issue.ignore.multicriteria=e1,e2,e3
204
+ -Dsonar.issue.ignore.multicriteria=e1,e2,e3,e4
177
205
  -Dsonar.issue.ignore.multicriteria.e1.ruleKey=pythonsecurity:S8707
178
206
  -Dsonar.issue.ignore.multicriteria.e1.resourceKey=scripts/**/*.py
207
+ -Dsonar.issue.ignore.multicriteria.e4.ruleKey=pythonsecurity:S2083
208
+ -Dsonar.issue.ignore.multicriteria.e4.resourceKey=scripts/**/*.py
179
209
  -Dsonar.issue.ignore.multicriteria.e2.ruleKey=githubactions:S8541
180
210
  -Dsonar.issue.ignore.multicriteria.e2.resourceKey=.github/workflows/*.yml
181
211
  -Dsonar.issue.ignore.multicriteria.e3.ruleKey=githubactions:S8544
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.13.0"
3
+ }
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.13.0](https://github.com/zaebee/codegraph-brain/compare/codegraph-brain-v0.12.0...codegraph-brain-v0.13.0) (2026-08-15)
4
+
5
+
6
+ ### Features
7
+
8
+ * **guardian:** an identity for a reviewer, that a commit does not fragment ([#375](https://github.com/zaebee/codegraph-brain/issues/375)) ([#383](https://github.com/zaebee/codegraph-brain/issues/383)) ([e339a38](https://github.com/zaebee/codegraph-brain/commit/e339a38743ddfdaac1e7c8f0724281844d5a8b38))
9
+
3
10
  ## [0.12.0](https://github.com/zaebee/codegraph-brain/compare/codegraph-brain-v0.11.0...codegraph-brain-v0.12.0) (2026-08-13)
4
11
 
5
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: codegraph-brain
3
- Version: 0.12.0
3
+ Version: 0.13.0
4
4
  Summary: Semantic code graph for AI agents — deterministic FQN resolution, impact analysis and architectural drift gates, exposed over MCP.
5
5
  Project-URL: Homepage, https://github.com/zaebee/codegraph-brain
6
6
  Project-URL: Repository, https://github.com/zaebee/codegraph-brain