codegraph-brain 0.11.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 (311) hide show
  1. codegraph_brain-0.13.0/.gitattributes +6 -0
  2. {codegraph_brain-0.11.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.11.0 → codegraph_brain-0.13.0}/CHANGELOG.md +39 -0
  5. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/PKG-INFO +3 -1
  6. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/README.md +2 -0
  7. codegraph_brain-0.13.0/benchmarks/martian-judged.jsonl +109 -0
  8. codegraph_brain-0.13.0/benchmarks/martian-p3-judged-run1.jsonl +2 -0
  9. codegraph_brain-0.13.0/benchmarks/martian-p3-judged-run1.jsonl.corrupted-backup +11 -0
  10. codegraph_brain-0.13.0/benchmarks/martian-p3-run1.jsonl +19 -0
  11. codegraph_brain-0.13.0/benchmarks/martian-p3-run2.jsonl +19 -0
  12. codegraph_brain-0.13.0/benchmarks/martian-p3-run3.jsonl +7 -0
  13. codegraph_brain-0.13.0/benchmarks/martian-repeat-judged.jsonl +6 -0
  14. codegraph_brain-0.13.0/benchmarks/martian-repeat-reviews.jsonl +6 -0
  15. codegraph_brain-0.13.0/benchmarks/martian-reviews.jsonl +64 -0
  16. codegraph_brain-0.13.0/docs/GUARDIAN_LOCAL_BENCH.md +157 -0
  17. codegraph_brain-0.13.0/docs/GUARDIAN_REMOTE_OLLAMA.md +105 -0
  18. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-08-11-guardian-code-review-bench.md +620 -2
  19. codegraph_brain-0.13.0/docs/specs/2026-08-14-review-fingerprint-design.md +545 -0
  20. codegraph_brain-0.13.0/docs/specs/plans/2026-08-14-review-fingerprint.md +1389 -0
  21. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/pyproject.toml +1 -1
  22. codegraph_brain-0.13.0/scripts/backfill_review_fingerprint.py +290 -0
  23. codegraph_brain-0.13.0/scripts/colab_bench.sh +90 -0
  24. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/guardian_bench.py +3 -8
  25. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/guardian_martian.py +378 -42
  26. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/guardian_review.py +15 -2
  27. codegraph_brain-0.13.0/scripts/ollama_visitor.sh +107 -0
  28. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/calibrate.py +39 -1
  29. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/core.py +30 -4
  30. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/findings.py +64 -1
  31. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/martian.py +265 -2
  32. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/metrics.py +4 -0
  33. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/providers/base.py +45 -0
  34. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/providers/gemini.py +4 -0
  35. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/providers/mistral.py +49 -2
  36. codegraph_brain-0.13.0/src/cgis/guardian/providers/ollama.py +211 -0
  37. codegraph_brain-0.13.0/src/cgis/guardian/review_fingerprint.py +262 -0
  38. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/runner.py +90 -5
  39. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/conftest.py +37 -1
  40. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/guardian_stubs.py +8 -0
  41. codegraph_brain-0.13.0/tests/unit/review_path_inventory.txt +43 -0
  42. codegraph_brain-0.13.0/tests/unit/test_backfill_review_fingerprint.py +454 -0
  43. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_fingerprint.py +3 -1
  44. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_chunked.py +3 -0
  45. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_core.py +20 -1
  46. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_martian.py +3 -0
  47. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_martian_script.py +829 -8
  48. codegraph_brain-0.13.0/tests/unit/test_guardian_martian_union.py +347 -0
  49. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_metrics.py +37 -0
  50. codegraph_brain-0.13.0/tests/unit/test_guardian_mistral_sampling.py +213 -0
  51. codegraph_brain-0.13.0/tests/unit/test_guardian_ollama_sampling.py +254 -0
  52. codegraph_brain-0.13.0/tests/unit/test_guardian_ollama_truncation.py +204 -0
  53. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_providers.py +4 -0
  54. codegraph_brain-0.13.0/tests/unit/test_guardian_providers_name.py +128 -0
  55. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_runner.py +92 -0
  56. codegraph_brain-0.13.0/tests/unit/test_guardian_salvage.py +299 -0
  57. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_skeptic.py +3 -0
  58. codegraph_brain-0.13.0/tests/unit/test_review_fingerprint_closure.py +259 -0
  59. codegraph_brain-0.13.0/tests/unit/test_review_fingerprint_contract.py +122 -0
  60. codegraph_brain-0.13.0/tests/unit/test_review_fingerprint_digest.py +173 -0
  61. codegraph_brain-0.13.0/tests/unit/test_review_fingerprint_record.py +25 -0
  62. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/uv.lock +1 -1
  63. codegraph_brain-0.11.0/.release-please-manifest.json +0 -3
  64. codegraph_brain-0.11.0/benchmarks/martian-judged.jsonl +0 -1
  65. codegraph_brain-0.11.0/benchmarks/martian-reviews.jsonl +0 -1
  66. codegraph_brain-0.11.0/src/cgis/guardian/providers/ollama.py +0 -99
  67. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/.claude-plugin/marketplace.json +0 -0
  68. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/.github/workflows/autodoc.yml +0 -0
  69. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/.github/workflows/guardian.yml +0 -0
  70. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/.github/workflows/pr-title.yml +0 -0
  71. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/.github/workflows/release-please.yml +0 -0
  72. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/.gitignore +0 -0
  73. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/.pre-commit-config.yaml +0 -0
  74. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/.python-version +0 -0
  75. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/CLAUDE.md +0 -0
  76. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/CONTRIBUTING.md +0 -0
  77. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/LICENSE +0 -0
  78. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/Makefile +0 -0
  79. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/PRIVACY.md +0 -0
  80. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/CURATION.md +0 -0
  81. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/calibration.jsonl +0 -0
  82. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-122.yaml +0 -0
  83. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-140.yaml +0 -0
  84. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-141.yaml +0 -0
  85. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-142.yaml +0 -0
  86. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-143.yaml +0 -0
  87. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-144.yaml +0 -0
  88. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-278.yaml +0 -0
  89. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/pr-313.yaml +0 -0
  90. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/guardian/results.jsonl +0 -0
  91. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/martian/README.md +0 -0
  92. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/martian/cal_dot_com.json +0 -0
  93. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/martian/discourse.json +0 -0
  94. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/martian/grafana.json +0 -0
  95. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/martian/keycloak.json +0 -0
  96. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/martian/sentry.json +0 -0
  97. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/benchmarks/martian-plan.json +0 -0
  98. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/data/.gitkeep +0 -0
  99. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/AUDIT.md +0 -0
  100. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/CASE_STUDY.md +0 -0
  101. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/architecture/HOW_IT_WORKS.md +0 -0
  102. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/architecture/ONTOLOGY.md +0 -0
  103. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/architecture/PATTERNS_AND_TRIADS.md +0 -0
  104. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/architecture/SELF_PORTRAIT.md +0 -0
  105. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/architecture/diagrams/pipeline_flow.mermaid +0 -0
  106. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/architecture/health_badge.json +0 -0
  107. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/assets/.gitignore +0 -0
  108. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/assets/cgis-app-avatar.png +0 -0
  109. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/assets/cgis-app-avatar.svg +0 -0
  110. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/assets/generate_avatar.py +0 -0
  111. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/examples/.gitkeep +0 -0
  112. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/how-to/AGENT_ONBOARDING.md +0 -0
  113. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/how-to/CLI_USAGE.md +0 -0
  114. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/how-to/MCP_REFERENCE.md +0 -0
  115. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/lab-notes/2026-06-11-chunked-review-negative-result.md +0 -0
  116. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/ontology/.gitkeep +0 -0
  117. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/ontology/core.yaml +0 -0
  118. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/ontology/domains.yaml +0 -0
  119. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/ontology/patterns.yaml +0 -0
  120. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/ontology/tolerances.lock +0 -0
  121. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-09-domain-pattern-fingerprint-design.md +0 -0
  122. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-09-pattern-alphabet-motif-basis-design.md +0 -0
  123. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-10-guardian-sprint-design.md +0 -0
  124. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-fastapi-di-edges-design.md +0 -0
  125. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-guardian-chunked-review-design.md +0 -0
  126. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-guardian-chunker-design.md +0 -0
  127. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-mcp-drift-validate-fqn-design.md +0 -0
  128. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-resolver-split-design.md +0 -0
  129. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-11-symbol-import-edges-design.md +0 -0
  130. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-12-drift-empty-domains-design.md +0 -0
  131. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-12-gate-semantics-design.md +0 -0
  132. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-12-init-ontology-design.md +0 -0
  133. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-12-release-please-ci-design.md +0 -0
  134. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-13-suggest-packages-design.md +0 -0
  135. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-06-13-tangle-anti-pattern-design.md +0 -0
  136. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-29-guardian-skeptic-scoring-design.md +0 -0
  137. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-cgis-fractal-design.md +0 -0
  138. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-cgis-fractal-plan.md +0 -0
  139. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-chunk-source-filter-design.md +0 -0
  140. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-chunk-source-filter-plan.md +0 -0
  141. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-genai-client-close-design.md +0 -0
  142. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-genai-client-close-plan.md +0 -0
  143. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-guardian-precision-bench-design.md +0 -0
  144. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-guardian-precision-bench-plan.md +0 -0
  145. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-guardian-timeout-retry-design.md +0 -0
  146. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-30-guardian-timeout-retry-plan.md +0 -0
  147. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-07-31-finder-bug-class-taxonomy.md +0 -0
  148. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/2026-08-01-aura-autoevolution-poc.md +0 -0
  149. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/BLUEPRINT.md +0 -0
  150. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/PRD.md +0 -0
  151. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/TDD.md +0 -0
  152. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-09-fingerprint-drift.md +0 -0
  153. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-10-guardian-context-skeptic-inline.md +0 -0
  154. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-10-guardian-structured-findings-bench.md +0 -0
  155. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-10-motif-basis-part-b.md +0 -0
  156. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-10-unified-pattern-alphabet.md +0 -0
  157. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-fastapi-di-edges.md +0 -0
  158. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-guardian-chunked-review.md +0 -0
  159. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-guardian-chunker.md +0 -0
  160. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-mcp-drift-validate-fqn.md +0 -0
  161. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-11-resolver-split.md +0 -0
  162. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-drift-empty-domains.md +0 -0
  163. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-gate-semantics.md +0 -0
  164. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-init-ontology.md +0 -0
  165. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-release-please-ci.md +0 -0
  166. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-12-symbol-import-edges.md +0 -0
  167. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-06-13-suggest-packages.md +0 -0
  168. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/docs/specs/plans/2026-07-29-guardian-skeptic-scoring.md +0 -0
  169. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/main.py +0 -0
  170. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/plugin/.claude-plugin/plugin.json +0 -0
  171. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/plugin/.mcp.json +0 -0
  172. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/plugin/README.md +0 -0
  173. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/plugin/skills/cgis/SKILL.md +0 -0
  174. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/plugin/skills/ingest/SKILL.md +0 -0
  175. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/release-please-config.json +0 -0
  176. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/gen_ideal_graph.py +0 -0
  177. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/generate_health.py +0 -0
  178. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/generate_mcp_ref.py +0 -0
  179. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/generate_schema_docs.py +0 -0
  180. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/guardian_calibrate.py +0 -0
  181. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/inject_readme_graph.py +0 -0
  182. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/probe_closure_gap.py +0 -0
  183. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/scripts/probe_tier_ladder.py +0 -0
  184. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/__init__.py +0 -0
  185. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/__main__.py +0 -0
  186. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/api/.gitkeep +0 -0
  187. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/api/__init__.py +0 -0
  188. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/api/mcp_server.py +0 -0
  189. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/cli.py +0 -0
  190. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/core/.gitkeep +0 -0
  191. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/core/models.py +0 -0
  192. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/.gitkeep +0 -0
  193. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_ast.py +0 -0
  194. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_classes.py +0 -0
  195. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_functions.py +0 -0
  196. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_imports.py +0 -0
  197. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/_python_types.py +0 -0
  198. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/base.py +0 -0
  199. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/python_extractor.py +0 -0
  200. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/registry.py +0 -0
  201. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/extractors/typescript_extractor.py +0 -0
  202. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/__init__.py +0 -0
  203. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/axes.py +0 -0
  204. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/bench.py +0 -0
  205. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/chunked.py +0 -0
  206. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/chunker.py +0 -0
  207. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/collector.py +0 -0
  208. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/diff_index.py +0 -0
  209. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/github_poster.py +0 -0
  210. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/prompts.py +0 -0
  211. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/providers/__init__.py +0 -0
  212. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/recording.py +0 -0
  213. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/render.py +0 -0
  214. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/guardian/skeptic.py +0 -0
  215. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/pipeline.py +0 -0
  216. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/py.typed +0 -0
  217. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/__init__.py +0 -0
  218. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/analyzer.py +0 -0
  219. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/anomaly.py +0 -0
  220. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/cohesion.py +0 -0
  221. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/health.py +0 -0
  222. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/analysis/suggest_service.py +0 -0
  223. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/context/__init__.py +0 -0
  224. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/context/audit.py +0 -0
  225. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/context/context_service.py +0 -0
  226. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/context/prompt.py +0 -0
  227. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/context/snippet.py +0 -0
  228. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/__init__.py +0 -0
  229. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/_scc.py +0 -0
  230. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/drift.py +0 -0
  231. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/drift_service.py +0 -0
  232. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/fingerprint.py +0 -0
  233. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/fractal.py +0 -0
  234. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/ontology_init.py +0 -0
  235. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/quotient.py +0 -0
  236. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/drift/triads.py +0 -0
  237. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/engine.py +0 -0
  238. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/fqn.py +0 -0
  239. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/render/__init__.py +0 -0
  240. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/render/graph_json.py +0 -0
  241. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/render/mermaid.py +0 -0
  242. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/query/render/metrics.py +0 -0
  243. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/resolver/.gitkeep +0 -0
  244. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/resolver/__init__.py +0 -0
  245. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/resolver/engine.py +0 -0
  246. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/resolver/indices.py +0 -0
  247. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/resolver/symbols.py +0 -0
  248. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/resolver/uplift.py +0 -0
  249. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/storage/.gitkeep +0 -0
  250. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/src/cgis/storage/sqlite_store.py +0 -0
  251. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/integration/.gitkeep +0 -0
  252. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/.gitkeep +0 -0
  253. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/__init__.py +0 -0
  254. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/conftest.py +0 -0
  255. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_architecture.py +0 -0
  256. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_drift.py +0 -0
  257. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_fractal.py +0 -0
  258. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_init_ontology_roundtrip.py +0 -0
  259. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_self_parse.py +0 -0
  260. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_self_parse_ts.py +0 -0
  261. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/self_parsing/test_suggest.py +0 -0
  262. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/.gitkeep +0 -0
  263. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test___main__.py +0 -0
  264. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_analyzer.py +0 -0
  265. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_audit.py +0 -0
  266. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_cli.py +0 -0
  267. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_cohesion.py +0 -0
  268. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_context_service.py +0 -0
  269. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_di_acceptance.py +0 -0
  270. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_drift.py +0 -0
  271. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_drift_service.py +0 -0
  272. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_extractor_registry.py +0 -0
  273. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_fqn.py +0 -0
  274. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_fractal.py +0 -0
  275. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_gen_ideal_graph.py +0 -0
  276. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_generate_mcp_ref.py +0 -0
  277. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_graph_json.py +0 -0
  278. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_axes.py +0 -0
  279. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_bench.py +0 -0
  280. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_calibrate.py +0 -0
  281. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_calibrate_script.py +0 -0
  282. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_chunker.py +0 -0
  283. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_collector.py +0 -0
  284. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_diff_index.py +0 -0
  285. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_findings.py +0 -0
  286. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_poster.py +0 -0
  287. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_recording.py +0 -0
  288. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_render.py +0 -0
  289. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_guardian_review_script.py +0 -0
  290. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_health_scorer.py +0 -0
  291. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_import_acceptance.py +0 -0
  292. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_mcp_server.py +0 -0
  293. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_mermaid.py +0 -0
  294. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_metrics.py +0 -0
  295. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_models.py +0 -0
  296. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_ontology_compliance.py +0 -0
  297. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_ontology_init.py +0 -0
  298. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_patterns_yaml.py +0 -0
  299. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_pipeline.py +0 -0
  300. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_prompt.py +0 -0
  301. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_python_extractor.py +0 -0
  302. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_quotient.py +0 -0
  303. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_resolver.py +0 -0
  304. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_resolver_indices.py +0 -0
  305. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_resolver_symbols.py +0 -0
  306. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_snippet.py +0 -0
  307. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_sqlite_store.py +0 -0
  308. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_suggest_service.py +0 -0
  309. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_triads.py +0 -0
  310. {codegraph_brain-0.11.0 → codegraph_brain-0.13.0}/tests/unit/test_typescript_extractor.py +0 -0
  311. {codegraph_brain-0.11.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,44 @@
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
+
10
+ ## [0.12.0](https://github.com/zaebee/codegraph-brain/compare/codegraph-brain-v0.11.0...codegraph-brain-v0.12.0) (2026-08-13)
11
+
12
+
13
+ ### Features
14
+
15
+ * **guardian:** an ablation arm, because G5 cannot separate graph from language ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#366](https://github.com/zaebee/codegraph-brain/issues/366)) ([e2374a7](https://github.com/zaebee/codegraph-brain/commit/e2374a72016413414241e71d3cc37a7ce251c590))
16
+ * **guardian:** bound the local finder's output, because it does not stop ([#246](https://github.com/zaebee/codegraph-brain/issues/246)) ([#381](https://github.com/zaebee/codegraph-brain/issues/381)) ([1e0b5e1](https://github.com/zaebee/codegraph-brain/commit/1e0b5e13332c697102a22838f90fed265c0fec67))
17
+ * **guardian:** expose judge concurrency, because Mistral needs it at 1 ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#364](https://github.com/zaebee/codegraph-brain/issues/364)) ([47392e8](https://github.com/zaebee/codegraph-brain/commit/47392e829e8653e6d145533a637342e8a46b4982))
18
+ * **guardian:** keep the valid prefix of a truncated finder response ([#248](https://github.com/zaebee/codegraph-brain/issues/248)) ([#377](https://github.com/zaebee/codegraph-brain/issues/377)) ([d34f01f](https://github.com/zaebee/codegraph-brain/commit/d34f01fa11208c0f8202579edc7e07dccb163ad4))
19
+ * **guardian:** record what the judge spent, per row ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#378](https://github.com/zaebee/codegraph-brain/issues/378)) ([c4eea31](https://github.com/zaebee/codegraph-brain/commit/c4eea31b12492d90dafb92b3afacfbe9a942bab5))
20
+ * **guardian:** refuse a review of a truncated prompt, and supply the missing visitor ([#248](https://github.com/zaebee/codegraph-brain/issues/248)) ([#371](https://github.com/zaebee/codegraph-brain/issues/371)) ([5f3e9b7](https://github.com/zaebee/codegraph-brain/commit/5f3e9b73bcc36aabe64d634e4aa95ea0f5bd7fb7))
21
+ * **guardian:** review --slice, so the registered population is a command ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#373](https://github.com/zaebee/codegraph-brain/issues/373)) ([4d1fe6a](https://github.com/zaebee/codegraph-brain/commit/4d1fe6a8073641cdd46a9d9af24a3c31abd70764))
22
+ * **guardian:** sampling reaches Ollama, instead of the chat template deciding ([#246](https://github.com/zaebee/codegraph-brain/issues/246)) ([#380](https://github.com/zaebee/codegraph-brain/issues/380)) ([14cb966](https://github.com/zaebee/codegraph-brain/commit/14cb9664f200aa9507f1f364f72dfb0de0981259))
23
+ * **guardian:** send the registered temperature, and survive a 429 ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#372](https://github.com/zaebee/codegraph-brain/issues/372)) ([3d7efd8](https://github.com/zaebee/codegraph-brain/commit/3d7efd82efe750283a43eb0d5cb7941f7f67ddd1))
24
+ * **guardian:** the union arm scores offline, and a unit bug made G8 unfailable ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#370](https://github.com/zaebee/codegraph-brain/issues/370)) ([dd290fe](https://github.com/zaebee/codegraph-brain/commit/dd290fef986ad0dcf0b62da9fa2824e0ace1b90d))
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * **guardian:** a dead judge is not a reviewer that found nothing ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#376](https://github.com/zaebee/codegraph-brain/issues/376)) ([2772c30](https://github.com/zaebee/codegraph-brain/commit/2772c305e9d7ca70c31bdfc2b12297392768330c))
30
+ * **guardian:** a truncated review is not a review that found nothing ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#374](https://github.com/zaebee/codegraph-brain/issues/374)) ([9f86bb6](https://github.com/zaebee/codegraph-brain/commit/9f86bb63e297e2b8bdda6bf6214e5d1e1bbd9339))
31
+ * **guardian:** the ablation must skip PRs with no graph to remove ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#367](https://github.com/zaebee/codegraph-brain/issues/367)) ([f9c36f5](https://github.com/zaebee/codegraph-brain/commit/f9c36f5cae503d83002ad03957eb7bf0cf31d263))
32
+
33
+
34
+ ### Documentation
35
+
36
+ * **guardian:** bench a local model in a notebook, and retire a wrong lever ([#246](https://github.com/zaebee/codegraph-brain/issues/246)) ([#379](https://github.com/zaebee/codegraph-brain/issues/379)) ([419fcc1](https://github.com/zaebee/codegraph-brain/commit/419fcc1eb28fddd9a2c0cef814480d861e6d8c88))
37
+ * **spec:** Phase 2 results — G5 fails at +9.5 pp against a 10 pp gate ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#362](https://github.com/zaebee/codegraph-brain/issues/362)) ([9481a54](https://github.com/zaebee/codegraph-brain/commit/9481a54c02b60786e14e6317d3a71c8a4cee12a0))
38
+ * **spec:** Phase 3 registers the union arm, and the pilot says it is marginal ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#369](https://github.com/zaebee/codegraph-brain/issues/369)) ([bc9caf4](https://github.com/zaebee/codegraph-brain/commit/bc9caf43c16a2ce27a0075b14eb0766569ae8c2d))
39
+ * **spec:** R5 — the noise floor equals the effect, so Phase 2 cannot answer its question ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#368](https://github.com/zaebee/codegraph-brain/issues/368)) ([8540bf1](https://github.com/zaebee/codegraph-brain/commit/8540bf1178a8535849bdd2fadfa5473f42040eb8))
40
+ * **spec:** second judge — G5 fails under both, and the row becomes publishable ([#342](https://github.com/zaebee/codegraph-brain/issues/342)) ([#365](https://github.com/zaebee/codegraph-brain/issues/365)) ([62c49e4](https://github.com/zaebee/codegraph-brain/commit/62c49e4b36c0950df0c10cce26c09418674130eb))
41
+
3
42
  ## [0.11.0](https://github.com/zaebee/codegraph-brain/compare/codegraph-brain-v0.10.0...codegraph-brain-v0.11.0) (2026-08-12)
4
43
 
5
44
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: codegraph-brain
3
- Version: 0.11.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
@@ -169,6 +169,8 @@ GUARDIAN_PROVIDER=ollama GUARDIAN_MODEL=qwen2.5-coder:14b \
169
169
  uv run python scripts/guardian_review.py --pr 123 --db graph.db --inline
170
170
  ```
171
171
 
172
+ No GPU on hand? **[Benchmark it on a notebook GPU →](docs/GUARDIAN_LOCAL_BENCH.md)** — free end to end, since the fixtures score without an LLM judge. Or **[point Guardian at a remote Ollama →](docs/GUARDIAN_REMOTE_OLLAMA.md)** — over an frp stcp tunnel, no public port, and a guard that refuses a review of a silently truncated prompt.
173
+
172
174
  ---
173
175
 
174
176
  ## 📈 Proof at Real Scale
@@ -119,6 +119,8 @@ GUARDIAN_PROVIDER=ollama GUARDIAN_MODEL=qwen2.5-coder:14b \
119
119
  uv run python scripts/guardian_review.py --pr 123 --db graph.db --inline
120
120
  ```
121
121
 
122
+ No GPU on hand? **[Benchmark it on a notebook GPU →](docs/GUARDIAN_LOCAL_BENCH.md)** — free end to end, since the fixtures score without an LLM judge. Or **[point Guardian at a remote Ollama →](docs/GUARDIAN_REMOTE_OLLAMA.md)** — over an frp stcp tunnel, no public port, and a guard that refuses a review of a silently truncated prompt.
123
+
122
124
  ---
123
125
 
124
126
  ## 📈 Proof at Real Scale
@@ -0,0 +1,109 @@
1
+ {"url":"https://github.com/getsentry/sentry/pull/80168","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":1,"tp":1,"fp":0,"fn":2,"precision":1.0,"recall":0.3333333333333333,"judge_failures":0,"decisions":[1,0,0],"judged_at":"2026-08-12T12:27:18.392581+00:00"}
2
+ {"url":"https://github.com/calcom/cal.com/pull/10600","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":4,"n_candidates":1,"tp":0,"fp":1,"fn":4,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0],"judged_at":"2026-08-12T15:50:45.034169+00:00"}
3
+ {"url":"https://github.com/calcom/cal.com/pull/10967","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":5,"n_candidates":8,"tp":1,"fp":7,"fn":4,"precision":0.125,"recall":0.2,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:51:23.250457+00:00"}
4
+ {"url":"https://github.com/calcom/cal.com/pull/11059","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":9,"n_candidates":7,"tp":4,"fp":3,"fn":5,"precision":0.5714285714285714,"recall":0.4444444444444444,"judge_failures":0,"decisions":[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:52:22.090960+00:00"}
5
+ {"url":"https://github.com/calcom/cal.com/pull/14740","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":6,"n_candidates":2,"tp":2,"fp":0,"fn":4,"precision":1.0,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,1,0,0,1,0,0,0,0,0,0],"judged_at":"2026-08-12T15:52:37.907593+00:00"}
6
+ {"url":"https://github.com/calcom/cal.com/pull/14943","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":1,"tp":1,"fp":0,"fn":1,"precision":1.0,"recall":0.5,"judge_failures":0,"decisions":[0,1],"judged_at":"2026-08-12T15:52:41.611402+00:00"}
7
+ {"url":"https://github.com/calcom/cal.com/pull/22345","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":2,"tp":0,"fp":2,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0],"judged_at":"2026-08-12T15:52:44.658863+00:00"}
8
+ {"url":"https://github.com/calcom/cal.com/pull/22532","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":4,"n_candidates":3,"tp":2,"fp":1,"fn":2,"precision":0.6666666666666666,"recall":0.5,"judge_failures":0,"decisions":[0,0,0,0,1,0,0,0,0,0,0,1],"judged_at":"2026-08-12T15:52:53.637681+00:00"}
9
+ {"url":"https://github.com/calcom/cal.com/pull/7232","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":6,"tp":1,"fp":5,"fn":2,"precision":0.16666666666666666,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:53:15.982968+00:00"}
10
+ {"url":"https://github.com/calcom/cal.com/pull/8087","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":3,"tp":1,"fp":2,"fn":0,"precision":0.3333333333333333,"recall":1.0,"judge_failures":0,"decisions":[1,1,1],"judged_at":"2026-08-12T15:53:19.249040+00:00"}
11
+ {"url":"https://github.com/calcom/cal.com/pull/8330","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":4,"tp":1,"fp":3,"fn":1,"precision":0.25,"recall":0.5,"judge_failures":0,"decisions":[0,1,0,0,0,0,0,0],"judged_at":"2026-08-12T15:53:27.357342+00:00"}
12
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/1","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":4,"n_candidates":5,"tp":2,"fp":3,"fn":2,"precision":0.4,"recall":0.5,"judge_failures":0,"decisions":[0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:53:45.264166+00:00"}
13
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/10","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":7,"n_candidates":4,"tp":2,"fp":2,"fn":5,"precision":0.5,"recall":0.2857142857142857,"judge_failures":0,"decisions":[0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0],"judged_at":"2026-08-12T15:54:08.700929+00:00"}
14
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/2","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":2,"tp":1,"fp":1,"fn":0,"precision":0.5,"recall":1.0,"judge_failures":0,"decisions":[1,1],"judged_at":"2026-08-12T15:54:11.657358+00:00"}
15
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/3","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":4,"tp":1,"fp":3,"fn":2,"precision":0.25,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,1,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:54:23.188333+00:00"}
16
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/4","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":8,"n_candidates":7,"tp":1,"fp":6,"fn":7,"precision":0.14285714285714285,"recall":0.125,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:55:07.748360+00:00"}
17
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/5","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":3,"tp":0,"fp":3,"fn":3,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:55:15.927219+00:00"}
18
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/6","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":0,"tp":0,"fp":0,"fn":1,"precision":1.0,"recall":0.0,"judge_failures":0,"decisions":[],"judged_at":"2026-08-12T15:55:15.927811+00:00"}
19
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/7","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":1,"tp":1,"fp":0,"fn":2,"precision":1.0,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,1],"judged_at":"2026-08-12T15:55:24.122948+00:00"}
20
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/8","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":6,"n_candidates":5,"tp":1,"fp":4,"fn":5,"precision":0.2,"recall":0.16666666666666666,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:55:44.654463+00:00"}
21
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/9","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":2,"tp":0,"fp":2,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0],"judged_at":"2026-08-12T15:55:48.717042+00:00"}
22
+ {"url":"https://github.com/grafana/grafana/pull/103633","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":2,"tp":1,"fp":1,"fn":2,"precision":0.5,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,0,1,0,0],"judged_at":"2026-08-12T15:55:55.805257+00:00"}
23
+ {"url":"https://github.com/grafana/grafana/pull/106778","project":"grafana","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":1,"tp":0,"fp":1,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0],"judged_at":"2026-08-12T15:56:00.203726+00:00"}
24
+ {"url":"https://github.com/grafana/grafana/pull/107534","project":"grafana","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":0,"tp":0,"fp":0,"fn":1,"precision":1.0,"recall":0.0,"judge_failures":0,"decisions":[],"judged_at":"2026-08-12T15:56:00.203876+00:00"}
25
+ {"url":"https://github.com/grafana/grafana/pull/76186","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":3,"tp":1,"fp":2,"fn":2,"precision":0.3333333333333333,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,1],"judged_at":"2026-08-12T15:56:11.699764+00:00"}
26
+ {"url":"https://github.com/grafana/grafana/pull/79265","project":"grafana","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":5,"n_candidates":3,"tp":3,"fp":0,"fn":2,"precision":1.0,"recall":0.6,"judge_failures":0,"decisions":[0,0,0,1,0,0,0,1,1,0,1,0,0,0,0],"judged_at":"2026-08-12T15:56:29.213416+00:00"}
27
+ {"url":"https://github.com/grafana/grafana/pull/80329","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":3,"tp":1,"fp":2,"fn":1,"precision":0.3333333333333333,"recall":0.5,"judge_failures":0,"decisions":[0,1,1,0,0,0],"judged_at":"2026-08-12T15:56:33.305408+00:00"}
28
+ {"url":"https://github.com/grafana/grafana/pull/90045","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":6,"tp":0,"fp":6,"fn":3,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:56:46.973302+00:00"}
29
+ {"url":"https://github.com/grafana/grafana/pull/90939","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":1,"tp":1,"fp":0,"fn":1,"precision":1.0,"recall":0.5,"judge_failures":0,"decisions":[1,0],"judged_at":"2026-08-12T15:56:49.984824+00:00"}
30
+ {"url":"https://github.com/grafana/grafana/pull/94942","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":2,"tp":2,"fp":0,"fn":0,"precision":1.0,"recall":1.0,"judge_failures":0,"decisions":[1,0,0,1],"judged_at":"2026-08-12T15:56:53.868855+00:00"}
31
+ {"url":"https://github.com/grafana/grafana/pull/97529","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":3,"tp":1,"fp":2,"fn":1,"precision":0.3333333333333333,"recall":0.5,"judge_failures":0,"decisions":[0,0,1,0,0,0],"judged_at":"2026-08-12T15:57:01.834877+00:00"}
32
+ {"url":"https://github.com/keycloak/keycloak/pull/32918","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":2,"tp":0,"fp":2,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0],"judged_at":"2026-08-12T15:57:05.862213+00:00"}
33
+ {"url":"https://github.com/keycloak/keycloak/pull/33832","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":3,"tp":1,"fp":2,"fn":2,"precision":0.3333333333333333,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,1,0,0,0,0,0,0],"judged_at":"2026-08-12T15:57:12.613113+00:00"}
34
+ {"url":"https://github.com/keycloak/keycloak/pull/36880","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":4,"n_candidates":2,"tp":1,"fp":1,"fn":3,"precision":0.5,"recall":0.25,"judge_failures":0,"decisions":[0,0,0,1,0,0,0,0],"judged_at":"2026-08-12T15:57:22.542354+00:00"}
35
+ {"url":"https://github.com/keycloak/keycloak/pull/36882","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":1,"tp":0,"fp":1,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0],"judged_at":"2026-08-12T15:57:25.355033+00:00"}
36
+ {"url":"https://github.com/keycloak/keycloak/pull/37038","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":2,"tp":0,"fp":2,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0],"judged_at":"2026-08-12T15:57:30.370827+00:00"}
37
+ {"url":"https://github.com/keycloak/keycloak/pull/37429","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":1,"tp":0,"fp":1,"fn":3,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0],"judged_at":"2026-08-12T15:57:33.278922+00:00"}
38
+ {"url":"https://github.com/keycloak/keycloak/pull/37634","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":4,"n_candidates":3,"tp":2,"fp":1,"fn":2,"precision":0.6666666666666666,"recall":0.5,"judge_failures":0,"decisions":[0,0,1,1,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T15:57:41.410586+00:00"}
39
+ {"url":"https://github.com/keycloak/keycloak/pull/38446","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":3,"tp":0,"fp":3,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0,0],"judged_at":"2026-08-12T15:57:48.605584+00:00"}
40
+ {"url":"https://github.com/keycloak/keycloak/pull/40940","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":2,"tp":1,"fp":1,"fn":1,"precision":0.5,"recall":0.5,"judge_failures":0,"decisions":[1,1,0,0],"judged_at":"2026-08-12T15:57:56.968323+00:00"}
41
+ {"url":"https://github.com/getsentry/sentry/pull/67876","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":2,"tp":1,"fp":1,"fn":2,"precision":0.5,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,0,0,1,0],"judged_at":"2026-08-12T15:58:02.237262+00:00"}
42
+ {"url":"https://github.com/getsentry/sentry/pull/77754","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":3,"tp":1,"fp":2,"fn":1,"precision":0.3333333333333333,"recall":0.5,"judge_failures":0,"decisions":[1,1,0,0,0,0],"judged_at":"2026-08-12T15:58:10.250491+00:00"}
43
+ {"url":"https://github.com/getsentry/sentry/pull/80528","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":4,"tp":1,"fp":3,"fn":1,"precision":0.25,"recall":0.5,"judge_failures":0,"decisions":[0,0,1,0,0,0,0,0],"judged_at":"2026-08-12T15:58:15.912225+00:00"}
44
+ {"url":"https://github.com/getsentry/sentry/pull/93824","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":5,"n_candidates":2,"tp":2,"fp":0,"fn":3,"precision":1.0,"recall":0.4,"judge_failures":0,"decisions":[1,0,0,1,0,0,0,1,0,0],"judged_at":"2026-08-12T15:58:24.648564+00:00"}
45
+ {"url":"https://github.com/getsentry/sentry/pull/95633","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":3,"tp":0,"fp":3,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0],"judged_at":"2026-08-12T15:58:26.995287+00:00"}
46
+ {"url":"https://github.com/getsentry/sentry/pull/80168","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":1,"tp":1,"fp":0,"fn":2,"precision":1.0,"recall":0.3333333333333333,"judge_failures":0,"decisions":[1,0,0],"judged_at":"2026-08-12T16:20:06.348249+00:00"}
47
+ {"url":"https://github.com/calcom/cal.com/pull/10600","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":4,"n_candidates":1,"tp":0,"fp":1,"fn":4,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0],"judged_at":"2026-08-12T16:20:27.001865+00:00"}
48
+ {"url":"https://github.com/calcom/cal.com/pull/10967","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":5,"n_candidates":8,"tp":1,"fp":7,"fn":4,"precision":0.125,"recall":0.2,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:21:17.393127+00:00"}
49
+ {"url":"https://github.com/calcom/cal.com/pull/11059","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":9,"n_candidates":7,"tp":4,"fp":3,"fn":5,"precision":0.5714285714285714,"recall":0.4444444444444444,"judge_failures":0,"decisions":[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:22:47.359303+00:00"}
50
+ {"url":"https://github.com/calcom/cal.com/pull/14740","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":6,"n_candidates":2,"tp":2,"fp":0,"fn":4,"precision":1.0,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,1,0,0,1,0,0,0,0,0,0],"judged_at":"2026-08-12T16:23:05.716645+00:00"}
51
+ {"url":"https://github.com/calcom/cal.com/pull/14943","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":1,"tp":1,"fp":0,"fn":1,"precision":1.0,"recall":0.5,"judge_failures":0,"decisions":[0,1],"judged_at":"2026-08-12T16:23:08.341571+00:00"}
52
+ {"url":"https://github.com/calcom/cal.com/pull/22345","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":1,"n_candidates":2,"tp":0,"fp":2,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0],"judged_at":"2026-08-12T16:23:10.418894+00:00"}
53
+ {"url":"https://github.com/calcom/cal.com/pull/22532","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":4,"n_candidates":3,"tp":2,"fp":1,"fn":2,"precision":0.6666666666666666,"recall":0.5,"judge_failures":0,"decisions":[0,0,0,0,1,0,0,0,0,0,0,1],"judged_at":"2026-08-12T16:23:25.881697+00:00"}
54
+ {"url":"https://github.com/calcom/cal.com/pull/7232","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":6,"tp":1,"fp":5,"fn":2,"precision":0.16666666666666666,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:23:54.416720+00:00"}
55
+ {"url":"https://github.com/calcom/cal.com/pull/8087","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":1,"n_candidates":3,"tp":1,"fp":2,"fn":0,"precision":0.3333333333333333,"recall":1.0,"judge_failures":0,"decisions":[1,1,1],"judged_at":"2026-08-12T16:23:59.957083+00:00"}
56
+ {"url":"https://github.com/calcom/cal.com/pull/8330","project":"cal_dot_com","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":4,"tp":1,"fp":3,"fn":1,"precision":0.25,"recall":0.5,"judge_failures":0,"decisions":[0,1,0,0,0,0,0,0],"judged_at":"2026-08-12T16:24:11.384058+00:00"}
57
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/1","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":4,"n_candidates":5,"tp":2,"fp":3,"fn":2,"precision":0.4,"recall":0.5,"judge_failures":0,"decisions":[0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:24:38.971391+00:00"}
58
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/10","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":7,"n_candidates":4,"tp":2,"fp":2,"fn":5,"precision":0.5,"recall":0.2857142857142857,"judge_failures":0,"decisions":[0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0],"judged_at":"2026-08-12T16:25:15.252382+00:00"}
59
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/2","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":1,"n_candidates":2,"tp":1,"fp":1,"fn":0,"precision":0.5,"recall":1.0,"judge_failures":0,"decisions":[1,1],"judged_at":"2026-08-12T16:25:18.488501+00:00"}
60
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/3","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":4,"tp":1,"fp":3,"fn":2,"precision":0.25,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,1,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:25:36.181733+00:00"}
61
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/4","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":8,"n_candidates":7,"tp":1,"fp":6,"fn":7,"precision":0.14285714285714285,"recall":0.125,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:26:52.390168+00:00"}
62
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/5","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":3,"tp":0,"fp":3,"fn":3,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:27:08.329871+00:00"}
63
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/6","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":1,"n_candidates":0,"tp":0,"fp":0,"fn":1,"precision":1.0,"recall":0.0,"judge_failures":0,"decisions":[],"judged_at":"2026-08-12T16:27:08.330041+00:00"}
64
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/7","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":1,"tp":0,"fp":1,"fn":3,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0],"judged_at":"2026-08-12T16:27:14.967999+00:00"}
65
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/8","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":6,"n_candidates":5,"tp":1,"fp":4,"fn":5,"precision":0.2,"recall":0.16666666666666666,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:27:58.988929+00:00"}
66
+ {"url":"https://github.com/ai-code-review-evaluation/discourse-graphite/pull/9","project":"discourse","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":2,"tp":0,"fp":2,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0],"judged_at":"2026-08-12T16:28:04.838702+00:00"}
67
+ {"url":"https://github.com/grafana/grafana/pull/103633","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":2,"tp":1,"fp":1,"fn":2,"precision":0.5,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,0,1,0,0],"judged_at":"2026-08-12T16:28:15.995107+00:00"}
68
+ {"url":"https://github.com/grafana/grafana/pull/106778","project":"grafana","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":1,"tp":0,"fp":1,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0],"judged_at":"2026-08-12T16:28:19.055775+00:00"}
69
+ {"url":"https://github.com/grafana/grafana/pull/107534","project":"grafana","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":1,"n_candidates":0,"tp":0,"fp":0,"fn":1,"precision":1.0,"recall":0.0,"judge_failures":0,"decisions":[],"judged_at":"2026-08-12T16:28:19.055909+00:00"}
70
+ {"url":"https://github.com/grafana/grafana/pull/76186","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":3,"tp":2,"fp":1,"fn":1,"precision":0.6666666666666666,"recall":0.6666666666666666,"judge_failures":0,"decisions":[0,0,0,1,1,0,0,0,1],"judged_at":"2026-08-12T16:28:35.803172+00:00"}
71
+ {"url":"https://github.com/grafana/grafana/pull/79265","project":"grafana","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":5,"n_candidates":3,"tp":3,"fp":0,"fn":2,"precision":1.0,"recall":0.6,"judge_failures":0,"decisions":[0,0,0,1,0,1,0,1,1,0,1,0,0,0,0],"judged_at":"2026-08-12T16:28:59.892928+00:00"}
72
+ {"url":"https://github.com/grafana/grafana/pull/80329","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":3,"tp":1,"fp":2,"fn":1,"precision":0.3333333333333333,"recall":0.5,"judge_failures":0,"decisions":[0,1,1,0,0,0],"judged_at":"2026-08-12T16:29:06.824534+00:00"}
73
+ {"url":"https://github.com/grafana/grafana/pull/90045","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":6,"tp":0,"fp":6,"fn":3,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:29:32.891351+00:00"}
74
+ {"url":"https://github.com/grafana/grafana/pull/90939","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":1,"tp":1,"fp":0,"fn":1,"precision":1.0,"recall":0.5,"judge_failures":0,"decisions":[1,0],"judged_at":"2026-08-12T16:29:35.869074+00:00"}
75
+ {"url":"https://github.com/grafana/grafana/pull/94942","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":2,"tp":2,"fp":0,"fn":0,"precision":1.0,"recall":1.0,"judge_failures":0,"decisions":[1,0,0,1],"judged_at":"2026-08-12T16:29:40.636438+00:00"}
76
+ {"url":"https://github.com/grafana/grafana/pull/97529","project":"grafana","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":3,"tp":1,"fp":2,"fn":1,"precision":0.3333333333333333,"recall":0.5,"judge_failures":0,"decisions":[0,0,1,0,0,1],"judged_at":"2026-08-12T16:29:50.356145+00:00"}
77
+ {"url":"https://github.com/keycloak/keycloak/pull/32918","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":2,"tp":0,"fp":2,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0],"judged_at":"2026-08-12T16:29:57.036198+00:00"}
78
+ {"url":"https://github.com/keycloak/keycloak/pull/33832","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":3,"tp":1,"fp":2,"fn":2,"precision":0.3333333333333333,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,1,0,0,0,0,0,0],"judged_at":"2026-08-12T16:30:11.025125+00:00"}
79
+ {"url":"https://github.com/keycloak/keycloak/pull/36880","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":4,"n_candidates":2,"tp":1,"fp":1,"fn":3,"precision":0.5,"recall":0.25,"judge_failures":0,"decisions":[0,0,0,1,0,0,0,0],"judged_at":"2026-08-12T16:30:22.611366+00:00"}
80
+ {"url":"https://github.com/keycloak/keycloak/pull/36882","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":1,"tp":0,"fp":1,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0],"judged_at":"2026-08-12T16:30:25.387979+00:00"}
81
+ {"url":"https://github.com/keycloak/keycloak/pull/37038","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":2,"tp":0,"fp":2,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0],"judged_at":"2026-08-12T16:30:32.020236+00:00"}
82
+ {"url":"https://github.com/keycloak/keycloak/pull/37429","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":1,"tp":0,"fp":1,"fn":3,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0],"judged_at":"2026-08-12T16:30:34.694059+00:00"}
83
+ {"url":"https://github.com/keycloak/keycloak/pull/37634","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":4,"n_candidates":3,"tp":2,"fp":1,"fn":2,"precision":0.6666666666666666,"recall":0.5,"judge_failures":0,"decisions":[0,0,1,1,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T16:30:48.851088+00:00"}
84
+ {"url":"https://github.com/keycloak/keycloak/pull/38446","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":3,"tp":1,"fp":2,"fn":1,"precision":0.3333333333333333,"recall":0.5,"judge_failures":0,"decisions":[1,0,0,0,0,0],"judged_at":"2026-08-12T16:30:57.363694+00:00"}
85
+ {"url":"https://github.com/keycloak/keycloak/pull/40940","project":"keycloak","pr_slice":"diff-only","had_graph":false,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":2,"tp":1,"fp":1,"fn":1,"precision":0.5,"recall":0.5,"judge_failures":0,"decisions":[1,0,0,0],"judged_at":"2026-08-12T16:31:03.283412+00:00"}
86
+ {"url":"https://github.com/getsentry/sentry/pull/67876","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":2,"tp":1,"fp":1,"fn":2,"precision":0.5,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,0,0,1,0],"judged_at":"2026-08-12T16:31:11.693148+00:00"}
87
+ {"url":"https://github.com/getsentry/sentry/pull/77754","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":3,"tp":1,"fp":2,"fn":1,"precision":0.3333333333333333,"recall":0.5,"judge_failures":0,"decisions":[1,1,0,0,0,0],"judged_at":"2026-08-12T16:31:22.117408+00:00"}
88
+ {"url":"https://github.com/getsentry/sentry/pull/80528","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":4,"tp":1,"fp":3,"fn":1,"precision":0.25,"recall":0.5,"judge_failures":0,"decisions":[0,0,1,0,0,0,0,0],"judged_at":"2026-08-12T16:31:30.193596+00:00"}
89
+ {"url":"https://github.com/getsentry/sentry/pull/93824","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":5,"n_candidates":2,"tp":1,"fp":1,"fn":4,"precision":0.5,"recall":0.2,"judge_failures":0,"decisions":[0,0,0,1,0,0,0,1,0,0],"judged_at":"2026-08-12T16:31:47.197197+00:00"}
90
+ {"url":"https://github.com/getsentry/sentry/pull/95633","project":"sentry","pr_slice":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":1,"n_candidates":3,"tp":0,"fp":3,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0],"judged_at":"2026-08-12T16:31:51.143576+00:00"}
91
+ {"url":"https://github.com/calcom/cal.com/pull/10600","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":4,"n_candidates":2,"tp":0,"fp":2,"fn":4,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T17:23:54.962761+00:00"}
92
+ {"url":"https://github.com/calcom/cal.com/pull/10967","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":5,"n_candidates":6,"tp":0,"fp":6,"fn":5,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T17:24:23.980870+00:00"}
93
+ {"url":"https://github.com/calcom/cal.com/pull/11059","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":9,"n_candidates":8,"tp":4,"fp":4,"fn":5,"precision":0.5,"recall":0.4444444444444444,"judge_failures":0,"decisions":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T17:25:38.651780+00:00"}
94
+ {"url":"https://github.com/calcom/cal.com/pull/14740","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":6,"n_candidates":6,"tp":3,"fp":3,"fn":3,"precision":0.5,"recall":0.5,"judge_failures":0,"decisions":[0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T17:26:10.466163+00:00"}
95
+ {"url":"https://github.com/calcom/cal.com/pull/14943","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":1,"tp":0,"fp":1,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0],"judged_at":"2026-08-12T17:26:13.980833+00:00"}
96
+ {"url":"https://github.com/calcom/cal.com/pull/22345","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":2,"tp":0,"fp":2,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0],"judged_at":"2026-08-12T17:26:16.739651+00:00"}
97
+ {"url":"https://github.com/calcom/cal.com/pull/22532","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":4,"n_candidates":3,"tp":2,"fp":1,"fn":2,"precision":0.6666666666666666,"recall":0.5,"judge_failures":0,"decisions":[0,0,1,0,1,0,0,0,0,0,0,0],"judged_at":"2026-08-12T17:26:28.255534+00:00"}
98
+ {"url":"https://github.com/calcom/cal.com/pull/7232","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":3,"tp":2,"fp":1,"fn":1,"precision":0.6666666666666666,"recall":0.6666666666666666,"judge_failures":0,"decisions":[0,1,0,1,0,0,0,0,0],"judged_at":"2026-08-12T17:26:38.452256+00:00"}
99
+ {"url":"https://github.com/calcom/cal.com/pull/8087","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":3,"tp":1,"fp":2,"fn":0,"precision":0.3333333333333333,"recall":1.0,"judge_failures":0,"decisions":[1,1,1],"judged_at":"2026-08-12T17:26:42.595647+00:00"}
100
+ {"url":"https://github.com/calcom/cal.com/pull/8330","project":"cal_dot_com","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":5,"tp":2,"fp":3,"fn":0,"precision":0.4,"recall":1.0,"judge_failures":0,"decisions":[0,0,0,1,0,0,0,0,0,1],"judged_at":"2026-08-12T17:26:51.484070+00:00"}
101
+ {"url":"https://github.com/grafana/grafana/pull/106778","project":"grafana","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":3,"tp":0,"fp":3,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0,0],"judged_at":"2026-08-12T17:26:58.467004+00:00"}
102
+ {"url":"https://github.com/grafana/grafana/pull/107534","project":"grafana","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":1,"tp":0,"fp":1,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0],"judged_at":"2026-08-12T17:27:02.919567+00:00"}
103
+ {"url":"https://github.com/grafana/grafana/pull/79265","project":"grafana","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":5,"n_candidates":3,"tp":3,"fp":0,"fn":2,"precision":1.0,"recall":0.6,"judge_failures":0,"decisions":[0,0,0,1,1,1,1,0,1,1,0,0,0,0,0],"judged_at":"2026-08-12T17:27:22.487596+00:00"}
104
+ {"url":"https://github.com/getsentry/sentry/pull/67876","project":"sentry","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":1,"tp":1,"fp":0,"fn":2,"precision":1.0,"recall":0.3333333333333333,"judge_failures":0,"decisions":[0,0,1],"judged_at":"2026-08-12T17:27:28.212640+00:00"}
105
+ {"url":"https://github.com/getsentry/sentry/pull/77754","project":"sentry","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":0,"tp":0,"fp":0,"fn":2,"precision":1.0,"recall":0.0,"judge_failures":0,"decisions":[],"judged_at":"2026-08-12T17:27:28.212871+00:00"}
106
+ {"url":"https://github.com/getsentry/sentry/pull/80168","project":"sentry","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":3,"n_candidates":1,"tp":1,"fp":0,"fn":2,"precision":1.0,"recall":0.3333333333333333,"judge_failures":0,"decisions":[1,0,0],"judged_at":"2026-08-12T17:27:31.677446+00:00"}
107
+ {"url":"https://github.com/getsentry/sentry/pull/80528","project":"sentry","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":2,"n_candidates":3,"tp":0,"fp":3,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0,0],"judged_at":"2026-08-12T17:27:37.138599+00:00"}
108
+ {"url":"https://github.com/getsentry/sentry/pull/93824","project":"sentry","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":5,"n_candidates":1,"tp":0,"fp":1,"fn":5,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0,0],"judged_at":"2026-08-12T17:27:43.375706+00:00"}
109
+ {"url":"https://github.com/getsentry/sentry/pull/95633","project":"sentry","pr_slice":"graph","arm":"ablated","had_graph":false,"profile":"core","judge_model":"gemini-2.5-flash","n_goldens":1,"n_candidates":4,"tp":0,"fp":4,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":0,"decisions":[0,0,0,0],"judged_at":"2026-08-12T17:27:45.850785+00:00"}
@@ -0,0 +1,2 @@
1
+ {"url": "https://github.com/calcom/cal.com/pull/14943", "project": "cal_dot_com", "pr_slice": "graph", "arm": "graph", "had_graph": true, "profile": "core", "judge_model": "mistral-medium-latest", "n_goldens": 2, "n_candidates": 6, "tp": 1, "fp": 5, "fn": 1, "precision": 0.16666666666666666, "recall": 0.5, "judge_failures": 0, "decisions": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "judged_at": "2026-08-12T22:27:08.965464+00:00"}
2
+ {"url": "https://github.com/calcom/cal.com/pull/10600", "project": "cal_dot_com", "pr_slice": "graph", "arm": "graph", "had_graph": true, "profile": "core", "judge_model": "mistral-medium-latest", "n_goldens": 4, "n_candidates": 22, "tp": 2, "fp": 20, "fn": 2, "precision": 0.09090909090909091, "recall": 0.5, "judge_failures": 0, "decisions": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "judged_at": "2026-08-12T22:29:26.006517+00:00"}
@@ -0,0 +1,11 @@
1
+ {"url":"https://github.com/calcom/cal.com/pull/14943","project":"cal_dot_com","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":6,"tp":1,"fp":5,"fn":1,"precision":0.16666666666666666,"recall":0.5,"judge_failures":0,"decisions":[0,0,1,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T22:27:08.965464+00:00"}
2
+ {"url":"https://github.com/calcom/cal.com/pull/10600","project":"cal_dot_com","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":4,"n_candidates":22,"tp":2,"fp":20,"fn":2,"precision":0.09090909090909091,"recall":0.5,"judge_failures":0,"decisions":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0],"judged_at":"2026-08-12T22:29:26.006517+00:00"}
3
+ {"url":"https://github.com/calcom/cal.com/pull/10967","project":"cal_dot_com","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":5,"n_candidates":25,"tp":0,"fp":25,"fn":5,"precision":0.0,"recall":0.0,"judge_failures":125,"decisions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"judged_at":"2026-08-12T23:12:52.623869+00:00"}
4
+ {"url":"https://github.com/calcom/cal.com/pull/14740","project":"cal_dot_com","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":6,"n_candidates":15,"tp":0,"fp":15,"fn":6,"precision":0.0,"recall":0.0,"judge_failures":90,"decisions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"judged_at":"2026-08-12T23:13:03.872687+00:00"}
5
+ {"url":"https://github.com/calcom/cal.com/pull/22345","project":"cal_dot_com","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":1,"n_candidates":6,"tp":0,"fp":6,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":6,"decisions":[null,null,null,null,null,null],"judged_at":"2026-08-12T23:13:04.567149+00:00"}
6
+ {"url":"https://github.com/calcom/cal.com/pull/22532","project":"cal_dot_com","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":4,"n_candidates":12,"tp":0,"fp":12,"fn":4,"precision":0.0,"recall":0.0,"judge_failures":48,"decisions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"judged_at":"2026-08-12T23:13:10.390164+00:00"}
7
+ {"url":"https://github.com/calcom/cal.com/pull/7232","project":"cal_dot_com","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":3,"n_candidates":17,"tp":0,"fp":17,"fn":3,"precision":0.0,"recall":0.0,"judge_failures":51,"decisions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"judged_at":"2026-08-12T23:13:16.557834+00:00"}
8
+ {"url":"https://github.com/calcom/cal.com/pull/8087","project":"cal_dot_com","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":1,"n_candidates":19,"tp":0,"fp":19,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":19,"decisions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"judged_at":"2026-08-12T23:13:18.874285+00:00"}
9
+ {"url":"https://github.com/calcom/cal.com/pull/8330","project":"cal_dot_com","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":12,"tp":0,"fp":12,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":24,"decisions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"judged_at":"2026-08-12T23:13:21.851955+00:00"}
10
+ {"url":"https://github.com/grafana/grafana/pull/106778","project":"grafana","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":2,"n_candidates":20,"tp":0,"fp":20,"fn":2,"precision":0.0,"recall":0.0,"judge_failures":40,"decisions":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"judged_at":"2026-08-12T23:13:26.566462+00:00"}
11
+ {"url":"https://github.com/grafana/grafana/pull/107534","project":"grafana","pr_slice":"graph","arm":"graph","had_graph":true,"profile":"core","judge_model":"mistral-medium-latest","n_goldens":1,"n_candidates":6,"tp":0,"fp":6,"fn":1,"precision":0.0,"recall":0.0,"judge_failures":6,"decisions":[null,null,null,null,null,null],"judged_at":"2026-08-12T23:13:27.334546+00:00"}