Workflow + success pact CLI for AI product engagements
Project description
Flowpact
Human-writable workflow + success contracts for AI products.
Non-engineers (Workflow Contract Authors) capture process stages, scope boundaries, policies, success recipes, and evidence requirements in one pact.yaml. The CLI validates the pact and derives client ask lists and no-claim gates — so teams stop reverse-engineering client workflow from meetings and arguing about accuracy without a shared definition of done.
One-line positioning. Data contracts certify seams; eval kits score outputs; Flowpact certifies that the engagement has defined the client’s workflow and success rules — and knows what is still missing.
Non-goals
| Adjacent tool | Why Flowpact is not that |
|---|---|
| Trustline / Great Expectations | Does not query warehouses or compile SQL |
| RAGAS / DeepEval | Does not run LLM judges or embeddings |
| OpenAPI / JSON Schema (runtime) | Does not validate HTTP or candidate payloads at runtime |
| Orchestrators (Airflow, etc.) | Does not schedule or execute generation |
| StructGate (future sibling) | Only defines the success recipe; exports JSON for a later scorer |
Install
From PyPI:
pip install flowpact
From source (development):
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Releases are published from v* tags via GitHub Actions (Trusted Publishing). See CONTRIBUTING.md.
Commands
flowpact init --template ai-draft-vs-gold
flowpact validate pact.yaml
flowpact asks pact.yaml
flowpact no-claim pact.yaml --strict
flowpact render pact.yaml
flowpact export-eng pact.yaml -o export-eng.json
Example (synthetic draft-vs-gold)
Northwind Benefits policy-answer copilot — synthetic domain only, for schema/CLI demos.
flowpact validate examples/draft-vs-gold/pact.yaml
flowpact asks examples/draft-vs-gold/pact.yaml
flowpact no-claim examples/draft-vs-gold/pact.yaml --strict
Hand-derived spike reports: examples/draft-vs-gold/asks.hand.md, examples/draft-vs-gold/no-claim.hand.md.
Schema
Frozen format flowpact: "0.1" — JSON Schema at schemas/pact.schema.json (also shipped in the package). Design plan: docs/design/FLOWPACT_PLAN.md.
Contributing
See CONTRIBUTING.md. CI runs ruff + pytest on Python 3.11–3.13.
License
Apache-2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
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 flowpact-0.1.0.tar.gz.
File metadata
- Download URL: flowpact-0.1.0.tar.gz
- Upload date:
- Size: 17.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 |
0fcbae012e6f21daf85cf258a3a7cf70652cb25399de482756d551c6f8df987d
|
|
| MD5 |
03a5506aa88a99354d492f874ad9e4cd
|
|
| BLAKE2b-256 |
ee85422de1befe7a671e9858600bee4093f2f34c4959d8a604619b805bf2af15
|
Provenance
The following attestation bundles were made for flowpact-0.1.0.tar.gz:
Publisher:
publish.yml on OmarFarooq908/flowpact
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flowpact-0.1.0.tar.gz -
Subject digest:
0fcbae012e6f21daf85cf258a3a7cf70652cb25399de482756d551c6f8df987d - Sigstore transparency entry: 2279265234
- Sigstore integration time:
-
Permalink:
OmarFarooq908/flowpact@7fa13bc80d339e64020f5c34bf2c60362cebda7f -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/OmarFarooq908
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7fa13bc80d339e64020f5c34bf2c60362cebda7f -
Trigger Event:
push
-
Statement type:
File details
Details for the file flowpact-0.1.0-py3-none-any.whl.
File metadata
- Download URL: flowpact-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.2 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 |
6ae6a8f22b2416e87032cf81695dcbd757ec29f1660857105e6fbc676312d568
|
|
| MD5 |
fdb7e25b78dc934f316fe66debc6dc53
|
|
| BLAKE2b-256 |
1aee85fab6090527a3dfff0975014f446b7e778b7cbd321ab9443db5e2be11ec
|
Provenance
The following attestation bundles were made for flowpact-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on OmarFarooq908/flowpact
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flowpact-0.1.0-py3-none-any.whl -
Subject digest:
6ae6a8f22b2416e87032cf81695dcbd757ec29f1660857105e6fbc676312d568 - Sigstore transparency entry: 2279265291
- Sigstore integration time:
-
Permalink:
OmarFarooq908/flowpact@7fa13bc80d339e64020f5c34bf2c60362cebda7f -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/OmarFarooq908
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7fa13bc80d339e64020f5c34bf2c60362cebda7f -
Trigger Event:
push
-
Statement type: