> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vinmake.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Judgment, made production-grade

> A raw model turns a judgment task into a gamble. GreatBook turns it into a system: the engine is correct by construction, the judgment is measured, and a second human decides what reaches the ledger.

# Judgment, made production-grade

Every accounting system that puts a language model near the books has to answer one question.

**How do you know it works?**

This tab is the answer, and it is deliberately not a list of adjectives.
It is 68 cases, 443 graded assertions and 104 score metrics, run against the real compiled graphs with the real model, on a scoreboard that publishes the failures next to the passes.

## The argument, in three moves

The order matters.
Made in any other order it sounds like marketing.

<Steps>
  <Step title="The engine does not need an eval, because it is correct by construction">
    Balance, immutability, idempotency, the hash chain and the period lock are enforced by code and by database constraints, inside a single writer.

    There is no probability distribution over whether an unbalanced entry posts.
    An unbalanced entry is **refused** by [the 18 GL invariants](/greatbook/capabilities/gl-invariants), before the write, every time.

    Naming this first is what earns the right to the second move.
  </Step>

  <Step title="What cannot be made correct by construction is judgment">
    Is this scanned Vietnamese fax a supplier VAT invoice or a canteen invoice?
    Which of [146 document types](/greatbook/capabilities/document-registry)?
    Is the total 57,240,000, or 57,240,000 with a VAT line the model invented?

    Judgment is where a language model is genuinely better than rules, and it is exactly where a language model is unaccountable.
    No database constraint makes a misclassification impossible.
  </Step>

  <Step title="So the judgment layer is measured, versioned and regression-gated">
    68 cases across the five deployed agents, graded on 443 reference assertions, driven against the **real** compiled graphs with the real model and a real migrated Postgres.

    A stubbed extractor cannot fail a classification regression, which is precisely why [the previous harness was thrown away](/greatbook/proof/harness).
  </Step>
</Steps>

## The two halves, and the one-way door between them

```mermaid theme={null}
flowchart LR
  subgraph JUD["Measured judgment · 68 cases, 443 assertions"]
    direction TB
    CL["classify<br/>which of 146 types"]
    EX["extract<br/>which fields, which numbers"]
    PR["propose<br/>which accounts"]
    SG["scope<br/>whose lane is this"]
  end

  subgraph DET["Correct by construction · proven, not sampled"]
    direction TB
    I["18 GL invariants<br/>refused before the write"]
    C["104 Close checksums<br/>reported at close"]
    H["Hash chain · immutability triggers"]
    D["Idempotency · durability · RLS"]
  end

  JUD -->|"every proposal crosses a human gate<br/>before it can reach the engine"| DET
```

The arrow points one way, and it passes through a person.
A proposal is a **claim**, not a write.
Document intake uses [two gates and three people](/greatbook/capabilities/maker-checker); an Accountant workpaper uses a named non-agent human who did not propose it.
The [posting mandate](/greatbook/capabilities/posting-mandate) is what makes either agent-staged release stand up under attack.

## The current composition, with dated historical runs

<CardGroup cols={3}>
  <Card title="Clerk · 87%" icon="file-search" href="/greatbook/proof/cases-clerk">
    15 cases, 67 assertions. 🟡 Two model-variance failures: one goods-receipt classification, one judge verdict.
  </Card>

  <Card title="Bookkeeper · 11 cases" icon="calculator" href="/greatbook/proof/cases-bookkeeper">
    55 assertions. Its recorded 100% run covered 10 cases; the current composition has one additional case.
  </Card>

  <Card title="Auditor · 26 cases" icon="search" href="/greatbook/proof/cases-auditor">
    195 assertions across integrity, reconciliation, Close phases, completeness, and register lifecycle. Its recorded 100% run covered 10 cases.
  </Card>

  <Card title="Accountant · 100%" icon="calendar-check" href="/greatbook/proof/cases-accountant">
    5 cases, 22 assertions. 🟢 The close checklist and the adjusting entry, through the real posting gate.
  </Card>

  <Card title="Typewriter · 55-64%" icon="keyboard" href="/greatbook/proof/cases-typewriter">
    11 cases, 104 assertions. 🟡 36% at its first baseline. The eval found four real defects on day one, and measured the fix for the largest.
  </Card>

  <Card title="Board · 68 cases" icon="table" href="/greatbook/proof/scoreboard">
    443 graded reference keys, 104 distinct score metrics. Composition and dated runs are kept separate.
  </Card>
</CardGroup>

<Note>
  **Two of those pass rates are not 100%, and they are on the front page on purpose.**

  A perfect board is either a very small board or a dishonest one.
  The Typewriter's 36% first baseline is the most useful number in this tab, because it is the one that moved when a defect was fixed.
  [See exactly what moved](/greatbook/proof/cases-typewriter).
</Note>

## What this tab does not claim

<Warning>
  An eval is **not** a proof of correctness for anything the deterministic layer already guarantees, and it is not a benchmark against another product.

  It drives a real model, so it is stochastic.
  A green run means the judgment layer behaved on the cases that named run actually exercised on that day.
  It does not mean the model cannot be wrong tomorrow, which is why the model never gets the last word.
</Warning>

The long form: [what an eval is, and is not](/greatbook/proof/why-evals).

## The honest closer

**Raw Claude genuinely wins at ad-hoc, low-volume, exploratory work.**

GreatBook keeps that - Claude *is* the interface, and the Clerk *is* Claude reading the document - and adds the guarantees.
The difference is not better AI.
It is [the same Claude, wrapped in guarantees](/greatbook/proof/vs-raw-claude).

## Read next

<CardGroup cols={2}>
  <Card title="What an eval is, and is not" icon="scale" href="/greatbook/proof/why-evals">
    The long form of the thesis, and the four things this tab refuses to claim.
  </Card>

  <Card title="Never stub what you test" icon="plug" href="/greatbook/proof/harness">
    What is real per agent, what is substituted, and the guards that stop the harness lying to itself.
  </Card>

  <Card title="The scoreboard" icon="table" href="/greatbook/proof/scoreboard">
    Every number, per agent and per dimension, with its run date and its refresh command.
  </Card>

  <Card title="The security boundary" icon="shield-check" href="/greatbook/proof/security">
    Why nothing a browser can drive reaches the ledger, and the executed attacks that made it true.
  </Card>
</CardGroup>

## Related

* [Guarantees](/greatbook/guarantees) - the deterministic half, stated as commitments
* [The agent org](/greatbook/agents/index) - the five graphs these cases grade
* [Status](/greatbook/status) - what is live, what is staged, and what is not built
