The three depth modes —Documentation Index
Fetch the complete documentation index at: https://mintlify.com/xxyoudeadpunkxx/a.d.a.m.-adaptive-depth-and-mode/llms.txt
Use this file to discover all available pages before exploring further.
LOW, MID, and DEEP — are the core output contract of A.D.A.M. While the protocol is ACTIVE, every non-strict reply begins with a MODE tag on the very first line. That tag is not decorative: it is a binding declaration of exactly what kind of answer you are getting — how much structure to expect, whether assumptions will be stated, and whether an AUDIT footer will appear. You always know the depth before you read a single word of the response body.
Mode overview
| Mode tag | Meaning | When used |
|---|---|---|
MODE: LOW | Fast, minimal, direct. No structure overhead. | Factoids, brief definitions, trivial calculations, banter. |
MODE: MID | Default rigorous mode. Compact structure only when it improves correctness. | Explanations, evaluations, moderate comparisons. |
MODE: MID -> POSSIBLE DEEP | Structural kernel detected a DEEP_CANDIDATE. DEEP is offered but not yet entered. | Messages with 2+ options + numeric/criteria signals, or steps/timelines. |
MODE: DEEP | Full decision support — explicit assumptions, comparisons, failure modes, stress tests. AUDIT always ON. | Complex decisions, entered via explicit yes to gating or manual override DEEP. |
MODE: LOW
LOW is fast, minimal, and direct. There is no needless structure. No follow-up question is appended unless it would materially change the answer. Use it — or let auto-routing select it — when the request is a factoid, a brief definition, a trivial calculation, a micro-procedure, or casual banter.
Example exchange:
MODE: MID
MID is the default rigorous mode. It adds compact structure — headers, bullets, short tables — only when doing so improves correctness or decision quality. If the message has no structural complexity, MID replies stay lean and prose-forward.
Comparison mini-table (MINI_TABLE_TRIGGER)
When the structural kernel firesMINI_TABLE_TRIGGER — that is, when a message contains 3+ option blocks, or 2+ option blocks combined with a numeric constraint or 3+ criteria bullets — a MID reply includes:
- A compact comparison mini-table covering the options.
- A short “when to use what” conclusion that maps each option to its best-fit scenario.
DEEP pass.
Example exchange:
MODE: MID -> POSSIBLE DEEP
When the structural kernel detects aDEEP_CANDIDATE — a message that combines structural breadth (2+ options, steps/timeline, or 3+ inline alternatives) with constraint depth (a number, 3+ criteria, or a retrograde condition after a prior COMMIT) — the reply enters MODE: MID -> POSSIBLE DEEP.
This state means:
- A useful
MID-level answer is delivered right now — you never leave empty-handed. - The protocol has detected that a full
DEEPpass would add meaningful value. - Consent is required before entering
DEEP; the protocol does not assume you want the longer version.
Automatic structural classification overlay
Immediately after theMODE: MID -> POSSIBLE DEEP tag, an automatic structural classification overlay appears as a TRACE INPUT: line. This overlay shows which structural primitives triggered the routing decision as short chips — for example [confronto tra opzioni] (options), [vincoli da rispettare] (criteria), [numeri, date o limiti] (numbers). The chips are structural classifiers only; they describe input shape, not input content.
Gating line
The final line of aMODE: MID -> POSSIBLE DEEP reply is always exactly:
yes to enter DEEP, no (or anything else) to stay in MID.
Example exchange:
MODE: DEEP
DEEP is full decision support. It is always entered deliberately — either by replying yes to a POSSIBLE DEEP gating question, or by starting a message with the manual override token DEEP.
In DEEP mode:
- Explicit assumptions are stated.
- Comparisons, failure modes, and stress tests are included where relevant.
- AUDIT is always ON — every
DEEPreply ends with a strict 4-line AUDIT footer (see Output Contract). - Sparse Local Provenance (C5 signals) may appear on eligible top-level blocks:
infer,infer [pending],depends: <premise>,depends: <premise> [pending]. These signals are local and visibility-bounded — they document inferential bridges and unresolved premises explicitly written in the block, not confidence ranks.
DEEP is recomputed per message like every other mode — prior DEEP mode does not carry forward automatically. If DEEP is needed again next turn, use the manual override DEEP or trigger a new POSSIBLE DEEP flow.
Mode selection priority
The following priority order governs which mode is active for any given reply:Manual override wins
If the first token of your message is exactly
LOW, MID, or DEEP followed by a space or end-of-message, that mode is forced for the reply. Manual override always beats structural routing.Structural kernel routes
If no manual override is present, the structural kernel (section S of the spec) computes mode from message shape.
DEEP_CANDIDATE → MID -> POSSIBLE DEEP. AUTO_LIGHT signals → LOW. Everything else → MID.No inertia
Mode is recomputed on every message. The previous mode never justifies staying inDEEP or LOW. There is no session-wide mode lock.
One-turn exception: A message with no whitespace that ends in ? inherits the previous exact LOW, MID, or DEEP for one turn only. MODE: MID -> POSSIBLE DEEP is never inherited.
The
MODE tag is not cosmetic — it is part of the strict output contract. Every non-strict normal reply while ACTIVE must begin with a valid mode tag. If the host prevents correct mode tagging, the protocol must output ADAM_UNSUPPORTED rather than approximate or omit the tag. A reply without a valid mode tag on line one is not a valid A.D.A.M. output.