Repository navigation
build(deps): refresh dev, build-backend and publish locks; uv 0.13.1, pydantic 2.14.1 - #1088
Merged
Merged
Conversation
… pydantic 2.14.1 Supersedes Dependabot #1087 (python-dependencies group) and #1085 (uv). #1087 could not install: it raised pydantic to 2.14.1 but left pydantic-core at 2.46.5, which pydantic pins exactly (2.14.1 needs 2.50.1). #1085 bumped uv without recompiling, and its rewrite dropped PyPy markers and wrote an extras-qualified pydantic pin. Each lock #1087/#1085 touched is recompiled with uv 0.13.1 (now pinned in release-publish.in): dev.txt, build-backend.txt, release-publish.txt. release-seal.txt is untouched. A clean recompile reproduces all three byte for byte; markers are preserved and no extras pin appears. cyclonedx-bom 7.5.0 admits chardet!=6.*,<8, so chardet moves 5.2.0 -> 7.7.0 (dev-only, via cyclonedx-bom); the dependabot.yml comment on the chardet ignore rule is updated to match. pydantic 2.14 reflects an enclosing model's extra="forbid" into a contained dataclass's JSON Schema, so CapabilityDiffRow gains additionalProperties: false in verifier-schema.v0.21.json and agent-boundary-result-schema.v3.json. The model already rejected unknown row keys; no emitted artifact, schema version or contract version moves. Recorded in CHANGELOG.
This was referenced Oct 18, 2026
Open
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.
Summary
Supersedes Dependabot #1087 (python-dependencies group, 24 updates) and #1085 (uv 0.12.9 → 0.13.1). Neither could merge as-is:
pydanticto 2.14.1 but leftpydantic-core==2.46.5, which pydantic pins exactly (2.14.1 needs 2.50.1; Dependabot ignores pydantic-core).uvinrelease-publish.inwithout recompiling (verify_dependency_lock.py: "compiled with uv==0.12.9"), and its rewrite dropped the PyPy environment markers and wrotepydantic[email]==, which the lock verifier cannot parse.Left out: #1086 (
claude-agent-sdkharness floor).harness/requirements.txtasks for a smoke run plus a paid Sonnet cell before the floor moves.What moved
Each lock #1087/#1085 touched is recompiled with uv 0.13.1, now pinned in
constraints/release-publish.in.release-seal.txtis untouched. A recompile reproduces all three locks byte for byte (scripts/update_locks.py --uv <uv 0.13.1> constraints/dev.txt constraints/build-backend.txt constraints/release-publish.txt). Environment-marker lines are unchanged (dev 11, release-publish 2) and no extras-qualified pin appears.constraints/dev.txt: chardet 5.2.0 → 7.7.0, charset-normalizer 3.5.2, coverage 7.16.2, cryptography 50.0.2, cyclonedx-bom 7.5.0, dnspython 2.9.0, filelock 4.2.2, fqdn 1.6.0, hypothesis 6.170.1, idna 3.20, iniconfig 2.3.1, jsonpointer 3.2.1, more-itertools 11.2.1, platformdirs 4.13.4, pluggy 1.7.0, pycparser 3.11, pydantic 2.14.1 / pydantic-core 2.50.1, pyjwt 2.15.1, pyparsing 3.3.3, rpds-py 2026.9.1, ruff 0.17.1, tomli 2.5.0, typer 0.27.3, tzdata 2026.5, urllib3 2.8.0. A recompile re-resolves the whole closure, so a few pins land newer than Dependabot proposed (hypothesis, filelock, platformdirs, ruff).constraints/build-backend.txt: pluggy 1.7.0, tomlkit 0.15.2, trove-classifiers 2026.9.21.13.constraints/release-publish.txt: uv 0.13.1, charset-normalizer 3.5.2, cryptography 50.0.2, dnspython 2.9.0, idna 3.20, platformdirs 4.13.4, pycparser 3.11, pydantic 2.14.1 / pydantic-core 2.50.1, pyjwt 2.15.1, tuf 7.0.1, urllib3 2.8.0.chardet!=6.*,<8. It is dev-only, pulled in through cyclonedx-bom. The.github/dependabot.ymlcomment on the chardet ignore rule now describes that cap.Published schema effect (owner-approved)
pydantic 2.14 carries an enclosing model's
extra="forbid"into the JSON Schema of a stdlib dataclass it contains.CapabilityDiffRowtherefore gains"additionalProperties": falseindocs/verifier-schema.v0.21.jsonanddocs/agent-boundary-result-schema.v3.json. The model already rejected unknown row keys under 2.13, so validation is unchanged. No emitted artifact, schema version or contract version moves, no test or doc pins either file's digest, and neither file is inFROZEN_CONTROL_SCHEMAS. Recorded inCHANGELOG.md.Validation
python scripts/verify_dependency_lock.py: OK for all four locks.constraints/dev.txtwith--require-hashes;ruff check .(ruff 0.17.1): clean.test_check_unmodelled_host_config_keys.py[local_settings_*]cases. Those 2 come from this machine's global gitignore and pass with an emptyXDG_CONFIG_HOME.main(including fix(checks): publish secret and injection findings, widen redaction #1077), these pass under pydantic 2.14.1: schema round-trip, frozen control schemas, and every test reading the two schema files. So do privacy/documentation-check tests, the distribution-surface parity test, static-only lint and release-pipeline tests, plusscripts/regenerate_goldens.py --check(24 artifacts, 0 changed).🤖 Generated with Claude Code