|
|
||
|---|---|---|
| gravityweave | ||
| tests | ||
| .gitignore | ||
| AGENTS.md | ||
| README.md | ||
| main.py | ||
| pyproject.toml | ||
| test.sh | ||
README.md
GravityWeave
GravityWeave is a small Python package for federated orbital mission planning. It focuses on deterministic coordination across delayed links, with compact synopses, tamper-evident logging, and replay-friendly plan deltas.
What Is Included
gravityweave.registry: Graph-of-Contracts registry for adapters and schemasgravityweave.plan_delta: CRDT-styleORSet,LWWRegister, andPlanDeltagravityweave.delta_synopsis: compact synopses, priority keys, and signature checksgravityweave.dtn: custody headers and a DTN acceptance heuristicgravityweave.ledger: append-only governance ledger with chained HMACsgravityweave.adapters: startersat_plannerandrelay_moduleadaptersgravityweave.solver: an ADMM-lite local update stubgravityweave.mission: deterministic mission simulator that ties everything together
Example
from gravityweave import ContactWindow, MissionNode, MissionSimulator, MissionTask
nodes = [MissionNode("sat1", "satellite"), MissionNode("relay1", "relay")]
tasks = [MissionTask("task-a", "sat1", "downlink", utility=9.0, deadline_step=0, safety_critical=True)]
windows = [ContactWindow("sat1", "relay1", step=0, bandwidth_bytes=1024)]
sim = MissionSimulator(nodes, tasks, windows, ledger_key=b"ledger", synopsis_key=b"syn")
metrics = sim.run()
Test And Build
Run bash test.sh to build the package and execute the test suite.