Skip to content

marouane53/Flightcase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Flightcase

Flightcase is an open-source evidence layer for robots.

It records selected ROS 2 topics, logs, planner events, and heavy-sensor payloads into immutable evidence objects. Those objects can be followed live, fetched later from a rolling cache, sealed into signed incident manifests, exported to MCAP, or replayed safely in an isolated environment.

The goal is simple: when something important happens on a robot, Flightcase gives operators and engineers a trustworthy incident package without turning the robot into a cloud service, analytics platform, or video processing system.

ROS 2 / logs / planner events
  -> Flightcase sidecar
  -> immutable evidence objects
  -> rolling local cache
  -> live FOLLOW or retroactive FETCH
  -> signed incident manifest
  -> MCAP export or safe replay

What Flightcase Does

  • Captures robot evidence as named, time-bounded objects.
  • Keeps payloads opaque: caches and relays do not decode robot data.
  • Signs incident manifests so evidence packages can be verified later.
  • Records declared gaps instead of hiding loss or policy rejection.
  • Supports live following and retroactive fetch from a rolling cache.
  • Exports evidence to MCAP for robot debugging tools.
  • Provides safe replay defaults, including control-topic blocking and isolated ROS domains.
  • Keeps camera and other heavy sensors default-deny unless explicit policy, trigger, budget, retention, and encryption rules allow them.

What This Repository Contains

  • src/flightcase/: Python reference implementation and CLI.
  • ros2/flightcase_sidecar/: optional ROS 2 sidecar and replay bridge.
  • examples/: sample configs, manifests, and authorization policy.
  • docs/: runbooks, standard documents, implementation notes, and release checks.
  • scripts/: validation and real-media test helpers.
  • eval/: evaluation scaffolding and real-media validation notes.
  • tests/: unit and integration tests.

Non-Goals

Flightcase is not a robot cloud, dashboard, database, analytics product, or replacement for ROS 2/DDS, Zenoh, micro-ROS, EtherCAT, CAN, or any hard real-time control transport.

It observes, packages, verifies, exports, and replays evidence. Control loops stay where they are.

Flightcase also does not perform video understanding. Camera payloads are treated as policy-controlled opaque evidence, not decoded media streams.

Quick Start

python -m venv .venv
. .venv/bin/activate
pip install -e '.[dev]'

flightcase mock-session --cache ./tmp/cache --org acme --fleet warehouse-a --site zone-3 --robot r17
flightcase sessions --cache ./tmp/cache
flightcase markers list --cache ./tmp/cache --robot acme/warehouse-a/zone-3/r17
flightcase incident create --cache ./tmp/cache --robot acme/warehouse-a/zone-3/r17 --around latest-marker --out ./tmp/near-miss.fc.json
flightcase doctor --cache ./tmp/cache --manifest ./tmp/near-miss.fc.json
flightcase fetch --cache ./tmp/cache --manifest ./tmp/near-miss.fc.json --out ./tmp/near-miss.fcp.jsonl
flightcase export --cache ./tmp/cache --manifest ./tmp/near-miss.fc.json --format mcap --out ./tmp/near-miss.mcap --allow-jsonl-fallback
flightcase replay --cache ./tmp/cache --manifest ./tmp/near-miss.fc.json --dry-run

Optional integrations:

pip install -e '.[mcap,crypto,zenoh]'

The ROS 2 sidecar package is under ros2/flightcase_sidecar. It can be copied into a ROS 2 workspace and built with colcon after the Python package is installed in that environment.

Validation

For a local development check:

python -m pytest tests -m 'not optional_zenoh and not optional_mcap and not optional_ros2' -q
python -m ruff check src tests scripts

For Docker-backed ROS 2 validation:

./scripts/ros2_runtime_smoke_docker.sh

Flightcase has also been tested against real robot media from the M2P2 dataset. That run captured compressed camera frames, odometry, transforms, command velocity, and event-like topics while proving that heavy camera evidence remained policy-controlled, encrypted when accepted, explicitly rejected when denied or over budget, and safe for fetch, export, replay, and redaction workflows.

See docs/runbooks/real-robot-video-e2e.md and eval/real_video_e2e/README.md for the real-media runbook and pass/fail criteria.

Project Status

Flightcase is a release candidate. The core evidence workflow is implemented and tested, including local cache integrity, signed manifests, authorization checks, heavy-sensor policy, MCAP export, live transcripts, redaction, and safe replay.

Hosted cloud features, dashboards, AI diagnosis, unrestricted camera ingestion, and production support guarantees are out of scope for this repository.

About

Open-source evidence layer for robots. ROS 2 incident recording, signed manifests, MCAP export, and safe replay.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors