Failure catalogue · The file lies · 9 of 51
OBSERVED FAILURE MODE
The filename that lies about the period.
Vendor exports are named by the system that produced them, not by what they hold. A file called Q2 can carry July rows, because the name came from a saved report title, a template, or the day somebody clicked. Headline the filename and the quarter on the slide is wrong while every number under it ties.
What we saw
At Meridian Journal Group a quarterly file arrived carrying rows from the following month. The filename said Q2. The rows said July. Every figure computed from it reconciled to the file's own total, so the build was right about the arithmetic and wrong about the heading it printed above it. The pre-header block held the answer, a stated coverage range two lines above the column names, and the pipeline had discarded it before parsing, which is the usual fate of the most valuable part of a vendor export.
Why it passes a glance
The name is the first thing a person reads and the last thing anyone verifies. Totals tie, because the rows are internally consistent whatever period they cover. A period check that compares a filename's claim against a value derived from that same filename is a test that always passes and proves nothing. The heading is prose, and prose is the part no gate reads.
What addresses it
Doctrine principle 4, filenames lie, requires identity and period to be proved from inside the file, from pre-header rows, embedded titles, and report metadata, and forbids comparing a filename-derived value against itself. The anchor-discovery skill turns that into a spec: the exact cell the period comes from, the role it plays, coverage or as-of or run stamp, and a refusal to accept a title that would read identically in every export from that system.
Check your own file in two minutes
- Open the file and read everything above the header row before you parse anything.
- Find the cell that states the period, and note whether it says coverage, as at, or generated on.
- Compare that cell against the minimum and maximum of the date column, and against the filename, treating the filename as a claim to test.
- If nothing inside the file states a period, say so on the page rather than promoting the filename to evidence.
What this does not catch
Proving the period from inside the file proves what the file says about itself. It cannot prove the export was complete: a file truncated after week two of a four-week month states the right window, covers only part of it, and passes cleanly.
Quick answers
- Is a date in the filename ever usable?
- It is usable as a claim to verify against the contents, never as the evidence that settles the period.
- What if the file has no pre-header block?
- Then the period comes from a date column, with the expected window required to fall inside that column's own range, and the gap is stated where it cannot.
- Why is a generated date not a period?
- Because it refreshes every time somebody clicks export, which is exactly what a stale re-export of last quarter does.
Nearby failures
Last updated 2026-09-02 · Dylan, founder · one of 51 observed failure modes, every one seen in a real build or in our own audits, none invented.