You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore: pin workflow tools and supported Python versions - #45
Declare Python >=3.11,<3.15 with a 3.12 default, pin tool selection, and enforce lock consistency. Keep dependency changes limited to the support/tool policy and enable CI for stacked branches.
Stack position: 1/12. Base: main. Merge in stack order.
Landing dependency
Do not merge this PR until Data Designer #1075 — drop Python 3.10 support has landed. Data Designer plans that change for 0.10.0; UserSim should follow its upstream Python 3.11 transition.
How it was verified
An earlier candidate received strict schema-v3 Arc acceptance and passed 84 focused tests, with lock/static/documentation checks. Those results apply to that earlier revision. The latest rebase preserved current main’s dependency and security updates, raised the uv pin to 0.13.4, and regenerated the lockfile; the Arc review was not repeated. Lock consistency was checked after regeneration; current CI results are shown on this PR.
@binaryaaron Thanks for putting this together, and for dropping working-memory/ and signing the DCO. Leaving a comment on each PR, but this one has choices that the rest of the stack depend on:
Python 3.10 stays supported for the whole 0.2 line (build: support Python 3.10 to 3.14 #32). The main reason is the empty 0.0.0a0 placeholder PyPI holds for usersim. It declares no Requires-Python, so on any Python our releases exclude, pip skips our releases and installs the placeholder instead: the install looks fine, but there's no code and no usersim command. uv errors there once a final release exists, and a uv project that allows that Python can't lock until it narrows its range. If 0.2.0 dropped 3.10, that's what every 3.10 user would get. Keeping 3.10 through 0.2.x means 3.10 always resolves to a working release, and when 0.3.0 drops it, 3.10 users stay on the last 0.2.x, which still works. The placeholder stays on PyPI, so this applies to every release.
Two smaller reasons: Data Designer, which User Sim runs on, supports 3.10 to 3.14, and 0.2.0rc1 already shipped declaring >=3.10. 3.10 reaches end of life this month, so 0.3.0 is the natural point to drop it.
No upper bound on requires-python. With <3.15, a project whose own range reaches past it can't lock User Sim without narrowing its range, and lifting the cap would take a release.
uv: a minimum, not an exact pin.required-version = "==0.13.1" stops anyone with a different uv from running anything here. Data Designer uses a minimum (>=0.7.10) and the latest uv in CI; a minimum is fine here too.
UV_FROZEN is there so no step in CI or the release re-resolves the lock. Please keep it unless every uv call is covered by --locked.
Branch names and commit subjects describe the session (codex/usersim-draft-prNN, "prepare PR05 with reviewed workflow simplifications"). Both end up in main's history (merge commits keep the branch name). It would be great to rename resubmitted branches and commits after the change.
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
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 changed and why
Declare Python >=3.11,<3.15 with a 3.12 default, pin tool selection, and enforce lock consistency. Keep dependency changes limited to the support/tool policy and enable CI for stacked branches.
Stack position: 1/12. Base:
main. Merge in stack order.Landing dependency
Do not merge this PR until Data Designer #1075 — drop Python 3.10 support has landed. Data Designer plans that change for 0.10.0; UserSim should follow its upstream Python 3.11 transition.
How it was verified
An earlier candidate received strict schema-v3 Arc acceptance and passed 84 focused tests, with lock/static/documentation checks. Those results apply to that earlier revision. The latest rebase preserved current main’s dependency and security updates, raised the uv pin to 0.13.4, and regenerated the lockfile; the Arc review was not repeated. Lock consistency was checked after regeneration; current CI results are shown on this PR.