Observable, Clarity-First Data Boundaries for TypeScript.
JANE is a clarity-first framework for defining, validating, and enforcing data boundaries. No coercion. No hidden mutation. Just explicit, explainable behavior.
The Pipeline, Made Visible
Every value in Jane moves through a clear, deterministic sequence of stages.
1. Scan
Jane inspects the raw input for hazards, inconsistencies, and suspicious patterns. No mutation — just observation. The output is a safe value and a list of scan events.
2. Normalize
In moderate and lax modes, Jane performs safe, predictable cleanup. No surprises. Every change is recorded as an event and visible in telemetry.
3. Parse
Parsing is explicit. Strings become numbers, dates, booleans — but only when you ask. No coercion. No magic.
4. Diff
Jane computes a structural diff between the safe and normalized values. This powers explain, replay, and deep observability.
5. Validate
Validation rules enforce correctness. Every rule emits events that contribute to the final decision.
6. Decide
Jane reduces all events into a final decision: accept, warn, or reject. Deterministic. Auditable. Predictable.