Published
Updated
PageIndex walks long filings with Jev Choice calls and checks two answers
This topic was created 29 days ago, and the information it contains may have evolved or changed since then.
VectifyAI's jev-doc-search, Apache 2.0, asks jev-1.13.0 to walk a PageIndex tree, and on two annual reports the kept pages include the income statement.
PageIndex posted
VectifyAI/jev-doc-search on October 2,
2026. The README is Apache 2.0. The examples call TypeSafeClient with model
jev-1.13.0.
Erik Spock Gafni quoted the post. His sentence does not add a number.
Why one Choice runs out of room
Flat search treats “which page answers this?” as a Choice. Each page’s text is one option. The README names two stops. The whole request has to fit in 32k tokens, which it says runs out after a few dozen pages. A Choice also takes at most 255 options.
NVIDIA’s fiscal-2026 10-K is the example of the first stop: 93 pages, about 76k tokens. Citigroup’s 2025 10-K is the example of the second: 318 pages.
PageIndex turns the document into a tree of sections, titles, short summaries, and page ranges. Jev then picks among the children of one node, and repeats. Each Choice stays small.
The README also describes a beam of 3, so a page that ranks second is not dropped, and a Noul on the candidate page, because a Choice always names a winner even when no option answers the question. Pages at 0.5 or above are kept, or the best two if none qualifies. The script caps that check at 16 pages.
What the table shows
The README prints two questions against filings uploaded to the hosted PageIndex.
| Question | Pages | Pages kept | Correct |
|---|---|---|---|
| NVIDIA total revenue, fiscal 2026 | 93 | p37, p51 | yes |
| Citigroup net income, 2025 | 318 | p12, p16, p134, p135 | yes |
The note under the table says both answers are the figures in the consolidated statement of income, NVIDIA page 51 and Citigroup page 134. That is the whole scored set in the file we read. Setup asks for a TypeSafe key and a PageIndex key. We did not run it.
This site's reading
Editorial notes evaluating claims against primary sources, contextualizing findings alongside related implementations, and defining technical terms.
Verify
PageIndex, @PageIndexAI, October 2, 2026, 05:44 UTC, status 2105896667446940134. The post says the repository is long-document search with Jev and PageIndex, with no vector database and no embeddings, and links https://github.com/VectifyAI/jev-doc-search. The attached image is the card saved for this page.
Erik Spock Gafni, @EGafni, status 2105900570800496742, quotes that post. His text is one sentence and adds no measurement.
The README, opened October 2, 2026, says the license is Apache 2.0. The client examples pin TypeSafeClient model jev-1.13.0. Flat search puts one Choice option per page and names two limits, 32k tokens for the whole request and 255 options. The NVIDIA fiscal-2026 10-K is given as 93 pages and about 76k tokens.
Citigroup's 2025 10-K is given as 318 pages. The printed table has two questions. Both are marked correct, with the income-statement pages named as NVIDIA p51 and Citigroup p134. We did not run the scripts, and we did not call PageIndex or TypeSafe for this note.
Compare
Two questions are the whole printed set. jevsearch scores Hit@1 on 41 labelled TypeSafe-docs queries. JEV Search scores nDCG@10 on NFCorpus and SciFact. This README does not print either of those metrics.
The 32k and 255 caps match the limits already on Access and in the TypeSafe docs this desk has cited. The tree is how the repository stays inside them. A Noul at 0.5 is the keep threshold in tree_search.py, or the best two pages if none clears it. That check is in the README. It is not a measured false-accept rate.
Terms
- flat page search
- One Choice whose options are the pages, each described by its own text. The README says the request has to fit in 32k tokens and a Choice stops at 255 options.
- tree search
- PageIndex builds a hierarchy of titles and summaries. Jev picks a child at each level. The script keeps a beam of 3, then runs one Noul per candidate page, up to 16.