honest framework
Start here,
polyglot.
You think in patterns, not frameworks. The reading order below starts with the principles, then the type system that implements them, then each layer that builds on top. Code examples are available in Python, Ruby, Go, JavaScript, and PHP — use the language selector in the header.
Recommended reading order
01
02
03
04
05
06
07
08
09
Why should I care?
The bugs that disappear. The bugs that remain. The benchmark numbers, run yourself.
Honest Code Principles
The sixteen practices that make code honest. The prerequisite for everything else.
honest-type
A type is a Set. classify() is a pure function. The same tables run at static check, test time, and runtime — zero drift.
honest-persist
Schema as data. Migration as diff. Queries as data. No ORM. No migration file chain. No identity map.
honest-features
Feature flags as a handler table. The flag state routes to a handler — no if/else, no hidden branching.
honest-observe
One append-only event log for the entire stack. State is a projection over events, queryable at any point in time.
honest-test
Exhaustive enumeration from finite vocabularies. Not sampled — every valid input, every time.
honest-check
Static verification from dispatch tables. No type annotations required. The linter reads your vocabularies directly.
DATAOS
The DOM is the state. There is no other state. Every popular framework violates this. Honest Framework does not.
Also in the framework