29 lines
1.9 KiB
Markdown
29 lines
1.9 KiB
Markdown
# FleetOpt Verifiable Privacy (Python)
|
|
|
|
FleetOpt is a modular, open-source platform for privacy-preserving cross-fleet coordination of robotic workloads. This repository implements a production-ready MVP scaffold in Python, focusing on core data models, a contract-driven registry for aggregated signals, an asynchronous ADMM-like solver, offline delta synchronization, and secure governance/audit trails.
|
|
|
|
What you get in this MVP:
|
|
- Core data models: LocalRobotPlan, SharedSignals, PlanDelta, and PrivacyBudget.
|
|
- In-memory registry (GraphOfContracts) to exchange aggregated signals with simple policy blocks.
|
|
- A lightweight asynchronous ADMM-like solver coordinating two fleets with privacy budgets and dual variables.
|
|
- Privacy budget accounting and audit logging.
|
|
- Tiny ROS 2 adapter placeholder and TLS-configured transport scaffolding (ready to integrate with real ROS2 adapters).
|
|
- Tests validating cross-fleet optimization flow and privacy budgeting.
|
|
- Lightweight DSL seeds for LocalRobotPlan/SharedSignals/PlanDelta (core/dsl.py)
|
|
- Toy adapters for interoperability (adapters/ros2_adapter.py and adapters/gazebo_adapter.py)
|
|
|
|
How to run tests
|
|
- Install dependencies (if any): this MVP uses only the standard library for tests, but you can install pytest if you wish to run externally.
|
|
- Run tests: `pytest -q`.
|
|
- Run packaging check: `python3 -m build`.
|
|
|
|
Extending and publishing
|
|
- This repo is designed to be extended in a production-ready manner. See READY_TO_PUBLISH for publishing flag.
|
|
- A minimal DSL seed (core/dsl_seed.py) and an MVP contract seed (core/dsl.py) help bootstrap interoperability with adapters.
|
|
- The two adapters (adapters/ros2_adapter.py and adapters/gazebo_adapter.py) are placeholders to be wired to real ROS 2 and Gazebo integrations.
|
|
|
|
Contributing
|
|
- Follow the architecture described in AGENTS.md and keep changes cohesive and well-tested.
|
|
|
|
Architecture overview and how to contribute are described in AGENTS.md.
|