jevbooks

← All projects

discern

doeixd/discern · Homepage

Type-safe uncertainty-aware semantic control flow for Effect.

What it is

Discern adds uncertainty-aware semantic pattern matching, policies and routable procedures on top of Effect's Decision and DecisionModel, for TypeScript developers who want model judgments to become typed branches rather than silent booleans.

How it uses Jev

Jev answers Discern's Choice, Score and Noul questions over a caller-supplied state. Discern batches the distinct decisions a policy needs into one DecisionModel call, then routes each answer through caller-supplied thresholds: matches branch, misses fall through, and anything between becomes an Uncertain case the compiler forces you to handle.

Primitives:choicescorenoul

Technique worth stealing

Treat a model answer as three outcomes — match, miss, uncertain — so a 0.62 probability becomes a branch instead of rounding down to false.

Try it

npm install @doeixd/discern effect@rc

View on GitHub

judged by Jevjev-1.13.0

Evidence

Each line is one question put to Jev about the README. ≥ 0.60 reads as yes, ≤ 0.40 as no; in between Jev is not making a call.

  • Jev-centricno0.20
  • Shows a System One patternyes0.82
  • Handles uncertaintyyes0.75
  • Measuredno0.05
  • Runnableyes0.81
  • Worth recommendingunclear0.51
  • Model replicano0.06
  • Problem scopescore on a 0–2 scale1.06
  • About Jevyes0.94

Signals by Jev jev-1.13.0, card written by DeepSeek V4.1 Flash from the README on 22 Sept 2026.