With strict tool use on, extracted totals are sometimes still wrong. Why?
Why D is the answer
A schema guarantees shape, not that the values are correct
Strict mode constrains the output to match the schema. It cannot know whether a total is right, so you still need business checks such as adding up the line items.
In detail
- A schema controls the shape of the output: fields, types and allowed values.
- It has no way of knowing whether a total is correct.
- Add business checks, such as adding up the line items and comparing the result.
- Decide which business rules to check in code after extraction.
Use case
An illustrative scenario, not a real incident.
An invoice agent returns valid JSON every time, yet one total does not match the line items. Strict mode did its job, because the shape is right. A check that adds up the line items catches the wrong value.
See it in different ways
flowchart LR
A["Document"] --> B["Structured output"]
B --> C["Valid shape"]
C --> D{"Business checks"}
D -->|"Pass"| E["Store"]
D -->|"Fail"| F["Review queue"]flowchart LR
A["Model output"] --> B{"Matches schema?"}
B -->|Yes| C{"Do the values make sense?"}
C -->|Yes| D["Accept"]
C -->|No| E["Review or retry"]flowchart TD
Q{"What are you checking?"}
Q -->|"Fields and types"| A0["Schema"]
Q -->|"Whether values are right"| A1["Business rules in code"]Key point: Valid shape does not mean correct values.
Why the other options are wrong
- A. Strict mode only works when the input document is shorter than one page
- Strict mode has no such limit on document length.
- B. The schema must also contain the correct answers in order to validate them
- Schemas describe structure. They never contain the answers.
- C. Strict mode turns itself off whenever a document contains numeric values
- Strict mode does not turn off for numbers.

