Skip to content
Original tutorialDocs reviewed

Write a reviewable Jev Score rubric for issue impact

A single-dimension rubric and a reviewable priority table.

Use caseReplace vague severity labels with observable anchors. Separate impact and evidence, retain fractional scores and human expectations, and produce reviewable priorities.

Source · JevLog editorialIntermediate15 min

Replace vague severity labels with observable anchors. Separate impact and evidence, retain fractional scores and human expectations, and produce reviewable priorities.

Source · JevLog editorial · Original guide

Source cover · TypeSafe AI

Source cover · TypeSafe AI

Published 2026-10-02 from current official docs with original exercises. No live service calls; source publication dates not established.

Importance is subjective. Rate only task obstruction, not a mixture of revenue, customer tier and emotion. Align reviewers on the rubric before adding a model.

  • Download impact-rubric.csv and have two reviewers independently label its fictional reports.

  • The SDK example needs a key; rubric review needs no API call.

  • Official docs

  • Official docs

Original JevLog diagram, not a product screenshot or measured result.

Original JevLog diagram, not a product screenshot or measured result.

The dimension is obstruction of the current task. Explicitly exclude emotion, customer tier and payment amount. Missing task context gets an insufficient-evidence status.

Use observable anchors: normal completion, stated workaround, no stated workaround. A separate Noul checks context so missing evidence is not mistaken for maximum impact.

from typesafe_sdk import TypeSafeClient, Score, Noul
with TypeSafeClient() as client:
result = client.system_one("Export fails in Safari but succeeds in Chrome.", {
"impact": Score(instructions="How much does this block completion of the stated task?",
criteria=["Task works normally", "A stated workaround completes the task", "No stated workaround completes the task"]),
"context": Noul(instructions="Does the report describe a concrete task and a failure?")
})
answer = result.scores["impact"]
print(answer.score, answer.probabilities, answer.confidence)
print(result.nouls["context"].noul)

Three levels span 0 to 2 and can yield fractional scores. Store raw score, probabilities and confidence. Round only for display so formatting does not change routing boundaries.

Classify disagreements as task definition, workaround interpretation or missing evidence. Fix the rubric before model settings. “Nothing works” requires concrete context rather than automatically receiving maximum severity.

Record case ID, rubric version, raw score, evidence status and suggested priority. Monitoring, scope and an owner determine incident escalation. Reuse the same labeled cases after revisions.

Practice sample: download impact-rubric.csv for local use; not a live run here.

A single-dimension rubric and a reviewable priority table.

  • More ambiguous levels do not mean greater accuracy.
  • Scores do not establish incidents, compensation or permissions.
  • Each level is observable and missing evidence has a separate route.
  • Keep distributions, fractional scores and disagreements.

Source boundary: compiled from the linked public sources; not reproduced here. Review classifications before acting; they do not run actions automatically.

No. It uses ordered positions; three levels span 0 to 2. Any percentage mapping is application-defined.