Typed plan
Operations carry selectors, limits, and expected-before state.
Local-first / W1 alpha
InvariantBook turns a proposed spreadsheet mutation into a bounded, observable path: typed plan, held snapshot, candidate, and evidence.
No upload flow. No hidden mutation. No publication claim.
$ invariantbook inspect ./model.xlsx
reading held local bytes …
✓ bounded ZIP + XML snapshot
✓ values redacted by default
✓ deterministic JSON on stdout
! inspection is not recalculation
observable ≠ authorized01 / A narrow path
The runtime keeps intent, observations, effects, and permission distinct. A model can propose a plan; only the runtime can decide what the evidence supports.
Operations carry selectors, limits, and expected-before state.
Local workbook bytes are bounded, parsed, and read without following URLs.
A finite values-only adapter can create an unpublished in-memory candidate.
Diffs, non-passes, and unresolved requirements remain descriptive.
02 / The boundary
This alpha is a foundation for a transaction path, not the transaction path itself. Its strongest feature is keeping an unsupported conclusion visible.
Available in the reviewed core
Not claimed by this page
Pitch structure follows Guy Kawasaki’s 10/20/30 guidance: ten slides, a short delivery, and readable type. The implementation keeps that spirit without turning hypotheses into traction claims.