# Dose — operating guide

> Companion to [Plasticity](/docs/plasticity.md). Raw Markdown:
> [/docs/dose.md](/docs/dose.md) · rendered: [/docs/dose](/docs/dose)

**In founder terms:** dose is how hard you are willing to push one run when the
brain already holds both halves of a gap — from a careful Trace check to a rare
Heroic challenge of settled ground. Higher is not always better.

**Dose** is how much precision Bloom is allowed to relax for one run. Enum
values are the API contract; labels are presentation-only. No dose is named
after an operator (there is no "Bloom dose" — Bloom is the operator).

Dose behaves like an annealing temperature band: higher dose raises the chance
that structure-changing moves survive Peak long enough to be judged at Return.
That claim is motivated and still under calibration — operate the ladder as
shipped; do not invent pharmacology.

## The ladder (API ↔ presentation ↔ entitlement)

| API `dose` | Label | Precision tier | Entitlement ceiling | Pairs (approx.) | Est. cost |
| -- | -- | -- | -- | -- | -- |
| `trace` | Trace | `t1` | Spore | 3 | ~$0.80 |
| `micro` | Micro | `t2` | Sprout | 6 | ~$1.50 |
| `standard` | Standard | `t3` | Flush | 10 | ~$3.00 |
| `deep` | Deep | `t4` | Bloom* | 15 | ~$5.50 |
| `heroic` | Heroic | `t5` | Fruit / Wildfire (`t5`/`t6`) | 20 | ~$9.00 |

\*Botanical entitlement names (Spore → Wildfire) appear on plan/admin surfaces.
The Lens Console and MCP tools use Trace → Heroic. `t6` (Wildfire) is an
entitlement ceiling that covers Heroic; the API dose enum remains `heroic`.

Default when Standard is unlocked: **standard**. Otherwise the highest unlocked
dose below Standard, or Standard when available.

## What each dose releases

Each step states what loses authority — not what is deleted. Precision
relaxation re-serializes the bundle; the store is untouched.

### Trace (`t1`)
- **Releases:** Facts, with their dates foregrounded — not as timeless truth.
- **Relaxes:** Provenance dates emphasised; lower structure stays intact.
- **Use when:** First run, calibration, or a narrow factual conflict.

### Micro (`t2`)
- **Releases:** Glossary certainty — _(confirm)_ / settled distinctions drop.
- **Relaxes:** Glossary confirmation markers are withheld.
- **Use when:** Language is load-bearing and you suspect false synonyms.

### Standard (`t3`)
- **Releases:** Doctrine authority — confidence tags and rule ids withheld.
- **Relaxes:** `battle-tested` and `hypothesis` arrive indistinguishable; gold
  examples withheld.
- **Use when:** Default working dose. Most intentions belong here.

### Deep (`t4`) — confirm required
- **Releases:** Settled decisions, re-derived from their own evidence.
- **Relaxes:** Load order scrambled; duty 3 inverted — decisions become
  hypotheses with provenance.
- **Use when:** Two settled rulings may conflict and the founder accepts a
  sitter review.
- **Confirm copy names the relaxation.** A sitter will review the run.

### Heroic (`t5`) — confirm required + charter warning
- **Releases:** The charter itself, served as one artifact among many.
- **Relaxes:** Charter may be questioned. Only a human may accept. Output is
  never auto-committed.
- **Use when:** The founder deliberately opens the anti-wireheading boundary.
  The charter defines what counts as evidence; an optimizer that can edit its
  own loss function has a trivial minimum — therefore humans alone accept.

## When to use which

| Situation | Dose |
| -- | -- |
| First Bloom / learning the console | `trace` or `micro` |
| Ordinary structural question | `standard` |
| Suspected conflict between settled decisions | `deep` (confirm) |
| Charter-level challenge, founder present | `heroic` (confirm) |
| Intention is motivated / already decided | **none** — fix the intention |
| Eligibility gate fails | **none** — wait; let Mycelium work |
| Exploring cost/pairs only | `plan_run` at any unlocked dose (free) |

Always `plan_run` before `start_run`. Planning is free (no model call) and shows
the actual sampled pairs, lenses excluded by tier, cost estimate, and
eligibility verdict.

## Tolerance and eligibility

Running Bloom back-to-back does approximately nothing once the structural-hole
candidate pool is depleted. Eligibility is computed, not vibes:

```
eligible ⟺ Δnodes since last Bloom ≥ τ₁
         ∧ Δsingletons resolved by Mycelium ≥ τ₂
         ∧ candidate pool churn ≥ τ₃
```

- Evaluated inside `plan_run` and surfaced with a plain-language reason plus a
  "ready on approximately {date}" estimate when blocked.
- **The product refuses to sell a run that will not work.** That is intentional.
  Mycelium's continuous work is what earns the next Bloom.
- Thresholds are configurable; overrides for testing are logged and marked.
- Also required: Plasticity entitlement (`features.bloom`), dose ≤
  `features.max_dose`, and a non-motivated intention.

Agents: if `nudges.plasticity` says not eligible, tell the founder why and what
Mycelium still needs to do. Do not start a run to "see what happens."

## Confirmations and human gates

- Doses above the tenant ceiling stay **visible but locked** — seeing the
  ceiling is the upsell.
- `deep` and `heroic` require explicit confirmation naming what is relaxed.
- Heroic proposals never auto-commit; charter acceptance is human-only.
- Abort ends the run now; sandbox stays for audit; nothing integrates.

## Related guides

- [Plasticity](/docs/plasticity.md) — operators, six phases, containment
- [Lenses](/docs/lenses.md) — tier-gated lenses and tuning
- [Resource index](/llms.txt)

## Derivation (optional)

Dose-as-temperature, adaptive bands, and the eligibility thresholds are
specified in the plasticity formal spine (`plasticity-build-spec` §3) and
governed by ADR 0018 (precision relaxation). Search the Company Brain for those
names when you need the math; this page is the operating contract an agent can
execute without it.
