Skip to content

Release 2.1.254 (2026-10-22)

Bug fixes

  • resolve --epic adhoc against the task repo and scope adhoc-epic ensure to the target owner (#3412) vrg-epic-move resolved the adhoc sentinel against the cwd repo, so a task in another repo was linked under the wrong ad-hoc epic. It now resolves against the task's own repo. vrg-adhoc-epic ensure minted a cwd-scoped App token, so a private repo in another org could not be resolved; it now runs under github.target_org(owner). vrg-issue-create already resolved adhoc against --repo under the right owner; its test now asserts that. Ref #3409.

  • resolve a bare --epic #N against the task's epic home, not the cwd repo (#3416) A bare epic ref was parsed against the cwd repo, so running from a code repo looked up the wrong issue. resolve_epic_ref now reads a bare #N against the task repo's epic home (new epics.qualify_epic_ref, built on resolve_epic_home): /.github for a public repo, the repo itself for a self-homed private one. A qualified owner/repo#N is unchanged and needs no network call. vrg-epic-move now resolves the epic against the task repo (and its cross-org guard no longer rejects a bare ref for a task in another org); vrg-epic-link resolves its bare epic against the task and runs the home and visibility probes under the task owner's token; vrg-issue-create already passed --repo and gains documented help. Ref #3411.

CI

  • follow the version window: remove the [ci].versions pin (#3408) vergil-tooling is a library repository (#3400), so with no pin vrg-ci-resolve gives it the whole published Python window (3.14, 3.13, 3.12). Also drop the <4.0 upper bound from requires-python, keeping the 3.12 floor (spec section 6.4), and update the CLAUDE.md and ci-architecture text that said the matrix comes from [ci].versions. Task 15a of epic vergil-project/.github#407. Ref #3371

Features

  • allow uv python-preference and pin the interpreter source in containers (#3413) python-preference picks the interpreter's source (managed or system), not its version, so the toolchain check no longer reports it; .python-version stays an error. The Python container env now sets UV_PYTHON_PREFERENCE=only-system next to UV_PYTHON, which uv ranks above pyproject.toml and uv.toml settings, so a repo's only-managed can never make a Vergil container download its own interpreter. vrg-container-test now passes the same env as vrg-container-run. Spec 6.5 amendment, epic vergil-project/.github#407.

CI Evidence: All gates passed — full audit bundle available. Download →