better-code-review-graph 3.28.0__tar.gz → 3.28.1__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.
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.claude-plugin/plugin.json +1 -1
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/CHANGELOG.md +9 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/PKG-INFO +1 -1
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/pyproject.toml +1 -1
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/server.json +2 -2
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/cli.py +6 -3
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_cli_control_plane.py +34 -1
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.agents/skills/build-graph/SKILL.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.agents/skills/review-delta/SKILL.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.agents/skills/review-pr/SKILL.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.coderabbit.yaml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.dockerignore +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/CODEOWNERS +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/review-learnings.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/rulesets/main.json +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/workflows/cd.yml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/workflows/ci.yml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.gitignore +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.infisical.json +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.jules/bolt.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.jules/sentinel.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.pre-commit-config.yaml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/AGENTS.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/BREAKING_CHANGES.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/CLAUDE.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/CODE_OF_CONDUCT.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/CONTRIBUTING.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/Dockerfile +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/LICENSE +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/LICENSE-MIT +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/NOTICE +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/README.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/SECURITY.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/alembic.ini +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/docs/HANDOVER.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/hooks/_graph_state.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/hooks/branch-sync-check.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/hooks/hooks.json +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/hooks/stale-graph-check.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/README +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/env.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/script.py.mako +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/versions/001_baseline.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/versions/002_summary_columns.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/versions/003_federation.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/versions/004_security_tags.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/versions/005_temporal_columns.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/versions/006_commits_table.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/renovate.json +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/rules/heuristic/cwe-22-path-traversal.yaml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/rules/heuristic/cwe-78-shell-command-sink.yaml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/rules/heuristic/cwe-89-sql-string-format.yaml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/rules/heuristic/cwe-95-eval-on-input.yaml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/rules/heuristic/hardcoded-secret.yaml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/rules/semgrep/curated.yaml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/scripts/benchmark_row_deserialization.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/scripts/enforce-commit.sh +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/scripts/preserve-diacritics.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/scripts/test_preserve_diacritics.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/semantic-release.toml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/impact-audit/SKILL.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/onboard-repo/SKILL.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/refactor-check/SKILL.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/review-delta/SKILL.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/review-pr/SKILL.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/security-sweep/SKILL.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/smithery.yaml +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/__init__.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/__main__.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/config.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/credential_state.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/docs/__init__.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/docs/config.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/docs/graph.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/docs/query.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/docs/recipes.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/docs/review.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/docs/security.md +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/embeddings.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/exporter.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/federation.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/graph.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/importer.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/incremental.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/parser.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/py.typed +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/reranker.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/resolver/__init__.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/resolver/_types.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/resolver/fallback.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/resolver/go.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/resolver/java.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/resolver/python.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/resolver/rust.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/resolver/typescript.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/security/__init__.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/security/heuristic.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/security/semgrep_engine.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/server.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/summarizer.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/temporal.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/tools.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/src/better_code_review_graph/xpia.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/__init__.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/conftest.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/conftest_e2e.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/Sample.cs +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/SampleJava.java +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/callback_refs.js +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/caller_example.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/multi_call_example.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.c +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.cpp +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.kt +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.php +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.rb +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.sol +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.swift +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample_go.go +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample_python.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample_rust.rs +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample_typescript.ts +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/test_sample.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/integration/__init__.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/integration/test_multi_user_remote.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_alembic_baseline.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_as_of_diff.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_auto_resolve_ambiguity.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_bare_suffix_correctness.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_callers_not_found_reason.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_callers_of_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_cli.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_cli_contracts.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_cohere_dimensions.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_commits_migration.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_coverage_gaps.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_credential_state.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_credential_state_dehosted.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_crg_protocol_harness.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_custom_local_model.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_dynamic_dispatch_hints.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_e2e.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_embedder_retry_classification.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_embedding_migration.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_embeddings.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_embeddings_extra.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_export_graph_dispatch.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_export_graph_dispatch_path_traversal.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_exporter.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_federation.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_federation_migration.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_federation_smoke.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_full_live.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_g6_ux_status_accuracy.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_get_docs_section_error_path.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_get_review_context_no_diff.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_graph.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_graph_batch_fetch.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_graph_extra.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_graph_get_edges_by_targets_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_graph_stats_error_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_handle_not_found_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_help_recipes.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_heuristic.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_home_isolation.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_http_mcp_e2e.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_hull_cells.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_impact_payload_truncation.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_implements_edges.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_import_graph_dispatch.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_importer.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_incremental.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_incremental_extra.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_kind_filter_optimization.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_kinds_error_path.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_list_graph_stats_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_list_kinds_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_live_mcp.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_local_reranker.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_lookup_node_directly.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_multi_user.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_multilang.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_no_stale_package_name.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_oci_publication_sunset.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_oserror_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_parser.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_parser_extra.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_parser_grammar_failure.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_parser_source_text.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_path_resolution_fallback.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_payload_estimation.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_per_sub_graph_db.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_performance_n1.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_performance_n1_embeddings.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_phase_3_smoke.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_plugin_assets.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_pre_2_0_backup.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_renamed_in_diff.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_renamed_in_diff_exception.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_repo_filter.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_repo_filter_batching.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_repo_id_persistence.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolve_search_candidates.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_dispatcher.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_fallback.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_go.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_java.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_python.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_rust.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_typescript.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_response_header.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_response_payload_honesty.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_review_delta_line_shifts.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_review_languages_filter.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_reviewer_summary.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_search_edges_by_target_names.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_search_keyword_warning.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_security_injection.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_security_path_traversal.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_security_scan_batching.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_security_tags_migration.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_security_tool.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_semgrep_engine.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_server.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_server_help_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_serverinfo_version.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_setup_tool.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_shares_state_edges.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_spot_check.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_sql_security.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_stdio_direct.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_summarize_graph_dispatch.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_summarizer.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_summary_schema.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_temporal.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_temporal_migration.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_tested_by_edges.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_tools.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_tools_build_error_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_tools_full.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_tools_get_docs_section_coverage.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_typescript_coverage_gaps.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_v17_coverage_gaps.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_xpia.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_xpia_adversarial.py +0 -0
- {better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/uv.lock +0 -0
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.claude-plugin/plugin.json
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "better-code-review-graph",
|
|
3
3
|
"description": "Knowledge graph for token-efficient code reviews -- semantic search and call-graph resolution across your codebase.",
|
|
4
|
-
"version": "3.28.
|
|
4
|
+
"version": "3.28.1",
|
|
5
5
|
"userConfig": {
|
|
6
6
|
"EMBEDDING_MODELS": {
|
|
7
7
|
"type": "string",
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v3.28.1 (2026-09-27)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Enforce no-auth loopback guard against config-sourced host
|
|
10
|
+
([#1102](https://github.com/n24q02m/crg/pull/1102),
|
|
11
|
+
[`bf4afc3`](https://github.com/n24q02m/crg/commit/bf4afc338aa7443959fc522cfa980ef583d7e26d))
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
## v3.28.0 (2026-09-27)
|
|
6
15
|
|
|
7
16
|
### Code Style
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "better-code-review-graph"
|
|
7
|
-
version = "3.28.
|
|
7
|
+
version = "3.28.1"
|
|
8
8
|
description = "Token-efficient code review knowledge graph: semantic search and call-graph resolution."
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
license = "Apache-2.0"
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/n24q02m/crg.git",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "3.28.
|
|
9
|
+
"version": "3.28.1",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "pypi",
|
|
13
13
|
"identifier": "better-code-review-graph",
|
|
14
|
-
"version": "3.28.
|
|
14
|
+
"version": "3.28.1",
|
|
15
15
|
"runtimeHint": "uvx",
|
|
16
16
|
"runtimeArgs": [
|
|
17
17
|
"--python",
|
|
@@ -537,18 +537,21 @@ def _handle_server_start(args: argparse.Namespace) -> int:
|
|
|
537
537
|
from .server import serve_main
|
|
538
538
|
|
|
539
539
|
os.environ["MCP_TRANSPORT"] = "http"
|
|
540
|
-
# run_http()
|
|
541
|
-
|
|
540
|
+
# run_http() bind precedence: MCP_HOST env > settings.server.host; --port
|
|
541
|
+
# hands off via MCP_PORT (honored at server.py:986-989).
|
|
542
|
+
settings = load_instance_settings()
|
|
542
543
|
if args.host:
|
|
543
544
|
os.environ["MCP_HOST"] = args.host
|
|
544
545
|
if args.port:
|
|
545
546
|
os.environ["MCP_PORT"] = str(args.port)
|
|
546
547
|
# Security property carried over from the wp2-wip line: an
|
|
547
548
|
# unauthenticated (no-auth) listener must never bind off-loopback.
|
|
549
|
+
# Resolve the EFFECTIVE bind host the way run_http does.
|
|
550
|
+
host = args.host or os.environ.get("MCP_HOST") or settings.server.host
|
|
548
551
|
if (
|
|
549
552
|
host
|
|
550
553
|
and host not in {"localhost", "127.0.0.1", "::1"}
|
|
551
|
-
and
|
|
554
|
+
and settings.server.auth == "no-auth"
|
|
552
555
|
):
|
|
553
556
|
print(
|
|
554
557
|
"crg refuses to start: auth = 'no-auth' only permits loopback "
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_cli_control_plane.py
RENAMED
|
@@ -73,7 +73,13 @@ def test_db_path_prints_graph_db(capsys) -> None:
|
|
|
73
73
|
assert out.endswith("graph.db")
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
def test_server_start_forces_http_transport(capsys, monkeypatch) -> None:
|
|
76
|
+
def test_server_start_forces_http_transport(capsys, tmp_path, monkeypatch) -> None:
|
|
77
|
+
cfg = tmp_path / "cfg"
|
|
78
|
+
cfg.mkdir()
|
|
79
|
+
(cfg / "config.toml").write_text(
|
|
80
|
+
'[server]\nhost = "127.0.0.1"\nport = 61000\nauth = "no-auth"\n'
|
|
81
|
+
)
|
|
82
|
+
monkeypatch.setenv("CRG_CONFIG_DIR", str(cfg))
|
|
77
83
|
monkeypatch.delenv("MCP_TRANSPORT", raising=False)
|
|
78
84
|
monkeypatch.delenv("MCP_HOST", raising=False)
|
|
79
85
|
monkeypatch.delenv("MCP_PORT", raising=False)
|
|
@@ -110,6 +116,7 @@ def test_server_start_refuses_no_auth_off_loopback(
|
|
|
110
116
|
)
|
|
111
117
|
monkeypatch.setenv("CRG_CONFIG_DIR", str(cfg))
|
|
112
118
|
monkeypatch.delenv("MCP_TRANSPORT", raising=False)
|
|
119
|
+
monkeypatch.delenv("MCP_HOST", raising=False)
|
|
113
120
|
serve_called = False
|
|
114
121
|
|
|
115
122
|
def must_not_serve() -> None:
|
|
@@ -124,6 +131,32 @@ def test_server_start_refuses_no_auth_off_loopback(
|
|
|
124
131
|
assert serve_called is False
|
|
125
132
|
|
|
126
133
|
|
|
134
|
+
def test_server_start_refuses_no_auth_config_host_off_loopback(
|
|
135
|
+
capsys, tmp_path, monkeypatch
|
|
136
|
+
) -> None:
|
|
137
|
+
"""Bypass regression: no --host/MCP_HOST, config-sourced host binds."""
|
|
138
|
+
cfg = tmp_path / "cfg"
|
|
139
|
+
cfg.mkdir()
|
|
140
|
+
(cfg / "config.toml").write_text(
|
|
141
|
+
'[server]\nhost = "0.0.0.0"\nport = 61000\nauth = "no-auth"\n'
|
|
142
|
+
)
|
|
143
|
+
monkeypatch.setenv("CRG_CONFIG_DIR", str(cfg))
|
|
144
|
+
monkeypatch.delenv("MCP_TRANSPORT", raising=False)
|
|
145
|
+
monkeypatch.delenv("MCP_HOST", raising=False)
|
|
146
|
+
serve_called = False
|
|
147
|
+
|
|
148
|
+
def must_not_serve() -> None:
|
|
149
|
+
nonlocal serve_called # noqa: F841
|
|
150
|
+
serve_called = True # pragma: no cover
|
|
151
|
+
|
|
152
|
+
monkeypatch.setattr("better_code_review_graph.server.serve_main", must_not_serve)
|
|
153
|
+
rc = _run(capsys, "server", "start")
|
|
154
|
+
err = capsys.readouterr().err
|
|
155
|
+
assert rc == 2
|
|
156
|
+
assert "no-auth" in err and "loopback" in err
|
|
157
|
+
assert serve_called is False
|
|
158
|
+
|
|
159
|
+
|
|
127
160
|
def test_unknown_subcommand_is_rc2(capsys) -> None:
|
|
128
161
|
rc = _run(capsys, "nope")
|
|
129
162
|
err = capsys.readouterr().err
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/PULL_REQUEST_TEMPLATE.md
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/review-learnings.md
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/rulesets/main.json
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/workflows/cd.yml
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/.github/workflows/ci.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/hooks/branch-sync-check.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/hooks/stale-graph-check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/migrations/script.py.mako
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/rules/semgrep/curated.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/scripts/enforce-commit.sh
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/scripts/preserve-diacritics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/impact-audit/SKILL.md
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/onboard-repo/SKILL.md
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/refactor-check/SKILL.md
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/review-delta/SKILL.md
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/review-pr/SKILL.md
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/skills/security-sweep/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/Sample.cs
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/SampleJava.java
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/callback_refs.js
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/caller_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.cpp
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.kt
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.php
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.rb
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.sol
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample.swift
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample_go.go
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample_python.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/sample_rust.rs
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/fixtures/test_sample.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/integration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_alembic_baseline.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_as_of_diff.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_cli_contracts.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_cohere_dimensions.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_commits_migration.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_coverage_gaps.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_credential_state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_custom_local_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_embeddings.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_embeddings_extra.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_federation.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_federation_smoke.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_graph_batch_fetch.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_graph_extra.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_help_recipes.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_home_isolation.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_http_mcp_e2e.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_hull_cells.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_implements_edges.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_incremental.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_incremental_extra.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_kinds_error_path.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_local_reranker.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_multi_user.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_oserror_coverage.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_parser_extra.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_parser_source_text.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_payload_estimation.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_per_sub_graph_db.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_performance_n1.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_phase_3_smoke.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_plugin_assets.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_pre_2_0_backup.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_renamed_in_diff.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_repo_filter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_fallback.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_go.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_java.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_python.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_resolver_rust.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_response_header.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_reviewer_summary.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_security_injection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_security_tool.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_semgrep_engine.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_serverinfo_version.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_setup_tool.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_shares_state_edges.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_spot_check.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_sql_security.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_stdio_direct.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_summarizer.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_summary_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_temporal_migration.py
RENAMED
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_tested_by_edges.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_tools_full.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_v17_coverage_gaps.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.28.0 → better_code_review_graph-3.28.1}/tests/test_xpia_adversarial.py
RENAMED
|
File without changes
|
|
File without changes
|