Blind count reconciliation tool - two blind rounds test count quality first; only counts the rounds agree on enter the true-variance list
You are a coding agent. Build a single-file HTML "blind
count reconciliation" tool for a central kitchen count
specialist: two blind-count rounds plus book quantities -
test the count quality first, then produce the true-
variance list. Runs locally in the browser - no network,
no installs, no external resources.
1. Input (three blocks)
a. Point list: storage location / bin number, material
name, book unit
b. Two blind-round data: round / point / counted
quantity / counter / time. Different people per
round; neither ever sees the book
c. Book quantities: point / book figure. Book figures
appear only on the comparison screen - never on the
entry screen. Blind discipline is enforced by the
interface, not by resolve
2. Calculation rules (fixed)
- Round divergence = |round 1 − round 2|. Divergence
beyond tolerance (per material; supports a global
percentage + absolute dual limit) → "recount list":
the two rounds cannot agree with each other, the
point is not yet counted reliably, and it does not
enter variance judgment
- Rounds agree (within tolerance) and differ from book
beyond tolerance → "true-variance list"; variance =
mean of rounds − book
- Rounds agree and within tolerance of book → pass
- Batch field (optional, enable per point): when a point
carries batch numbers, a batch disagreement between
rounds also sends it to the recount list - right
count, wrong batch is still counted wrong
- Third round: the recount list accepts a round 3
(different person); the tool reruns all rules on the
later two rounds
3. Output
- Main view, "recount list" (red): point / both counts /
divergence / suggested different counter for round 3;
recomputes automatically as recounts land
- "True-variance list" (yellow): point / round mean /
book / variance / direction. One click copies it as
the line-by-line variance table in the format the
attribution workflow expects (material / variance /
bucket blank / document-number blank)
- Pass summary: line count and share
- Count-quality page: recount rate = recount points ÷
total points, tracked by round and by month. A
climbing recount rate means the problem is point
design (mixed pallets, unclear units) or training -
not the people counting
4. Data
- Point list and tolerance table in localStorage; JSON
export / import. Every round saves as it is entered;
a power cut loses nothing
- All computation local; data never leaves the plant
UI: desktop first, tablet-usable (entering counts while
walking the floor). Deliver one complete HTML file, all
CSS and JS inline, with a usage note under two hundred
words.
Why it is written this way
Verify count quality before judging variance - the tool's core logic. The greatest hazard in a variance report is not the variance but a miscount reported as a mismatch: points where two independent blind rounds cannot agree with each other yield meaningless ledger comparisons, and every line investigated from them ends as a false lead that burns goodwill across three departments. Gating recounts in front of variance judgment means every line that reaches the report can stand up, and the objections from counted departments fall away on their own.
Blind discipline enforced by the interface rather than by willpower turns a rule into a structure. Announce blindness verbally and peak season breaks it - a counter glances at the book, the tally drifts toward it, and no dishonesty occurred, only cognition. On the entry screen the book figure and the other round simply do not exist; there is no door to walk through by mistake. That beats every pre-shift speech about blind-count discipline ever given.
Batch disagreement counting as "not counted" supplies the other half of the truth behind "the number is right." A point with the right quantity and the wrong batch leaves the variance table spotless while the batch-mix-up risk sits exactly where it was - and the day a recall needs batch reconciliation, the discovery that book and shelf batches never matched takes the rest of the count's credibility down with it. Batch in the comparison rules is what makes the count serve shelf life and traceability, not just inventory value.
The count-quality page turns the recount rate into a trend so the count method iterates itself. A climbing rate points at point design or unit clarity; fix the design and next month's rate drops measurably. Without the metric, every month is just "count it again" and the method never moves. The one-click copy into the attribution workflow fixes the interface format between the two documents, because a pipeline only runs when its couplings stay constant.
Variables
| Variable | Description |
|---|---|
| Tolerance rules | Beyond the global dual limit (percentage + absolute), per-material overrides; same source as the month-end checklist's tolerance table |
| Batch field enablement | Batch comparison on for finished goods and shelf-life-managed materials; off for bulk commodities |