chore: regenerate poetry.lock for the jsonschema dev dependency - #457
Closed
ling-senpeng13 wants to merge 1 commit into
Closed
chore: regenerate poetry.lock for the jsonschema dev dependency#457ling-senpeng13 wants to merge 1 commit into
ling-senpeng13 wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
`jsonschema = ">=4.23"` was added to [tool.poetry.group.dev.dependencies] without regenerating the lock, so poetry's stored content-hash no longer matched pyproject.toml. Every `poetry install` then failed the consistency check: pyproject.toml changed significantly since poetry.lock was last generated. Run `poetry lock` to fix the lock file. That is what broke the PyPI publish for 2.0.0-rc3 — the release and its e2e bundle were created, but no wheel was ever uploaded, so `pip install conductor-python==2.0.0-rc3` fails and the released e2e bundle (which pins that exact version) cannot install. See #456. This is a bookkeeping fix only. jsonschema 4.26.0 was already locked and already satisfies >=4.23; it was just recorded as an optional, extras-gated transitive dependency rather than a dev-group one. The diff flips `optional`/`groups`/`markers` and updates content-hash: optional = true -> optional = false groups = ["main"] -> groups = ["main", "dev"] markers = "<extras expr>" -> markers = {main = "<extras expr>", dev = ...} Exactly five entries change — jsonschema and its transitive closure: attrs, jsonschema, jsonschema-specifications, referencing, rpds-py — plus [metadata] content-hash. Nothing else in the lock is touched. NO package version changes: diffing every `version = ` line in the lock yields zero hits. Verified with poetry 2.4.1 (matching the lock's lock-version 2.1): `poetry check --lock` exits 1 before this change and 0 after. Re-running 2.0.0-rc3's release workflow would NOT have helped — it rebuilds that tag, which still carries the stale lock. A new release is needed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ling-senpeng13
force-pushed
the
fix/regenerate-poetry-lock
branch
from
July 29, 2026 23:44
b71ef52 to
a337853
Compare
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.
Fixes #456.
What
jsonschema = ">=4.23"was added to[tool.poetry.group.dev.dependencies]without regenerating the lock, so poetry's storedcontent-hashstopped matchingpyproject.toml. Everypoetry installsince then fails its consistency check:That is what broke the PyPI publish for 2.0.0-rc3: the GitHub release and its e2e bundle were created, but no wheel was ever uploaded. So
pip install conductor-python==2.0.0-rc3fails, and the releasedconductor-ai-e2e-python-2.0.0-rc3bundle — which pins that exact version — cannot install. Full write-up in #456.This is a bookkeeping fix, not a dependency change
jsonschema 4.26.0was already in the lock and already satisfies>=4.23. It was just recorded as an optional, extras-gated transitive dependency rather than adev-group one. So the diff only re-tags entries and refreshes the hash:No package version changed. Verified by diffing every
version =line in the lock — zero hits. One file, 19 insertions / 19 deletions.Exactly five entries change —
jsonschemaand its transitive closure:attrs,jsonschema,jsonschema-specifications,referencing,rpds-py— plus[metadata]content-hash. Nothing else in the lock is touched.Verification
Run with poetry 2.4.1, matching the lock's
lock-version 2.1:poetry check --lockpyproject.toml changed significantly since poetry.lock was last generatedNote for whoever cuts the next release
Re-running 2.0.0-rc3's
Continuous Deliverywill not fix that release — it rebuilds the2.0.0-rc3tag, which still has the stale lock committed in it. A new release (2.0.0-rc4) is required, and it's worth confirmingconductor-python 2.0.0rc4actually appears on PyPI afterwards rather than trusting the release page.#456 also proposes hardening so this can't recur silently — most usefully,
poetry check --lockin PR CI (it reproduces this exact failure in one step) and gating the e2e-bundle upload on the package existing on PyPI.CI note
integration-test (test-all)failed on the first run with:That is a workflow not reaching a terminal state inside the poll window against the shared server — unrelated to this change. The five entries touched here (
jsonschema+attrs/referencing/rpds-py/jsonschema-specifications) are JSON-schema validation libraries, at unchanged versions; none participates in workflow execution, polling or worker dispatch.unit-testand the other three integration shards passed.Worth noting
pyproject.tomlalready carries markers acknowledging this area is timing-sensitive —slow_test_all: long-running aggregate workflow-client test_all (~83s)andserver_timeout_unreliable: … excluded from CI. Happy to re-run that shard to confirm.🤖 Generated with Claude Code