Worktree Controller
Worktree Controller (WC) helps people and AI agents share a Git repository without losing track of who owns each working directory, what it may change, and whether it is safe to close. It checks repository policy before allocating a worktree, grants writing authority to a live process, and records handoff, integration, recovery and release evidence. Git remains the source of truth for files, branches, commits and registered worktrees.
Current release: 1.30.5 · Linux · Python 3.12 · Apache-2.0
Install
Use a virtual environment in a new directory:
python3.12 -m venv .venv
. .venv/bin/activate
python -m pip install worktree-controller==1.30.5
worktree-controller --version
worktree-controller capabilities --json
WC requires Git and readable Linux /proc. Other operating systems and Python versions are not
supported by this release. Its one runtime dependency is websockets>=15,<16.
Software version 1.30.5 retains CLI contract 60 and storage layout 5.
Try it in a disposable repository
With the environment above active:
git clone https://github.com/xuanheng-tech/worktree-controller.git wc
cd wc
git checkout v1.30.5
python examples/quickstart.py --workspace "$HOME/wc-first-run"
The workspace path must not exist; its parent must already exist. The example creates its own
repository and isolated HOME, uses no credentials or remote, and leaves existing projects alone.
It runs a small inspection task: admit a worktree, bind a live writer, check permission, observe an
expected wrong-owner refusal, inspect recovery guidance, and formally close the unchanged task.
On success it prints PASS, releases the linked checkout through WC, and keeps the repository,
branch and command log. On failure it stops and preserves results for inspection.
The getting started guide explains the output and how to proceed to tasks that change files. The example also ships in the source distribution; it requires only WC and Git, with no companion delivery tools.
Use WC in a real project
A governed repository tracks .agents/worktree-policy.toml and registers its checkouts with WC.
Start with read-only status and doctor; adopt existing checkouts explicitly rather than
assuming that a clean directory is unowned. Follow the
operations guide
for task admission, writer identity, handoff, integration and safe release.
WC manages checkout authority and lifecycle. It does not implement your task, commit changes or publish a branch. Real handoff and integration flows use separate delivery evidence from Git Finalizer. Context Loader and Snapshot Runner are optional companion tools; see optional integrations.
When blocked, run worktree-controller recovery-guide --repo /path/to/repo --path /path/to/checkout --json
and follow the state-specific guidance. Preserve unfinished changes and unknown files.
At session end, use the full recorded session identity and check every allocation's result;
a successful process exit alone does not prove that all worktrees are settled.
Documentation and help
- Getting started
- Operations and recovery
- Technical reference
- Architecture
- Exact CLI and capability contract
- Changelog
- Releases · PyPI
- Report a bug · Contribute
- Report a security issue
Licensed under the Apache License 2.0.
Metadata
Release files for worktree-controller 1.30.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| worktree_controller-1.30.5.tar.gz | 515.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| worktree_controller-1.30.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 959.6 kB
Release files / worktree_controller-1.30.5.tar.gz
| Download URL | worktree_controller-1.30.5.tar.gz |
|---|---|
| Size | 515.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7b6a6ceeefa5782dbf9066d555b9b1d4c7c6a515781253f1286bff89cfe8086a
|
|
BLAKE2b-256 checksum How to use checksums |
2d924e6635ab57e4342de9374de5076c0896c2496017017b45944c2e5d7735de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / worktree_controller-1.30.5-py3-none-any.whl
| Download URL | worktree_controller-1.30.5-py3-none-any.whl |
|---|---|
| Size | 444.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a9d558769bb5d0fd38239ebb32c175f24b7c00badb01a358c46cfd18a33b8a53
|
|
BLAKE2b-256 checksum How to use checksums |
ed25358e44eae21d0071c88d6d5cb47b38181ff3b64cbf64f3a6a5668b9c96c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for worktree-controller 1.30.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.