Skip to content

feat(sync): publish maintenance efficiency SLOs - #2896

Merged
stranske merged 7 commits into
mainfrom
codex/issue-2883-maintenance-efficiency
Aug 1, 2026
Merged

feat(sync): publish maintenance efficiency SLOs#2896
stranske merged 7 commits into
mainfrom
codex/issue-2883-maintenance-efficiency

Conversation

@stranske

@stranske stranske commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Source: Issue #2883

Closes #2883

Automated Status Summary

Scope

The maintenance system currently exposes individual workflow and campaign state, but it does not publish a durable efficiency view. Without PR amplification, stale/replacement rate, CI runs per delivered source change, and agent-exception episodes, a change can look operationally successful while total maintenance work grows.

The recent audit required a one-off reconstruction of those measures. This is a latent control defect: future Renovate, sync, or controller changes can regress productivity without a named test or SLO detecting the regression.

Tasks

  • Add scripts/dependency_sync_efficiency_metrics.py to classify PRs by dependency-bot, sync-generated, dev-tool-sync, traditional, and Collab-Admin-excluded lanes.
  • Compute weekly created/merged/closed/stale counts, source-change-to-consumer-PR amplification, replacement PRs per repo/batch, Actions runs/jobs per delivered source change, time-to-terminal-disposition, and distinct agent-exception fingerprints.
  • Add fixture data and unit tests covering Renovate authors/branches, Dependabot compatibility, sync titles, dev-tool wave IDs, supersession, telemetry-only failures, and Collab-Admin exclusion.
  • Add .github/workflows/health-83-dependency-sync-efficiency.yml to publish JSON and Markdown artifacts on a weekly schedule and by manual dispatch.
  • Update a durable tracking issue only when the SLO state or material evidence changes; do not append an unchanged weekly comment.
  • Establish an advisory baseline and documented targets: no more than 40 generated PRs/week, under 5% stale/replacement PRs, zero avoidable replacement PRs per repo/batch, and no more than 5 distinct agent-exception episodes/week.
  • Keep targets advisory for four complete weeks, then require an explicit repository decision before any threshold becomes blocking.
  • Document calculation definitions, exclusions, data-retention limitations, and security-window handling in docs/ops/DEPENDENCY_SYNC_EFFICIENCY.md and link it from durable-tracker guidance.

Acceptance criteria

  • Unit tests produce stable, auditable metric values from a fixed GitHub event/PR fixture and identify every classified PR by lane.
  • The report includes numerator, denominator, period, excluded Collab-Admin figures, and source evidence for every rate or ratio.
  • Two identical scheduled inputs produce no duplicate durable-tracker comment or agent handoff.
  • Security-bypass PRs remain visible but are separated from routine cadence compliance.
  • A manual workflow run uploads both machine-readable JSON and human-readable Markdown and records any incomplete GitHub history explicitly.
  • Deliberate-break test: change a fixture to exceed stale/replacement and exception thresholds, verify the evaluator reports named breaches, then revert and verify the baseline passes.
  • Run python scripts/dev_check.py --action test and workflow validation successfully.

Summary by CodeRabbit

  • New Features

    • Added a weekly and manually triggered advisory report for dependency-sync efficiency.
    • Reports include maintenance, timing, staleness, replacement, exception, exclusion, and SLO metrics.
    • Reports disclose collection limits and retain input and output evidence as downloadable artifacts.
    • Tracker comments update only when material report evidence changes.
  • Documentation

    • Added workflow catalog entries and guidance covering metrics, thresholds, exclusions, and reporting behavior.
  • Tests

    • Added coverage for metric calculations, reporting, fingerprints, workflow triggers, permissions, comments, and artifacts.

Copilot AI review requested due to automatic review settings August 1, 2026 22:08
@stranske stranske added agent:codex Agent-created issues from Codex agents:keepalive Use to initiate keepalive functionality with agents autofix Opt-in automated formatting & lint remediation agent:retry Add to trigger agent retry after rate limit or pause labels Aug 1, 2026
@cursor

cursor Bot commented Aug 1, 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 1, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 703940b2-9448-493f-b26a-e5503169eebc

📥 Commits

Reviewing files that changed from the base of the PR and between 0351eaa and bc5e148.

📒 Files selected for processing (4)
  • .github/workflows/health-83-dependency-sync-efficiency.yml
  • scripts/dependency_sync_efficiency_metrics.py
  • tests/scripts/test_dependency_sync_efficiency_metrics.py
  • tests/workflows/test_dependency_sync_efficiency_workflow.py

📝 Walkthrough

Walkthrough

This change adds Health 83 dependency-sync metrics, advisory SLO evaluation, bounded evidence collection, fingerprinted reports, scheduled and manual workflow publication, tests, and documentation.

Changes

Dependency sync efficiency

Layer / File(s) Summary
Metric calculation and advisory evaluation
scripts/dependency_sync_efficiency_metrics.py, tests/scripts/test_dependency_sync_efficiency_metrics.py, docs/ops/DEPENDENCY_SYNC_EFFICIENCY.md
The script classifies maintenance lanes, calculates PR and workflow metrics, evaluates thresholds, records exclusions and collection limits, and validates fixture-backed results.
Evidence reports and fingerprints
scripts/dependency_sync_efficiency_metrics.py, tests/scripts/test_dependency_sync_efficiency_metrics.py
The CLI writes JSON and Markdown reports. Fingerprints ignore generation timestamps and change when material evidence changes.
Scheduled report publication
.github/workflows/health-83-dependency-sync-efficiency.yml, tests/workflows/*, docs/ci/*, docs/ops/*
The workflow collects bounded repository history, uploads evidence and reports, and comments on issue 2897 only when the fingerprint changes. Tests and catalog entries cover the workflow contract.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Trigger
  participant Health83Workflow
  participant GitHub
  participant MetricsScript
  participant Tracker2897
  participant Artifacts

  Trigger->>Health83Workflow: start scheduled or manual run
  Health83Workflow->>GitHub: collect bounded PR and workflow-run evidence
  Health83Workflow->>MetricsScript: provide evidence snapshot
  MetricsScript-->>Health83Workflow: return JSON, Markdown, and evidence fingerprint
  Health83Workflow->>Tracker2897: post report when material evidence changes
  Health83Workflow->>Artifacts: upload input and generated reports
Loading

Possibly related issues

  • Issue 2897: The workflow publishes fingerprint-gated advisory reports to this durable tracker.
  • Issue 2884: The changes implement dependency-sync efficiency reporting and advisory SLO evaluation.

Possibly related PRs

Suggested labels: follow-up

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 4.17% 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 primary change: publishing maintenance-efficiency SLOs for dependency and sync work.
Linked Issues check ✅ Passed The implementation and tests address the linked issue objectives for metrics, advisory SLOs, evidence, workflow publication, tracker updates, exclusions, and documentation.
Out of Scope Changes check ✅ Passed The workflow, calculator, tests, documentation, and tracker updates are directly related to the linked issue objectives.
✨ 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/issue-2883-maintenance-efficiency

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

Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Fixed
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Runner dispatch state for codex on PR #2896. Do not edit.

@stranske
stranske temporarily deployed to agent-high-privilege August 1, 2026 22:09 — with GitHub Actions Inactive
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Fixed
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Fixed
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Fixed
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Fixed
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Fixed

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f2ffff5cfc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Outdated
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Outdated
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Outdated
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Outdated

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

Adds a new “Health 83” maintenance-efficiency surface to make dependency/sync maintenance cost visible via a scheduled/manual workflow, a hermetic metrics calculator, fixture-backed tests, and supporting documentation—intended to provide an advisory (non-blocking) SLO signal.

Changes:

  • Introduces scripts/dependency_sync_efficiency_metrics.py to calculate lane counts, stale/replacement signals, amplification, and an evidence fingerprint from a portable snapshot.
  • Adds .github/workflows/health-83-dependency-sync-efficiency.yml to collect bounded GitHub evidence, publish JSON/Markdown artifacts, and comment to a durable tracker when the fingerprint changes.
  • Documents and registers the new workflow in CI/system docs and workflow naming tests.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
tests/workflows/test_workflow_naming.py Registers the new workflow display name for uniqueness coverage.
tests/workflows/test_dependency_sync_efficiency_workflow.py Adds assertions that Health 83 is scheduled/manual and contains expected artifact + dedupe markers.
tests/scripts/test_dependency_sync_efficiency_metrics.py Adds fixture-backed unit tests for lane classification, fingerprint stability, and breach rendering.
scripts/dependency_sync_efficiency_metrics.py Implements the report calculation, fingerprinting, and Markdown rendering for advisory SLOs.
docs/ops/DEPENDENCY_SYNC_EFFICIENCY.md Documents measures, advisory thresholds, exclusions, and bounded-history limitations.
docs/ci/WORKFLOWS.md Adds Health 83 to the scheduled health workflow inventory.
docs/ci/WORKFLOW_SYSTEM.md Adds Health 83 to the workflow system reference table.
.github/workflows/health-83-dependency-sync-efficiency.yml New Health 83 workflow to collect evidence, generate report artifacts, and update a durable tracker on material change.

Comment thread scripts/dependency_sync_efficiency_metrics.py Outdated
Comment thread scripts/dependency_sync_efficiency_metrics.py Outdated
Comment thread scripts/dependency_sync_efficiency_metrics.py Outdated
Comment thread scripts/dependency_sync_efficiency_metrics.py Outdated
Comment thread scripts/dependency_sync_efficiency_metrics.py Outdated
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Outdated
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml
@stranske

stranske commented Aug 1, 2026

Copy link
Copy Markdown
Owner Author

Runner dispatch state for autofix on PR #2896. Do not edit.

@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: 6

🤖 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 @.github/workflows/health-83-dependency-sync-efficiency.yml:
- Line 18: Update the actions/checkout@v7 step in the workflow to set
persist-credentials to false, while leaving the existing checkout behavior and
subsequent github-script token handling unchanged.
- Around line 28-82: Update the workflow’s API usage to satisfy Maint 52 by
adding the local setup-api-client step and initializing createTokenAwareRetry in
each github-script block that makes GitHub API calls. Replace the direct
pulls.list, actions.listWorkflowRunsForRepo, issues.listComments pagination, and
issues.createComment calls with the appropriate withRetry or paginateWithRetry
wrapper.
- Around line 41-53: Update the pull-request collection in the `pulls.push` flow
to parse the `workflows-consumer-sync:v1` marker from `pr.body` and map a stable
marker field such as `source_sha` to the calculator’s expected source key. Use
that same source key when associating entries in the `workflow_runs` collection,
rather than using `run.head_sha`, which identifies the consumer commit. Add
fixtures covering the marker format and the resulting workflow-run mapping.

In `@scripts/dependency_sync_efficiency_metrics.py`:
- Around line 43-48: Update labels() to handle both string items and
mapping-shaped label objects without calling .get on a string: use the string
value directly for string items, otherwise retain the existing name extraction
and lowercasing behavior. Add or update tests covering both label shapes and
mixed inputs, as this changes behavior in an untested helper.
- Around line 157-161: Update the avoidable_replacements Counter to key by the
same repository/batch identifier used by source_to_prs, reusing that existing
source/batch key computation rather than grouping only by repository. Preserve
the replacement filter and ensure both metrics report consistent
repository/batch granularity.

In `@tests/scripts/test_dependency_sync_efficiency_metrics.py`:
- Around line 14-37: Extend
test_fixture_classifies_all_generated_lanes_and_excludes_collab_admin to assert
that report["advisory_slo"]["breaches"]["avoidable_replacements_per_repo_batch"]
contains the expected breach for stranske/App, reflecting PR `#3`’s replacement
classification and threshold violation.
🪄 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: 2e20ed9c-4fe7-496e-bb35-13700b816f38

📥 Commits

Reviewing files that changed from the base of the PR and between 18f25a9 and f2ffff5.

📒 Files selected for processing (8)
  • .github/workflows/health-83-dependency-sync-efficiency.yml
  • docs/ci/WORKFLOWS.md
  • docs/ci/WORKFLOW_SYSTEM.md
  • docs/ops/DEPENDENCY_SYNC_EFFICIENCY.md
  • scripts/dependency_sync_efficiency_metrics.py
  • tests/scripts/test_dependency_sync_efficiency_metrics.py
  • tests/workflows/test_dependency_sync_efficiency_workflow.py
  • tests/workflows/test_workflow_naming.py

Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml Outdated
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml
Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml
Comment thread scripts/dependency_sync_efficiency_metrics.py Outdated
Comment thread scripts/dependency_sync_efficiency_metrics.py Outdated
Comment thread tests/scripts/test_dependency_sync_efficiency_metrics.py
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Autofix updated these files:

  • tests/workflows/test_dependency_sync_efficiency_workflow.py

@agents-workflows-bot
agents-workflows-bot Bot temporarily deployed to agent-high-privilege August 1, 2026 22:18 Inactive

@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 `@scripts/dependency_sync_efficiency_metrics.py`:
- Around line 236-239: Update the Markdown report generation around the existing
metrics summary to include avoidable-replacement evidence: list each violating
repository/batch key and its count whenever the zero-per-repository/batch target
is breached, even if the aggregate stale/replacement rate is compliant. Preserve
the existing summary metrics and add a test covering this breach path and its
rendered evidence.
🪄 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: 7cce2fde-b10d-4d0d-80b0-d4a088850769

📥 Commits

Reviewing files that changed from the base of the PR and between f2ffff5 and 057b4a2.

📒 Files selected for processing (3)
  • scripts/dependency_sync_efficiency_metrics.py
  • tests/scripts/test_dependency_sync_efficiency_metrics.py
  • tests/workflows/test_dependency_sync_efficiency_workflow.py
💤 Files with no reviewable changes (1)
  • tests/workflows/test_dependency_sync_efficiency_workflow.py

Comment thread scripts/dependency_sync_efficiency_metrics.py
@agents-workflows-bot

Copy link
Copy Markdown
Contributor

🤖 Bot Comment Handler

  • Agent: codex
  • Bot comments to address: 18

The agent has been assigned to this PR to address the bot review comments.

Instructions for agent

  1. Implement suggested fixes that improve the code
  2. Skip suggestions that don't apply (note why in your response)

The bot comment handler workflow has prepared context in the artifacts.

@stranske
stranske force-pushed the codex/issue-2883-maintenance-efficiency branch from 057b4a2 to 39cfe7d Compare August 1, 2026 22:26
@stranske

stranske commented Aug 1, 2026

Copy link
Copy Markdown
Owner Author

Closer recovery pushed 39cfe7d after rebasing onto current main. It routes Health 83 GitHub calls through createTokenAwareRetry/setup-api-client, pins external Actions and disables persisted checkout credentials, applies an explicit trailing seven-day evidence window, maps consumer-sync marker source IDs to linked workflow runs, compares only the latest Health 83 tracker fingerprint, and fixes label/replacement metric edge cases. Validation: 7 focused metric/workflow tests passed; check_api_wrapper_guard passed; workflow YAML parsed; actionlint passed; git diff --check passed. scripts/dev_check.sh reached syntax and workflow YAML validation but cannot continue locally because the installed macOS Bash lacks mapfile.

@stranske
stranske temporarily deployed to agent-high-privilege August 1, 2026 22:26 — with GitHub Actions Inactive
Count weekly created/merged/closed from event timestamps, surface avoidable
replacement keys in Markdown, and route tracker comments to dedicated #2897
instead of the #1836 campaign queue.

Co-authored-by: Cursor <cursoragent@cursor.com>
@stranske
stranske temporarily deployed to agent-high-privilege August 1, 2026 22:40 — with GitHub Actions Inactive
@stranske

stranske commented Aug 1, 2026

Copy link
Copy Markdown
Owner Author

Closer review recovery on 1654f59d:

  • Weekly event counts: created/merged/closed now use reporting-window timestamps (period.start/end or trailing 7d); fixtures without event times keep snapshot membership behavior.
  • Avoidable-replacement Markdown evidence: report lists repository/batch keys + counts so a zero-per-batch breach is visible even when the stale/replacement % looks compliant; added coverage test.
  • Dedicated tracker: created durable tracker #2897; Health 83 comments there and refuses #1836. Documented in DURABLE_TRACKING_ISSUES.md / DEPENDENCY_SYNC_EFFICIENCY.md.
  • Collector hygiene: normalize registered repo names before Set dedupe; keep Collab-Admin as owner/Collab-Admin only; head_sha remains a source-amplification fallback.

Validation: python3 -m pytest tests/scripts/test_dependency_sync_efficiency_metrics.py tests/workflows/test_dependency_sync_efficiency_workflow.py -q → 9 passed; YAML parse + git diff --check clean.

Resolved the 12 open review threads on this head (prior findings + the two current Copilot/CodeRabbit items above).

@agents-workflows-bot
agents-workflows-bot Bot temporarily deployed to agent-high-privilege August 1, 2026 22:46 Inactive

@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: 4

🤖 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 @.github/workflows/health-83-dependency-sync-efficiency.yml:
- Around line 96-103: Update the “Calculate advisory SLOs” step and its metrics
command to capture and reuse the fingerprint emitted by
dependency_sync_efficiency_metrics.py, rather than launching a second Python
process to recompute it. Preserve writing the captured fingerprint to
GITHUB_OUTPUT under the existing fingerprint key.

In `@scripts/dependency_sync_efficiency_metrics.py`:
- Around line 136-144: Update the later lane classification at line 184 to read
the cached pr["_lane"] value populated in the pulls loop instead of calling
lane_for(pr) again. Preserve the existing lane filtering and downstream
behavior, using the cached field as the sole source for that classification.
- Around line 171-176: Derive the `batch` value from the already-computed
`source` in the surrounding dependency metrics processing instead of calling
`first` with a duplicated fallback-key list. Keep the existing fallback to
`"unknown"` in the `source` computation, and use that same normalized value for
both `source_to_prs` and `avoidable_replacements_per_repo_batch` grouping.
- Around line 254-263: Update the stale_or_replacement_rate condition in the
breaches mapping to flag rates equal to or above
THRESHOLDS["stale_or_replacement_rate"], matching the documented “< 5%”
threshold while leaving the other breach checks unchanged. Add a fixture test
covering exactly 5% (such as 2 stale/replacement PRs out of 40 generated) and
assert that it breaches.
🪄 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: beaf4d99-9e89-4a8b-be22-efe749fdc0e4

📥 Commits

Reviewing files that changed from the base of the PR and between 057b4a2 and 0351eaa.

📒 Files selected for processing (9)
  • .github/workflows/health-83-dependency-sync-efficiency.yml
  • docs/ci/WORKFLOWS.md
  • docs/ci/WORKFLOW_SYSTEM.md
  • docs/ops/DEPENDENCY_SYNC_EFFICIENCY.md
  • docs/ops/DURABLE_TRACKING_ISSUES.md
  • scripts/dependency_sync_efficiency_metrics.py
  • tests/scripts/test_dependency_sync_efficiency_metrics.py
  • tests/workflows/test_dependency_sync_efficiency_workflow.py
  • tests/workflows/test_workflow_naming.py

Comment thread .github/workflows/health-83-dependency-sync-efficiency.yml
Comment thread scripts/dependency_sync_efficiency_metrics.py
Comment thread scripts/dependency_sync_efficiency_metrics.py
Comment thread scripts/dependency_sync_efficiency_metrics.py
@stranske

stranske commented Aug 1, 2026

Copy link
Copy Markdown
Owner Author

Addressed the four current CodeRabbit findings in 19af7047: capture the calculator-emitted fingerprint instead of recomputing it, reuse normalized lane/source values, and treat the documented 5% stale/replacement boundary as a breach with regression coverage. Validation: Python 3.12 focused metrics/workflow tests (10 passed), workflow YAML parse, actionlint, API-wrapper guard, and diff check all pass. The branch was rebased onto current autofix head before push.

@stranske
stranske temporarily deployed to agent-high-privilege August 1, 2026 23:25 — with GitHub Actions Inactive
@agents-workflows-bot
agents-workflows-bot Bot temporarily deployed to agent-high-privilege August 1, 2026 23:31 Inactive
@stranske
stranske merged commit 9c49bc6 into main Aug 1, 2026
59 checks passed
@stranske
stranske deleted the codex/issue-2883-maintenance-efficiency branch August 1, 2026 23:38
@stranske stranske added the verify:compare Compare multiple LLM evaluations label Aug 1, 2026
@stranske
stranske temporarily deployed to agent-high-privilege August 1, 2026 23:38 — with GitHub Actions Inactive
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Provider Comparison Report

Provider Summary

Provider Model Verdict Confidence Summary
openai gpt-5.6-terra PASS 72% The merged change adds the requested metrics evaluator, weekly/manual publishing workflow, operational documentation, durable-tracker guidance, and focused script/workflow tests. The implementation...
anthropic claude-sonnet-5 PASS 55% The PR adds the full set of files called for by the task list: a metrics script, a weekly/manual GitHub Actions workflow, fixture-driven unit tests for the script and workflow, and a documentation...
📋 Full Provider Details (click to expand)

openai

  • Model: gpt-5.6-terra
  • Verdict: PASS
  • Confidence: 72%
  • Scores:
    • Correctness: 8.0/10
    • Completeness: 8.0/10
    • Quality: 8.0/10
    • Testing: 8.0/10
    • Risks: 8.0/10
  • Summary: The merged change adds the requested metrics evaluator, weekly/manual publishing workflow, operational documentation, durable-tracker guidance, and focused script/workflow tests. The implementation scope covers lane classification (including Collab-Admin exclusion), efficiency and replacement/staleness measures, exception fingerprints, source evidence, security-window separation, advisory SLO evaluation, deduplicated tracker updates, and JSON/Markdown report generation. Tests are present for the specified classification and threshold/supersession scenarios, including stable fixture-based metric evaluation and workflow structure. No material correctness, completeness, or security issue is evident from the supplied code-change summary.
  • Concerns:
    • The implementation depends on GitHub API/history availability; its explicit incomplete-history reporting is important because retained or queryable history may not cover a complete reporting period.
    • The advisory-to-blocking transition remains a repository-governance decision after four complete weeks, rather than an automatically enforced threshold transition, which is consistent with the documented requirement.

anthropic

  • Model: claude-sonnet-5
  • Verdict: PASS
  • Confidence: 55%
  • Scores:
    • Correctness: 6.0/10
    • Completeness: 7.0/10
    • Quality: 6.0/10
    • Testing: 6.0/10
    • Risks: 7.0/10
  • Summary: The PR adds the full set of files called for by the task list: a metrics script, a weekly/manual GitHub Actions workflow, fixture-driven unit tests for the script and workflow, and a documentation file describing the SLO calculations. This structural completeness aligns with the scope and most tasks in the linked issue/PR. However, the actual code bodies (354-line script, 240+33 lines of tests) were not fully visible in this review context, so nuanced acceptance criteria — precise numerator/denominator/period reporting, Collab-Admin exclusion handling, idempotent tracker updates, and the deliberate-break/revert test cycle — could not be independently confirmed beyond file presence and naming. CI on the merge commit passed the primary gate workflow, which is a positive signal for basic script/test execution. Given the strong structural alignment with requirements but limited ability to verify deep logical correctness from the diff summary alone, this is a cautious PASS with moderate confidence; a follow-up code-level review of the script and test assertions is recommended if not already done during PR review.
  • Concerns:
    • The actual code content of scripts/dependency_sync_efficiency_metrics.py and the two test files was not visible in the diff provided (only line counts), so deep correctness of classification logic, amplification math, replacement-PR detection, and time-to-terminal-disposition calculations cannot be directly verified.
    • Acceptance criteria such as 'idempotent durable-tracker updates for two identical scheduled inputs' and the 'deliberate-break test that reverts after verifying failure' are structurally plausible given file names (tests/scripts, tests/workflows) but their actual assertions were not inspectable to confirm they exercise these exact scenarios.
    • docs/ops/DEPENDENCY_SYNC_EFFICIENCY.md is only 51 lines, which is fairly compact for the required scope (calculation definitions, exclusions, data-retention limitations, security-window handling) — could be thin, though not necessarily insufficient.
    • All PR/issue checklist items appear unchecked in the provided context, which is inconsistent with a merged PR that supposedly satisfies these criteria — this may just be an artifact of the PR template not being updated rather than a real gap, but it reduces confidence.
    • No visibility into whether the new workflow (health-83-dependency-sync-efficiency.yml) was validated by workflow-naming/lint tooling beyond the one test file added (tests/workflows/test_workflow_naming.py updated with +1 line), suggesting minimal validation footprint change.

Agreement

  • Verdict: PASS (all providers)
  • Completeness: scores within 1 point (avg 7.5/10, range 7.0-8.0)
  • Risks: scores within 1 point (avg 7.5/10, range 7.0-8.0)

Disagreement

Dimension openai anthropic
Correctness 8.0/10 6.0/10
Quality 8.0/10 6.0/10
Testing 8.0/10 6.0/10

Unique Insights

  • openai: The implementation depends on GitHub API/history availability; its explicit incomplete-history reporting is important because retained or queryable history may not cover a complete reporting period.; The advisory-to-blocking transition remains a repository-governance decision after four complete weeks, rather than an automatically enforced threshold transition, which is consistent with the documented requirement.
  • anthropic: The actual code content of scripts/dependency_sync_efficiency_metrics.py and the two test files was not visible in the diff provided (only line counts), so deep correctness of classification logic, amplification math, replacement-PR detection, and time-to-terminal-disposition calculations cannot be directly verified.; Acceptance criteria such as 'idempotent durable-tracker updates for two identical scheduled inputs' and the 'deliberate-break test that reverts after verifying failure' are structurally plausible given file names (tests/scripts, tests/workflows) but their actual assertions were not inspectable to confirm they exercise these exact scenarios.; docs/ops/DEPENDENCY_SYNC_EFFICIENCY.md is only 51 lines, which is fairly compact for the required scope (calculation definitions, exclusions, data-retention limitations, security-window handling) — could be thin, though not necessarily insufficient.; All PR/issue checklist items appear unchecked in the provided context, which is inconsistent with a merged PR that supposedly satisfies these criteria — this may just be an artifact of the PR template not being updated rather than a real gap, but it reduces confidence.; No visibility into whether the new workflow (health-83-dependency-sync-efficiency.yml) was validated by workflow-naming/lint tooling beyond the one test file added (tests/workflows/test_workflow_naming.py updated with +1 line), suggesting minimal validation footprint change.

🔍 LangSmith Traces

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

Labels

agent:codex Agent-created issues from Codex agent:retry Add to trigger agent retry after rate limit or pause agents:keepalive Use to initiate keepalive functionality with agents autofix:patch autofix Opt-in automated formatting & lint remediation verify:compare Compare multiple LLM evaluations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Dependency/Sync] Publish maintenance-efficiency metrics and SLOs

4 participants