Skip to content

fix(sync): repair generated review and dependency drift - #2908

Merged
stranske merged 1 commit into
mainfrom
codex/sync-dependency-pr-cleanup
Aug 4, 2026
Merged

fix(sync): repair generated review and dependency drift#2908
stranske merged 1 commit into
mainfrom
codex/sync-dependency-pr-cleanup

Conversation

@stranske

@stranske stranske commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • return structured VERDICT_BROKEN output when deliberate-break tamper Git inspection fails
  • reject falsy non-object model-selection override values instead of silently defaulting them
  • align Coverage 7.15.3 across canonical Workflows pins, locks, and consumer/integration templates
  • carry the current verifier verdict boolean fix into the consumer template

Queue impact

This is the source-first repair for Manager-Database #1515 and Counter_Risk #904, and removes the pin conflict blocking Workflows-Integration-Tests #51. After merge, regenerate consumer sync/dev-tool PRs and supersede the stale affected branches.

Validation

  • python3 -m pytest -q tests/scripts/test_check_deliberate_break.py tests/tools/test_evaluate_model_benchmark.py tests/workflows/test_verifier_verdict_parsing.py tests/workflows/test_verifier_terminal_disposition.py (50 passed)
  • ruff check on changed Python files
  • python3 scripts/validate_template_completeness.py

Summary by CodeRabbit

  • Bug Fixes

    • Improved handling of tamper-check failures, including clearer failure details.
    • Preserved valid boolean attention indicators in verifier results.
    • Strengthened validation for benchmark configuration overrides.
  • Tests

    • Added regression coverage for tamper-check failures and invalid configuration values.
  • Chores

    • Updated the pinned code coverage tool to version 7.15.3 across project templates.

Copilot AI review requested due to automatic review settings August 4, 2026 02:44
@cursor

cursor Bot commented Aug 4, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The change improves tamper-check failure reporting, preserves boolean verifier verdict fields, strengthens benchmark override validation, and updates coverage pins in canonical and template configurations.

Changes

Verifier and tooling updates

Layer / File(s) Summary
Tamper-check failure handling
scripts/check_deliberate_break.py, templates/consumer-repo/scripts/check_deliberate_break.py, tests/scripts/test_check_deliberate_break.py
Tamper-check subprocess failures now return FAIL_BROKEN results with command and process diagnostics. A regression test covers this behavior.
Verdict and benchmark validation
templates/consumer-repo/.github/scripts/verifier_verdict_json.py, tools/evaluate_model_benchmark.py, tests/tools/test_evaluate_model_benchmark.py
Boolean needs_attention values are preserved. Only absent override policies default to {}. Tests cover additional invalid override values.
Coverage pin synchronization
.github/workflows/autofix-versions.env, pyproject.toml, templates/consumer-repo/.github/workflows/autofix-versions.env, templates/integration-repo/.github/workflows/autofix-versions.env
Coverage pins now use version 7.15.3.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant verify_spec
  participant _changed_assertions
  participant subprocess
  verify_spec->>_changed_assertions: run tamper check
  _changed_assertions->>subprocess: execute Git command
  subprocess-->>_changed_assertions: raise CalledProcessError
  _changed_assertions-->>verify_spec: return command and process diagnostics
  verify_spec-->>verify_spec: create FAIL_BROKEN verdict
Loading

Possibly related PRs

Suggested labels: autofix:patch, verify:compare

Suggested reviewers: copilot

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the pull request's verifier fixes and dependency version alignment.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/sync-dependency-pr-cleanup

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR repairs sync- and drift-related regressions across the deliberate-break verifier surface, model benchmark policy validation, and pinned coverage toolchain versions so canonical Workflows and the consumer/integration templates remain aligned.

Changes:

  • Make deliberate-break tamper checks return structured FAIL_BROKEN JSON when underlying git inspection fails (CalledProcessError), with an added regression test.
  • Tighten benchmark policy validation by rejecting non-dict (including falsy) minimum_cases_per_category_overrides values instead of silently defaulting.
  • Align coverage to 7.15.3 across canonical pins/locks and the consumer + integration templates, and carry the needs_attention boolean parsing fix into the consumer template.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tools/evaluate_model_benchmark.py Stops silently defaulting invalid override types; enforces dict-or-None for overrides.
tests/tools/test_evaluate_model_benchmark.py Expands coverage for invalid override values via parametrized test.
scripts/check_deliberate_break.py Returns structured FAIL_BROKEN result when git tamper inspection errors (e.g., bad revision).
tests/scripts/test_check_deliberate_break.py Adds regression test asserting structured output for tamper git failures.
templates/consumer-repo/scripts/check_deliberate_break.py Mirrors deliberate-break tamper failure handling into the consumer template.
templates/consumer-repo/.github/scripts/verifier_verdict_json.py Fixes needs_attention handling to respect explicit booleans (and avoid truthiness coercion).
.github/workflows/autofix-versions.env Bumps Coverage pin to 7.15.3 for canonical workflow tooling.
templates/consumer-repo/.github/workflows/autofix-versions.env Mirrors Coverage pin bump into consumer template.
templates/integration-repo/.github/workflows/autofix-versions.env Mirrors Coverage pin bump into integration template.
pyproject.toml Bumps dev dependency pin for Coverage to 7.15.3.
requirements.lock Updates locked Coverage version to 7.15.3.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@templates/consumer-repo/.github/workflows/autofix-versions.env`:
- Line 15: Remove the shared COVERAGE_VERSION update from the consumer
template’s autofix-versions.env, preserving the repository-specific value. Do
not modify synchronization manifests, guidance, or scripts unless intentionally
changing the exclusion contract.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 3b8294d6-f14c-40c6-8cb5-a3ede4fe70bd

📥 Commits

Reviewing files that changed from the base of the PR and between 628a725 and fb898a2.

⛔ Files ignored due to path filters (1)
  • requirements.lock is excluded by !**/*.lock, !**/*.lock
📒 Files selected for processing (10)
  • .github/workflows/autofix-versions.env
  • pyproject.toml
  • scripts/check_deliberate_break.py
  • templates/consumer-repo/.github/scripts/verifier_verdict_json.py
  • templates/consumer-repo/.github/workflows/autofix-versions.env
  • templates/consumer-repo/scripts/check_deliberate_break.py
  • templates/integration-repo/.github/workflows/autofix-versions.env
  • tests/scripts/test_check_deliberate_break.py
  • tests/tools/test_evaluate_model_benchmark.py
  • tools/evaluate_model_benchmark.py

Comment thread templates/consumer-repo/.github/workflows/autofix-versions.env
@stranske
stranske enabled auto-merge (squash) August 4, 2026 02:48
@stranske-keepalive

Copy link
Copy Markdown
Contributor

Automated Status Summary

Head SHA: 2aed616
Latest Runs: ⏳ pending — Gate
Required contexts: summary
Required: core tests (3.12): ⏳ pending, core tests (3.13): ⏳ pending, docker smoke: ⏳ pending, gate: ⏳ pending

Workflow / Job Result Logs
(no jobs reported) ⏳ pending

Coverage Overview

  • Coverage history entries: 1

Coverage Trend

Metric Value
Current 76.07%
Baseline 85.00%
Delta -8.93%
Minimum 70.00%
Status ✅ Pass

Top Coverage Hotspots (lowest coverage)

File Coverage Missing
scripts/issue_dedup_smoke.py 0.0% 4
scripts/runner_lib/__main__.py 0.0% 3
scripts/validate_template_sync.py 0.0% 81
scripts/langchain/topic_splitter.py 19.1% 57
tools/codex_log_analyzer.py 19.6% 140
scripts/repo_review_round2_runner.py 25.1% 344
scripts/prune_agent_stubs.py 39.7% 26
scripts/repo_review_round1_runner.py 40.7% 133
tools/ensure_workflow_timeout_variables.py 42.1% 74
scripts/sync_label_docs.py 42.9% 64
tools/discover_model_catalog.py 44.8% 55
scripts/repo_review_backlog_scan.py 45.3% 116
scripts/repo_review_body_writer.py 46.5% 86
tools/codex_session_analyzer.py 47.9% 59
scripts/create_verifier_labels.py 48.3% 58

Low Coverage Files (<50.0%)

File Coverage Missing
scripts/issue_dedup_smoke.py 0.0% 4
scripts/runner_lib/__main__.py 0.0% 3
scripts/validate_template_sync.py 0.0% 81
scripts/langchain/topic_splitter.py 19.1% 57
tools/codex_log_analyzer.py 19.6% 140
scripts/repo_review_round2_runner.py 25.1% 344
scripts/prune_agent_stubs.py 39.7% 26
scripts/repo_review_round1_runner.py 40.7% 133
tools/ensure_workflow_timeout_variables.py 42.1% 74
scripts/sync_label_docs.py 42.9% 64
tools/discover_model_catalog.py 44.8% 55
scripts/repo_review_backlog_scan.py 45.3% 116
scripts/repo_review_body_writer.py 46.5% 86
tools/codex_session_analyzer.py 47.9% 59
scripts/create_verifier_labels.py 48.3% 58

Updated automatically; will refresh on subsequent CI/Docker completions.


Keepalive checklist

Scope

No scope information available

Tasks

  • No tasks defined

Acceptance criteria

  • No acceptance criteria defined

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants