honest framework
Start here,
implementor.
You are here to build a conformant implementation. The reading order below starts with the laws, moves through each module's formal invariants, and ends with the two things that are genuinely novel even to experienced FP practitioners: DATAOS contradicts the Elm Architecture, and honest-test is stronger than QuickCheck.
Recommended reading order
01
02
03
04
05
06
07
08
Why should I care?
The bugs that disappear. The bugs that remain. The benchmark numbers, run yourself.
Honest Code Principles
The laws the framework is built on. Read these before the specs — they are the axioms.
honest-type
classify : Vocabulary → Token → Maybe TypeName. Three laws. The zero-drift guarantee is the novel part.
honest-features
feature_state : FlagName → State. A total function over a finite set. The handler table is the honest representation.
honest-persist
migrate : Schema → LiveDB → MigrationPlan. Idempotent. No file chain. The diff is a pure function.
honest-observe
Append-only event log. State as projection. The IO boundary is explicit — events emitted at every boundary.
DATAOS
DATAOS contradicts the Elm Architecture. The DOM is the model. There is no update step.
honest-test
Bounded + Enum gives you exhaustive enumeration for free. Stronger than QuickCheck — total, not probabilistic.
Also in the framework