How do you decide what goes in the context window? Keep the current task, the rules that constrain it, the evidence that would change the answer, and the output contract. Compress bulk that still holds those facts into labeled spans with provenance. Drop unlabeled dumps, duplicate retrievals, and history that belongs in a store. This desk is that decision: keep, compress, or drop.
Key facts
The Packing List
A context window is a working set, not a warehouse. Pack what the current job needs; leave the corpus in retrieval.
Keep answer-critical task, rules, evidence, and the output contract. Compress bulk into labeled spans. Drop unmatched dumps.
Placement and length change whether models use evidence: information in the middle is easier to miss, and longer inputs can hurt even when retrieval is perfect.
The desk is model-neutral. It does not copy Claude context-window sizes; Claude-specific window behavior lives at claudecontext.com.
Why did this month’s invoice jump?
A billing bot is answering one customer. The retrieval stack returned the current invoice, the plan-change ticket, forty older tickets, a twelve-page PDF, similar FAQ pages, and the whole CRM timeline.
The answer lives in the current invoice, the plan-change event, and the billing rule. Similarity hits and the CRM warehouse do not.
Candidates
Task
Current question
The working set is for this job. The user asked why this invoice jumped, not for a biography of the account.
TASK: Explain the August 2026 invoice increase for Acme Co. Success: name the amount, the date of the plan change, and the policy clause. Do not invent discounts.
Rules
Billing rules that govern plan changes
The policy is more authoritative than chat history. Keep the clause that decides the case, not the whole handbook.
RULE: Plan changes bill at the new rate from the change date. Mid-cycle upgrades are not prorated downward. Source: billing-policy.md, “Plan changes,” current as of 2026-04-01.
Evidence
Twelve-page invoice PDF
The PDF is answer-bearing and bulky. Extraction keeps amounts, dates, and line items; the letterhead and payment-stub chrome do not change the answer.
INVOICE-2026-08 | Acme Co | 12 seats × Business $129 = $1,548 | previous July: 12 × Team $49 = $588 | plan changed 2026-08-03 | source: invoice.pdf p.1.
Evidence
Plan-change ticket from August 3
This is the event that explains the jump. It is recent, authoritative, and specific to the question.
TICKET-88421 | 2026-08-03 | owner requested Team → Business for 12 seats, effective immediately | confirmed by billing | source: support ticket.
History
Last forty support tickets
Long residual history is a classic distractor. One related ticket belongs; the other thirty-nine are context rot.
Keep the thread in the helpdesk. Retrieve if the user asks about a different invoice or an older complaint.
Evidence
Similar billing FAQ pages from retrieval
Similarity is a candidate generator, not a packing rule. Pages about failed cards and tax IDs do not decide this invoice.
Leave unmatched retrievals out of the prompt. Log them in the retrieval trace.
Memory
Full CRM account timeline
A warehouse is not a working set. Durable facts can live as one memory line; the rest belongs behind retrieval.
CRM history stays in the billing store. Pull an older invoice only when the question names it.
Output
Output contract
The answer has to be judged. Amounts, dates, and clauses need a shape or they will smear into a sympathetic paragraph.
OUTPUT: amount of the jump, date of the change, policy clause, and a citation for each. If a fact is missing, say so.
Why is `test_invoice_proration` red?
A coding agent has the failing test, the local implementation, the whole repository listing, two hundred chat turns, git blame on unrelated files, and the issue tracker for the billing component.
A coding working set is the failure, the local contract, nearby code, and the output shape. It is not the company’s git history.
Candidates
Task
Current failing test
The job is this failure. The assertion, the expected value, and the stack frame are the decision boundary.
TASK: Make test_invoice_proration pass. Expected: mid-cycle upgrade does not prorate downward. Actual: credit of $41. Recursion through billing/prorate.py:88.
Evidence
Local implementation of prorate()
The model has to see the code that produced the failure. Nearby implementation is answer-critical.
Keep prorate.py and the test module. That is the evidence, not a tour of the monorepo.
Rules
CONTRIBUTING and repo conventions
Only the rule that constrains this patch belongs. A style guide is not a second codebase.
RULE: billing changes need a regression test next to the failure; do not silently change invoice rounding. Source: CONTRIBUTING.md, “Billing.”
Evidence
Entire repository tree listing
A directory dump is unlabeled bulk. It buries the failing file and does not change the assertion.
The tree belongs to the file system. Open a file when the failure or import graph names it.
History
Two hundred turns of session history
History is only useful as decision state. The discarded approaches and the current hypothesis belong; the rest is rot.
STATE: first patch added a credit; tests still fail; current hypothesis is that upgrade paths should skip downward proration. Discarded: changing the test.
Tools
Git blame on unrelated files
A tool result is evidence only if it bears on the failure. Blame on a CSS file does not.
Leave unrelated tool dumps in the trace. They are for the reviewer, not the next generation.
Evidence
Issue-tracker dump for billing
One related issue can be a prior decision. The rest of the component’s tickets are a second distractor haystack.
ISSUE-4419 | 2026-03: downward proration on upgrades was called a bug, then left open. If you keep it, keep that sentence.
Output
Patch and verification contract
The agent needs a shape that can be checked: a patch, the test command, and what would count as done.
OUTPUT: unified diff, the test command, and a one-line note if any nearby test is still red. Do not rewrite the assertion to match the bug.
Can a California contractor expense a laptop?
A policy assistant retrieved the employee handbook, a 2019 labor-law blog post, a 2024 addendum that conflicts with the handbook, and ten similar Q&A pairs.
Conflicts have to be packed as conflicts. A similar answer is not a source, and a blog post is not a statute unless you are actually citing the statute.
Candidates
Task
The exception question
Jurisdiction, worker type, and the thing being expensed are the job. Lose any of them and the answer becomes a generic yes.
TASK: California contractor, laptop expense, today. Success: yes/no, the clause, the date, and the exception if any.
Evidence
Full employee handbook PDF
Question-aware extraction beats generic summarization. Keep equipment and contractor sections; drop holidays and parking.
HANDBOOK §12 Equipment | employees may expense laptops with manager approval | contractors are directed to the contractor addendum | source: handbook.pdf, 2023-01-12.
Evidence
2024 contractor addendum
It is newer and it conflicts. Buried disagreements are how models pick the friendlier clause.
CONFLICT: 2024-06 contractor addendum, §4: contractors supply their own equipment unless a written exception exists. This overrides handbook §12 for contractors.
Evidence
2019 California labor-law blog post
A commentary page is not the statute and not the company’s rule. Low-authority retrieval is how RAG fails in production.
Leave it in the retrieval log. If the user asks what the law says, retrieve a primary source.
Examples
Ten similar Q&A pairs
Most “similar” answers are about employees, other states, or phones. One matching example can be kept; a pile of near-misses teaches the wrong shape.
Unmatched Q&A stays in the help center. Similarity rank is not an inclusion test.
Memory
Stale “we always say yes to laptops” memory
Unverified memory is an inferred preference. Durable memory has to be current, approved, and smaller than a slogan.
Delete or quarantine stale memory. Do not let it outrank the addendum.
Output
Yes/no with clause and date
Policy answers that cannot name a clause cannot be audited. The contract is part of the working set.
OUTPUT: yes or no; clause id; document date; whether a written exception is on file. If sources conflict, show the conflict before the answer.
For this corpus, should we retrieve or stuff the window?
A research assistant is comparing three known papers on RAG versus long context. Retrieval also returned twenty neighboring papers, HTML chrome, author bios, and reference lists.
A known, small bundle can stay in the window. A corpus cannot. Hybrid systems retrieve candidates, then pack a structured working set — they do not paste the library.
Candidates
Task
Comparison job
The decision is about this corpus and this latency budget, not a generic RAG-versus-long-context essay.
TASK: Recommend RAG, long context, or hybrid for a 12k-document, weekly-updating, citation-sensitive corpus. Constraints: answers must name sources; p95 latency budget is tight.
Evidence
The three papers you actually meant to compare
Long context helps when a known bundle must be read together. Even then, pack claims, methods, and limits — not every PDF page — unless the job is close reading of a passage.
PAPER CARDS: Lewis et al. 2020 (RAG formulation); Li et al. 2024 (RAG vs long-context, hybrid); Du et al. 2025 (length can hurt even with perfect retrieval). Keep claims, setup, and stated limits.
Evidence
Twenty neighboring papers from the same query
The haystack is not the bundle. Extra papers bury the three you named and recreate the lost-in-the-middle problem on purpose.
Neighbors stay in the index. Cite them if the user expands the question.
Evidence
HTML chrome, author bios, download buttons
Page furniture is tokens that cannot change the recommendation. It is noise with provenance theater.
Chrome belongs to the browser. The working set should look like a brief.
Evidence
Full reference lists from each PDF
A reference list is a catalog, not evidence for this decision. It recreates dumping one level down.
Reference lists stay with the PDFs.
Rules
Placement rule for the comparison table
Models often use information better at the start or end than in the middle. The table is the answer-critical object; do not bury it in related work.
PRIORITY: put the comparison table and the corpus constraints first or last. Do not hide the decision in a literature review.
Output
Recommendation table with citations
A recommendation without a table is a vibe. The contract makes RAG / long-context / hybrid a checkable claim.
OUTPUT: table with columns for approach, when it fits this corpus, stated limits from the papers, and citations. End with one recommendation and the uncertainty.
Three moves, not a bigger suitcase
Context engineering is the craft of building the information environment around a model. Anthropic’s engineering guide calls it “curating and maintaining the optimal set of tokens” during inference. The Packing List turns that sentence into a desk. Every candidate is either necessary now, compressible to a labeled span, or better left in retrieval.
"curating and maintaining the optimal set of tokens"
Keep is for material that would change the answer if it were missing: the task, the governing rule, the event, the failing test, the conflicting addendum, the output contract. Compress is for answer-bearing bulk — invoices, handbooks, transcripts, PDFs — where the facts survive as spans with source, date, and role. Drop is not deletion. It is a placement: the CRM timeline, the unmatched FAQ, the publisher navbar, and the other thirty-nine tickets belong in a store until a later question names them.
Why dumping fails even when the fact is in there
Teams dump because the window looks large enough. Capacity is not the same as use. Chroma’s context-rot report names the practical pattern: as prompts get longer, performance can become inconsistent or worse. Du et al. report substantial drops on studied tasks as input length increases, even when all relevant evidence is present. Packing is how you refuse to test that the hard way on a customer invoice.
Compression is not a license to smear. LLMLingua and LongLLMLingua study prompt compression with reported high ratios on the tasks they measured; they are not a promise that your billing clause will survive a generic summary. Extract amounts, dates, exceptions, and provenance. If a 2024 addendum conflicts with a 2023 handbook, pack the conflict. A smooth paragraph is a lost blocker.
RAG or long context is a packing question
Retrieval-augmented generation, as Lewis et al. formulated it, is a way to keep a corpus outside the window and select at need. Long context is useful when a known bundle must be compared in one pass. Li et al. argue for hybrid systems that use both. The paper-comparison job on this desk is that choice without a slogan: keep the three papers you meant, compress them to cards, drop the twenty neighbors and the HTML chrome.
Self-RAG’s lesson for packing is the same as the invoice job: do not retrieve a fixed pile because the pipeline has a top_k. Adaptive retrieval is a packing policy. MemGPT’s lesson is the CRM line: durable facts can live in a slower store with a pointer in the working set. Barnett et al. documented how RAG systems fail in operation when validation only happens after the dump is already in the prompt. Pack before generation.
This site is model-neutral on purpose. It complements claudecontext.com, which is Claude-specific. Do not take vendor context-window numbers from that site and paste them here as if they were a packing rule. Advertised length is not usable length. The desk cares what you selected.
FAQ
How do I decide what goes in the context window?
Keep the current task, the rules that constrain it, the evidence that would change the answer, and the output contract. Compress bulk that still holds those facts into labeled spans with provenance. Drop unlabeled dumps, duplicate retrievals, stale history, and anything that belongs in a store. The Packing List is a desk for that keep / compress / drop decision.
What is context engineering?
Context engineering is the design of the information environment around an LLM at inference: task, instructions, retrieved evidence, memory, tool results, examples, constraints, and output contracts. It is broader than prompt wording. Curation is the selection step inside it.
Is RAG or long context better?
Neither is a default. RAG is a selection architecture for large, changing, permissioned, or citation-sensitive corpora. Long context is capacity for a known bundle that must be read together. Hybrid pipelines retrieve candidates, rerank them, compress answer-bearing spans, and assemble a structured working set. The paper-comparison job on this desk is that fork in miniature.
How do I stop the model from ignoring context?
Stop packing a haystack. Models often use information better at the start or end than in the middle, and longer inputs can degrade performance even when the right evidence is present. Put answer-critical material in a labeled working set, say when sources conflict, and leave the rest in retrieval.
Does The Packing List use Claude context-window sizes?
No. This desk is model-neutral and does not copy vendor window numbers. Advertised context length is not the same as usable context; see the RULER paper on this site’s sources. For Claude-specific context-window behavior, use claudecontext.com and cite it there.
How is this different from the Context Packer?
The Packing List decides what belongs: keep, compress, or drop. The Context Packer is a token-budget bar for system, history, evidence, examples, memory, and reserved output after you already know what you are packing. Use this desk first.
Cite This Page
Curated Context. "The Packing List." Accessed July 12, 2026. https://curatedcontext.com/packing-list/