Skip to main content

REAL Framework

Reproducible Experimentation for Agentic Logic.

CI Python 3.10+ License: Apache-2.0

简体中文

REAL is an open-source framework for building, observing, evaluating, and safely experimenting with versioned agentic workflows. It is designed for repeatable business tasks where reproducibility and real online outcomes matter more than open-ended multi-agent conversation.

Why REAL?

  • One source of truth: JSON or optional YAML powers the CLI, SDK, Canvas, compiler, and runtime.
  • Reproducible execution: immutable plans carry workflow, node, prompt, model, provider, and tool lineage.
  • Real experimentation: stable business-unit assignment, execution-backed exposure, delayed outcomes, SRM checks, guardrails, promotion, and rollback.
  • Observable by default: run and node traces, latency, token/cost attributes, content redaction, SQLite storage, and optional OpenTelemetry export.
  • Portable integrations: explicit tool/model registries plus HTTP JSON, MCP Streamable HTTP, and OpenAI-compatible adapters.
  • Agent-friendly operations: a structured non-interactive CLI and repository skill for Codex or Claude Code.

Install

From source:

git clone https://github.com/icenfly/real-agentic-workflows.git
cd real-agentic-workflows
python -m venv .venv
source .venv/bin/activate
pip install -e '.[yaml,otel]'

The distribution name is real-agentic-workflows. The primary command is real; agent remains a compatibility alias. The Python import namespace is currently agent_infra.

Build and run a workflow

real init customer-triage --name customer_triage
cd customer-triage

real validate workflow.json
real compile workflow.json
real run workflow.plan.json --input '{"message":"refund requested"}'
real eval workflow.plan.json --dataset dataset.jsonl
real canvas workflow.json

Every successful CLI response is JSON. Errors go to stderr with non-zero exit codes. Mutating control-plane commands support --dry-run where applicable.

A workflow is plain data:

{
  "spec_version": "0.1",
  "name": "hello",
  "version": "1.0.0",
  "input_schema": {
    "type": "object",
    "required": ["message"]
  },
  "output_schema": {"type": "object"},
  "entry": "render",
  "nodes": [
    {
      "id": "render",
      "type": "template",
      "config": {"template": "Received: ${$.input.message}"}
    },
    {
      "id": "result",
      "type": "output",
      "config": {"value": {"message": "${$.nodes.render}"}}
    }
  ],
  "edges": [{"source": "render", "target": "result"}]
}

Use tools and models

Workflow files reference logical names and exact versions. Implementations are registered by the host application, never imported from an untrusted workflow:

from agent_infra import Runtime, WorkflowSpec, compile_workflow

plan = compile_workflow(WorkflowSpec.from_dict(workflow_dict))
runtime = Runtime().register_tool("lookup", lookup, version="2026-08-09")
result = runtime.run(plan, {"ticket_id": "T-42"})

The CLI accepts Python callables or a JSON adapter registry:

real run workflow.plan.json \
  --tool lookup=my_app.tools:lookup@2026-08-09 \
  --provider llm=my_app.models:generate@gateway-v2 \
  --input '{"message":"hello"}'

real run workflow.plan.json \
  --adapters examples/adapters.example.json \
  --input '{"message":"hello"}'

Remote adapters require a host allowlist, reject redirects, cap response bodies, and keep secrets in environment variables.

Run an online experiment

real experiment start examples/triage-experiment.json --dry-run
real experiment start examples/triage-experiment.json

real run --experiment triage_v2 \
  --unit-name organization_id \
  --unit-value acme \
  --input '{"ticket_id":"T-42","message":"cannot sign in"}'

real outcome ASSIGNMENT_ID resolved 1 --idempotency-key ticket-T-42
real experiment status triage_v2
real experiment stop triage_v2
real experiment promote triage_v2 treatment
real rollback ticket_triage

Assignment is not exposure: REAL records exposure only after the assigned immutable plan actually runs and its trace is stored.

Serve workflows over HTTP

real deploy workflow.plan.json --environment prod
export REAL_API_KEY='replace-me'
real serve --host 0.0.0.0 --port 8080 --api-key-env REAL_API_KEY

The data plane exposes health, run, trace, experiment-status, and delayed-outcome endpoints. Public deployments should place it behind TLS, organization authentication, rate limiting, and a secret manager.

CLI map

Lifecycle Commands
Define init, schema, validate, compile, diff, canvas
Execute run, serve, deploy, rollback
Observe trace, audit
Evaluate eval
Experiment experiment start/iterate/status/stop/promote, outcome

Run real COMMAND --help for machine-friendly argument details.

Documentation

Development

python -m pip install -e '.[dev,yaml]'
ruff check src tests
ruff format --check src tests
pytest
python -m build

See CONTRIBUTING.md, SECURITY.md, and the Code of Conduct before contributing.

Project boundaries

REAL intentionally does not bundle a long-term memory platform, vector database, node-level containers, or an automatic-promotion statistical engine. Those capabilities can be integrated as tools or storage backends without expanding the core workflow model. The bundled SQLite store targets a single control-plane process; high-write multi-instance deployments should provide a transactional database backend.

License

Apache License 2.0. See LICENSE.

Metadata

Release files for real-agentic-workflows 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for real-agentic-workflows 0.1.0
File Size Uploaded Provenance Actions
real_agentic_workflows-0.1.0.tar.gz 56.1 kB With provenance Details for real_agentic_workflows-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for real-agentic-workflows 0.1.0
File Interpreter ABI Platform Actions
real_agentic_workflows-0.1.0-py3-none-any.whl Python 3 none any Details for real_agentic_workflows-0.1.0-py3-none-any.whl

Total release size: 108.5 kB

Release files / real_agentic_workflows-0.1.0.tar.gz

Download URL real_agentic_workflows-0.1.0.tar.gz
Size 56.1 kB
Tags Source
SHA-256 checksum
How to use checksums
789871b70338b8ec56225ba481c39677c91c4f49f82b2bb88ffa1e0bd9db4d12
BLAKE2b-256 checksum
How to use checksums
53e22e9163acbf478d3d0c1bf0d7ead2fac738adb49c1768be5477846c54c3d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / real_agentic_workflows-0.1.0-py3-none-any.whl

Download URL real_agentic_workflows-0.1.0-py3-none-any.whl
Size 52.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a414f67ac6d81a4607b72921243ede96966b73a7a1e2ce3b9b8a3172e1ac929
BLAKE2b-256 checksum
How to use checksums
ababd26550435c71d0eebacd87acc7c5b8598f0b3d71ac9f270a4c6ed078a9ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Security for real-agentic-workflows 0.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for real_agentic_workflows-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page