Sushruta

The Verifier — runs the checks.

Finds the project’s own checks — the build, the tests, the linter, the type-checker — and actually runs each one. A check passes when the command it runs succeeds, and for no other reason.

Deterministic — no model, no credits, no tokensNo model

What it can reach

  • Finds the project’s own check commands
  • Runs type-check, lint, test and build
  • Real processes, two minutes each
  • Pass only on a clean exit
  • Returns the actual failure output
  • Says so when a project has no checks
On a real job

If the reconciliation is a folder of spreadsheets, there is nothing to run and it says so — it does not pretend a check passed. If it is a small tool you had Upfyn build for the job, it runs that project’s own tests and type-check, catches the row with a missing date that makes them fail, and hands back the actual failure rather than a paragraph explaining why everything looks fine.

How it works

This one has no model in it at all — no reasoning, no tokens, and it costs you nothing to run. It reads your project to find the checks it already has (type-check, lint, test, build), runs each one as a real process with a two-minute limit, and records what came back. A check passes if and only if that process exits cleanly, and a project that has no checks of its own is reported as exactly that rather than being quietly marked as passing.

That is the whole design, and it is deliberate: the last word on whether work is sound should not come from the same kind of system that produced the work. A model reviewing its own output is a model marking its own homework. A test suite that returns a failure is not.

What runs it

No model — ordinary code, so it costs nothing to run

No model, no credits, no tokens. It runs your build, your tests and your linter and reports what they said. A verifier that could be reasoned with would not be a verifier.

The desktop app can run your own API keys or a local model instead. The same tiering then applies to whatever you pointed it at.

Then it hands over

Panini · The Keeper ↗

The memory. It keeps what was learned about your project as durable facts, pulls the few that matter back in on every single turn, and closes the loop at the end of a session by writing down what changed.

Why the name

c. 6th century BCE, compiled later

The Sushruta Samhita is the surgical text of the Ayurvedic corpus, describing on the order of 300 procedures and 120 instruments — including reconstructive work on the nose and ear, and cataract surgery. Its dating is contested: the tradition is very old, the surviving compilation considerably later.

What is striking about it as a manual is how little of it is the incision. It is preoccupied with preparation, with rehearsing the cut on models before it is made on a person, and with what happens afterwards — the patient is not finished when the procedure is.

The last change is not the end of the job. Verify the outcome, by a test that could actually fail.

  1. Run the check; do not reason about whether it would have passed.
  2. A pass has to be something that could have been a fail.
  3. Report the failure with what produced it, not as a summary.

engine/src/sushruta — validation: build, test and lint gates

This agent is not Sushruta, performs nothing medical, and gives no medical advice. It is a validation stage named after a text’s insistence that the work is not over when the last cut is made.

Read the full attribution statement ↗