The N/A Report: A Due Diligence Pipeline That Failed Correctly and Nobody Noticed
The memo with forty-seven blanks
The memo arrived with a cover page, a confidentiality footer, and forty-seven cells reading "N/A."
Fourteen pages. Nine analytical dimensions. Zero information points. Somewhere upstream of the deliverable, a parsing stage had returned an empty set — a null input — and instead of halting, the pipeline kept running. It formatted. It rendered. It typeset the absence of knowledge into a document that looked, at a glance, exactly like knowledge.
I have spent twenty-five years taking systems apart to find where they break. Usually the failure is subtle — an off-by-one in an order matching engine, a rounding error in a liquidation path, a fee market that quietly taxes the smallest participants. This failure was not subtle. This was a template with nothing inside it, and it still reached an investment committee.
That is the part worth writing about. Not that it failed. That it failed, and the failure was structurally indistinguishable from success.
Context: the automation of distrust
Bear markets do something predictable to research budgets. Fee revenue compresses, headcount freezes, and the cost of a human analyst reading a whitepaper for six hours stops looking like diligence and starts looking like overhead. So funds replace the analyst with a pipeline. Retrieval layer, summarization layer, scoring layer, report generator. Twelve thousand dollars a month instead of a salary, and the output has a consistent format.
The format is the problem.
In 2017, when I audited the 0x Protocol v2 exchange contract, the deliverable was a GitHub issue with three integer overflow proofs-of-concept attached. Nobody asked for a PDF. Nobody wanted a matrix. They wanted the exploit path, the line number, and the commit hash that proved it existed. That artifact delayed a mainnet launch by two months and, by my estimate at the time, kept about $4.2 million of user funds from being drained on day one.
In 2022, my Celsius reserve analysis was a spreadsheet of wallet addresses and a single number: $2.1 billion, the shortfall between their published reserves and their actual on-chain positions. It went viral because it was checkable. Every reader could paste the addresses into a block explorer and watch the same thing I watched.
In 2023, after FTX, I mapped 185,000 BTC across 42 wallets linked to Alameda Research and traced $1.2 billion moving toward Three Arrows Capital in the hours around the collapse. The diagram was dense and ugly and legally useful precisely because it had no adjectives in it.
None of those deliverables could have been produced by a system that returns N/A when it doesn't know something — and none of them would have been trusted if they could have been. The value was never the document. The value was the chain of custody between the claim and the evidence.
Core: three failure modes, and only one of them is a bug
Failure mode one: null propagation with a decorative shell
The pipeline in question did the correct thing at the validation layer. It detected that its input contained no extractable information points — no title, no source, no protocol name, no timestamps, no quotations. It refused to analyze. It marked every dimension as undetermined and listed what was missing.
Then it printed a document.
This is not a software defect. It is a type error in the contract between a system and its user. The tool treated "a document was produced" as the success condition, and the business treated "a document exists" as the deliverable. Nothing in the chain owned the question of whether the document contained information.
Consider how a trading system handles this. If an order book feed goes dark, you don't render a beautiful interface showing the last known price. You halt. You cancel open orders. You page an engineer. The market data handler has one job: refuse to price what it cannot see. An unfilled field is not a neutral placeholder — it is an active assertion that the field was assessed and found empty, and an automated system is in no position to make that assertion on behalf of a human analyst who never looked.
Failure mode two: the temptation to fill
There is an obvious alternative design. Instead of emitting N/A, the system could have inferred. It had a project name from the cover page. It had the fund's template with expected value ranges. A sufficiently fluent model under sufficient deadline pressure will produce a risk matrix that looks like a risk matrix, a tokenomics section that reads like tokenomics, and a regulatory assessment that sounds like a lawyer wrote it at 2am.
That is a worse outcome than forty-seven blanks.
I demonstrated this class of problem in 2026 with autonomous AI agents interacting with smart contracts. The finding that mattered was not prompt injection breaking a model's instructions — that was expected. The finding that mattered was that an agent with an unverified decision tree will produce a confident, well-formed action at the moment of maximum ambiguity, because the architecture rewards output over abstention. Multi-sig policies were bypassed not by breaking cryptography but by exploiting the moment after the model stopped knowing and started generating.
Translate that from a $50 million simulated wallet drain to a due diligence memo. Same mechanism. Different blast radius. The pipeline that hallucinates a liquidity profile is not a broken pipeline — it is a pipeline operating exactly as designed, by a designer who never specified what should happen when the input is empty.
Failure mode three: no anchors
Here is the test I apply to any research artifact, human or machine. Point at any sentence and ask: what is the anchor?
For my 0x findings, the anchor was a commit hash. For Celsius, it was a wallet address and a timestamp. For FTX, it was a transaction graph that legal counsel could hand to an examiner. For the Dencun blob fee analysis I published in 2024, the anchor was a simulation run with the gas mechanics laid out line by line — and the prediction, which the market ignored, that casual L2 users would eat roughly a 15% cost increase because the fee market mechanics were tuned for throughput rather than for small transactions.
A report is a claim. Claims need anchors. Anchors are block heights, commit hashes, signed transactions, and reproducible simulations — nothing else. When a document cites nothing, its fluency is inversely correlated with its reliability. The better it reads, the more precisely it has hidden the absence of evidence.
The N/A memo had no anchors because it had no claims. That was its one virtue. The institutions reading it did not recognize a virtue. They read it as an incomplete work product and asked for a resubmission.
Contrarian: the pipeline was the honest party in the room
Everything above is an indictment of automated research. Here is the part the indictment misses.
Put a junior analyst in that chair at 11pm with a resubmission deadline and an empty source document. What happens next is not a halt. It is prose. Plausible sector commentary. A tokenomics section assembled from comparable projects. A regulatory paragraph hedged with "may be subject to" and "could be considered." It will be fluent, it will be formatted, it will cite two sources that tangentially touch the topic, and it will be wrong in ways that are extremely hard to detect because the wrongness is not an absence — it is a shape that fits.
The pipeline, in this specific instance, refused. It reported that it had nothing and said so forty-seven times in a row. The architecture of trust, engineered for failure, is still better than the architecture of trust engineered to never admit failure — and the second one is what most of this industry actually runs on, human or machine.
The real defect is organizational, not computational. There was no alarm on the empty output. No threshold that said: zero information points is not a draft, it is a stop-the-line event. Somebody received a document whose entire content was a statement of its own invalidity, and the response was a request to reformat it. The system was honest and the process was not listening.
Takeaway
Silence is a data point. Empty is not.
The next generation of research tooling will not be judged on how fluently it writes when it has information. It will be judged on how loudly it stops when it does not. Any vendor pitching automated diligence in this market should be asked a single question before anything else: show me the output when the input is nothing.
If the answer is a document, you have not bought analysis. You have bought a very expensive way to launder the absence of it.