Repository navigation
chore(deps): dependency round 2026-10-27, and Dependabot spends at most half the audit grace - #159
Merged
Merged
Conversation
…st half the audit grace Five Dependabot updates in one commit (#153-#157): copier 9.19.1, ruff 0.17.3, pre-commit 4.7.0, coverage 7.17.0, kfp 2.17.3, great-expectations 1.24.1, duckdb 2.0.0. The pre-commit ruff hook moves to v0.17.3 with the lock. The urllib3 override is retired: kfp 2.17.3 pins urllib3==2.8.0 itself on Python >= 3.10, and test_dependency_overrides failed as designed. Its checks now also run against recorded declarations, so they keep failing correctly while no override is in force. Every squash merge is one of the ten commits C7 allows between QA-4 rounds, and after round nineteen #152 merged as the seventh with nobody choosing to. dependabot-auto-merge.yml now queues only while scripts/dependabot_merge_budget.py, which reads C7's own count through check_doc_coherence.audit_drift, says the merge stays in the first half of the window. A push to main unqueues merges that no longer fit. The budget runs from main's code, never the pull request's. Mutations DEP27-1 to DEP27-7; DEP2 re-aimed, DEP3 re-anchored. Found, not fixed (CONSULT, recorded as DEP27-D1 in the work order): ml-core declares duckdb and nothing imports it, while ADR-004 and the inventory count DuckDB as Core. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
DuqueOM
force-pushed
the
chore/deps-round-2026-10-27
branch
from
October 27, 2026 16:53
3435baf to
99a599a
Compare
This was referenced Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
This takes the five open Dependabot updates (#153–#157) as one commit. It also stops auto-merge from spending the commits C7 keeps for remediation.
Updates:
ruff 0.17.3 is one patch newer than #153's 0.17.2. The pre-commit ruff hook moves to
v0.17.3with the lock, whichtests/test_tool_versions.pyrequires and which made #153 red. ruff 0.17 reports nothing new on the tree.The urllib3 security override is retired. kfp 2.17.3 pins
urllib3==2.8.0itself on Python ≥ 3.10, andtests/test_dependency_overrides.pyfailed as designed, which is #154's red check. Without the override the lock still resolves urllib3 2.8.0, the release that fixes CVE-2026-97687, -97688 and -97689. The test keeps its checks for the next override. They also run against recorded declarations, including kfp 2.17.3's real one, so they keep failing correctly while no override is in force.Auto-merge now has a budget. Every squash merge is one of the ten commits C7 allows between QA-4 rounds. After round nineteen, #152 merged on its own as the seventh, and the remediation still waiting had to be cut to fit the three that were left.
dependabot-auto-merge.ymlnow queues a merge only whilescripts/dependabot_merge_budget.pysays the merge keepsmainwithin the first half of the grace. The script uses C7's own count, throughcheck_doc_coherence.audit_drift, so it cannot disagree with the gate it protects. When C7 cannot measure (no marker, a marker the trail does not corroborate, or one off the history), it refuses.push: mainjob unqueues every queued Dependabot merge that no longer fits, because--autowaits for checks whilemainmoves.main's code, never the pull request's, because the job holdscontents: write.RESERVEDis half the grace, derived fromAUDIT_GRACE_COMMITSrather than written as a number.Found, not fixed (DEP27-D1, CONSULT): ml-core declares duckdb and nothing imports it. ADR-004 and the technology inventory count DuckDB as Core, and
crossover.pydescribes a "DuckDB/Polars" side that it measures with Polars alone. The finding is recorded in the work order with both remedies. This round takes 2.0.0 because nothing calls it.Class
Evidence
Layer this evidence reaches:
make verify)If this adds or changes a gate
What you broke to make it fail: DEP27-1 to DEP27-7. They let Dependabot spend the whole grace, compare against the grace instead of the limit, count against an uncorroborated or unreachable marker, read the budget from the PR's head, queue whatever the budget says, and drop the
push: maintrigger. DEP2 adds an override with no entry.The failure it produced (paste it):
Commit that records the verification: this one (catalogue entries DEP2, DEP3, DEP27-1 to DEP27-7)
Derived documents
No component is added.
check_technology_inventory.py,check_implementation_status.pyandcheck_compliance_mapping.pypass.Supersedes #153, #154, #155, #156 and #157, which will be closed with a link here once this merges.
🤖 Generated with Claude Code