{-# LANGUAGE OverloadedStrings #-} -- | Luchot — L0 immutable constants. -- -- Architecture §3.7: -- "Compiled Haskell constants. Cannot be modified at runtime." -- -- The Ten Commandments as firmware. If violated, the program -- does not function correctly — not as a runtime check, -- but as a structural fact of the code. -- -- The L1 integrity hash is stored here — the luchot carry -- the fingerprint of the scroll. module Luchot.Firmware ( -- * L1 Integrity l1ExpectedHash -- * Constants , torahBookCount , torahVerseCount , torahWordCount , uniqueRootCount -- * Dibrot (structural constants) , Dibrot(..) , dibrot ) where import Data.Text (Text) -- | The expected SHA-256 hash of the L1 Torah filesystem. -- From build_report.json and verified during L1 build. -- If the hash does not match, the specification is compromised. l1ExpectedHash :: Text l1ExpectedHash = "0ee0020aac6c6beb0e83c0638a861c73d37d9dbd39c30d3cb08c1878b481c844" -- | Torah book count. Five books. Not four, not six. torahBookCount :: Int torahBookCount = 5 -- | Total verse count per WLC versification. -- 5853, not traditional 5845. See build log entry #4. torahVerseCount :: Int torahVerseCount = 5853 -- | Total word count across Torah. torahWordCount :: Int torahWordCount = 79982 -- | Unique root count found in L1. uniqueRootCount :: Int uniqueRootCount = 2608 -- | The Ten Dibrot as a structural record. -- These are not runtime values to check. They are the structure itself. -- A system that violates them is not a broken system — it is not this system. data Dibrot = Dibrot { anochi :: () -- ^ I am YHVH your God — the system has a source , loYihyeh :: () -- ^ No other gods — no external authority replaces Torah , loTissa :: () -- ^ Do not take the Name in vain — accuracy in attribution , zachor :: () -- ^ Remember Shabbat — mandatory cessation , kabed :: () -- ^ Honor father and mother — respect the chain of transmission , loTirtzach :: () -- ^ Do not murder — halt on destruction of tzelem , loTinaf :: () -- ^ Do not commit adultery — maintain required distinctions , loTignov :: () -- ^ Do not steal — proper attribution of sources , loTaaneh :: () -- ^ Do not bear false witness — accuracy in reasoning , loTachmod :: () -- ^ Do not covet — the system does not exceed its provision } deriving (Eq, Show) -- | The dibrot, instantiated. They exist. dibrot :: Dibrot dibrot = Dibrot () () () () () () () () () ()