# Defect log

Every defect this project's own process caught, and what caught it.
This file exists because a worked example that admits nothing teaches nothing.

| # | Defect | Caught by | Fix |
|---|--------|-----------|-----|
| 1 | Hover-only navigation state carried information | Hallmark audit, run 1 (finding 2) | Removed; the thumb test fails on hover |
| 2 | Amber used in four places, brief allows one bold moment | Hallmark audit, run 1 (finding 4) | Amber restricted to eyebrow labels |
| 3 | No visible keyboard focus on nav links | Hallmark audit, run 1 (finding 7) | Focus ring added |
| 4 | Amber button on deep green failed readable contrast | Independent review (different company's AI) | Button became paper-on-green |
| 5 | Beat 4's candidate photo ran cooler than beats 1 and 5 | Independent review | Beat 4 became text plus one large figure |
| 6 | **The ledger did not reconcile.** Beat 3 totalled PKR 217,950; beat 4 displayed PKR 217,930 | **A human reading the numbers** | Beat 4 corrected to 217,950 |
| 7 | **Sticky bar covered beat 1's label.** The first section began under the navigation | **The full-page screenshot** | `padding-top` on the first section |
| 8 | Sharing card pointed at a placeholder address | Extending the checker to test for it | Real 1200×630 card built and referenced |

## What this list is actually teaching

Look at what caught what.

The audit caught **taste** problems. The independent reviewer caught what the
builder could not see about **its own work**. The screenshot caught a **layout**
problem no amount of reading the code would reveal — defect 7 was invisible in
the source and obvious in the picture.

And defect 6, the worst one, was caught by **a person doing arithmetic.** An
accountant's website whose numbers do not add up is not a design problem, and no
audit, no reviewer, and no screenshot noticed it. That is the ratio the course
keeps insisting on: automate everything checkable, and spend your own attention
on the part that was never checkable.

Defect 6 also earned a permanent rule. Where a page displays figures that must
agree, that arithmetic belongs in `check-site.mjs` — as a real test, not as a
line in the rules file asking the AI to be careful.
