generated from coulomb/repo-seed
71 lines
2.4 KiB
Python
71 lines
2.4 KiB
Python
import json
|
|
from pathlib import Path
|
|
|
|
from phase_memory.runtime import PhaseMemoryRuntime
|
|
|
|
|
|
FIXTURES = Path(__file__).parent / "fixtures"
|
|
|
|
|
|
def _load(name: str):
|
|
return json.loads((FIXTURES / name).read_text(encoding="utf-8"))
|
|
|
|
|
|
def test_profile_plan_runtime_snapshot() -> None:
|
|
runtime = PhaseMemoryRuntime()
|
|
envelope = runtime.plan_profile(_load("memory-profile.json"), source_ref="tests/fixtures/memory-profile.json")
|
|
|
|
assert _profile_projection(envelope) == _load("runtime-profile-plan-snapshot.json")
|
|
|
|
|
|
def test_activation_plan_runtime_snapshot() -> None:
|
|
runtime = PhaseMemoryRuntime()
|
|
envelope = runtime.plan_activation(
|
|
_load("memory-graph.json"),
|
|
source_ref="tests/fixtures/memory-graph.json",
|
|
max_items=2,
|
|
max_tokens=18,
|
|
profile_id="phase-memory-fixture-profile",
|
|
priority_node_ids=("decision.boundary",),
|
|
)
|
|
|
|
assert _activation_projection(envelope) == _load("runtime-activation-plan-snapshot.json")
|
|
|
|
|
|
def _profile_projection(envelope: dict) -> dict:
|
|
plan = envelope["data"]["plan"]
|
|
return {
|
|
"schema_version": envelope["schema_version"],
|
|
"operation": envelope["operation"],
|
|
"operation_id": envelope["operation_id"],
|
|
"valid": envelope["valid"],
|
|
"subject": envelope["subject"],
|
|
"diagnostic_codes": [diagnostic["code"] for diagnostic in envelope["diagnostics"]],
|
|
"data": {
|
|
"ready": plan["ready"],
|
|
"capabilities": plan["capabilities"],
|
|
"required_adapters": plan["required_adapters"],
|
|
"policy_gates": plan["policy_gates"],
|
|
},
|
|
}
|
|
|
|
|
|
def _activation_projection(envelope: dict) -> dict:
|
|
plan = envelope["data"]["activation_plan"]
|
|
return {
|
|
"schema_version": envelope["schema_version"],
|
|
"operation": envelope["operation"],
|
|
"operation_id": envelope["operation_id"],
|
|
"valid": envelope["valid"],
|
|
"subject": envelope["subject"],
|
|
"diagnostic_codes": [diagnostic["code"] for diagnostic in envelope["diagnostics"]],
|
|
"data": {
|
|
"plan_id": plan["plan_id"],
|
|
"selected_node_ids": plan["selected_node_ids"],
|
|
"selected_event_ids": plan["selected_event_ids"],
|
|
"omitted": [f"{item['id']}:{item['reason']}" for item in plan["omitted"]],
|
|
"token_estimate": plan["token_estimate"],
|
|
"package_request_id": envelope["data"]["package_request"]["id"],
|
|
},
|
|
}
|