# FedCatOpt FedCatOpt is a Python SDK for federated, offline-first coordination of heterogeneous robotic fleets. It provides: - Typed DSL primitives for local optimization, shared state, deltas, dual variables, privacy budgets, audit logs, and policy blocks - A deterministic Graph-of-Contracts registry for contract wiring and islanded execution - Starter adapters for `rover_planner` and `drone_controller` - A category-theory-inspired canonical IR that normalizes robotics-specific control payloads - An ADMM-lite consensus solver with deterministic delta generation and optional privacy budget consumption - A governance ledger and short-lived certificate skeleton for Phase 1 identity flows ## Project Layout - `src/idea177_fedcatopt_federated_category/models.py` - `src/idea177_fedcatopt_federated_category/solver.py` - `src/idea177_fedcatopt_federated_category/registry.py` - `src/idea177_fedcatopt_federated_category/adapters.py` - `src/idea177_fedcatopt_federated_category/identity.py` - `src/idea177_fedcatopt_federated_category/sdk.py` ## Example ```python from idea177_fedcatopt_federated_category import ( ADMMliteSolver, DRONE_CONTROLLER_ADAPTER, ROVER_PLANNER_ADAPTER, SharedVariables, ) rover = ROVER_PLANNER_ADAPTER.to_local_problem({"agent_id": "rover-1", "desired_speed": 3.0, "desired_heading": 1.0}) drone = DRONE_CONTROLLER_ADAPTER.to_local_problem({"agent_id": "drone-1", "desired_thrust": 0.8, "desired_yaw_rate": 0.2}) solver = ADMMliteSolver() result = solver.solve([rover, drone], SharedVariables(variables={"speed": 0.0, "heading": 0.0, "thrust": 0.0, "yaw_rate": 0.0})) ``` ## Testing `bash test.sh` ## Packaging The package name is `idea177-fedcatopt-federated-category` and the source distribution metadata points to this README.