blueprint-verify-report · git:20260930.06d2380 · 2026-09-30 · sha256 f84bf9a6f4c9f397
blueprint-verify-report git:20260930.06d2380A
Immutable. This exact content never changes and is served at /api/v1/blob/f84bf9a6f4c9f397.
--- name: blueprint-verify-report description: "Report every problem the machine found in the extracted facts, in plain words, with where it is and how to fix it." --- # Report what the machine found A person has read the extracted table in `.blueprint/facts.json`. If they asked for a correction, make it and run the extract check again before this step, because the report step refuses facts changed since that check. Run `node <usecase pack>/checks/report.mjs` once first. It decides by machine what is wrong with `.blueprint/facts.json` and writes the list to `.blueprint/verification.json`. It fails until the report exists. The machine's rules are these: - `weekday-mismatch`: the weekday written beside a date is not that date's weekday. - `end-before-start`: an event ends before it starts. - `out-of-order`: an event comes later in the document but earlier in time than the one before it. - `overlap`: on one day, an event starts before the previous one ends. - `total-mismatch`: a total is not the sum of its parts. Its `detail` says which way: `writtenIs` is `"more"` when the written total is larger than the sum of the parts, `"less"` when smaller, by `by`. Say it that way round (「書かれた合計は、内訳を足した額より 500円 多い」) — never work the direction out yourself. - `unit-mismatch`: a total and its parts are in different units. - `product-mismatch`: an amount is not the product it claims to be (単価 × 数量, 小計 × 税率), even allowing for rounding to the digits it is written to. `detail` gives `written`, the true `product`, and `writtenIs` / `by` the same way as a total. Say that way round, and propose the product; for a tax, say the fraction may be rounded either way (1,234円 or 1,235円) and that the issuer decides. You cannot add or drop a problem. Explain each one; if you think one is not really wrong (an overnight leg read as ending before it starts, say), say so under that problem, but still name it. Write `.blueprint/verify-report.md` for the person, in their language and in plain words: - `## 見つけたこと` / `## Problems`: every problem by its `id` from `verification.json`. Say what is wrong in the document's own words, quote where it is (the event's or amount's quotation, and the place named as the document does — a section's heading in 「」, "…" in an English report — not chaff's index such as `h1`), and propose a fix (the weekday that date really is, the sum the parts really make). When there are none, say that the machine found none. - `## 確かめたこと` / `## What was checked`: how many events, amounts and totals were extracted. Each value was found in its quotation, and each quotation in the document (`chaff cite`). Then name the rules that ran. - `## 確かめきれなかったこと` / `## Not checked`: what a machine cannot confirm. That the extraction is complete; a product the document gives no factor for (a line with no quantity); travel time between places; time zones; dates written as `MM-DD` because no year was known (their weekdays were not checked); prices, availability and anything outside these files. ## Done when `node <usecase pack>/checks/report.mjs` passes. The originals are unchanged.