Release engineering infrastructure for AI behavior - bundle, promote, evaluate, and replay agent behavior artifacts
Project description
llmhq-releaseops
Release engineering for AI agent behavior — bundle prompts, policies, and model configs into versioned artifacts, then promote them through gated environments.
Why This Exists
AI agents ship behavior through prompts, policies, and model configurations — not deterministic code. When something breaks in production, there's no git blame for "why did the agent start approving refunds it shouldn't?" ReleaseOps brings standard release engineering (bundle, promote, rollback, observe) to these behavior artifacts, so you always know what's running, what changed, and why.
Install
pip install llmhq-releaseops
| Extra | Install | Adds |
|---|---|---|
eval |
pip install llmhq-releaseops[eval] |
LLM-as-judge (OpenAI, Anthropic) |
langsmith |
pip install llmhq-releaseops[langsmith] |
LangSmith trace queries |
dev |
pip install llmhq-releaseops[dev] |
pytest, black, mypy |
Quickstart
1. Initialize your project:
releaseops init
Creates .releaseops/ with environments (dev, staging, prod), bundle storage, and eval directories.
2. Create a bundle from your prompts and model config:
releaseops bundle create support-agent \
--artifact system=onboarding:v1.2.0 \
--model claude-sonnet-4-5 --provider anthropic
3. Promote through environments:
releaseops promote promote support-agent 1.0.0 dev
releaseops promote promote support-agent 1.0.0 staging
releaseops promote promote support-agent 1.0.0 prod
4. Load at runtime in your agent code:
from llmhq_releaseops.runtime import RuntimeLoader
loader = RuntimeLoader()
bundle, metadata = loader.load_bundle("support-agent@prod")
# bundle.model_config, bundle.prompts, bundle.policies — all resolved
# metadata is automatically injected into OpenTelemetry spans
5. Compare versions when something changes:
releaseops analytics compare support-agent@1.0.0 support-agent@1.1.0
Key Concepts
- Bundle — immutable, content-addressed manifest of prompts + policies + model config (SHA-256 verified)
- Environment — named deployment target (dev/staging/prod) with a pinned bundle version
- Promotion — moving a bundle through environments with optional quality gates (eval, approval, soak)
- Telemetry — automatic injection of bundle metadata into OpenTelemetry spans for production observability
- Attribution — trace agent behavior back to specific prompt lines and policy rules that caused it
Documentation
- IMPLEMENTATION.md — full CLI reference, Python SDK guide, data model reference, architecture details
License
MIT
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 llmhq_releaseops-0.1.0.tar.gz.
File metadata
- Download URL: llmhq_releaseops-0.1.0.tar.gz
- Upload date:
- Size: 59.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e87dc8ccbf93816e267ce23731bef2d77a51f7a0c1acd475e73344bbd4fcbdb7
|
|
| MD5 |
e99bef54b6234adb2bb9cfbb936efca5
|
|
| BLAKE2b-256 |
bd2c31124fc121206e06d21c40058cfaed78b00db3521c180ff77e8129e8930e
|
File details
Details for the file llmhq_releaseops-0.1.0-py3-none-any.whl.
File metadata
- Download URL: llmhq_releaseops-0.1.0-py3-none-any.whl
- Upload date:
- Size: 88.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da4a278a2da49092f075b9c3039ff4e804704de7eba4a47bd58b002f07f4d724
|
|
| MD5 |
bd5240561b3d649babf01a87e3b33a64
|
|
| BLAKE2b-256 |
375a60b4a4ffa1a31a9e840b7be5068eb3a2859a4fcb8913952705b7ea48f544
|