What if judgment
were parallel?
Eleven practical experiments with a model that returns probabilities instead of prose. Find an answer, watch an agent navigate, compare retrieval methods, sort an inbox, or ask 100 synthetic personas which ad they would click.
a search box for a codebase
Find the right file for a coding question
An engineer asks a normal question. The agent turns it into a yes-or-no check for each file, TypeSafe scores every file at once, and the best match rises to the top.
Recorded run · speed_latest
0/8 calls returned · 0/48 judgments1× saved timing
On this small corpus, the correct file ranked first for every question. In ordinary terms: it behaves like very fast semantic search for an agent that needs to decide what to read next.
experiment design
What went in, what we asked, and how the score became a decision.
See all 8 input items +
auth/session.tssession.tsread full input +
export async function rotateRefreshToken(sessionId: string, presentedToken: string) { const session = await sessions.lock(sessionId); if (session.refreshTokenHash !== hash(presentecache/profile.tsprofile.tsread full input +
export async function readProfile(userId: string) { const key = `profile:${userId}`; const hit = await redis.get(key); if (hit) return JSON.parse(hit); const profile = await db.prodb/ledger.sqlledger.sqlread full input +
CREATE TABLE ledger_entries ( id UUID PRIMARY KEY, account_id UUID NOT NULL, amount_cents BIGINT NOT NULL, reversal_of UUID REFERENCES ledger_entries(id), created_at TIMESTAMPTZ NO
email/digest.tsdigest.tsread full input +
export async function sendWeeklyDigest(user: User, stories: Story[]) { if (!user.preferences.weeklyDigest) return; const html = renderDigest(stories.slice(0, 10)); await mailer.senflags/rollout.tsrollout.tsread full input +
export function isInRollout(flag: string, actorId: string, percentage: number) { const bucket = stableHash(`${flag}:${actorId}`) % 10_000; return bucket < percentage * 100; } // Stobservability/tracing.tstracing.tsread full input +
export function publishJob(name: string, payload: unknown) { return queue.publish(name, payload, { traceparent: activeSpan()?.traceparent, correlationId: requestContext.correlationpayments/reconcile.tsreconcile.tsread full input +
export async function createPayout(request: PayoutRequest) { return db.transaction(async (tx) => { const existing = await tx.payouts.findByIdempotencyKey(request.idempotencyKey); iwebhooks/stripe.tsstripe.tsread full input +
export async function stripeWebhook(rawBody: Buffer, signature: string) { const event = stripe.webhooks.constructEvent(rawBody, signature, env.STRIPE_SECRET); if (await events.wasPSee the exact 6 questions +
refresh_rotationDoes this file contain the implementation of refresh-token rotation and replay protection?Noulduplicate_payoutDoes this file contain the logic that prevents a retried request from creating a duplicate payout?Noulwebhook_verifyDoes this file contain code that verifies Stripe webhook signatures and ignores duplicate events?Noulledger_deleteDoes this file explain or implement how to correct a ledger entry without deleting it?Noulstable_rolloutDoes this file contain the logic that keeps a user in the same feature-flag cohort across deploys?Noulqueue_traceDoes this file contain code that continues a request trace after work moves onto a queue?Noul
Performance and cost +
Limitations: This is a clean toy repository. A production test should use a larger repo and human relevance labels.
how the engine works
One item. Many small questions. One useful action.
- 01Give it an item
Send a code file, email, customer message, article, or other piece of text.
- 02Choose the answer shape
Use Noul for yes/no probability, Choice for a classification, or Score for an ordered rubric.
- 03Get every judgment together
TypeSafe evaluates the questions in parallel and returns probabilities, selected classes, scores, and confidence instead of prose.
- 04Turn scores into an action
Ordinary code ranks the results, applies thresholds, and sends uncertain cases to a person.
reproduce the lab
Explore every experiment in detail.
Each experiment includes its inputs, exact typed questions, answers, timings, and decision logic. Use the notebook for a guided walkthrough or download the complete source to run the lab yourself.