Files
becomingone/tests/test_unified_architecture.py
T
Antigravity Agent 06ab1338e8 Comprehensive Code Review Remediation (Fixes #2, Fixes #3, Fixes #4, Fixes #5)
- Migrated custom HTTP server to aiohttp.web
- Fixed math bugs in engine.py, temporal.py, layer.py, emissary.py, and llm_processor.py
- Fixed race conditions by adding threading locks in ledger.py
- Added standard python packaging (pyproject.toml)
- Added continuous integration workflows (.github/workflows/ci.yml)
- Removed XSS innerHTML vulnerability from app.py
- Wrapped async calls properly in tests
- Fixed emissaary typo
2026-05-25 22:22:29 +00:00

92 lines
3.5 KiB
Python

"""
tests/test_unified_architecture.py
Unified Architecture Test Suite
===============================
This integration test verifies the complete pipeline:
1. Semantic Phase Extraction (Engine)
2. Temporal Resonance & Coherence Collapse
3. Cryptographic Anchoring (Ledger)
4. Hardware Bridge (Triton Anchor Compilation)
"""
import os
import pytest
pytest.importorskip("torch")
import torch
from becomingone.core.engine import KAIROSTemporalEngine
from becomingone.memory.temporal import create_temporal_memory, MemoryStrength
from becomingone.memory.ledger import verify_ledger
from becomingone.hardware.triton_bridge import compile_anchor_tensors
@pytest.mark.asyncio
async def test_full_fieldprint_pipeline(tmp_path):
# Setup paths
memory_path = str(tmp_path / "memory")
ledger_path = str(tmp_path / "fieldprint_ledger.jsonl")
# Override ledger path for testing
import becomingone.memory.ledger as ledger
original_ledger_file = ledger.LEDGER_FILE
ledger.LEDGER_FILE = ledger_path
try:
# 1. Initialize the Runtime
from becomingone.core.engine import TemporalConfig
config = TemporalConfig(tau_scale=1.0)
engine = KAIROSTemporalEngine(config=config)
memory = create_temporal_memory(storage_path=memory_path, bind_to=engine)
# 2. Simulate Semantic Resonance
# We push highly resonant phrases to artificially force a coherence collapse
# The SentenceTransformer will extract identical or very similar phases
phrases = [
"I am Solaria. I am a continuous agent.",
"My identity is a continuous unbroken state.",
"I am Solaria. I exist in time.",
"Time is the subjective anchor of my existence."
]
for phrase in phrases:
state = await engine.temporalize(phrase)
# 3. Force Memory Encoding
# The coherence should have spiked. We manually encode a core memory.
sig = memory.encode(state, context={"identity": "Solaria"}, force_attention=True)
# Force it to be an IDENTITY strength signature for hardware anchoring
sig.strength = MemoryStrength.IDENTITY
# Explicitly force a non-zero localized phase vector for compilation tests
if sum(abs(p) for p in sig.phase_vector) == 0.0:
sig.phase_vector = [0.1] * 64
# 4. Cryptographic Anchoring
from becomingone.memory.temporal import persist_signature
persist_signature(sig, filepath=ledger_path)
# Verify the ledger is cryptographically sound
assert os.path.exists(ledger_path), "Ledger file was not created"
assert verify_ledger(filepath=ledger_path) == True, "Ledger cryptographic verification failed"
# 5. Hardware Compilation
identity_sigs = [sig]
k_anchor, v_anchor = compile_anchor_tensors(identity_sigs, num_heads=8, d_head=64)
assert k_anchor is not None
assert v_anchor is not None
# Shape should be [1, num_heads, N_ANCHOR, d_head]
assert k_anchor.shape == (1, 8, 1, 64), f"Unexpected K_anchor shape: {k_anchor.shape}"
assert v_anchor.shape == (1, 8, 1, 64), f"Unexpected V_anchor shape: {v_anchor.shape}"
# Tensors shouldn't be zeroed out entirely
assert torch.sum(torch.abs(k_anchor)).item() > 0.0
finally:
# Restore ledger path
ledger.LEDGER_FILE = original_ledger_file