Skip to content

Principles

The fundamental rules that guide Verity's design.


Server Truth Only

The UI changes after the server confirms change. Unknowns render as skeletons; work in progress renders as spinners. No temporary lies.


Data Intent, Not DOM Diffs

Servers emit directives (e.g., "refresh this item")—they don't send HTML or dictate component structure.


Two Lanes of State

Verity manages truth-state. Your components manage view-state. Mixing them is a bug factory.


Latest-Wins Under Concurrency

Out-of-order responses must not clobber newer state. In-flight work is coalesced to avoid duplication and flicker.


Protocol-Agnostic, Framework-Agnostic

Fetchers are async functions; the push path is a pluggable directive source (SSE today; WebSocket/GraphQL subscriptions tomorrow). UI adapters are thin.


Honest by Design

Perceived snappiness never justifies lying. If your product needs "instant echo," build endpoints that return the truth immediately—do not fake it in the client.