orbit-command-deck / test_orbit_core.py
xxbanditxx's picture
Deploy Orbit Command Deck
e0f7a6a verified
Raw
History Blame Contribute Delete
2.61 kB
import tempfile
import unittest
from pathlib import Path
from orbit_core import OrbitStore, decision_gate, required_confidence
class OrbitCoreTests(unittest.TestCase):
def make_store(self):
tempdir = tempfile.TemporaryDirectory()
self.addCleanup(tempdir.cleanup)
return OrbitStore(Path(tempdir.name) / "beliefs.json")
def test_evidence_keeps_provenance(self):
store = self.make_store()
belief = store.record_evidence(
subject="Bike",
predicate="weighs",
obj="330 lb",
context="current configuration",
claim_type="personal_report",
relation="support",
source_type="firsthand_report",
speaker="Thomas",
quote="She's not fat. 330 lbs",
reliability=0.70,
)
self.assertEqual(belief.evidence[0].speaker, "Thomas")
self.assertEqual(belief.evidence[0].quote, "She's not fat. 330 lbs")
self.assertEqual(belief.claim_type, "personal_report")
def test_contradiction_increases_pressure(self):
store = self.make_store()
first = store.record_evidence(
subject="Glass",
predicate="is",
obj="fragile",
relation="support",
source_type="direct_measurement",
reliability=0.90,
)
before = first.pressure
after = store.record_evidence(
subject="Glass",
predicate="is",
obj="fragile",
relation="contradict",
source_type="direct_measurement",
reliability=0.90,
)
self.assertGreater(after.pressure, before)
self.assertEqual(after.status, "contested")
def test_round_trip(self):
tempdir = tempfile.TemporaryDirectory()
self.addCleanup(tempdir.cleanup)
path = Path(tempdir.name) / "beliefs.json"
original = OrbitStore(path)
recorded = original.record_evidence(
subject="Orbit",
predicate="preserves",
obj="revision",
relation="support",
source_type="primary_document",
reliability=0.85,
)
loaded = OrbitStore(path)
self.assertEqual(loaded.get(recorded.id).statement, recorded.statement)
def test_high_stakes_irreversible_guardrail(self):
self.assertEqual(required_confidence("high", "low", "high"), 0.85)
result = decision_gate(0.84, "high", "low", "high")
self.assertFalse(result["permitted"])
if __name__ == "__main__":
unittest.main()