idea153-aidmesh-mobile-first/tests/test_aidmesh.py

73 lines
2.6 KiB
Python

from __future__ import annotations
from idea153_aidmesh_mobile_first import ContractScriptCompiler, PlanDelta, PlanLedger, merge_deltas, replay_ledger, solve_program
from idea153_aidmesh_mobile_first.adapters import InventoryItem, RouteWaypoint, inventory_to_contract, route_to_contract
def test_compiler_and_solver_select_high_priority_tasks():
source = """
site "field-clinic-7"
capacity meds 10
capacity water 6
task triage priority 10 demand meds=4, water=2
task shelter priority 4 demand water=4
"""
module = ContractScriptCompiler().compile(source)
assert module.digest
result = solve_program(module.program)
assert [action.task for action in result.selected_tasks] == ["triage", "shelter"]
assert result.remaining_capacity == {"meds": 6, "water": 0}
def test_plan_deltas_sign_merge_and_replay():
secret = "shared-key"
delta_a = PlanDelta(
device_id="truck-1",
sequence=1,
parents=[],
changes={"inventory": {"meds": 12}},
summary="restocked meds",
timestamp="2026-04-26T20:00:00Z",
).sign(secret)
delta_b = PlanDelta(
device_id="drone-2",
sequence=2,
parents=[delta_a.signature],
changes={"routes": {"drone-2": ["clinic", "depot"]}},
summary="published route",
timestamp="2026-04-26T20:01:00Z",
).sign(secret)
merged = merge_deltas({}, [delta_b, delta_a], secret)
assert merged["inventory"]["meds"] == 12
assert merged["routes"]["drone-2"] == ["clinic", "depot"]
replay = replay_ledger({}, [delta_a, delta_b], secret)
assert replay.state["inventory"]["meds"] == 12
assert replay.applied == ["truck-1:1", "drone-2:2"]
def test_adapters_generate_valid_contracts():
inventory_program = inventory_to_contract(
"warehouse-1",
[InventoryItem(name="bandages", quantity=20, criticality=8), InventoryItem(name="saline", quantity=12, criticality=6)],
)
route_program = route_to_contract(
"airstrip-a",
(0.0, 0.0),
[RouteWaypoint(name="north-hill", x=2.0, y=3.0, priority=9), RouteWaypoint(name="river-base", x=1.0, y=1.0, priority=4)],
)
assert solve_program(inventory_program).selected_tasks
assert solve_program(route_program).selected_tasks
ledger = PlanLedger(secret="shared-key")
delta = PlanDelta(
device_id="inventory-1",
sequence=1,
parents=[],
changes={"inventory": {"bandages": 20}},
summary="inventory snapshot",
timestamp="2026-04-26T20:02:00Z",
).sign("shared-key")
ledger.append(delta)
assert ledger.state["inventory"]["bandages"] == 20