A pass bar written down before any detector ran, and a study allowed to come back empty
The Research: the question is whether the passages of an SEC filing that a language model has revised earn different abnormal returns around the filing date than the ones a person wrote. I published a first version in June 2026, checked it myself, found its result at every date I tested rather than only the one it claimed, and withdrew it.
Pre-registered The go/no-go bar for this study was fixed in a dated file before any detector had been run against the validation set, and nothing below has been revised in light of a number. The work is at the validation stage, with the corpus extracted and the detectors being measured. No panel result exists yet, and the page says so where one would otherwise go.
What this Engagement produced
-
4,653 passages extracted
Located by each filer’s own structured tags, every one traceable back to text a reader can open. -
3 edit intensities
The Detectability Curve gives accuracy at light, moderate and heavy revision rather than one number for all three. -
1 result withdrawn
My own published finding, checked by me, retracted with its three defects named and dated.
The Situation
Finance research reads corporate disclosure as text, looking at tone, hedging, readability and how much a filing changed since last year. All of it rests on an assumption, which used to be free, that a person wrote the words. If a language model revised them, the measure is reading the model’s style, and a company that looks newly cautious may be a company that started running its footnotes through an assistant.
Nobody can say how often that happens, for the narrow reason that no published detector has been validated on financial disclosure. The ones that exist were trained to separate web prose from model output, and a footnote is neither. So the first question is not whether AI-generated language predicts returns but whether it can be seen at all in this kind of writing, and that has to be settled against labeled data before a filing is scored.
Why the thing being detected is an edit and not a draft
An issuer does not hand a model a blank page and file what comes back. What a drafter plausibly does is write the paragraph and ask for it to be tightened with the facts kept, so the positive class here is a human passage a model revised rather than one a model produced from nothing. So on this page and in the study, AI-generated language means an edit, not a draft. Wholly generated text is kept only as an upper bound, because a detector that cannot separate that from human writing is blind, and a null result from a blind instrument says nothing.
What I Did
I rebuilt the measurement instrument, which has four parts.
Passages are located by the filer’s own tags. The first version found the notes to the financial statements with a regular expression over the document text. The extractor now reads the index the filer publishes alongside the filing and takes the sections the filer tagged as notes, which came to 4,653 passages from 1,324 notes across 74 filings, drawn from a 40-company sample of which 37 had filings in the window. All of them are dated before 2020, so the human labels are certain by construction.
The labels are built, not assumed. The validation set holds 200 human passages, 600 model-revised versions of them and 50 wholly generated passages for the upper bound. Every revision is paired with its own original, so a detector can be asked whether it scores a passage as more machine-like than the text it came from.
The instrument reports a Detectability Curve, not a score. Accuracy is measured at three rungs of edit intensity (light, moderate, heavy), and a passage’s rung is measured afterwards from edit distance and n-gram overlap against its original, never inferred from the prompt that asked for it, because a prompt is a request and edit intensity is what happened.
Exhibit 1 One prompt asking for a light edit can return light, moderate and heavy revisions, once the change is measured
Choose a revision to see what it changed and which measure placed it on its rung.
View the data
| Passage | Text | Prompt |
|---|---|---|
| Original | The company leases office space and equipment under operating leases that expire at various dates over the next several years. Rent expense is recognized on a straight-line basis over the lease term, including any periods of free rent. | — |
| Revision 1 | The company leases office space and equipment under operating leases that expire at various dates over the next several years. Rent expense is recognized on a straight-line basis over the lease term, including any rent-free periods. | Revise this passage lightly for clarity. |
| Revision 2 | The company rents office space and equipment under operating leases that end at different dates over the coming several years. Rent cost is recognized on a straight-line basis across the lease period, including any periods of free rent. | Revise this passage lightly for clarity. |
| Revision 3 | The company leases office space and equipment under operating leases that expire at various dates over the next several years. Rent expense, including any periods of free rent, is recognized on a straight-line basis over the lease term. | Revise this passage lightly for clarity. |
| Revision 4 | Our offices and equipment are held on operating leases that end at different points in the coming years. We spread the rent evenly across each lease, free months included. | Revise this passage lightly for clarity. |
| Rung | Where a revision’s measures place it | |
| Light | At most 20% of words edited and at least 70% of word pairs kept | |
| Moderate | Neither light nor heavy | |
| Heavy | More than 50% of words edited or fewer than 40% of word pairs kept | |
The Gate. A detector may score real filings only if it reaches an AUC of at least 0.70 at the moderate rung and holds its false-positive rate at or below 5% against genuine pre-2020 footnotes. Four were named in advance: Fast-DetectGPT, Binoculars, a stylometric floor with no neural weights behind it, and the detector the withdrawn pipeline scored with, kept as the incumbent baseline. If none clears the bar, the study stops at the validation stage and reports that LLM editing of filing footnotes is not detectable with current public methods, and that is the finding rather than a failure to find one. The bar is not lowered, the ladder is not re-cut, and the panel is not scored in the hope that scale compensates.
Exhibit 2 The Gate asks for AUC ≥ 0.70 at moderate edit intensity and false positives ≤ 5%
Drag the points, try a detector profile, or move the false-positive rate.
View the data
| Hypothetical detector | AUC at the light rung | AUC at the moderate rung | AUC at the heavy rung | False-positive rate on genuine pre-2020 footnotes |
|---|---|---|---|---|
| Sees only heavy edits | 0.56 | 0.63 | 0.90 | 2.5% |
| Blind | 0.51 | 0.53 | 0.56 | 3.0% |
| Noisy | 0.66 | 0.86 | 0.90 | 8.0% |
| Clears the bar | 0.67 | 0.76 | 0.90 | 3.5% |
| The Gate | What a detector must show before it may score a real filing | |||
| AUC at the moderate rung | At least 0.70 | |||
| False-positive rate on genuine pre-2020 footnotes | At most 5% | |||
What a pilot run is allowed to decide
Before paying for a strong model to write the edited passages, I ran the pipeline end to end against revisions written by Llama 3.1 8B on my own machine. Against that generator the stylometric floor separated revisions from their own originals at an AUC of 0.781 at the moderate rung, rising at every rung and surviving where the revision lost no length at all. The two neural detectors sat at or below chance on its edited text but did better against wholly generated text, one of them almost perfectly.
The run file says on its first line that none of that is a result, since an 8B model has a strong stylistic signature, a stylometric index measures exactly that, and the pilot may therefore be detecting one model rather than detecting editing. I wrote that down before the paid run rather than after. The one thing it decided is that the paid run is worth making.
What Changed
What changed is the thing I would lead with in an interview, which is that I withdrew my own published result. A report I compiled in June 2026 carried three headline findings. I re-examined it against the source data and against live filings, found three defects, and superseded it.
The score was a ranking wearing a probability’s clothes. The final quantity was a within-sample z-score through a sigmoid, and a filing was flagged if it landed in the top quartile. That flags exactly a quarter of any sample by construction, whatever the text says, and means adding one company changes the score of every company already scored. It was reported as though it were the probability that a filing was machine-written.
Exhibit 3 Adding one company moves every score already given, and a quarter are flagged whatever the text says
Add a company to the sample and watch the scores of the others move, though not one of their filings changed.
View the data
| Company | Reading | Joins the sample |
|---|---|---|
| Filer A | 42 | At the start |
| Filer B | 57 | At the start |
| Filer C | 31 | At the start |
| Filer D | 64 | At the start |
| Filer E | 48 | At the start |
| Filer F | 36 | At the start |
| Filer G | 53 | At the start |
| Filer H | 45 | At the start |
| Filer I | 88 | Added |
| Filer J | 22 | Added |
| Filer K | 71 | Added |
| Filer L | 80 | Added |
The extractor was reading the wrong text. Tested against six live filings, five landed on a cross-reference or a table-of-contents line rather than on the notes. One company ranked near the top for AI language had been scored on 4,109 characters of exhibit index and signature page. The heading pattern the extractor searched for matched zero times in all six, because a modern filing renders a note heading as “1. Significant Accounting Policies”, never as “Note 1 —”.
The trend appeared at dates where nothing had happened. I re-ran the specification with a fabricated break in November of every year from 2017 to 2024, and every one came back significant. Adding a linear time trend removed the effect, and so did a separate specification carrying firm fixed effects and a form-type control. The score drifts smoothly upward across the decade, and the date I had picked is a point on that line rather than a break in it.
Exhibit 4 A break placed where nothing happened comes back significant in every year, until a time trend is added
Move the placebo break to any year, then add a time trend to the specification.
View the data
| Quarter | Score | Placebo break |
|---|---|---|
| 2016 Q1 | 30.0 | — |
| 2016 Q2 | 29.4 | — |
| 2016 Q3 | 30.5 | — |
| 2016 Q4 | 33.4 | — |
| 2017 Q1 | 33.3 | — |
| 2017 Q2 | 31.7 | — |
| 2017 Q3 | 34.1 | — |
| 2017 Q4 | 32.4 | Tested |
| 2018 Q1 | 34.5 | — |
| 2018 Q2 | 37.5 | — |
| 2018 Q3 | 35.8 | — |
| 2018 Q4 | 35.9 | Tested |
| 2019 Q1 | 37.6 | — |
| 2019 Q2 | 38.3 | — |
| 2019 Q3 | 39.1 | — |
| 2019 Q4 | 38.8 | Tested |
| 2020 Q1 | 41.5 | — |
| 2020 Q2 | 38.5 | — |
| 2020 Q3 | 40.4 | — |
| 2020 Q4 | 41.3 | Tested |
| 2021 Q1 | 40.5 | — |
| 2021 Q2 | 44.4 | — |
| 2021 Q3 | 44.1 | — |
| 2021 Q4 | 43.9 | Tested |
| 2022 Q1 | 43.2 | — |
| 2022 Q2 | 46.5 | — |
| 2022 Q3 | 45.3 | — |
| 2022 Q4 | 47.5 | Tested |
| 2023 Q1 | 47.4 | — |
| 2023 Q2 | 47.8 | — |
| 2023 Q3 | 47.2 | — |
| 2023 Q4 | 47.2 | Tested |
| 2024 Q1 | 49.4 | — |
| 2024 Q2 | 52.3 | — |
| 2024 Q3 | 51.6 | — |
| 2024 Q4 | 53.0 | Tested |
| 2025 Q1 | 52.4 | — |
| 2025 Q2 | 53.1 | — |
| 2025 Q3 | 52.1 | — |
| 2025 Q4 | 52.9 | — |
So I wrote a correction, dated it, said the report was superseded and should not be cited, and recorded that it go to anyone who had received it. The pipeline was then rebuilt from scratch, with a provenance record on every passage giving its accession number, source URL, note and character offsets. Any number in the write-up now traces back to text a reader can open, which is the discipline whose absence let a signature page be reported as a finding.
Pending Result Whether AI-generated language in filings predicts abnormal returns is not answered here. The panel is not scored and is not authorised to be scored until a detector clears the Gate. If none does, the reportable finding is non-detectability, with the curve attached so that “filers are not doing this” stays distinguishable from “this instrument cannot see it”.
As for where the rest of it stands, the study is faculty-advised, and that is a working relationship rather than a name on a cover page. An application for research funding has been submitted but has not been decided, and it has not been awarded. A conference is the intended venue, whichever way the Gate falls. None of the three is an outcome.
What I Learned
The uncomfortable part is that the defects were not carelessness, since each one was a choice made with the answer already on the screen (which break date, which heading pattern, which cut-off counted as high), and none was recorded as a choice because at the time none of them felt like one.
So the remedy is not more care, because care is what produced it, aimed in the direction of the result I expected. The remedy is to commit to the decisions before the numbers exist, in a file with a date on it, which is why The Gate can disqualify a detector I would rather keep. The narrower version of the lesson is that a result that has survived no placebo is not a result. The check that cost me the finding took an afternoon, and I had not run it because the finding agreed with what I expected.
The case for publishing a correction rather than quietly replacing the work
The tempting version is to rebuild, publish the better study, and let the first one disappear. Nobody had cited it, so it would have cost nothing visible. What decided it is that I cannot be sure where the report went, and deleting my copy leaves the claim alive in anyone else’s with nothing attached to it. Naming the three defects is also the only thing that lets a reader judge the rebuild, since without them it is a set of answers to no stated question.
Where Else This Applies
A score defined by a ranking is not a measurement. Anything defined as the top quartile, such as vendor risk tiers, performance bands, lead scores or accounts flagged for review, identifies that share of the population whatever the population does, and adding a case changes the score of every case already in it. The damage comes when a sorting rule is escalated as a probability.
Check what the extractor actually read. Any process pulling fields out of documents, whether for diligence, compliance review or invoice and contract automation, reports what it found and almost never what it read instead. The cheapest check in this study was opening six documents and looking at the characters that had been scored.
Fix the pass bar before the measurement. Pilot evaluations, model selection and vendor bake-offs reach the same fork, where the success criteria are written down either before the numbers arrive or afterwards, in which case they are a description of the numbers. Fixing it first is what makes a negative result reportable rather than embarrassing, and a negative result nobody can report is a budget that keeps getting spent.