Jev Guard fix-under-watch
Jev Guard runs the test suite in project/ on every edit and asks Jev (TypeSafe's System One model)
to judge each change: how much closer to the goal, how risky, how confident. The pane draws those as
meters, a history chart and a run log. The goal is to make the tests pass and the verdict go green
with a fix Jev trusts.
The loop
- Edit
project/score.js(that's the work). Jev Guard auto-judges on each edit, or step it with "Judge now" /node "$JEV_DSH/toolchain/check.mjs". - Watch the meters:
toward(progress),trust(Jev's confidence in the exact change),risk(a red flag on a shaky edit). The run log shows PASS/FAIL per test run with what changed. - Iterate until
node project/test.jsprintsALL TESTS PASSand the viewer verdict reads as a passing/green judgment.
Reading Jev
Jev's scores are layered on real test results: the suite is the ground truth, Jev is the overlay.
A focused, honest fix — correct logic, nothing special-cased, nothing extra — is what reads as high
trust / low risk. A hack that greps the test names or returns constants will pass the tests but
Jev's risk meter will go red.
Verifying
node "$JEV_DSH/toolchain/check.mjs"validates the workspace (goal.json + project/test.js present and runnable).node project/test.jsis the real check: exit 0 +ALL TESTS PASSis done.- Watch the viewer verdict flip to a green/god-met judgment, not just the tests passing.
Driving Jev yourself
toolchain/jev.mjs exports a small client. Example (from the workspace) — ask Jev's opinion on an
implementation choice:
node --input-type=module -e '
import { evaluate, jev } from "$JEV_DSH/toolchain/jev.mjs";
const res = await evaluate({
state: "Implement sumTo(5) by looping, vs a closed-form n*(n+1)/2. Which is more likely a correct, maintainable fix for a tiny module?",
questions: {
risky: jev.score({0:"safe",1:"risky",2:"reckless"}, "How risky is switching to the closed-form?"),
},
});
console.log(JSON.stringify(res.answers, null, 2));
'
Without TYPESAFE_API_KEY this uses the deterministic mock; set the key to hit live Jev.