Home › The Context Slots

Object 03 // ranked positional brief

Hand the model a brief, not a pile.

You control the order the model reads in. So why are you still handing it a flat pile?

Lost-in-the-middle is a ranking problem you own, not a model limitation you wait out. Never assemble a flat list of chunks into a context window. Structure retrieved events as typed slots before they reach the model.

From pile to rack

Four typed slots, position controlled by you.

01
most recent

The latest relevant event

What just happened, so the model is anchored in the present state.

02
strongest cause

The dominant causal factor

The event that best explains the outcome in question.

03
baseline

The historical baseline

What normal looks like, so deviation is legible.

04
anomaly

The exception that matters

The outlier the model must not average away.

Without the rack, all of this arrives as one undifferentiated pile, and the middle is where the model stops paying attention:

Why this is yours to fix

Position matters, so control position.

Every team that hits lost-in-the-middle treats it as an LLM limitation they cannot touch. Wrong frame. It is a ranking problem you own, and a bigger context window makes it worse, not better: more middle to lose. The model reads positions, so decide what goes in each one.

The fix is not a better model. It is a context assembly layer that reads a structured brief: slot 1 the most recent event, slot 2 the strongest causal factor, slot 3 the baseline, slot 4 the anomaly. Not hard to build. Just unglamorous, so people skip it and blame the model.

Common questions

The objections that come up here.

Why not just wait for bigger context windows?

Because a bigger window is more middle to lose. The positional bias is a property of attention, not of size, so every model generation ships with it. You do not wait out a structural problem, you assemble around it.

Isn't slot assignment just re-ranking with extra steps?

It is re-ranking with a contract. Re-ranking orders by score; slots assign by role, so the model always gets recency, cause, baseline, and anomaly in known positions regardless of score noise.

In the structure

before in the loop

← The Schema

The schema's typed fields are what each slot is filled from. No contract, no reliable slot.

Open the object →
next in the loop

The Versioned Index →

Each slot queries a version-tagged index, never a mixed one, so the brief stays coherent.

Open the object →

The reading

Design your slot layout in twenty minutes.

Bring one domain. We map your typed fields to the positions the model reads.

Book my technical call →