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.

JANE framework illustration

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.