A structured analysis template was submitted for review on a production pipeline. Every core field was blank. The 'information points' array was empty. The one-line summary read 'null / unjudged / unjudged.' The domain label carried a confidence score of 'not evaluated.' The protocol field instructed the reader to 'identify projects from the aforementioned information points' โ but there were no information points to identify.
This is not a parsing footnote. An empty intermediate artifact means every downstream stage consuming it is operating on fabricated ground truth. The failure is not that analysis was shallow. The failure is that analysis was structurally impossible, and the pipeline advanced anyway.
Context: The Anatomy of a Hollow Artifact
The template contained ten fields. Nine were empty strings or nulls. One โ the 'minimum input required' section โ was populated, which tells us something precise: the generating stage knew what a complete artifact should contain. It defined the dependency set explicitly. Original text or full link. Information points, each with claim + source (paragraph/quote/link) + certainty (fact / author judgment / speculation). A one-line summary and author stance.
This is a well-formed contract. The problem is that a contract describing its own inputs is not the same as having satisfied them. In my audit work on settlement systems, I have seen this exact pattern in a different costume: an oracle that returns 0 when the price feed times out, consumed by a liquidation engine that cannot distinguish 0 from a genuine price of zero. The fix was never to make the engine more tolerant. The fix was to make the oracle fail closed โ to revert, not to answer.

Based on my experience auditing data pipelines during the 2022 exchange reserve reporting crisis, the most dangerous output is not an error โ it is a syntactically valid payload that contains no verified content. Errors halt systems. Empty-but-valid payloads flow through, get stored, get cited, and acquire the appearance of provenance.
The template's own self-diagnosis is unusually candid. It states that producing output from this artifact 'would only be my own invented speculation: fictional opinions, fictional projects, fictional stance โ and such results cannot be verified in later stages, so errors get amplified layer by layer.' That is a correct assessment of amplification risk. It is also, notably, the only reasoning the artifact performed at all.
Core: Four Structural Faults in the Failure Chain
Fault 1 โ Field Emptiness Is Not Field Absence
The template distinguishes between 'not provided' (title/source/type) and 'empty' (information points). These are different failure modes with different remedies. A missing title is a metadata plumbing issue. An empty information points array is an extraction failure โ either the upstream parser found text and discarded it, or it found no text and did not signal. The template collapses both into the same remediation bucket ('send me the original'). That collapse is itself a bug: it prevents the operator from distinguishing 'the input never arrived' from 'the input arrived and the extractor ate it.'
My due diligence checklist from the 2017 ICO cycle had an explicit rule for this โ any row that could not be filled required a reason code, not a blank cell. A blank cell meant the analyst was done and had nothing to say. A reason code meant the analyst was blocked. The two triggered different escalation paths.

Fault 2 โ The Certainty Triad Is the Whole Ballgame
The template's most valuable requirement is buried in its second bullet: every information point must carry certainty as one of fact / author judgment / speculation. In sixteen years of reading crypto reporting, I have found that the overwhelming majority of amplification incidents trace to a collapsed certainty label โ a speculation quoted as a judgment, a judgment restated as a fact, a fact stripped of its source.

If the upstream stage had produced information points without the certainty field, the downstream stage would still have been able to proceed without noise. With the field present and empty, no downstream stage can reconstruct what was verified. The schema knew better than the pipeline.
Fault 3 โ 'Not Evaluated' Is a Load-Bearing Claim
The domain label, confidence score, time sensitivity, and source quality were all marked 'not evaluated.' These are not optional adornments. Time sensitivity determines whether an analysis is still actionable by the time it publishes. Source quality determines whether the fact base can support any conclusion at all. A template that returns 'not evaluated' for both is telling you it cannot answer the only two questions that make analysis worth doing.
Fault 4 โ The Escalation Contract Is the Only Working Component
The template ends with a menu: A (send the original, restart from deconstruction), B (the first stage ran but parsing failed โ provide raw output to localize extraction vs. formatting), C (the operator actually wants a framework/template, so provide field definitions and acceptance criteria). This is a competent triage tree. It assigns the decision to the human and refuses to assume.
That refusal is the correct behavior and also the unsatisfying one. It means the pipeline's only trustworthy output was a question.
Contrarian Angle: The Template Is Right to Refuse, and Wrong to Be Rare
The consensus reaction to an artifact like this is that it is a defective component. I want to argue the opposite: this template is the most compliant object in the entire pipeline precisely because it refused to answer. Every other stage that accepted it โ or that would have accepted it โ committed a silent violation. The template committed none.
But here is the unreported angle. The template's refusal is only commendable because it was verbose. It explained, field by field, why it could not proceed. Most production systems do not get this luxury. They fail closed with a single null, which downstream code coerces, defaults, and proceeds past. The audit trail here exists only because a human-readable explanation was embedded in the payload itself. Remove the prose, keep the nulls, and you have the same failure with zero detection surface.
This is why I have argued since the 2021 NFT provenance work that schema validation must include a completeness assertion โ not a check that fields exist, but a check that populated fields exceed a threshold tied to the claim being made. An analysis asserting a stance on a protocol with zero information points should not pass schema. It should fail validation, loudly, at the boundary.
The secondary contrarian point: the template suggests the upstream stage may have been fine and the parser may have eaten the output. That possibility is the more dangerous one, because it means the system is producing real analysis and discarding it invisibly. A pipeline that emits empty templates is sick. A pipeline that emits empty templates while internally producing correct analysis is worse โ it has a silent data-loss channel that will never page anyone.
Takeaway: Watch the Completeness Assertions, Not the Outputs
The next thing to watch is not whether this particular artifact gets refilled. It is whether the pipeline gains a completeness gate at the boundary between extraction and analysis โ a hard check that rejects an analysis request when information points are empty, rather than returning a well-formatted refusal that a human must manually triage.
A useful test: submit a known-bad artifact with all fields empty but no explanatory prose. If the system still advances it to a downstream stage, the refusal you just read was never a control โ it was a courtesy. Courtesy does not survive load.