Skip to content
arXivv
Esc
↑↓navigate↵open⌘Jpreview
On this page

Inferred metadata

LLM-generated fields per paper, labelled with the models and prompt version that produced them. Status is pending, ready or failed.

Inferred fields are generated by Claude after the tree is built. They are always labelled as inferred, with the models and prompt version that produced them. Everything else in a response is extracted, not inferred.

v1 fields

Field Type Model Contents
tldr string Claude Haiku 4.5 One sentence, at most 40 words: what the paper does and its main finding
contributions string[] Claude Haiku 4.5 Main claimed contributions, at most 6, in the paper’s order
paperType enum Claude Haiku 4.5 method, benchmark, survey, theory, position, dataset, other
entities object Claude Haiku 4.5 tasks, methods, datasets, metrics, models: each a string[], at most 15
artifacts array Claude Haiku 4.5 { kind, url, note? }, kind one of code, data, model, project, other; only URLs that appear in the paper
results array Claude Sonnet 5.5 { benchmark, metric, value, baseline?, note? }, at most 25; values copied as written
  • Fields the paper does not support come back as an empty string or empty array.
  • The input is the paper’s Markdown, cut at a paragraph boundary after 400,000 characters for very long papers.

Status

inferred in .json takes one of three shapes:

status Other fields Meaning
pending queuedAt Queued; usually ready in 5–40 s
ready models, promptVersion, generatedAt, fields Done
failed error, failedAt Enrichment failed; content is unaffected
{
  "status": "ready",
  "models": [
    {
      "model": "claude-haiku-4-5",
      "fields": ["tldr", "contributions", "paperType", "entities", "artifacts"]
    },
    { "model": "claude-sonnet-5-5", "fields": ["results"] }
  ],
  "promptVersion": "2026-10-14.1",
  "generatedAt": "2026-10-14T09:00:21.000Z",
  "fields": {
    "tldr": "The Transformer replaces recurrence with self-attention and sets a new state of the art in machine translation.",
    "contributions": ["Proposes the Transformer, built solely on attention", "..."],
    "paperType": "method",
    "entities": {
      "tasks": ["machine translation"],
      "methods": ["Transformer", "multi-head attention"],
      "datasets": ["WMT 2014 English-German"],
      "metrics": ["BLEU"],
      "models": ["Transformer (big)"]
    },
    "results": [{ "benchmark": "WMT 2014 English-German", "metric": "BLEU", "value": "28.4" }],
    "artifacts": [{ "kind": "code", "url": "https://github.com/tensorflow/tensor2tensor" }]
  }
}

The outline carries a subset: inferred.status, plus tldr, contributions and paperType once ready.

While status is pending, .json, outline.json and metadata.json responses carry Retry-After: 10 and Cache-Control: public, max-age=30. A failed status also gets public, max-age=30 (no Retry-After), so a later re-enrichment shows up. To wait for ready instead of polling, see first request.

Labelling

Field Meaning
models [{ model, fields }]: which model produced which fields keys
promptVersion Prompt version, e.g. 2026-10-14.1. Fields may be regenerated when it changes
generatedAt When the fields were generated
Model id Fields
claude-haiku-4-5 tldr, contributions, paperType, entities, artifacts
claude-sonnet-5-5 results

Treat inferred fields as helpful summaries, not ground truth. Check claims against the cited sections.

Token counts

Token counts are approximate: ceil(characters / 4), labelled as such.

{ "tokens": { "approx": 10240, "method": "chars/4" } }
Where Scope
PaperJson.tokens Whole paper, from its Markdown rendering
Outline.tokens Whole paper, from its Markdown rendering
Outline.sections[].tokens One section, from its Markdown rendering

Use them to budget context, not to bill. Real Claude token counts can differ by 15–20% or more.

Was this page helpful?