FeatureContext Packs
Your agent sees what the task declares. Nothing else gets in.
Last updated:
The selection rule
An approved list, not a search result
| Candidate | In the pack? | Why |
|---|---|---|
| A file the mission declares | Yes | It is the declared scope of this task, and the pack is built from that declaration. |
| A closely related file nobody declared | No | There is no relevance search. If it matters, you add it to the mission and it is in the next pack. |
| A file outside the project root | No | Refused outright, whatever the mission says. |
| .env | No | Always refused, and the refusal cannot be overridden. |
| A credential inside an included file | Redacted | Scrubbing runs while the pack is built, before the prompt exists. Marking the item must-keep does not bypass it. |
The order of operations is the part worth keeping. Scrubbing happens while the pack is assembled, not on the way out, so a credential never reaches the rendered prompt, the export or the file you paste somewhere else.
The budget
Every number says how it was produced
context-pack/item-04
Example – illustrative, not real run dataitem src/checkout/validation.py source declared in mission.yaml (allowed_files) tokens 1,284 (estimated) redacted 1 match: api key pattern -> [REDACTED] status must-keep
You will not find a token-savings percentage anywhere on this site. The measurement behind such a number does not exist in a rerunnable form in the product, so publishing one would be inventing it.
By design
What the pack refuses, and why that is the feature
What you get
- Assemble context strictly from what the mission already declares.
- Refuse anything outside the project root, and refuse .env in every case.
- Redact credentials recursively while the pack is built, before rendering, export or sending.
- Allocate a token budget deterministically, protecting must-keep items and reserving output tokens.
- Answer questions about the current project through a local read-only server that writes nothing and makes no network call.
What it is not
- Discover relevant files. There is no retrieval, no embedding and no similarity search.
- Detect every secret. The pattern list is fixed, and an audit found a truncated PEM block and a short JWT it missed.
- Report provider-measured token counts by default. The standard count is an estimate and is labelled as one.
- Offer a complete server surface. Four of the read-only server's declared tools are implemented; the rest answer that they are not.
- Claim a token saving, a cost reduction or a benchmark figure of any kind.
What the pack is built from is decided in the mission contract, and where the code itself is mapped is covered on the CodeGraph page.
Questions people actually ask
- What is a context pack?
- The bounded set of material a coding tool is given for one task: the files the mission declares, assembled in a fixed order, with credentials removed and every item counted against a budget. It is built before the prompt exists rather than filtered on the way out.
- Does Reality Graph find the relevant files for me?
- No, and that is the trade this design makes. The pack contains what the mission already declares, so nothing arrives because a similarity score liked it. In managed mode the mission itself is proposed from your sentence, so you are correcting a list rather than writing one from an empty file.
- Can a secret still end up in the pack?
- It can. Scrubbing runs against a fixed pattern list, which is not complete detection: an audit of the shipping code found a truncated PEM block and a short JWT that were not matched. What is certain is that .env is always refused and that marking an item must-keep does not bypass redaction.
- Are the token counts exact?
- Each number says how it was produced. The default count is an estimate rather than a provider-measured figure, and it is labelled that way in the output. Allocation itself is deterministic: must-keep items are protected and output tokens are reserved before anything else is spent.
Look at what your agent was actually handed last week
If you cannot reconstruct it, that is the gap. A pack is a list you approved, and it stays readable after the run.