better-code-review-graph 3.26.0__tar.gz → 3.26.2__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.26.0 → better_code_review_graph-3.26.2}/.claude-plugin/plugin.json +2 -2
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/cd.yml +21 -2
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/CHANGELOG.md +27 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/PKG-INFO +22 -19
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/README.md +21 -18
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/pyproject.toml +1 -1
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/server.json +3 -3
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/uv.lock +36 -36
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.agents/skills/build-graph/SKILL.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.agents/skills/review-delta/SKILL.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.agents/skills/review-pr/SKILL.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.coderabbit.yaml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.dockerignore +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/CODEOWNERS +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/review-learnings.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/rulesets/main.json +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/bot-governance.yml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/ci.yml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/opencode.yml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.gitignore +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.infisical.json +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.jules/bolt.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.jules/sentinel.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.pre-commit-config.yaml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/AGENTS.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/BREAKING_CHANGES.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/CLAUDE.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/CODE_OF_CONDUCT.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/CONTRIBUTING.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/Dockerfile +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/LICENSE +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/LICENSE-MIT +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/NOTICE +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/SECURITY.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/alembic.ini +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/docs/HANDOVER.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/_graph_state.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/branch-sync-check.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/hooks.json +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/stale-graph-check.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/README +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/env.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/script.py.mako +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/001_baseline.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/002_summary_columns.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/003_federation.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/004_security_tags.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/005_temporal_columns.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/006_commits_table.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/renovate.json +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/cwe-22-path-traversal.yaml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/cwe-78-shell-command-sink.yaml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/cwe-89-sql-string-format.yaml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/cwe-95-eval-on-input.yaml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/hardcoded-secret.yaml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/semgrep/curated.yaml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/benchmark_row_deserialization.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/enforce-commit.sh +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/preserve-diacritics.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/test_preserve_diacritics.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/semantic-release.toml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/impact-audit/SKILL.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/onboard-repo/SKILL.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/refactor-check/SKILL.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/review-delta/SKILL.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/review-pr/SKILL.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/security-sweep/SKILL.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/smithery.yaml +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/__init__.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/__main__.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/cli.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/config.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/credential_state.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/__init__.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/config.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/graph.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/query.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/recipes.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/review.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/security.md +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/embeddings.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/exporter.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/federation.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/graph.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/importer.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/incremental.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/parser.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/py.typed +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/relay_schema.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/relay_setup.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/reranker.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/__init__.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/_types.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/fallback.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/go.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/java.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/python.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/rust.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/typescript.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/security/__init__.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/security/heuristic.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/security/semgrep_engine.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/server.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/summarizer.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/temporal.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/tools.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/xpia.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/__init__.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/conftest.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/conftest_e2e.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/e2e_mcp_protocol_test.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/Sample.cs +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/SampleJava.java +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/callback_refs.js +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/caller_example.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/multi_call_example.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.c +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.cpp +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.kt +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.php +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.rb +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.sol +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.swift +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample_go.go +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample_python.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample_rust.rs +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample_typescript.ts +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/test_sample.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/integration/__init__.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/integration/test_multi_user_remote.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_alembic_baseline.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_as_of_diff.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_auto_resolve_ambiguity.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_bare_suffix_correctness.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_callers_not_found_reason.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_callers_of_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_cli.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_cli_contracts.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_cohere_dimensions.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_commits_migration.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_config_open_relay_registered.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_coverage_gaps.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_credential_state.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_credential_state_stdio_no_fallback.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_credential_state_store_errors.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_crg_protocol_harness.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_custom_local_model.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_dynamic_dispatch_hints.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_e2e.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_embedder_retry_classification.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_embedding_migration.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_embeddings.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_embeddings_extra.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_export_graph_dispatch.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_export_graph_dispatch_path_traversal.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_exporter.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_federation.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_federation_migration.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_federation_smoke.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_full_live.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_g6_ux_status_accuracy.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_get_docs_section_error_path.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_get_review_context_no_diff.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph_batch_fetch.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph_extra.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph_get_edges_by_targets_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph_stats_error_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_handle_not_found_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_help_recipes.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_heuristic.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_home_isolation.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_impact_payload_truncation.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_implements_edges.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_import_graph_dispatch.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_importer.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_incremental.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_incremental_extra.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_kind_filter_optimization.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_kinds_error_path.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_list_graph_stats_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_list_kinds_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_live_mcp.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_local_reranker.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_lookup_node_directly.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_multi_user.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_multi_user_dispatch.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_multilang.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_no_stale_package_name.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_oci_publication_sunset.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_oserror_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_parser.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_parser_extra.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_parser_grammar_failure.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_parser_source_text.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_path_resolution_fallback.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_payload_estimation.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_per_plugin_storage_migration.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_per_sub_graph_db.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_performance_n1.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_performance_n1_embeddings.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_phase_3_smoke.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_plugin_assets.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_pre_2_0_backup.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_relay_schema.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_relay_setup.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_renamed_in_diff.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_renamed_in_diff_exception.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_repo_filter.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_repo_filter_batching.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_repo_id_persistence.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolve_search_candidates.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_dispatcher.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_fallback.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_go.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_java.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_python.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_rust.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_typescript.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_response_header.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_response_payload_honesty.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_review_delta_line_shifts.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_review_languages_filter.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_reviewer_summary.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_search_edges_by_target_names.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_search_keyword_warning.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_injection.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_path_traversal.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_scan_batching.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_tags_migration.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_tool.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_semgrep_engine.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_server.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_server_help_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_serverinfo_version.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_setup_tool.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_shares_state_edges.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_spot_check.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_sql_security.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_stdio_direct.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_summarize_graph_dispatch.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_summarizer.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_summary_schema.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_temporal.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_temporal_migration.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tested_by_edges.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tools.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tools_build_error_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tools_full.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tools_get_docs_section_coverage.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_typescript_coverage_gaps.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_v17_coverage_gaps.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_xpia.py +0 -0
- {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_xpia_adversarial.py +0 -0
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.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.26.
|
|
4
|
+
"version": "3.26.2",
|
|
5
5
|
"userConfig": {
|
|
6
6
|
"EMBEDDING_MODELS": {
|
|
7
7
|
"type": "string",
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
"name": "n24q02m",
|
|
104
104
|
"url": "https://github.com/n24q02m"
|
|
105
105
|
},
|
|
106
|
-
"homepage": "https://github.com/n24q02m/
|
|
106
|
+
"homepage": "https://github.com/n24q02m/crg",
|
|
107
107
|
"mcpServers": {
|
|
108
108
|
"better-code-review-graph": {
|
|
109
109
|
"command": "uvx",
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/cd.yml
RENAMED
|
@@ -13,6 +13,11 @@ on:
|
|
|
13
13
|
options:
|
|
14
14
|
- beta
|
|
15
15
|
- stable
|
|
16
|
+
publish_existing_tag:
|
|
17
|
+
description: "Recovery only: publish an already-created tag (e.g. v3.1.0), skipping semantic-release. Use when the auto-computed version's tag name is permanently reserved by a GitHub immutable release."
|
|
18
|
+
required: false
|
|
19
|
+
type: string
|
|
20
|
+
default: ""
|
|
16
21
|
|
|
17
22
|
env:
|
|
18
23
|
# Release lane: merge to main auto-publishes stable; beta only via manual dispatch (release_type=beta).
|
|
@@ -61,6 +66,7 @@ jobs:
|
|
|
61
66
|
# same prerelease inputs as the real step, run against the same untouched checkout.
|
|
62
67
|
- uses: n24q02m/better-semantic-release@6e6884898bfe1ac34a0bc64ed62f54a21562df23 # v1.6.1
|
|
63
68
|
id: dryrun
|
|
69
|
+
if: inputs.publish_existing_tag == ''
|
|
64
70
|
with:
|
|
65
71
|
github_token: ${{ steps.app-token.outputs.token }}
|
|
66
72
|
prerelease: ${{ env.RELEASE_TYPE == 'beta' }}
|
|
@@ -74,7 +80,7 @@ jobs:
|
|
|
74
80
|
# repo predating that check). released=false alone is not an error (it is
|
|
75
81
|
# the normal outcome of a docs-only/chore-only window), so this only warns.
|
|
76
82
|
- name: Warn if commits exist since last tag but PSR computed no release
|
|
77
|
-
if: steps.dryrun.outputs.released != 'true'
|
|
83
|
+
if: inputs.publish_existing_tag == '' && steps.dryrun.outputs.released != 'true'
|
|
78
84
|
run: |
|
|
79
85
|
set -uo pipefail
|
|
80
86
|
highest_tag="$(git tag -l 'v*' | sort -V | tail -1)"
|
|
@@ -127,16 +133,29 @@ jobs:
|
|
|
127
133
|
|
|
128
134
|
- uses: n24q02m/better-semantic-release@6e6884898bfe1ac34a0bc64ed62f54a21562df23 # v1.6.1
|
|
129
135
|
id: release
|
|
136
|
+
if: inputs.publish_existing_tag == ''
|
|
130
137
|
with:
|
|
131
138
|
github_token: ${{ steps.app-token.outputs.token }}
|
|
132
139
|
prerelease: ${{ env.RELEASE_TYPE == 'beta' }}
|
|
133
140
|
prerelease_token: beta
|
|
134
141
|
|
|
135
142
|
- uses: python-semantic-release/publish-action@6d89e2de8d40ecb3717316ecbbf15a6fa8ea9039 # v10.6.2
|
|
136
|
-
if: steps.release.outputs.released == 'true'
|
|
143
|
+
if: inputs.publish_existing_tag == '' && steps.release.outputs.released == 'true'
|
|
137
144
|
with:
|
|
138
145
|
github_token: ${{ steps.app-token.outputs.token }}
|
|
139
146
|
tag: ${{ steps.release.outputs.tag }}
|
|
147
|
+
- name: Use existing tag (immutable-release recovery)
|
|
148
|
+
id: forced
|
|
149
|
+
if: inputs.publish_existing_tag != ''
|
|
150
|
+
run: |
|
|
151
|
+
TAG="${{ inputs.publish_existing_tag }}"
|
|
152
|
+
VERSION="${TAG#v}"
|
|
153
|
+
{
|
|
154
|
+
echo "released=true"
|
|
155
|
+
echo "tag=$TAG"
|
|
156
|
+
echo "version=$VERSION"
|
|
157
|
+
echo "is_prerelease=false"
|
|
158
|
+
} >> "$GITHUB_OUTPUT"
|
|
140
159
|
|
|
141
160
|
# =================== Publish to PyPI ===================
|
|
142
161
|
publish-pypi:
|
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- version list -->
|
|
4
4
|
|
|
5
|
+
## v3.26.2 (2026-09-13)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **deps**: Lock file maintenance ([#1041](https://github.com/n24q02m/crg/pull/1041),
|
|
10
|
+
[`b4bc8be`](https://github.com/n24q02m/crg/commit/b4bc8be2fb5be1370010f69e9e35cb4d273cd0c3))
|
|
11
|
+
|
|
12
|
+
### Documentation
|
|
13
|
+
|
|
14
|
+
- **readme**: Lead install/CLI with crg script, document uvx --from form and legacy name
|
|
15
|
+
([`6c91fea`](https://github.com/n24q02m/crg/commit/6c91fea3a25580123837d5b9ef3eae4837953093))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## v3.26.1 (2026-09-13)
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
- Point server.json + plugin metadata at renamed repo crg
|
|
23
|
+
([`c7b7603`](https://github.com/n24q02m/crg/commit/c7b7603b9da078dbea44132174cfb1581fdcb6c7))
|
|
24
|
+
|
|
25
|
+
### Continuous Integration
|
|
26
|
+
|
|
27
|
+
- **cd**: Add publish_existing_tag recovery dispatch (port from wet) so a rename-blocked PyPI
|
|
28
|
+
publish can be replayed without a new release
|
|
29
|
+
([`3ee17ca`](https://github.com/n24q02m/crg/commit/3ee17ca1928e18ba1eff7165f00973ed75cbcd65))
|
|
30
|
+
|
|
31
|
+
|
|
5
32
|
## v3.26.0 (2026-09-13)
|
|
6
33
|
|
|
7
34
|
### Documentation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: better-code-review-graph
|
|
3
|
-
Version: 3.26.
|
|
3
|
+
Version: 3.26.2
|
|
4
4
|
Summary: Token-efficient code review knowledge graph: semantic search and call-graph resolution.
|
|
5
5
|
Author: n24q02m
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -116,15 +116,16 @@ plus the bundled `skills/` workflows. The skills invoke the CLI directly and do
|
|
|
116
116
|
not require an MCP server mapping.
|
|
117
117
|
|
|
118
118
|
```bash
|
|
119
|
-
# Run without a persistent install
|
|
120
|
-
|
|
119
|
+
# Run without a persistent install (short `crg` script; PyPI package name stays
|
|
120
|
+
# better-code-review-graph, so `uvx` needs the explicit --from form)
|
|
121
|
+
uvx --python 3.13 --from better-code-review-graph crg graph build --full-rebuild \
|
|
121
122
|
--repo-root /path/to/repo
|
|
122
|
-
uvx --python 3.13 better-code-review-graph graph stats \
|
|
123
|
+
uvx --python 3.13 --from better-code-review-graph crg graph stats \
|
|
123
124
|
--repo-root /path/to/repo
|
|
124
125
|
|
|
125
|
-
# Or install the console
|
|
126
|
+
# Or install the console scripts (installs both `crg` and the legacy long name)
|
|
126
127
|
pip install better-code-review-graph
|
|
127
|
-
|
|
128
|
+
crg query search --search-query "authentication" \
|
|
128
129
|
--repo-root /path/to/repo
|
|
129
130
|
```
|
|
130
131
|
|
|
@@ -414,29 +415,31 @@ browser setup form (e.g. after credential expiry); in stdio mode it returns
|
|
|
414
415
|
|
|
415
416
|
## CLI
|
|
416
417
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
418
|
+
The package installs two console scripts: **`crg`** (primary) and
|
|
419
|
+
`better-code-review-graph` (legacy long name). Running either with **no
|
|
420
|
+
arguments** starts the MCP server over stdio; a leading positional argument
|
|
421
|
+
routes to a local CLI subcommand that calls the same domain services used by
|
|
422
|
+
the MCP adapter. Run them directly after `pip install`, or without a
|
|
423
|
+
persistent install via `uvx --python 3.13 --from better-code-review-graph crg ...`.
|
|
421
424
|
|
|
422
425
|
```bash
|
|
423
426
|
# Start the MCP server over stdio (default -- no subcommand)
|
|
424
|
-
|
|
427
|
+
crg
|
|
425
428
|
|
|
426
429
|
# Build, inspect, and embed the local graph
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
+
crg graph build
|
|
431
|
+
crg graph stats
|
|
432
|
+
crg graph embed
|
|
430
433
|
|
|
431
434
|
# Query relationships and impact
|
|
432
|
-
|
|
435
|
+
crg query query \
|
|
433
436
|
--pattern callers_of --target "path/to/module.py::function"
|
|
434
|
-
|
|
435
|
-
|
|
437
|
+
crg query search --search-query "authentication"
|
|
438
|
+
crg query impact --changed-files src/app.py
|
|
436
439
|
|
|
437
440
|
# Produce review context and run a local security scan
|
|
438
|
-
|
|
439
|
-
|
|
441
|
+
crg review context --base HEAD~1
|
|
442
|
+
crg security scan --engine heuristic
|
|
440
443
|
```
|
|
441
444
|
|
|
442
445
|
| Command | Description |
|
|
@@ -83,15 +83,16 @@ plus the bundled `skills/` workflows. The skills invoke the CLI directly and do
|
|
|
83
83
|
not require an MCP server mapping.
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
|
-
# Run without a persistent install
|
|
87
|
-
|
|
86
|
+
# Run without a persistent install (short `crg` script; PyPI package name stays
|
|
87
|
+
# better-code-review-graph, so `uvx` needs the explicit --from form)
|
|
88
|
+
uvx --python 3.13 --from better-code-review-graph crg graph build --full-rebuild \
|
|
88
89
|
--repo-root /path/to/repo
|
|
89
|
-
uvx --python 3.13 better-code-review-graph graph stats \
|
|
90
|
+
uvx --python 3.13 --from better-code-review-graph crg graph stats \
|
|
90
91
|
--repo-root /path/to/repo
|
|
91
92
|
|
|
92
|
-
# Or install the console
|
|
93
|
+
# Or install the console scripts (installs both `crg` and the legacy long name)
|
|
93
94
|
pip install better-code-review-graph
|
|
94
|
-
|
|
95
|
+
crg query search --search-query "authentication" \
|
|
95
96
|
--repo-root /path/to/repo
|
|
96
97
|
```
|
|
97
98
|
|
|
@@ -381,29 +382,31 @@ browser setup form (e.g. after credential expiry); in stdio mode it returns
|
|
|
381
382
|
|
|
382
383
|
## CLI
|
|
383
384
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
385
|
+
The package installs two console scripts: **`crg`** (primary) and
|
|
386
|
+
`better-code-review-graph` (legacy long name). Running either with **no
|
|
387
|
+
arguments** starts the MCP server over stdio; a leading positional argument
|
|
388
|
+
routes to a local CLI subcommand that calls the same domain services used by
|
|
389
|
+
the MCP adapter. Run them directly after `pip install`, or without a
|
|
390
|
+
persistent install via `uvx --python 3.13 --from better-code-review-graph crg ...`.
|
|
388
391
|
|
|
389
392
|
```bash
|
|
390
393
|
# Start the MCP server over stdio (default -- no subcommand)
|
|
391
|
-
|
|
394
|
+
crg
|
|
392
395
|
|
|
393
396
|
# Build, inspect, and embed the local graph
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
+
crg graph build
|
|
398
|
+
crg graph stats
|
|
399
|
+
crg graph embed
|
|
397
400
|
|
|
398
401
|
# Query relationships and impact
|
|
399
|
-
|
|
402
|
+
crg query query \
|
|
400
403
|
--pattern callers_of --target "path/to/module.py::function"
|
|
401
|
-
|
|
402
|
-
|
|
404
|
+
crg query search --search-query "authentication"
|
|
405
|
+
crg query impact --changed-files src/app.py
|
|
403
406
|
|
|
404
407
|
# Produce review context and run a local security scan
|
|
405
|
-
|
|
406
|
-
|
|
408
|
+
crg review context --base HEAD~1
|
|
409
|
+
crg security scan --engine heuristic
|
|
407
410
|
```
|
|
408
411
|
|
|
409
412
|
| Command | Description |
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "better-code-review-graph"
|
|
7
|
-
version = "3.26.
|
|
7
|
+
version = "3.26.2"
|
|
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"
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
"name": "io.github.n24q02m/better-code-review-graph",
|
|
4
4
|
"description": "Token-efficient code review knowledge graph: semantic search and call-graph resolution.",
|
|
5
5
|
"repository": {
|
|
6
|
-
"url": "https://github.com/n24q02m/
|
|
6
|
+
"url": "https://github.com/n24q02m/crg.git",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "3.26.
|
|
9
|
+
"version": "3.26.2",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "pypi",
|
|
13
13
|
"identifier": "better-code-review-graph",
|
|
14
|
-
"version": "3.26.
|
|
14
|
+
"version": "3.26.2",
|
|
15
15
|
"runtimeHint": "uvx",
|
|
16
16
|
"runtimeArgs": [
|
|
17
17
|
"--python",
|
|
@@ -159,7 +159,7 @@ wheels = [
|
|
|
159
159
|
|
|
160
160
|
[[package]]
|
|
161
161
|
name = "better-code-review-graph"
|
|
162
|
-
version = "3.
|
|
162
|
+
version = "3.26.1"
|
|
163
163
|
source = { editable = "." }
|
|
164
164
|
dependencies = [
|
|
165
165
|
{ name = "alembic" },
|
|
@@ -409,26 +409,26 @@ wheels = [
|
|
|
409
409
|
|
|
410
410
|
[[package]]
|
|
411
411
|
name = "coverage"
|
|
412
|
-
version = "7.16.
|
|
412
|
+
version = "7.16.1"
|
|
413
413
|
source = { registry = "https://pypi.org/simple" }
|
|
414
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
414
|
+
sdist = { url = "https://files.pythonhosted.org/packages/65/2d/c738872f477f5687152acae68635790387425d407ae37dd3d3a8a6692307/coverage-7.16.1.tar.gz", hash = "sha256:f83981779bcf9dfa06fa0a8d4cb43e0faec1706328ce07aa3e7b665b4ac0f210", size = 969651, upload-time = "2026-09-13T19:12:21.422Z" }
|
|
415
415
|
wheels = [
|
|
416
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
417
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
418
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
419
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
420
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
421
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
422
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
423
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
424
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
425
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
426
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
427
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
428
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
429
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
430
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
431
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
416
|
+
{ url = "https://files.pythonhosted.org/packages/aa/74/c08c0c4dc9fa6bcd1d90728a63660aa1b17b488a806948598456c48f75d1/coverage-7.16.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ee5465db6e9152a7d09f3215309326878c6aa3ac509195a369f9d264ff4bfbd9", size = 223501, upload-time = "2026-09-13T19:09:37.276Z" },
|
|
417
|
+
{ url = "https://files.pythonhosted.org/packages/5b/c8/784986d326663285258a8e39835c46fb730cc85284f0dbcd82078586dd22/coverage-7.16.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2b8256f8b525ba233d2e4cdcdce0d6673c66fc9bf70df1fd5e67c54a74e2d245", size = 223876, upload-time = "2026-09-13T19:09:39.385Z" },
|
|
418
|
+
{ url = "https://files.pythonhosted.org/packages/15/76/73fb792928872bbb07e553f920ff55c65ee962c469265feb5d1d4ae5f97a/coverage-7.16.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d57cc400275b9a2892e905fc893f732b21ddb95271bf96406c88e2f6367848b5", size = 254863, upload-time = "2026-09-13T19:09:41.326Z" },
|
|
419
|
+
{ url = "https://files.pythonhosted.org/packages/ca/8d/1fd78899513244b065ccecdd1cfc6aa8b8f1bdee796d8c4f2aa8e8e5397d/coverage-7.16.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6b3fd0f3435ebb7a7183b32a6062a8b755f08242ced1f3f22761d30b56b3c2a5", size = 257460, upload-time = "2026-09-13T19:09:43.086Z" },
|
|
420
|
+
{ url = "https://files.pythonhosted.org/packages/47/1c/b23ddfcb7ef9bd7b3fdb7be9a5dccf9925ae88e556df7aa5b655283c78f2/coverage-7.16.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e5eb1762e7eb5fad34ef913e8107c7788a66f19d328e598ce95bf7217f9e5c8f", size = 258697, upload-time = "2026-09-13T19:09:45.161Z" },
|
|
421
|
+
{ url = "https://files.pythonhosted.org/packages/1c/c9/19d0c6ca35778a7e9415c30c46a0c64c9d4374219d004a35563132296896/coverage-7.16.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:46cd3a73e9140410de62cceb66214bce0e08fb3922b9176fbfc1522fec151b41", size = 260827, upload-time = "2026-09-13T19:09:47.061Z" },
|
|
422
|
+
{ url = "https://files.pythonhosted.org/packages/97/fc/5862f7344382c62b85df43d483e579168cc062e007f54d895dfa51fe3e7d/coverage-7.16.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d1ba5142d68dd2cb775cbd0ac8601819298152047803c8efe4eec6d7d7aa7878", size = 255038, upload-time = "2026-09-13T19:09:48.945Z" },
|
|
423
|
+
{ url = "https://files.pythonhosted.org/packages/2e/9f/5c26583199a68df8d15124b4590520903f8eb7cef17db293fea712bb0783/coverage-7.16.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c389c6f9d1d518e1249ddcb8a7f158135644ce2c508fa6cc17b680777dad5bf2", size = 256827, upload-time = "2026-09-13T19:09:50.738Z" },
|
|
424
|
+
{ url = "https://files.pythonhosted.org/packages/95/13/605198bff079b107336710f28a797312ab132587168600d70a290e7ecd2e/coverage-7.16.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cdc57746c7ac0ea063351b4d651c3bb4dd4fd35e64dbb8e90c10e14eb03c4080", size = 254794, upload-time = "2026-09-13T19:09:52.577Z" },
|
|
425
|
+
{ url = "https://files.pythonhosted.org/packages/43/b7/0bbb32dc5ccdac766a13763fdfbffd7d73fc80349a69230c46c6b71e7508/coverage-7.16.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5597180ed7670cc94c04c65347418a467d3a43d5f0cf52fcac647f5425f42037", size = 258947, upload-time = "2026-09-13T19:09:54.372Z" },
|
|
426
|
+
{ url = "https://files.pythonhosted.org/packages/13/bd/65c31ddd43ff4e61b63721b3dad17cca412dba6e2ce89f92abdf75734339/coverage-7.16.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:a9647a0ac46255b8fef59a433a2161f03e5483f3a35e1cbd9dfe4600baff0c6b", size = 254613, upload-time = "2026-09-13T19:09:56.198Z" },
|
|
427
|
+
{ url = "https://files.pythonhosted.org/packages/25/20/d278115f2ba522b3e3128c6852be265f4e0df7202b2effca4db96cf0217d/coverage-7.16.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e306e98186b9cd109121f3583aeb7978797ad21d948f22944c5c08845cd554d0", size = 256388, upload-time = "2026-09-13T19:09:58.095Z" },
|
|
428
|
+
{ url = "https://files.pythonhosted.org/packages/e1/ca/d43aa396fb3a2f71c9411b99d926475f5acaf5c124f605c592865c80c8d5/coverage-7.16.1-cp313-cp313-win32.whl", hash = "sha256:48a78a66fcce49d7f6156524bf979c0ac633d584199717c68c6ffa949fc14e6a", size = 225550, upload-time = "2026-09-13T19:09:59.998Z" },
|
|
429
|
+
{ url = "https://files.pythonhosted.org/packages/0e/30/df2f6114f6a17cffe94721bd1d298f77f86aad493717fa5bc03cb291a1a6/coverage-7.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:7af03247d598a353bbbbe1b925deb735276e4d845e7197c4073dc89352b236fa", size = 226091, upload-time = "2026-09-13T19:10:02.331Z" },
|
|
430
|
+
{ url = "https://files.pythonhosted.org/packages/ee/31/6f90d8aab72a112492bd50e3b5485b53b772b1f5fa70da0a620e723caae6/coverage-7.16.1-cp313-cp313-win_arm64.whl", hash = "sha256:166adae25b05b04c9a84135912066d9c97482115af38df1a419a38aacc6b6f5d", size = 225481, upload-time = "2026-09-13T19:10:04.151Z" },
|
|
431
|
+
{ url = "https://files.pythonhosted.org/packages/96/1a/d6d16babd0a5fe4c3fae40702158c570351694e74516d8d81b86c5637448/coverage-7.16.1-py3-none-any.whl", hash = "sha256:3d8bd4e58b6a5c2018d808f297905393c6c61da466a48c3f0596a76a4900ebe4", size = 215264, upload-time = "2026-09-13T19:12:18.895Z" },
|
|
432
432
|
]
|
|
433
433
|
|
|
434
434
|
[[package]]
|
|
@@ -618,7 +618,7 @@ server = [
|
|
|
618
618
|
|
|
619
619
|
[[package]]
|
|
620
620
|
name = "fastretrieval"
|
|
621
|
-
version = "1.
|
|
621
|
+
version = "1.5.0"
|
|
622
622
|
source = { registry = "https://pypi.org/simple" }
|
|
623
623
|
dependencies = [
|
|
624
624
|
{ name = "huggingface-hub" },
|
|
@@ -629,9 +629,9 @@ dependencies = [
|
|
|
629
629
|
{ name = "tokenizers" },
|
|
630
630
|
{ name = "tqdm" },
|
|
631
631
|
]
|
|
632
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
632
|
+
sdist = { url = "https://files.pythonhosted.org/packages/65/18/6c106f146d8531fa65986bfbb27d337dd287474ab2ae549348a47a00d6fe/fastretrieval-1.5.0.tar.gz", hash = "sha256:475474695009d1f2fc169534af9b33df61fee4136ba7ccdebd4f8b2d6088f616", size = 328906, upload-time = "2026-09-13T08:36:37.806Z" }
|
|
633
633
|
wheels = [
|
|
634
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
634
|
+
{ url = "https://files.pythonhosted.org/packages/7b/35/807b4c0d5335c881cdd1a8d719d0a271c5eecb792ccf2f38ce4aa062d9a7/fastretrieval-1.5.0-py3-none-any.whl", hash = "sha256:49c7c3d9ac3271757ae813d1adc22feca3b05171522c3c78f931bda9e790001c", size = 145975, upload-time = "2026-09-13T08:36:36.528Z" },
|
|
635
635
|
]
|
|
636
636
|
|
|
637
637
|
[[package]]
|
|
@@ -1524,16 +1524,16 @@ wheels = [
|
|
|
1524
1524
|
|
|
1525
1525
|
[[package]]
|
|
1526
1526
|
name = "pydantic-settings"
|
|
1527
|
-
version = "2.
|
|
1527
|
+
version = "2.15.0"
|
|
1528
1528
|
source = { registry = "https://pypi.org/simple" }
|
|
1529
1529
|
dependencies = [
|
|
1530
1530
|
{ name = "pydantic" },
|
|
1531
1531
|
{ name = "python-dotenv" },
|
|
1532
1532
|
{ name = "typing-inspection" },
|
|
1533
1533
|
]
|
|
1534
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1534
|
+
sdist = { url = "https://files.pythonhosted.org/packages/68/ca/31c57507b13119d7d3cfa1576dad2911a4861e3be07b579395f4e9d393f9/pydantic_settings-2.15.0.tar.gz", hash = "sha256:694b793e84f766ba76a90ebdefc01d0a9a045dab0382bee70393da93712ad117", size = 261253, upload-time = "2026-08-07T09:24:57.419Z" }
|
|
1535
1535
|
wheels = [
|
|
1536
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1536
|
+
{ url = "https://files.pythonhosted.org/packages/30/a4/2bffa9f8e804325a09867f0e9d30795c80ea9f8d62560bd1b6ad6220eb2f/pydantic_settings-2.15.0-py3-none-any.whl", hash = "sha256:0ba092c291c94baceb5eff768aa0d56400a457585bc0175925a5a5510303da42", size = 69413, upload-time = "2026-08-07T09:24:55.839Z" },
|
|
1537
1537
|
]
|
|
1538
1538
|
|
|
1539
1539
|
[[package]]
|
|
@@ -1955,14 +1955,14 @@ wheels = [
|
|
|
1955
1955
|
|
|
1956
1956
|
[[package]]
|
|
1957
1957
|
name = "syrupy"
|
|
1958
|
-
version = "6.
|
|
1958
|
+
version = "6.1.1"
|
|
1959
1959
|
source = { registry = "https://pypi.org/simple" }
|
|
1960
1960
|
dependencies = [
|
|
1961
1961
|
{ name = "pytest" },
|
|
1962
1962
|
]
|
|
1963
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1963
|
+
sdist = { url = "https://files.pythonhosted.org/packages/74/2c/8ffc1414d1951895d0d5b7dc83c0b079ebc48c3bf27ffbb0064646367500/syrupy-6.1.1.tar.gz", hash = "sha256:7e584a8df4ede6dd3c1c44a77f9edc46186b6767a73dea6f0083044946839a59", size = 109705, upload-time = "2026-09-13T20:25:21.599Z" }
|
|
1964
1964
|
wheels = [
|
|
1965
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1965
|
+
{ url = "https://files.pythonhosted.org/packages/2c/b5/bf2a8a335a6a813869dd482cedbcde252f582b5afbfe50eb78ec09962800/syrupy-6.1.1-py3-none-any.whl", hash = "sha256:6ac9ac6a42d70ae44156f5f157a9563b9bb8cc96dcf9364327f330463bff889a", size = 63436, upload-time = "2026-09-13T20:25:20.294Z" },
|
|
1966
1966
|
]
|
|
1967
1967
|
|
|
1968
1968
|
[[package]]
|
|
@@ -2059,19 +2059,19 @@ wheels = [
|
|
|
2059
2059
|
|
|
2060
2060
|
[[package]]
|
|
2061
2061
|
name = "tree-sitter-language-pack"
|
|
2062
|
-
version = "1.19.
|
|
2062
|
+
version = "1.19.1"
|
|
2063
2063
|
source = { registry = "https://pypi.org/simple" }
|
|
2064
2064
|
dependencies = [
|
|
2065
2065
|
{ name = "tree-sitter" },
|
|
2066
2066
|
]
|
|
2067
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2067
|
+
sdist = { url = "https://files.pythonhosted.org/packages/6a/e0/8a9ca62d2397d78853a61a09852d6403e662a241b15222e2a8d56f3ddd04/tree_sitter_language_pack-1.19.1.tar.gz", hash = "sha256:38364e9883febbf868b3737654bc93a813e44433a973f08be049930ce1b19b5f", size = 88624, upload-time = "2026-09-13T15:03:34.16Z" }
|
|
2068
2068
|
wheels = [
|
|
2069
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2070
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2071
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2072
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2073
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2074
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2069
|
+
{ url = "https://files.pythonhosted.org/packages/0e/01/c1e6f361b3d11b4729bd4dcead96a1dc12d6fe4ea9aedf94a5b3c641bb82/tree_sitter_language_pack-1.19.1-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:eccaac3f56840d10c14036bb053baeb83bb44f4fc65b6203105eee0637a5483f", size = 2295247, upload-time = "2026-09-13T15:03:27.437Z" },
|
|
2070
|
+
{ url = "https://files.pythonhosted.org/packages/32/71/d93b31b3a637da1cd3b2477a194194d9aacc5e831dfc1adc2ca5ddeeffaf/tree_sitter_language_pack-1.19.1-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:12afde06b32de7aa61922fb6c06344651bb94c9635c8f5f6c719b5e533f59b49", size = 2183284, upload-time = "2026-09-13T15:03:28.719Z" },
|
|
2071
|
+
{ url = "https://files.pythonhosted.org/packages/69/14/5a606413b67ac1d4fb50368dce106e14b0d3132ed6013ba1f4831dab83bc/tree_sitter_language_pack-1.19.1-cp310-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6d5187ee6b783614874d3fd7990edb51aa67703fa6ae2c05a2fd3a6cab08ddc1", size = 2341866, upload-time = "2026-09-13T15:03:29.797Z" },
|
|
2072
|
+
{ url = "https://files.pythonhosted.org/packages/5e/b0/e0b0276b210e80c51ba77a2fcf9123bc76fd7e6868bf1c4114a81a1b894e/tree_sitter_language_pack-1.19.1-cp310-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:86889d8409bea81276590f9f05d289c08e9921e041d9ea6c240786d4798b76ee", size = 2459200, upload-time = "2026-09-13T15:03:30.882Z" },
|
|
2073
|
+
{ url = "https://files.pythonhosted.org/packages/6c/e8/0edf02a82644fa03eb95a6b84ac7649c585692b3ee9fbf9e96df7e64fcca/tree_sitter_language_pack-1.19.1-cp310-abi3-win_amd64.whl", hash = "sha256:a2c57801f2d4d87899d59a91fb381a855329bacfe56c8289c8f376211aafeea1", size = 2241888, upload-time = "2026-09-13T15:03:32.051Z" },
|
|
2074
|
+
{ url = "https://files.pythonhosted.org/packages/ec/5f/e19dca1fcafe4c50f931c3b1934dfea98fcf65d435c86c48ceaf12f33e2f/tree_sitter_language_pack-1.19.1-cp310-abi3-win_arm64.whl", hash = "sha256:9afd39e3698a0a487236774df2a09441c48610013d76abc6da9c014d900e223d", size = 2140521, upload-time = "2026-09-13T15:03:33.146Z" },
|
|
2075
2075
|
]
|
|
2076
2076
|
|
|
2077
2077
|
[[package]]
|
|
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.26.0 → better_code_review_graph-3.26.2}/.github/PULL_REQUEST_TEMPLATE.md
RENAMED
|
File without changes
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/review-learnings.md
RENAMED
|
File without changes
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/rulesets/main.json
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/ci.yml
RENAMED
|
File without changes
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/opencode.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
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/branch-sync-check.py
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/stale-graph-check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/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.26.0 → better_code_review_graph-3.26.2}/rules/semgrep/curated.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/enforce-commit.sh
RENAMED
|
File without changes
|
{better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/preserve-diacritics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|