Release 2.0.24 (2026-05-20)¶
Bug fixes¶
- correct vergil.toml example in VM repository plan The example used invalid config values: bash instead of shell for primary-language, publish-packages instead of release/docs, missing branching-model, empty ci.versions, and vergil-tooling instead of vergil as the dependency key
Chores¶
- bump version to 2.0.24
Documentation¶
-
identity-based VM isolation design spec Comparative evaluation of corral (Lima VM isolation) with Vergil's wrapper-based security model. Proposes identity-scoped VMs as the isolation boundary, combining corral's credential containment and egress filtering with Vergil's workflow enforcement tooling.
-
fix GitHub account references to use wphillipmoore GitHub identity is wphillipmoore/wphillipmoore-vergil, not pmoore/pmoore-vergil. pmoore is the local macOS username only.
-
expand credential provisioning to extensible identity model Credential section now captures the design principle: every external interaction should appear under the agent's identity, not the human's. Adds extensibility for AWS, container registries, and future services. Notes ANTHROPIC_API_KEY as the sole shared credential exception.
-
VM image management design spec (vergil-vm) Three-layer tooling architecture with CI-parity decision boundary for tooling placement. Defines vergil-vm repository structure, build pipeline, distribution model, containerd/nerdctl runtime, and VM customization policy. Companion to the identity VM isolation design (#892).
-
refine decision boundary and shell customization policy Decision boundary expanded from single CI-parity test to two-question flowchart: (1) does the agent need it, (2) does CI also need it. Adds no-duplication rule for tools in both layers. Shell customization acknowledged as legitimate demand but deferred as open design question due to risk of breaking vrg-* tooling.
-
pre-built distribution and dynamic tooling management Distribution updated to require pre-built images (OCI artifacts on GHCR preferred, GitHub Releases as fallback). Local builds are for contributors only, not end users. Vergil-tooling is no longer baked into the VM image; instead it is installed and updated dynamically at startup, mirroring the Docker cache approach. Adds vrg-vm-update concept for mid-cycle tooling updates.
-
implementation plan for vergil-vm repository Plan 1 of 6 for the identity VM isolation system. Covers repository scaffold, Lima VM template, provisioning scripts, test suite, build script, and CI workflow.
-
expand prerequisites with manual repo bootstrap steps Incorporates the manual bootstrap sequence from #807: GitHub repo creation, initial commit (bypassing vrg-commit for no-HEAD case), branch structure, default branch config, GitHub repo config, and hooks setup. Task 1 updated to start from the bootstrapped state.
-
set initial version to 2.1.0 Aligns vergil-vm with the planned v2.1 coordinated release across all Vergil repos
-
annotate wrapper restrictions and CLAUDE.md audit compliance Annotate prereq commands with wrapper restriction info and document consumer template requirement for CLAUDE.md audit.
-
design spec for eliminating hardcoded mount in vrg-docker-docs
- move design spec to docs/specs/
- implementation plan for build_docker_args refactor
-
implementation plans 2-6 for vergil-vm identity VM system Plan 2: Session Management (vrg-session, identities.toml), Plan 3: Credential Provisioning (GitHub PAT, SSH, GHCR), Plan 4: Egress Filtering (HAProxy, pf, iptables), Plan 5: vergil-tooling Adaptations (nerdctl, wrapper simplification), Plan 6: Distribution + Updates (GitHub Releases, vrg-vm-update)
-
defer Plan 4 (egress filtering) to v2.2 Egress filtering is the only heavy-complexity plan. The VM provides filesystem and credential isolation without it. Deferred to v2.2 milestone (#901) across all six plan documents.
-
multi-platform host support design spec
- clarify documentation target files in platform support spec
- move platform support spec to docs/specs/
- apply pushback review: reframe #902 as dependency, phase documentation, clarify testing
Features¶
- replace hand-built docker args with build_docker_args in vrg-docker-docs
Refactoring¶
- remove flat-file audit logging from vrg-git and vrg-gh Drop _log_path(), _log(), and all invocation logging from both wrappers. Remove unused imports (datetime, json, Path) and corresponding tests. Update CLAUDE.md shell command policy to reflect the change.
The flat-file JSON-lines logs at ~/.local/share/vergil/ grew without bound and duplicated information already available in git history and shell output. Removing them simplifies the platform abstraction story for multi-platform host support (#909).
Styling¶
- apply ruff formatting
Testing¶
- add tests for build_docker_args delegation in vrg-docker-docs
- update existing tests to mock build_docker_args, remove sibling mount test