File size: 1,565 Bytes
c3a3710 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import pytest
from mnemocore.core.meta_memory import MetaMemoryService
def test_meta_memory_metrics():
meta = MetaMemoryService()
meta.record_metric("inference_time_ms", 120.5, window="1m")
meta.record_metric("inference_time_ms", 130.0, window="1m")
meta.record_metric("token_count", 500, window="1h")
assert len([m for m in meta.list_metrics() if m.name == "inference_time_ms"]) == 2
assert len([m for m in meta.list_metrics() if m.name == "token_count"]) == 1
import pytest
from datetime import datetime
from mnemocore.core.meta_memory import MetaMemoryService
from mnemocore.core.memory_model import SelfImprovementProposal
def test_meta_memory_proposals():
meta = MetaMemoryService()
proposal = SelfImprovementProposal(
id="prop1",
created_at=datetime.utcnow(),
author="system",
title="Reduce Temp",
description="Agent repeats tools too often",
rationale="Reduce temperature or augment prompt with history",
expected_effect="Less tool looping",
status="pending",
metadata={"confidence": 0.85}
)
meta.create_proposal(proposal)
proposals = meta.list_proposals()
assert len(proposals) == 1
p = proposals[0]
assert p.status == "pending"
assert "reduce temperature" in p.rationale.lower()
# Update status
meta.update_proposal_status(p.id, "approved")
proposals2 = meta.list_proposals()
assert proposals2[0].status == "approved"
|