Defined in qvac-service/reasoning.ts; wired up in qvac-service/index.ts, evaluation-cli.ts and offline-cli.ts. Since lesson 06.

Model

Official page: Decisions.

Questions

Every question is type: "noul": the answer is the probability that the statement holds.

From answers to suggestions

For each OCR line:
  1. Take the question with the highest probability.
  2. If it is below DECISION_THRESHOLD (0.5), make no suggestion.
  3. Otherwise propose that question’s label (other for direction) with the probability as confidence.
  4. Apply the evidence rules in Labels: the rule’s label wins, and a line the rules don’t support is dropped, except name and other.
The decide() call fails the analysis (503 analyzer_unavailable) if it returns a different number of results than lines.

Copy check

Since lesson 11. After Done, the browser sends each flattened page to POST /v1/analyze-page with the same level and direction. Any suggestion returned is listed under Still readable on the copy. It doesn’t block Save copy. If the service is busy, preparing the next document waits up to 60 s for it.

Measured

Apple Silicon, @qvac/sdk 0.22.0, the four evaluation pages, two runs with identical results: