mirror of
https://github.com/saymrwulf/BraiinsRatchet.git
synced 2026-05-14 20:37:52 +00:00
69 lines
2.9 KiB
Python
69 lines
2.9 KiB
Python
from pathlib import Path
|
|
import unittest
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
class DocumentationContractTests(unittest.TestCase):
|
|
def test_user_guide_covers_full_autoresearch_loop(self):
|
|
text = (ROOT / "docs" / "USER_GUIDE.md").read_text()
|
|
|
|
self.assertIn("# Braiins Ratchet User Guide", text)
|
|
self.assertIn("The Story", text)
|
|
self.assertIn("Sense", text)
|
|
self.assertIn("Price", text)
|
|
self.assertIn("Watch", text)
|
|
self.assertIn("Mature", text)
|
|
self.assertIn("Adapt", text)
|
|
self.assertIn("Immediate", text)
|
|
self.assertIn("Midterm", text)
|
|
self.assertIn("Longterm", text)
|
|
self.assertIn("Reality Mirror", text)
|
|
self.assertIn("Backstage Evidence Deck", text)
|
|
self.assertIn("data/app_visual_state.md", text)
|
|
self.assertIn("Potential Findings", text)
|
|
self.assertIn("manual_canary", text)
|
|
self.assertIn("manual_bid", text)
|
|
self.assertIn("observe", text)
|
|
self.assertIn("never places, modifies, or cancels Braiins orders", text)
|
|
|
|
def test_operator_guide_covers_architecture_and_host_recovery(self):
|
|
text = (ROOT / "docs" / "OPERATOR_GUIDE.md").read_text()
|
|
|
|
self.assertIn("# Braiins Ratchet Operator Guide", text)
|
|
self.assertIn("System Architecture", text)
|
|
self.assertIn("Tech Stack", text)
|
|
self.assertIn("SwiftUI", text)
|
|
self.assertIn(".macOS(.v26)", text)
|
|
self.assertIn("Python standard library only", text)
|
|
self.assertIn("SQLite durable state", text)
|
|
self.assertIn("Switching To Another macOS Host", text)
|
|
self.assertIn("State Recovery", text)
|
|
self.assertIn("visual self-reflection layer", text)
|
|
self.assertIn("data/app_visual_state.json", text)
|
|
self.assertIn("data/ratchet.sqlite*", text)
|
|
self.assertIn("reports/EXPERIMENT_LOG.md", text)
|
|
self.assertIn("git clone -b master", text)
|
|
self.assertIn("owner token", text.lower())
|
|
|
|
def test_readme_and_wrapper_expose_guides(self):
|
|
readme = (ROOT / "README.md").read_text()
|
|
start_here = (ROOT / "START_HERE.md").read_text()
|
|
wrapper = (ROOT / "scripts" / "ratchet").read_text()
|
|
|
|
self.assertIn("docs/USER_GUIDE.md", readme)
|
|
self.assertIn("docs/OPERATOR_GUIDE.md", readme)
|
|
self.assertIn("./scripts/ratchet guide", readme)
|
|
self.assertIn("./scripts/ratchet operator-guide", readme)
|
|
self.assertIn("./scripts/ratchet mirror", readme)
|
|
self.assertIn("./scripts/ratchet guide", start_here)
|
|
self.assertIn("./scripts/ratchet operator-guide", start_here)
|
|
self.assertIn("./scripts/ratchet mirror", start_here)
|
|
self.assertIn("guide|user-guide|explain", wrapper)
|
|
self.assertIn("operator-guide|operator", wrapper)
|
|
self.assertIn("mirror|reality", wrapper)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|