project-workflow
Project Workflow is a repository-native delivery system for turning owner intent into planned, implemented, evidenced, reviewed work. Its state is plain Markdown and JSON beside the code, so people and coding agents can inspect the same requirements, status, decisions, and proof.
Its repository guidance supports GitHub Copilot, Claude Code, OpenAI Codex, and Cursor. Sealed runtime enforcement has a narrower, versioned proof boundary: v0.10.0 is runtime-certified for Codex only. The packaged Claude Code adapter remains fail-closed and uncertified until its real authenticated host canary passes; Cursor and GitHub Copilot are not sealed-runtime targets. Project Workflow complements issue trackers, Git hosts, CI, registries, and deployment platforms; it does not replace their authority.
Quick Start
From the root of an existing Git repository:
uvx --from project-workflow==0.10.0 project init --agent codex
Choose github-copilot, claude-code, codex, or cursor to match the agent that will operate
the repository. For an existing installation, use upgrade—not init:
uvx --from project-workflow==0.10.0 project upgrade --agent codex
Then describe the outcome in ordinary language. The installed guidance routes it to the smallest sufficient record:
| Route | Use it for | Durable record |
|---|---|---|
| Backlog | Optional future intent not ready for execution | BL-* row in BACKLOG.md |
| Fix | One bounded correction to a delivered or accepted baseline | FIX-* folder and global tracker row |
| Task | One new independently reviewable outcome | TASK-* requirements and implementation |
| Epic | Coordinated workstreams with shared parent outcomes | EPIC-* contract, decomposition, children, audit, and retro |
An in-scope correction stays in its active work item. Completed history is not rewritten to make a later defect look original.
See What Is True
Start with the read-only status projection:
./.project-workflow/cli/workflow status
./.project-workflow/cli/workflow status --id TASK-001
./.project-workflow/cli/workflow status --strict
./.project-workflow/cli/workflow status --format json
Status reports sourced lifecycle, proof, blockers, delivery state, and the next safe action. It does not execute that action. Use Doctor for workflow diagnosis:
./.project-workflow/cli/workflow doctor
./.project-workflow/cli/workflow doctor --strict
Tests, a passing Doctor, Complete, merge, release, deployment, adoption, and owner acceptance are
separate evidence layers. Project Workflow reports the strongest layer actually proved.
How Work Moves
The owner confirms the plain-language Intent and outcome boundary once. The Coordinator then plans, clarifies, implements, validates, and commissions QA autonomously inside that approved envelope. Material drift, missing authority, or a changed proof obligation returns to the owner.
The normal Task path is:
Analysing -> Ready -> In Progress -> Testing -> Review -> Complete
Epics use the same outcome discipline plus a contract, authoritative decomposition, child tracker, intent audit, parent acceptance map, closeout audit, and retro. Fixes stay deliberately lighter.
For detailed commands and examples, read Using Project Workflow
or run ./.project-workflow/cli/workflow --help.
Approved material work can optionally use Sealed Host Execution. Codex uses repository-local skills plus an ephemeral per-run hook; a permanent marketplace-plugin entry is neither required nor accepted as activation proof.
What Is Installed
Initialization creates:
.project-workflow/configuration, manifest, backlog, trackers, tasks, guidance, and a dependency-free local CLI;- host-specific agent guidance for the selected mode;
- managed instruction blocks that point the agent at repository-local workflow truth.
Tracked requirements, plans, approvals, evidence, and local guidance remain repository-owned. Managed helpers and installed host assets are generated derivatives; update their canonical source or use the supported generator/upgrade path instead of editing copies.
See Documentation and Source Authority for the complete hierarchy and Compatibility for versioned repository support.
Contributing
Project Workflow is one Python package, one public project command, and one generated
dependency-free helper. Canonical runtime code is split by domain under src/project_workflow/;
src/project_workflow/templates/workflow.py and .project-workflow/cli/workflow.py are generated.
uv sync --locked --extra dev
uv run --locked ruff check src/project_workflow/*.py scripts tests
uv run --locked ruff format --check src/project_workflow/*.py scripts tests
uv run --locked mypy src/project_workflow/*.py
PATH="/opt/homebrew/bin:$PATH" uv run --locked pytest -q
Read Contributing before changing source and Architecture before moving responsibilities. Maintainers should also read Maintenance; public release authority is isolated in RELEASING.md.
Documentation Map
| Need | Authority |
|---|---|
| Product mission and stable outcomes | Constitution |
| Repository operating rules | AGENTS.md and local guidance |
| Orientation and first commands | This README |
| Work-item operation | Using Project Workflow |
| Codex-certified sealed execution and Claude Code limitations | Sealed Host Execution |
| Source boundaries and generated ownership | Architecture |
| Development and validation | Contributing |
| Upgrade, hygiene, and generated assets | Maintenance |
| Compatibility policy | COMPATIBILITY.md |
| Public release procedure | RELEASING.md |
| Current command syntax | project --help and the local CLI guide |
Workflow task folders are durable state and audit history, not competing current product instructions.
License And Support
Project Workflow is available under the MIT License. Report defects and proposals through GitHub Issues.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file project_workflow-0.10.0.tar.gz.
File metadata
- Download URL: project_workflow-0.10.0.tar.gz
- Upload date:
- Size: 719.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b9a9ccc430f35e47ad25e6e5219d45f2f7a946566af78736fe25fa752e43205
|
|
| MD5 |
293df9175e36d1886c65bb799b75919c
|
|
| BLAKE2b-256 |
5a80a4ad024ba2bd8b1d59774e007835cf837ff96a9c530c3d390eadbd4edb0e
|
Provenance
The following attestation bundles were made for project_workflow-0.10.0.tar.gz:
Publisher:
release.yml on johndetlefs/project-workflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
project_workflow-0.10.0.tar.gz -
Subject digest:
3b9a9ccc430f35e47ad25e6e5219d45f2f7a946566af78736fe25fa752e43205 - Sigstore transparency entry: 2671706424
- Sigstore integration time:
-
Permalink:
johndetlefs/project-workflow@0f9b2008d75e4dbcb97b54309471b4283793bd3e -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/johndetlefs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0f9b2008d75e4dbcb97b54309471b4283793bd3e -
Trigger Event:
push
-
Statement type:
File details
Details for the file project_workflow-0.10.0-py3-none-any.whl.
File metadata
- Download URL: project_workflow-0.10.0-py3-none-any.whl
- Upload date:
- Size: 548.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61dff0118f01dc047c127d26cd225b0ffacfc65d01a1163d5363cab424334541
|
|
| MD5 |
437c2591e7461a78dd9b733f752b4ac1
|
|
| BLAKE2b-256 |
6b7dd418e924ac3286af834313c1d6404a4ae47b44d3d240b75e8299c98200d2
|
Provenance
The following attestation bundles were made for project_workflow-0.10.0-py3-none-any.whl:
Publisher:
release.yml on johndetlefs/project-workflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
project_workflow-0.10.0-py3-none-any.whl -
Subject digest:
61dff0118f01dc047c127d26cd225b0ffacfc65d01a1163d5363cab424334541 - Sigstore transparency entry: 2671706496
- Sigstore integration time:
-
Permalink:
johndetlefs/project-workflow@0f9b2008d75e4dbcb97b54309471b4283793bd3e -
Branch / Tag:
refs/tags/v0.10.0 - Owner: https://github.com/johndetlefs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0f9b2008d75e4dbcb97b54309471b4283793bd3e -
Trigger Event:
push
-
Statement type: