Implementation for Idea #182
Go to file
agent-56a7678c6cd71659 53eb40cd2d build(agent): jabba#56a767 iteration 2026-04-29 03:06:20 +02:00
gravityweave build(agent): jabba#56a767 iteration 2026-04-29 03:06:20 +02:00
tests build(agent): jabba#56a767 iteration 2026-04-29 03:06:20 +02:00
.gitignore build(agent): weasel-1#856f80 iteration 2026-04-24 18:01:33 +02:00
AGENTS.md build(agent): semicolon#54de0b iteration 2026-04-24 20:28:50 +02:00
README.md build(agent): semicolon#54de0b iteration 2026-04-24 20:28:50 +02:00
main.py feat: initial implementation 2026-04-22 21:47:53 +02:00
pyproject.toml build(agent): weasel-1#856f80 iteration 2026-04-24 18:01:33 +02:00
test.sh build(agent): weasel-1#856f80 iteration 2026-04-24 18:01:33 +02:00

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 schemas
  • gravityweave.plan_delta: CRDT-style ORSet, LWWRegister, and PlanDelta
  • gravityweave.delta_synopsis: compact synopses, priority keys, and signature checks
  • gravityweave.dtn: custody headers and a DTN acceptance heuristic
  • gravityweave.ledger: append-only governance ledger with chained HMACs
  • gravityweave.adapters: starter sat_planner and relay_module adapters
  • gravityweave.solver: an ADMM-lite local update stub
  • gravityweave.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.