Does the code it wrote actually work?

Code assistant evaluation that grades generated code for correctness, security, and readability. A model that writes code that looks right but fails at runtime is a bug factory with good typing.

We grade outputs. We do not train models, run fine-tuning, or sell experts we cannot verify.

20-50
pilot samples graded
2-3
business days, once scope is confirmed
4
severity levels per sample
Human-checked
reports
The short version

What is code assistant evaluation?

Code assistant evaluation is grading the code a model writes: functions, scripts, refactors, and explanations of code. It is needed by teams building coding assistants, and by any team letting a model write code that ships. Good means the code is correct, safe to run, and written the way your team would write it. This is human evaluation for the one output type where "looks right" is never enough.

Where it breaks

The failures code assistant evaluation catches

Generated code compiles in the demo and breaks in production. These are the patterns behind that gap.

Failure pattern

Runs, but wrong

The code passes syntax and even a quick smoke test, then fails on real input: an off-by-one in the loop, a sort that drops equal keys, a retry that never backs off. Logic bugs are the most common failure in generated code, and the hardest to spot in review because the shape of the code looks right.

Failure pattern

Security holes in clean-looking code

String-interpolated SQL, unsanitized input passed to a shell, secrets written to logs, auth checks skipped "for simplicity." The code works and the vulnerability ships with it. We grade generated code against common security patterns so these get a P0, not a shrug.

Failure pattern

APIs that do not exist

The model calls a function from the library's next version, or one it invented entirely, with confident parameter names. Hallucinated APIs are the code version of fabricated facts, and they only surface when someone runs the code or reads the docs line by line. We check calls against the libraries you name.

Failure pattern

Code nobody can maintain

Two-hundred-line functions, single-letter variables, no comments where the logic turns tricky, clever one-liners that take an hour to parse. It runs today and costs you every time someone touches it. We grade readability and structure against your team's conventions.

What we actually check

Three things, on every sample

Correctness

Reviewers trace the logic against the prompt's requirements and your test expectations. We check edge cases the model tends to miss: empty input, the boundary value, the error path. Where you provide tests or expected outputs, we grade against them directly. A sample that looks idiomatic but computes the wrong result is a P1, full stop.

Security patterns

Injection risks, hardcoded credentials, unsafe deserialization, missing auth checks, overly broad permissions. We grade against a checklist of common vulnerability patterns for your stack, and anything that would be a real incident in production is a P0. This is the layer automated checks support best, with human reviewers confirming what the scanner flags.

Maintainability

Naming, structure, comments where they matter, and fit with your style guide or linter config. Code that works but that your team would reject in review gets a P2 with the specific convention cited. Over a batch, this tells you whether the model writes code your team can actually live with.

Error handling

The unhappy path is where generated code fails most: no check for empty input, exceptions swallowed silently, retries without backoff, resources never closed. The happy path usually works because the model has seen it a thousand times. We grade what the code does when things go wrong, because production is mostly things going wrong. A sample with no error handling where your conventions require it gets flagged, with the missing case named.

How it works

From samples to answers in three steps

01

Send samples

You send 20 to 50 generated code samples plus your rubric, or we help you write one. Include your stack, style guide, and tests if you have them.

02

We grade

Trained reviewers grade every sample against the rubric, backed by automated checks for common bug and security patterns.

03

You get the report

Sample-level grades, issue patterns, recommended fixes, and a walkthrough call.

Deliverables

What you get

  • Sample-level gradesEvery sample scored P0 to P3 with a written reason, citing the exact line or logic step that failed.
  • Issue summaryThe patterns across the batch, ranked by severity and frequency, split by language or task type.
  • Recommended fixesConcrete next steps for your prompts, your system instructions, or your review gates.
  • Walkthrough callWe go through the report with your team and answer questions.
The scale

Every sample gets a severity, P0 to P3

P0
Critical. Fails the sample.
Fabricated facts presented confidently, unsafe content, or a completely wrong answer.
P1
Major. Needs rework.
Materially wrong or misleading. The output cannot ship as is.
P2
Minor. Small deduction.
Small errors that do not change the meaning. A polish issue, not a trust issue.
P3
Clean. No penalty.
Accurate, complete, well formed. This is the bar.
Every sample gets a severity, a reason, and a suggested fix. Nothing is averaged away.
Questions

Frequently asked questions

We grade the common ones: Python, JavaScript and TypeScript, Java, Go, SQL, and shell scripting, among others. Tell us your stack when you send samples and we match reviewers who know it, and we check API calls against the libraries you name.

Our grading is review-based: reviewers trace logic, check API usage against documentation, and apply automated static checks for common bug and security patterns. We do not execute untrusted code inside your infrastructure. If you provide test cases with expected outputs, we grade against those directly.

Yes. Send your style guide or linter config and we build it into the rubric. Maintainability grading then reflects your team's actual conventions, not a generic idea of clean code.

That is a bigger surface: planning, tool calls, and the code itself. For agentic coding workflows, see our AI agent evaluation page. A pilot can cover both the agent's decisions and the code it produces.

A pilot runs on 20 to 50 samples, spread across the task types your assistant handles: generation, completion, refactoring, explanation. If one task type dominates your usage, we weight the batch toward it.

Start a pilot: send samples, get every one graded in 2 to 3 business days once scope is confirmed with a walkthrough call. Most teams learn more from that first report than from weeks of internal debate about quality.

Find out if the code actually works

Send 20 to 50 samples. Get every one graded for correctness, security, and readability.

STEP 1
Send samples
20 to 50 outputs and your rubric
STEP 2
Get graded report
Grades, patterns, fixes
STEP 3
Walkthrough call
We go through it with you

Not sure where to start? Talk to us and we will point you at the right evaluation.