Skip to content
API access

Concept · When Lumen says no

Memory model and refusal

Lumen Lattice would rather refuse a query than approximate it without a label. The memory model is how that refusal is decided, in bytes, before a job is queued.

Forecasts

State forecasts 16 × 2ⁿ bytes for complex128, or 8 × 2ⁿ for complex64, plus a small workspace for fused gates. Weave forecasts 16 times the largest intermediate rank, times the slice factor in the denominator when slicing is on. Drift forecasts 16 × 4ⁿ bytes for a dense complex operator stored as a matrix of side 2ⁿ. Trace forecasts the live-string cap times the bytes of one string, which is small; Trace fails on string count, not on a huge buffer.

The forecast is returned by a dry run that does no arithmetic. Dry run is the default for interactive consoles. Batch jobs may skip it with the header Lumen-Forecast: accepted, which means the caller accepts a mid-job refusal.

Ceilings

Each API key carries a byte ceiling and a shot ceiling. The ceiling is not a hardware inventory. It is the commercial limit on the key. A research key and a desk key differ on purpose. Hitting the ceiling returns a structured error with the forecast, the ceiling, and the engine that would have run.

There is no silent spill to host memory in 1.0. Spill changes numerical scheduling and would make replay depend on a machine the caller cannot see.

  • Errors use the lumen.* code space documented on the reference page.
  • A refusal is cached for the request hash so a tight loop does not re-plan.
  • Quotas reset on the UTC day boundary stated in the account profile.

Precision as a memory choice

complex64 halves the State and Weave buffers and is the right default for exploration. Any figure that enters an investor note or a model card should be recomputed in complex128 reference mode, or should say it was not. The product will stamp the dtype on the response so the omission is visible.

All documents