Spaces:
Sleeping
Sleeping
| 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() | |