Skip to content
Original tutorialDocs reviewed

Jev API First Call: State, Model and Questions

Build a minimal state, model, and questions request and know when to hand off.

Use caseMake a first reviewable decision from one fictional release change

Source · JevLog editorialBeginner12 min

Use one fictional release note to ask Jev whether extra review is needed, which risk matters, and how large the impact may be. Check three answers; send failures or uncertainty to a person. Based on public docs, not tested here.

Source · JevLog editorial · Original guide

2026-09-22 · Rewritten as the hands-on “really use Jev” first guide from public docs; not reproduced here

A release note may affect access control or retries. Put this fictional note in state and ask three questions in one request. Check the answers before any decision. Failed or unclear results go to a person; merging and release still use normal approvals. Based on public docs, not tested here.

  • Python 3.10+ with the official typesafe-sdk installed.
  • For a live call, keep TYPESAFE_API_KEY in a server environment variable.

Put the fictional release note in state. TypeSafeClient defaults to jev-latest; ask only the release-review questions you need.

Read the noul probability, choice, and score separately. The script prints them for review; it does not merge code.

from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
with TypeSafeClient() as client:
result = client.system_one(
state="Release change: add token validation to login and change failure retry behavior.",
questions={
"needs_review": Noul(instructions="Does this change need extra human review?"),
"review_area": Choice(instructions="Which risk area should be checked first?", criteria={"security": "Authentication and permissions", "reliability": "Retries and failures", "other": "Other"}),
"impact": Score(instructions="Potential impact level?", criteria=["Low", "Medium", "High"]),
},
)
print(result.nouls["needs_review"].noul)
print(result.choices["review_area"].choice)
print(result.scores["impact"].score)

Confirm all three answers and allowed choices. Send failures or unclear results to a person; keep normal merge and release approvals.

You can check one request’s three answers and route missing or uncertain results to human review.

  • Keep API keys out of the front end.
  • A judgment is not permission to merge, release, or change production data.