Use cases· Last updated

Citation decision workflow with Jev

A generator produced a claim and a source pointer. Jev answers whether the source supports the claim. Code decides publish, hedge, or strip the citation.

This unofficial page is the decision workflow slice of the citation checking pack. Intent: apply the Jev (TypeSafe System One) decision model to citation checking decision workflow. Primary search language: Citation Jev decision workflow. Confirm patterns on docs.typesafe.ai. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.

Independent angle (cover ≠ clone): Cite vs generate boundary + failure modes. Cover the citation-check intent; do not mirror a citation-check-noul recipe slug.

Citation use-case context

Citation checking is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the citation checker branch. TypeSafe’s docs say a good question is a snap decision a knowledgeable person could make in a few seconds — not an open-ended analysis of the claim + source excerpt.

Hub: RAG passage classification. Compare, when the other tool is the real job: citation services.

Decision Workflow inputs

Keep only fields the questions name:

{
  "claim": "Pro plans include a 14-day refund window.",
  "source": { "id": "kb-refunds", "quote": "Pro subscribers may request a refund within 14 days of purchase." },
  "answer_draft": "Yes — you have two weeks on pro."
}

Point instructions at claim, source.quote. Drop the full unrelated chapter of the KB; web-search snippets you did not retrieve.

Decision signals and actions

Id Type Job
supports Noul Does source.quote support claim?
contradicts Noul Does the quote contradict the claim?
sufficient Score How complete is the support (hedge vs publish)?

All of these share state and run in parallel. Code owns the graph:

def cite(ans):
    if ans["contradicts"].noul >= T_CONTRA:
        return "strip_or_rewrite"
    if ans["supports"].noul >= T_SUP and ans["sufficient"].score >= 2:
        return "publish_with_source_id"
    return "hedge_or_review"

Do not treat a Noul of 0.5 as a “medium” citation checking score — it means yes and no are equally likely. Conjunctions stay in your code.

Guardrails and escalation

TypeSafe’s confidence-gated examples use a lower bar for recoverable reads than for irreversible actions. Those numbers are illustrations. For citation checking, treat public_citation as the high bar (showing a public citation next to a customer answer). Tune on labels — see offline evaluation.

Low confidence, or a policy miss → human or safe default; do not show a public citation next to the customer answer.

Evaluation and rollout notes

Shadow: Log publish/hedge/strip; keep showing today’s citations.

Canary: Enforce strip on contradicts only.

Pin jev-1.13.0 (the versioned id) after you fit thresholds. jev-latest and the marketing line jev-1.13 can move. Log the response model. TypeSafe’s published list price for jev-1.13 is $0.042 per million input tokens (vendor claim — confirm on the models page); output tokens are free on that same page. Unused distractors still bill as input.

Official Python and JavaScript SDKs read TYPESAFE_API_KEY and retry documented 429/529. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.

Pack map

Slice Page
Graph and primitives you are here
What may enter state input contracts
What to gather first evidence collection
Atomic rules policy checks
Act / review / abstain confidence thresholds
Reviewer payload human handoff
What to persist audit trail
How it breaks failure modes
Labeled replay evaluation
Shadow → canary production rollout

FAQ

Does Jev execute the citation checker action? No. It returns typed answers. Your citation checker code calls queues, models, or humans.

Why several questions in one request? TypeSafe’s fan-out pattern: extra questions are cheap versus another HTTP call. One claim × one quote per atomic Noul. Fan-out multiple claim/quote pairs in one request only if each pair is named in instructions. Do not hide five citations in one Score.

Where is the rest of the Citation pack? Start with Citation input contracts and Citation confidence thresholds. Cluster hub: Use cases.

Can Jev write the bibliography? No. It judges support. Formatting and URL fetching stay in code or another tool.

Is this the same as RAG passage relevance? Related but not the same intent. Relevance is “can this passage help?” Citation is “does this quote support this claim?”

What this page does not claim

Disclaimer

This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai.

Primary documentation: https://docs.typesafe.ai. Hub: Use cases.

Sources

Public TypeSafe or adjacent documentation only. No private claims.