This folder holds copy-pasteable references for wiring FlightDeck into a real loop: emit evidence, ingest, diff, gate in CI, promote, and run the local HTTP server. Narrative CLI and trust-boundary docs live on the canonical repository main; see also RELEASE_NOTES.md in this tree.
- Emit run events from your app or a test harness — see integration/ (
emit_sample_events.pyandPOST /v1/eventsshape). Optional framework-oriented emitters: integration/adoption/. - Ingest evidence:
flightdeck runs ingest <file.jsonl>(or JSON array file), or HTTPPOST /v1/eventswhileflightdeck serveis running. - Register a release bundle:
flightdeck release register <bundle-dir>thenflightdeck release verifyagainst the same tree before you trust the checksum. - Diff and gate in CI:
flightdeck release diff …with--fail-on-policywhen you want a non-zero exit without mutating promotion — see ci/ andledger_gate.py/ GitHub Actions templates. Optionalpricing_catalog_pathinflightdeck.yamladdspricing.catalog/pricing.hintson diffs (see docs/pricing-catalog.md). Same contract in the browser or HTTP: withflightdeck serve, open/#/difffor structured policy / pricing / rollup sections, or callPOST /v1/diff(matchesflightdeck release diff --output json). Details: docs/web-ui.md, docs/http-api.md. - Promote or rollback via CLI (
flightdeck release promote/rollback) or HTTPPOST /v1/promoteandPOST /v1/rollback(token + loopback rules apply). Whenpromotion_requires_approval: true, userelease promote-request/promote-confirmorPOST /v1/promote/requestthenPOST /v1/promote/confirm— see ci/promote_with_approval.sh and ci/README.md (GitHub Actions patterns). - Run the server in a container or compose stack — see deploy/. The bundled UI calls
GET /v1/workspaceto choose direct promote vs request/confirm. - Triage runs with
flightdeck runs list/runs exportorGET /v1/runs, and observe aggregate ledger size withGET /v1/metrics(JSON counters; read-only, same access tier as otherGET /v1/*routes). Withflightdeck serve,/#/runsadds optional Group by trace_id (collapsible sections) on top of the same API slice.
UI polish / operator flow: See docs/web-ui.md for routing and surfaces. In the bundled app, prefer Diff for policy and pricing conclusions, Runs for trace-scoped triage, and Actions for promote and rollback so operators rarely need raw JSON first.
Use this as a discoverability pass for the ROADMAP.md success and readiness signals (not a product guarantee):
| Signal | Where to start |
|---|---|
| Approval-gated promote in CI | ci/promote_with_approval.sh, ci/README.md, ci/github-actions/promote-approval-twostep.yml |
| Two-provider (or catalog) pricing on a diff | docs/pricing-catalog.md; tests test_diff_cross_provider_releases and test_catalog_comparable_cost_on_cross_provider_diff in tests/ |
Operate flightdeck serve with deployment guidance |
deploy/README.md (Compose healthcheck, restart: unless-stopped, FLIGHTDECK_LOCAL_API_TOKEN, SQLite backup via flightdeck doctor --backup, operator checklist); optional Helm under deploy/chart/flightdeck/ |
| Path | Purpose |
|---|---|
| quickstart/ | Minimal workspace used by flightdeck-quickstart-verify. |
| ci/ | Policy gate script, sample policy YAML, GitHub Actions job snippets. |
| deploy/ | Dockerfile and compose for flightdeck serve; optional Railway (railway.toml) and Fly.io (fly.toml). |
| integration/ | Sample event emitter for HTTP ingest. |
| integration/adoption/ | OpenAI, Anthropic, LangChain, Agents SDK, CrewAI-style totals, Temporal labels → RunEvent. |
| fleet/ | Multi-workspace naming, optional catalog path, approval workflow notes. |
| pricing/catalog.sample.yaml | Sample PricingCatalog for cross-vendor comparable diff costs. |