Skip to main content

Real-time data platform serving context to AI agents

Project description

AgentFlow

Real-time data platform for AI agents. Live entity lookups, typed contracts, dual-language SDKs, and release-gated delivery.

Release gate codecov Python License

Why this exists

Most agent demos work until they have to answer from live business state. Support, ops, and merch workflows need current orders, metrics, and health signals while the conversation is happening, not a stale warehouse snapshot and not a pile of one-off service adapters.

AgentFlow turns that problem into one serving boundary:

  • streaming ingestion for operational events
  • a semantic layer that exposes entities, metrics, and query endpoints
  • typed contracts so SDKs and callers know what shape to expect
  • Python and TypeScript clients that speak the same API surface

Highlights

  • Release line through v1.4.0 on PyPI (agentflow-runtime, agentflow-client) and npm (@yuliaedomskikh/agentflow-client), published via OIDC Trusted Publishers with SLSA provenance attestations on every artifact. Live registry table + re-verify recipe: docs/dv2-multi-branch/RELEASE_STATUS.md
  • 561 unit tests and the 842-test Windows no-Docker suite green locally; CI runs 12 required status checks (lint, schema-check, test-unit, test-integration, helm-schema-live, perf-check, terraform-validate, bandit, safety, npm-audit, trivy, contract). Branch protection requires every one of them
  • Sub-second entity lookups: entity p50 38-55 ms, entity p99 167 ms on local hardware (–82% from the 2026-04-23 baseline after the PII masker + tenant qualification cache wins). CI runner thresholds are documented separately in docs/perf/ci-hardware-gap-2026-05-24.md
  • Dual SDK parity for Python (agentflow-client) and TypeScript (@yuliaedomskikh/agentflow-client), including retry policies, circuit breakers, batching, pagination, contract pinning, idempotency keys, and as_of historical reads
  • Two CDC paths: production-grade Debezium + Kafka Connect (Helm chart hardened with NetworkPolicy + PDB + securityContext, schema-validated on every deploy), and a ClickHouse MaterializedPostgreSQL per-branch fan-out for the DV2 demo cluster
  • Security hardening in the hot path: tenant isolation across every read surface, parameterized queries, sqlglot AST validation for NL-to-SQL, fail-closed auth middleware, plaintext secret scrubbing, and a Bandit baseline gate for new findings only
  • On-call playbooks for production incidents in docs/runbooks/: symptom-keyed runbooks for API 5xx spikes, auth fail-closed regressions, CDC lag, Load Test gate failures, and PyPI/npm release rollback
  • DV2 demo triptych: voice-narrated terminal cast (demo_voiced.mp4, 92s) + web-UI screencast covering Argo Workflows and MinIO (demo_webui.mp4, 60s) + dbt docs lineage walk-through (demo_dbt_docs.mp4, 55s)

Quick start

Upgrading from v1.0.x? See the v1.1 migration guide before installing.

Prerequisites:

  • Python 3.11+
  • make
  • Docker Compose (make demo starts Redis)

PowerShell 7+:

git clone https://github.com/brownjuly2003-code/agentflow.git
cd agentflow
. .\scripts\setup.ps1
make demo

macOS / Linux:

git clone https://github.com/brownjuly2003-code/agentflow.git
cd agentflow
source ./scripts/setup.sh
make demo

make demo seeds local data, starts Redis, and serves the API on http://localhost:8000. Swagger UI is available at http://localhost:8000/docs.

Try it:

curl http://localhost:8000/v1/entity/order/ORD-20260404-1001

curl -X POST http://localhost:8000/v1/query \
  -H "Content-Type: application/json" \
  -d '{"question":"Show me top 3 products"}'

Local demo runs without API-key enforcement unless you explicitly configure AGENTFLOW_API_KEYS_FILE.

Architecture

Event sources -> Kafka -> Flink -> Iceberg ----\
                                                -> Semantic layer -> FastAPI -> Agent / SDK
Local demo   -> local_pipeline -> DuckDB ------/

Stack:

  • Ingestion: Kafka producers, Debezium/Kafka Connect CDC, and a local synthetic pipeline
  • Processing: Flink plus validation and enrichment stages
  • Storage: Iceberg for production-shaped tables, DuckDB for the local serving path
  • Serving: FastAPI, contract registry, lineage, search, and operational endpoints
  • Orchestration: Dagster
  • IaC: Terraform, Helm, Docker Compose, and a Fly.io demo config

See docs/architecture.md for the detailed design, trade-offs, and deployment topologies.

CDC source capture is standardized on Debezium/Kafka Connect; downstream consumers use the canonical AgentFlow CDC contract defined in ADR 0005.

What's inside

Area Files
API core src/serving/api/
Semantic layer src/serving/semantic_layer/
Python SDK sdk/agentflow/
TypeScript SDK sdk-ts/src/
Agent integrations integrations/agentflow_integrations/ (LangChain, LlamaIndex, CrewAI, MCP)
Flink jobs src/processing/flink_jobs/
Test suites tests/
Planning trail docs/plans/
Public site site/
IaC infrastructure/terraform/, infrastructure/dv2/, helm/, k8s/
DV2.0 warehouse warehouse/agentflow/dv2/ (hubs / links / satellites + X5 loader)

Documentation

Development

# verified release slice
python -m pytest tests/unit tests/integration tests/sdk -q

# benchmark and regression gate
python scripts/run_benchmark.py
python scripts/check_performance.py --baseline docs/benchmark-baseline.json --current .artifacts/load/results.json --max-regress 20

# benchmark trend: [.github/perf-history.json](.github/perf-history.json) is appended on every main push;
# render the history locally with `make perf-plot` (writes docs/perf/history.html).

# contracts and security
python scripts/generate_contracts.py --check
bandit -r src sdk --ini .bandit --severity-level medium -f json -o .tmp/bandit-current.json
python scripts/bandit_diff.py .bandit-baseline.json .tmp/bandit-current.json

Status

v1.4.0 is the current release line (PyPI agentflow-runtime / agentflow-client, npm @yuliaedomskikh/agentflow-client, all three published 2026-05-24T21:05Z via OIDC Trusted Publishers with SLSA provenance attestations). Live registry table and re-verify recipe live in docs/dv2-multi-branch/RELEASE_STATUS.md.

The v1.1.0v1.4.0 arc landed in four increments on top of the 2026-04-27 audit closure sprint:

  • v1.1.0 — audit closure: tenant isolation across every read surface, SQL guard centralization on sqlglot, entity allowlist enforcement, fail-closed auth, secrets rotated, Helm hardening, npm audit clean, vulnerable dep bumps, OpenAPI drift gate, 12 required status checks, Python SDK alignment with server v1 contract (F1–F10).
  • v1.2.0 — DV2 multi-branch warehouse merged to main: 38 DV2.0 tables (8 hubs / 8 links / 22+ satellites), Argo Workflows dv2-refresh template, dbt project with 3 mart models + 12 tests, per-branch CDC fan-out via ClickHouse MaterializedPostgreSQL, and the first voice-narrated terminal cast demo.
  • v1.3.0helm/kafka-connect chart hardening matched to helm/agentflow (NetworkPolicy + PDB + pod/container securityContext
    • /tmp emptyDir, all schema-required and off-by-default), Helm live validation parametrized across both charts, A03 CI hardware-gap acceptance with Load Test gates raised to 1.3x baseline, and the DV2 demo triptych completed (terminal + web-UI + dbt docs screencasts).
  • v1.4.0 — maintenance release: top-level handoff and release docs, on-call runbooks, SECURITY.md, issue/PR templates, contract/DORA CI hardening, Dependabot/editorconfig repo hygiene, type-stub adoption, and the Tier A dependency wave (mypy, Terraform AWS provider, TypeScript, GitHub Actions, Vitest). No runtime API changes from v1.3.0.

CI on main is fully green across all 12 required checks. Local hardware sustains entity p99 167 ms (the local SLO target); CI runner thresholds are intentionally divergent and documented in docs/perf/ci-hardware-gap-2026-05-24.md.

Remaining external gates require inputs outside this repository. AWS is not one of them for the current plan: Terraform apply is intentionally out of scope because there is no AWS budget or foreign-card/payment path, and the DV2/X5 demo uses the documented HF Datasets/Backblaze-compatible cold-tier path for derived/anonymized parquet.

  • Production CDC source onboarding (hostnames, credentials, owners, private network path) — runbook ready in docs/operations/cdc-production-onboarding.md.
  • Real PMF / pricing evidence and a public benchmark on production-grade hardware (c8g.4xlarge+).
  • External pen-test attestation.
  • Optional: paid larger GHA runner or self-hosted runner if the CI hardware-gap thresholds need to be tightened.

The project-local Pi skill at .pi/skills/external-gate-evidence-intake and the External Gate Evidence Intake Checklist codify what evidence must arrive before any of those gates close.

Screenshots

Admin UI API docs
AgentFlow admin UI AgentFlow API docs
Landing page Benchmark run
AgentFlow landing page AgentFlow benchmark terminal

Capture notes and publish-time checks are listed in docs/publication-checklist.md.

License

MIT. See LICENSE.

Credits

Built as a data-engineering reference project. Initial release cycle 2026-04-102026-04-20, post-audit hardening and DV2 extension through 2026-05-25 (v1.4.0). Full implementation trail preserved in docs/plans/, docs/codex-tasks/, and docs/lessons/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentflow_runtime-1.5.0.tar.gz (159.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentflow_runtime-1.5.0-py3-none-any.whl (173.5 kB view details)

Uploaded Python 3

File details

Details for the file agentflow_runtime-1.5.0.tar.gz.

File metadata

  • Download URL: agentflow_runtime-1.5.0.tar.gz
  • Upload date:
  • Size: 159.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentflow_runtime-1.5.0.tar.gz
Algorithm Hash digest
SHA256 b5afd2ef6522bfbe530d9eb3d97e088e9d18892690fdc229100e223c4bb7c3bb
MD5 8a8903fcb4e2c393c9321d94696826dc
BLAKE2b-256 2f48dcfe5283be0ad6da60f567a1082a70829371dfb324959170760bdb277e75

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentflow_runtime-1.5.0.tar.gz:

Publisher: publish-pypi.yml on brownjuly2003-code/agentflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentflow_runtime-1.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentflow_runtime-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c90750779eb0b950b44badc43e93bc01b486907094477492a1dcb96eb7776cc
MD5 c545d7f464b2d210d7e3daec5bac8ebe
BLAKE2b-256 a7fe93e8d1654d8a742df91661649fa56fdffed3d320a51ec302eb87a5301667

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentflow_runtime-1.5.0-py3-none-any.whl:

Publisher: publish-pypi.yml on brownjuly2003-code/agentflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page