1.7 KiB
1.7 KiB
NebulaForge Architecture and Contribution Guide
Overview
- NebulaForge is an offline-resilient, federated foundation-model platform designed for space robotics with intermittent connectivity. This repository contains a production-ready MVP scaffold including a device runtime, secure aggregation, data contracts, governance ledger, and a simulator stub.
Architecture Overview
- Runtime (nebulaforge.runtime): lightweight on-device inference and planning primitives tailored for ARM/RISC-V platforms.
- Federated (nebulaforge.federated): secure aggregation with optional differential privacy budgets.
- Contracts (nebulaforge.contracts): per-message data contracts such as LocalProblem, SharedVariables, PlanDelta, PrivacyBudget, AuditLog.
- Governance (nebulaforge.governance): crypto-signed decisions and tamper-evident provenance ledger.
- Simulator (nebulaforge.simulator): stubbed integration points for Gazebo/ROS-based HIL validation.
Getting Started
- Install Python dependencies via test.sh which runs packaging checks and tests.
- Run unit tests with pytest.
Contribution Rules
- Follow PEP 8 where applicable; keep modules small and focused.
- Add tests for new functionality; ensure all tests pass before proposing changes.
- Update AGENTS.md if you introduce new major components or interfaces.
Testing and Validation
- The test.sh script in the repo automates: building the package (python3 -m build) and running tests (pytest).
- Use pytest to validate behavior of runtime, federated aggregation, and contracts.
Release Process (high level)
- Bump version in nebulaforge/init.py or pyproject.toml when features are merged.
- Run test.sh to ensure green tests and packaging integrity.
- Create READY_TO_PUBLISH file to signal completion for publishing workflow.