InvariantBook

Local-first / W1 alpha

Make workbook changes inspectable.

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.

local / canonical output

$ 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 ≠ authorized

01 / A narrow path

A safer change has a visible shape.

The runtime keeps intent, observations, effects, and permission distinct. A model can propose a plan; only the runtime can decide what the evidence supports.

01 / intent

Typed plan

Operations carry selectors, limits, and expected-before state.

02 / observation

Held snapshot

Local workbook bytes are bounded, parsed, and read without following URLs.

03 / effect

Candidate

A finite values-only adapter can create an unpublished in-memory candidate.

04 / evidence

Checks stay visible

Diffs, non-passes, and unresolved requirements remain descriptive.

02 / The boundary

Useful now. Honest about next.

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

Observe, bound, compare.

  • Read-only local inspection with fixed diagnostics.
  • Typed plans, contracts, policies, and approval checks.
  • Finite candidate values and semantic diff observations.
  • Receipt observations with canonical references.

Not claimed by this page

Permission is still a separate step.

  • Real recalculation through an engine adapter.
  • Complete transaction verification and publication.
  • Approval authentication or signed authority.
  • General workbook fidelity beyond the maintained subset.

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.