Skip to main content

AI Release Governance for production agents.

Project description

FlightDeck

FlightDeck is AI Release Governance for production agents.

It gives teams a local-first control loop for release safety: register immutable agent releases, ingest runtime evidence, compare trusted diffs, and gate promotion with policy.

FlightDeck is not an agent framework, prompt IDE, tracing dashboard, or gateway. It is the operating record for what changed, what it costs, how it behaves, and whether it is safe to promote.

Why It Exists

AI agent changes can silently alter cost, latency, failure rate, and unit economics. FlightDeck turns those changes into explicit release decisions backed by runtime evidence.

Current local spine:

  • versioned release.yaml artifacts with bundle checksums
  • RunEvent ingestion from JSONL or JSON arrays
  • immutable pricing tables with explicit --replace
  • trusted flightdeck release diff
  • policy-gated flightdeck release promote
  • promotion decision history

Status

FlightDeck is local-first and ships as a Python CLI backed by SQLite.

v1.0.0 establishes SemVer-stable public contracts for the documented CLI (docs/cli.md on main), committed schemas/v1/, and POST /v1/events with api_version v1. See RELEASE_NOTES.md and docs/spec-v1-forward.md. The product scope is still intentionally narrow (release governance, not a hosted agent platform).

Not implemented yet:

  • hosted control plane
  • automated traffic routing
  • tool-cost pricing
  • OpenTelemetry import/export mapping (optional uv sync --extra telemetry or pip install 'flightdeck-ai[telemetry]' for future work)

Shipped locally:

  • flightdeck serve + POST /v1/events
  • minimal Python SDK (flightdeck.sdk.client)
  • flightdeck release rollback (policy-gated, audited)

Quickstart

Install uv, then from the repo root:

uv sync --extra dev
uv run flightdeck --help

Or with pip and a venv:

python -m venv .venv
python -m pip install -e ".[dev]"
flightdeck --help

Run the cross-platform quickstart smoke (same as CI):

uv run python scripts/quickstart_smoke.py

(or python scripts/quickstart_smoke.py inside an activated venv)

Or use the bash wrapper (Git Bash / WSL on Windows):

./scripts/smoke.sh

Or walk through the core commands:

flightdeck init
flightdeck pricing import examples/quickstart/pricing-baseline.yaml
flightdeck pricing import examples/quickstart/pricing-candidate.yaml
flightdeck policy set examples/quickstart/policy.yaml

BASELINE=$(flightdeck release register examples/quickstart/baseline-release)
CANDIDATE=$(flightdeck release register examples/quickstart/candidate-release)

sed "s/__BASELINE_RELEASE_ID__/${BASELINE}/g" examples/quickstart/baseline-events.jsonl > baseline-events.jsonl
sed "s/__CANDIDATE_RELEASE_ID__/${CANDIDATE}/g" examples/quickstart/candidate-events.jsonl > candidate-events.jsonl

flightdeck runs ingest baseline-events.jsonl
flightdeck runs ingest candidate-events.jsonl

flightdeck release diff "$BASELINE" "$CANDIDATE" --window 7d
flightdeck release promote "$BASELINE" --env local --window 7d --reason "initial baseline"
flightdeck release history --agent agent_support --env local

The static event files in examples/quickstart use placeholder release IDs so the repo can ship stable examples. Substitute them before ingestion, or run uv run python scripts/quickstart_smoke.py / python scripts/quickstart_smoke.py (venv) or ./scripts/smoke.sh from Git Bash/WSL on Windows.

Documentation

This tree stays small; narrative docs live on github.com/flightdeckdev/flightdeck (main):

Development

uv sync --frozen --extra dev
uv run python -m ruff check src tests
uv run python -m pytest

See DEVELOPMENT.md for uv and pip setup, verification, troubleshooting, and PyPI releases (tag-driven; not on merge to main).

License

FlightDeck is licensed under the Apache License, Version 2.0 — see LICENSE and NOTICE.

The canonical public repository: https://github.com/flightdeckdev/flightdeck.

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

flightdeck_ai-1.0.1.tar.gz (93.8 kB view details)

Uploaded Source

Built Distribution

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

flightdeck_ai-1.0.1-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

Details for the file flightdeck_ai-1.0.1.tar.gz.

File metadata

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

File hashes

Hashes for flightdeck_ai-1.0.1.tar.gz
Algorithm Hash digest
SHA256 8aa7e9c8fe9391f2160e98f97e42931caa5cb87f76854746b923afc53cb71229
MD5 649f46bab30bdc3e68d57859c7c7b2c2
BLAKE2b-256 0e49eb776338e360ed1aded55be87c2cd998f7adfa4fbb18ceedd1761ebcefbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for flightdeck_ai-1.0.1.tar.gz:

Publisher: release-pypi.yml on flightdeckdev/flightdeck

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

File details

Details for the file flightdeck_ai-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: flightdeck_ai-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 29.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for flightdeck_ai-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6cc974c3b40688b147499de132da26186129b2e61d820546ea225ca8932d2fca
MD5 19ee2d519d8260a4e09b5fc8e81eef88
BLAKE2b-256 9749a66db96373acc9d641c67096dce85da4d6bf717e0663e2930edb2ab6e7c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for flightdeck_ai-1.0.1-py3-none-any.whl:

Publisher: release-pypi.yml on flightdeckdev/flightdeck

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