Skip to content
docs
UseBuildChangelog
Open Lumin

Guide

Reading depth and call floors

A KP reading is an investigation, not a lookup. Lumin now ships a mandatory minimum number of tool calls per question class, delivered inside tool results rather than server instructions, because instructions get truncated and tool results never do.

The problem the floors fix

MCP servers publish an instructions string that a client is supposed to fold into the model's system prompt. Lumin's methodology document runs to roughly 32,000 characters. Clients truncate it. One major client was measured delivering the first 2,000 characters and dropping the rest, about 6 percent of the document.

Everything that made a reading thorough lived below that cut. The model would see the first phase, call three or four tools, and produce a confident paragraph from a fraction of the chart. That reads like a reading and is not one.

Two changes fix it. The instructions were restructured so the load-bearing rules sit in the first 1,633 characters and survive truncation. And the same rules are now returned inside tool results, which no client truncates.

The floors

Every question is classified into one of three tiers. The floor is the minimum number of tool calls before an answer is allowed. The target is what a good reading actually spends.

TierApplies toMinimumExpected
Full readingA whole-chart reading, or any life-area question: marriage, career, health, money, children, foreign settlement, property, legal, or timing an event20 calls25 to 40
Focused questionOne clear question about a single event or a single window12 calls15 to 20
Factual lookupA single fact: a nakshatra, one planet's position, today's panchang, one dosha check5 calls5 to 8
  • Nothing that touches a birth chart is answered in fewer than 5 calls. That is the hard bottom, below every tier.
  • When a question sits between two classes, the higher one applies.
  • A question that cannot be classified defaults to the full tier. When in doubt, Lumin goes deeper, not shallower.
  • A failed call does not lower the floor. It also does not cost you anything, since only successful calls are metered.

How a plan reaches the model

Two tools carry the floor. Both return it as text inside a tool result, which is the only channel a client cannot cut short.

set_birth_profile, first call in every reading

It validates the birth data, and when you pass the user's question it also returns a numbered, topic-routed list of tools to call and the floor that applies. There are 14 routed topics (marriage, career, health, money, children, property, foreign, legal, education, muhurta, horary, annual, spiritual, remedies); a matched topic appends its own tools to the spine, so a marriage question gets a longer list than a generic one.

READING PLAN, classified as: FULL READING (Marriage and relationships)

Minimum tool calls before you answer: 20. Expected: 25 to 40.
This plan lists 26. Call them. ...

Call these now, in order:
  1. get_full_chart
  2. get_house_cusps
  ...

get_reading_protocol, the recovery path

Returns the whole protocol: floors, the seven phases, per-topic routing and the expert patterns. It takes no birth data, so it costs one call and needs no user input. Its reason for existing is truncation. If the instructions your client delivered look short or cut off, this is how the model gets the methodology it was never sent.

Both are documented in full

Parameters, response shape, and worked calls are on the meta-tools reference.

What this means for your integration

  1. Pass the question through. set_birth_profile and get_reading_protocol each accept a question string. Without it the plan falls back to a generic full reading, which is safe but longer than it needs to be for a one-line lookup.
  2. Give the model room to run. If your agent loop caps tool calls at 8 or 10, a life-area question cannot reach its floor. Raise the cap to at least 40 for full readings, or route short questions to a smaller loop deliberately.
  3. Budget per reading, not per request. A full reading is 25 to 40 metered calls. The 300 call monthly allowance covers roughly seven to twelve of them.
  4. Do not fight the depth in your prompt. A system prompt that says "be concise" or "use as few tools as possible" will pull against the floor and produce exactly the shallow answer the floor exists to prevent. Constrain the output length instead of the tool count.

Budget arithmetic

Question classCalls per answerAnswers per 300 calls
Full reading25 to 407 to 12
Focused question15 to 2015 to 20
Factual lookup5 to 837 to 60

Read X-RateLimit-Remaining before you start. If fewer than 50 calls remain, a full reading will not finish. See handle rate limits for the pre-flight pattern and the 429 shape.

Where to next