lesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open rowlesson 3 of 3 · the claim check — nothing ships with an open rowthe claim check — nothing ships with an open row
Checkpoint
One last thing before we move on. pass this to mark the lesson done, or skip and keep moving.
Checkpoint: the whole pipeline against the live hero copy —
extract, verify, and resolve. Thursday is here and the copy ships
TODAY, so anything without a source gets struck from the copy
rather than shipped on faith. Write claim_check(copy, sources)
that:
- Extracts claims from the lowercased copy with
r"\d+(?:\.\d+)?|\bguaranteed\b|\bfree\b"(in match order). - Looks each claim up in
sources. A truthy value verifies the row: print"<claim>: verified (<source>)". A missing or None entry: print"<claim>: OPEN — struck"and collect it. - Prints
"struck: <claims joined by ', '>". - Prints
"revised decision: SHIP (<n> claims, all closed)"where n counts the claims that survived.
Expected output:
890: verified (spec-sheet-v4.pdf)
free: verified (shipping-policy-2026.md)
75: verified (shipping-policy-2026.md)
4.8: OPEN — struck
guaranteed: OPEN — struck
struck: 4.8, guaranteed
revised decision: SHIP (3 claims, all closed)