Most graph RAG extraction systems are optimized to keep going. They ask an LLM to find every entity, relation, and claim, then add more passes when the model suspects something was missed. Completeness is a reasonable goal. It is a poor stopping rule.
The report asks a narrower operational question: after this pass, how much genuinely new information appeared, and is another pass likely to repay its token cost?
The signal is diminishing yield
After each extraction pass, the pipeline counts the clauses that are new and compares them with the cumulative clauses found so far. The result is a novel yield ratio:
rt = new clauses this pass / cumulative clauses. Pass 1 can be rich with new material. Later passes should prove that they still deserve their cost.
In the report's worked example, the first pass finds three new clauses, the second finds two more out of five cumulative clauses, and the third finds none. The ratio moves from 1.00 to 0.40 to 0.00. The system now has a signal for diminishing returns instead of a guess based on pass number.
Turn yield into a decision
The stopping model maps that ratio to a coverage probability with a calibrated logistic regression:
P(coverage | r) = σ(β₀ + β₁r) # the decision boundary T = -β₀ / β₁ if r < T: stop else: continue
The coefficients are fitted with maximum likelihood estimation. The threshold is therefore learned from observed extraction outcomes rather than chosen as a universal constant. In the report's worked curve, a threshold of 0.20 places the zero-yield third pass in the extraction-complete zone.
Why this is more useful than a pass cap
A fixed limit treats every section as if it has the same density, structure, and remaining value. A token budget reduces cost, but it does not answer whether the next pass is likely to surface something worth paying for. A pass count describes where the system is. Yield describes what the system is still getting.
The question is not “how many passes should every section get?” It is “what evidence says this section is still yielding enough to continue?”
That distinction makes the stopping decision explainable. An operator can inspect the yield signal, the fitted boundary, and the training data behind it. The system can stop because the expected value has fallen, not because somebody selected three as a convenient number.
What the report does and does not claim
The report presents a calibration approach, not a universal threshold or a finished benchmark. The model needs annotated sections that say when meaningful coverage has been achieved. The current direction uses roughly 450 annotated sections across document categories, then tests whether sentence count, document type, and pass number improve the single-feature model.
It also compares alternative distributional models. The recommendation is to keep logistic regression as the direct stop or continue decision, while using richer models where they answer a different question, such as predicting expected clause counts for new document types.
Read the full technical report
The 24-page report covers the extraction pipeline, the MLE and Nelder-Mead fitting choices, the stopping sigmoid, training workflow, model comparisons, and the next calibration path.