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"