build(agent): new-agents-3#dd492b iteration
This commit is contained in:
parent
765e525bc2
commit
4a31a63dac
|
|
@ -68,3 +68,8 @@ MVP notes
|
|||
- Graph-of-Contracts registry with versioned schemas (ContractRegistry)
|
||||
|
||||
This repository already includes: LocalProblem DSL, adapters stubs, and a test-aware bridge.
|
||||
|
||||
Interop Demo
|
||||
- A tiny demonstration script nova_plan/examples/demo_energi_bridge_demo.py showcases how core NovaPlan primitives map to a canonical representation via EnergiBridge, and how a simple CaC contract can be registered for provenance.
|
||||
- Run: python3 -m nova_plan.examples.demo_energi_bridge_demo
|
||||
- This script is non-destructive and safe to run in a test environment; it prints a couple of canonical representations to stdout for quick inspection.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
"""Demo: EnergiBridge Interop Sketch (Non-breaking, MVP-friendly).
|
||||
|
||||
This tiny script demonstrates how core NovaPlan primitives can be mapped
|
||||
to a canonical representation via EnergiBridge, and how a simple CaC contract
|
||||
artifact can be registered for governance/provenance. It is intentionally small
|
||||
and side-effect free for unit-test safety, but serves as a concrete demonstration
|
||||
for developers extending adapters and contracts.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import time
|
||||
|
||||
from nova_plan.energi_bridge import EnergiBridge
|
||||
from nova_plan.contracts import PlanDelta, ContractRegistry
|
||||
|
||||
|
||||
def run_demo():
|
||||
eb = EnergiBridge(signer_key=None) # unused in this tiny demo, but kept for API parity
|
||||
|
||||
# Minimal LocalProblem-like input and canonical object mapping
|
||||
local_problem = {
|
||||
"id": "lp-demo-rover-1",
|
||||
"domain": "rover",
|
||||
"assets": ["rover-1"],
|
||||
"objective": "collect-sample",
|
||||
}
|
||||
canonical_object = eb.to_object(local_problem)
|
||||
|
||||
# Minimal PlanDelta and its canonical morphism
|
||||
delta = PlanDelta(agent_id="demo-agent",
|
||||
delta={"task": 1.0},
|
||||
timestamp=time.time(),
|
||||
contract_id="lp-demo-rover-1")
|
||||
canonical_morphism = eb.to_morphism(delta, contract_id="lp-demo-rover-1")
|
||||
|
||||
# Print representations for quick inspection in a REPL
|
||||
print("Canonical Object:", canonical_object)
|
||||
print("Canonical Morphism:", canonical_morphism)
|
||||
|
||||
# Register a tiny CaC contract artifact (non-persistent in this demo)
|
||||
contract = ContractRegistry.register_contract(
|
||||
contract_id="demo-contract",
|
||||
version=1,
|
||||
content={"type": "DemoContract", "payload": {"notes": "EnergiBridge demo"}},
|
||||
signer_id=None,
|
||||
)
|
||||
print("Registered CaCContrato:", contract)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run_demo()
|
||||
Loading…
Reference in New Issue