Process Deploy Tool: Git-native runtime for state-bounded operational AI workflows.
Project description
PDT (Process Deploy Tool)
Git-native runtime for state-bounded operational AI workflows.
pdt is a developer-focused Command Line Interface (CLI) and runtime engine designed to govern, parse, lint, and execute standard-conforming PROCESS.md files.
Inspired by analytics engineering tools like dbt, pdt decouples general-purpose LLM capabilities (skills) from operational business logic and policies (processes). It provides deterministic execution boundaries, step-by-step state preservation, and human-in-the-loop (HITL) gates.
Core Philosophy: Workflow Engineering
Most operational teams do not need another open-ended autonomous agent. They require a reliable framework to transform recurring, high-stakes business processes into structured, version-controlled workflows.
PDT establishes this via Workflow Engineering—pairing deterministic execution structures with bounded model reasoning:
- Decoupled Skills & Processes: Skills describe how to perform a reusable task (general/mechanical); processes describe what should happen, in what order, and under what constraints (contextual/governing).
- Markdown as Code:
PROCESS.mdfiles are the "SQL of operations"—readable by non-developer process owners, versioned in Git, and executable by a computer. - Deterministic Bounding: Instead of letting an LLM navigate a workflow in an open-ended loop (resulting in unpredictable execution costs and loops), the PDT runtime runs one isolated step at a time, enforcing boundaries and security.
- Human-Centered Exceptions: When exceptions or gates are hit, the runtime halts, saves state, and alerts humans to verify or approve the execution.
Workspace Layout
A conforming PDT workspace is organized as follows:
/workspace
├── pdt.yaml # Workspace configuration
├── processes/ # Executable workflows
│ └── growth_experiment_review/
│ └── PROCESS.md
├── skills/ # Capability guides
│ └── experiment-analysis/
│ └── SKILL.md
├── tools/ # Code execution units
│ └── experiment_lookup/
│ ├── tool.yaml
│ └── main.py
└── schemas/ # Data validation contracts
└── experiment-summary.schema.json
Anatomy of PROCESS.md
An executable SOP contains three main components:
---
id: growth_experiment_review
name: Growth Experiment Review
version: 0.1.0
owner: growth-team
status: active
runtime: pdt.process.v0
---
# Description
A workflow to review growth experiments, aggregate conversions, and perform high-level evaluation before approval.
# Workflow
## Step 1: Load active experiments
Lookup all active experiments using the tool `tool/experiment_lookup`.
## Step 2: Assess statistical performance
Evaluate the total conversion metrics using `skill/experiment-analysis` and construct a structured JSON summary matching `schema/experiment-summary`.
## Step 3: Approve experiment
Review the assessment and request final business approval before closing.
CLI Commands & Usage
Install the PDT package:
pip install run-pdt
1. pdt init
Initialize a new standard workspace directory layout with default configuration:
pdt init [workspace_path]
2. pdt lint
Validate workspace config, verify step index ordering, and resolve all inline reference links to confirm they point to valid skills, tools, processes, and schemas:
pdt lint processes/growth_experiment_review/PROCESS.md
3. pdt parse
Parse a PROCESS.md file and output a clean Abstract Syntax Tree (AST) in JSON format:
pdt parse processes/growth_experiment_review/PROCESS.md
4. pdt run
Execute the workflow steps sequentially. PDT automatically runs local tools, saves evidence, compiles bounded prompts, and pauses when a human gate (e.g. "approval") is encountered.
- Execute workflow fully:
pdt run processes/growth_experiment_review/PROCESS.md --input metrics.json
- Run a single step only:
pdt run processes/growth_experiment_review/PROCESS.md --step 2
- Resume a paused workflow:
pdt run --resume run_98a72f1c
5. pdt deploy
Package the workspace and generate container/deployment configurations:
pdt deploy --target docker --dry-run
Webhook Server Daemon
Deploy the workspace as a serverless runtime using the built-in FastAPI daemon:
uvicorn pdt_cli.server:app --port 8080
This exposes REST API endpoints to trigger and manage workflows remotely:
POST /run/{process_id}: Trigger step execution with input payload.GET /status/{run_id}: Check status and inspect run evidence.POST /approve/{run_id}: Submit approval inputs to resume paused states.
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 run_pdt-0.1.0.tar.gz.
File metadata
- Download URL: run_pdt-0.1.0.tar.gz
- Upload date:
- Size: 73.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df4ef34e79f97c0d97d0ef26e739b32f4b49442dc8cb960d650ea275f5adf170
|
|
| MD5 |
29f5842578ad9efcffbfb76bfc13266a
|
|
| BLAKE2b-256 |
2ccaf5faf5a4c39924be096b042be3d422c0ea8bd0e129169ff762989ddd8175
|
File details
Details for the file run_pdt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: run_pdt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
547d9bb4447bbc477468b225a771a896e68edc1581298a16350c19d56c91c6ff
|
|
| MD5 |
b1899c1eb939e4837d33462277c8562b
|
|
| BLAKE2b-256 |
dd98ec80674fe61d879aef7f458b52d806ee00769273c2dd5f56fb6c5f682a47
|