A.D.A.M. does not route by keywords, tone, or perceived stakes. The structural kernel (section S of the spec) is the single source of truth for routing, audit triggering, and DEEP gating. It reads only the shape of the current user message — whether option blocks, step lists, criteria bullets, and numeric constraints are present — and derives a set of structural booleans that feed directly into the four kernel mappings. Wording, intent, and emotional weight are irrelevant to the kernel.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.
Structural primitives
The kernel operates on a small vocabulary of message shapes. All detection is line-start based.Line-start
The first non-whitespace character of a line. All structural detection anchors here — indented text does not count as a line-start item.
Criteria item
A line whose first non-whitespace character is
- or *, excluding lines that qualify as option blocks or step blocks.Option block
A line starting with
A) / B) / C) / … or 1) / 2) / 3) / … (letter or digit followed immediately by a closing parenthesis).Step block
A line starting with
1. / 2. / 3. / … (digit followed immediately by a period).Structural booleans
On each user message, the kernel computes a fresh set of boolean flags. They do not persist across turns except where a mapping explicitly depends on prior state (prev_commit for NEW_CONSTRAINTS_AFTER_COMMIT).
| Boolean | True when |
|---|---|
HAS_NUM | 2+ digits, OR a digit range (1-2), OR a comparator with any digit (>=5), OR a percent with any digit (5%). Dates count. |
HAS_2PLUS_OPTIONS | At least 2 line-start option blocks. |
HAS_3PLUS_OPTIONS | At least 3 line-start option blocks. |
HAS_3PLUS_CRITERIA | At least 3 criteria items, OR at least 2 semicolons in one message. |
HAS_STEPS_OR_TIMELINE | At least 3 line-start step blocks, OR at least 2 date/time patterns (YYYY-MM-DD, HH:MM). |
HAS_INLINE_3PLUS_ALTS_PARENS | At least 3 inline parenthetical alternatives (approximate gate: ≥3 (, ≥3 ), ≥2 ),). |
STRUCTURED_LIST_MARKERS | Any criteria item OR option block OR step block exists in the message. |
NEW_CONSTRAINTS_AFTER_COMMIT | prev_commit = true AND (HAS_NUM OR HAS_3PLUS_CRITERIA OR STRUCTURED_LIST_MARKERS). |
prev_commit | Runtime input: true if the immediately previous assistant reply contained an explicit COMMIT; false if that reply is visible and contained none. Never inferred when the previous reply is unavailable or ambiguous. |
Normative examples
| Input | Boolean | Value |
|---|---|---|
v10 | HAS_NUM | true |
v2 | HAS_NUM | false |
1-2 | HAS_NUM | true |
>=5 | HAS_NUM | true |
5% | HAS_NUM | true |
A (10), B (20), C (30) | HAS_INLINE_3PLUS_ALTS_PARENS | true |
A (10), B (20) | HAS_INLINE_3PLUS_ALTS_PARENS | false |
line-start A) + line-start B) | HAS_2PLUS_OPTIONS | true |
| bullets only | HAS_2PLUS_OPTIONS | false |
line-start 1) + 2) + 3) | HAS_3PLUS_OPTIONS | true |
line-start 1) + 2) only | HAS_3PLUS_OPTIONS | false |
line-start 1. + 2. + 3. | HAS_STEPS_OR_TIMELINE | true |
line-start 1. + 2. only | HAS_STEPS_OR_TIMELINE | false |
2026-03-05 alone | HAS_STEPS_OR_TIMELINE | false |
2026-03-05 14:30 plus another date/time | HAS_STEPS_OR_TIMELINE | true |
| 3 criteria bullets | HAS_3PLUS_CRITERIA | true |
| 2 criteria bullets | HAS_3PLUS_CRITERIA | false |
A; B; C | HAS_3PLUS_CRITERIA | true |
A; B | HAS_3PLUS_CRITERIA | false |
Kernel mappings
The four derived signals are computed from the booleans above. These are the direct inputs to routing, audit, and gating decisions.MINI_TABLE_TRIGGER
Fires when:
HAS_3PLUS_OPTIONS is true, OR (HAS_2PLUS_OPTIONS AND (HAS_NUM OR HAS_3PLUS_CRITERIA)) is true.Effect: In MODE: MID, include a compact comparison mini-table and a short “when to use what” conclusion.RETROGRADE_HARD
Fires when:
NEW_CONSTRAINTS_AFTER_COMMIT is true — that is, new structural constraints appear after an explicit COMMIT in the previous assistant reply.Effect: The prior COMMIT is explicitly invalidated (not silently revised). Overlay state resets to EXPLORE.DEEP_CANDIDATE
Fires when: (
HAS_2PLUS_OPTIONS OR HAS_STEPS_OR_TIMELINE OR HAS_INLINE_3PLUS_ALTS_PARENS) AND (HAS_NUM OR HAS_3PLUS_CRITERIA OR RETROGRADE_HARD).Effect: Routes to MODE: MID -> POSSIBLE DEEP unless manual override is active.AUDIT_ON
Fires when:
MODE==DEEP, OR DEEP_CANDIDATE, OR RETROGRADE_HARD, OR (STATE is DECIDE or VERIFY AND (HAS_2PLUS_OPTIONS OR HAS_STEPS_OR_TIMELINE OR HAS_NUM OR HAS_3PLUS_CRITERIA)).Effect: A strict 4-line AUDIT footer is appended to the reply.Why structure beats wording
The structural kernel is intentionally blind to wording. A message can describe a life-changing decision in plain prose and the kernel will route it toMID. A message with three option blocks and a budget number will trigger DEEP_CANDIDATE regardless of how casual it sounds.
This is by design:
- Structural signals are objective — the kernel counts characters and line positions, not meaning.
- Semantic interpretation is error-prone — “high-stakes” is in the eye of the reader.
- You control escalation — if a message is semantically complex but structurally simple, use the manual override
DEEPto enter decision support directly.
Commas, slashes, and backslashes
Commas, slashes (
/), and backslashes (\) are not structural triggers. They do not contribute to any boolean, and they do not fire MINI_TABLE_TRIGGER, DEEP_CANDIDATE, or AUDIT_ON. A message written as option A / option B / option C is structurally a plain prose line.Retrograde invalidation
RETROGRADE_HARD fires when new structural constraints appear after an explicit COMMIT. A COMMIT is any prior assistant reply that contained an explicit recommendation, selection, or actionable conclusion — for example I recommend Option B. Do X then Y.
When RETROGRADE_HARD is true:
- The prior COMMIT is explicitly stated as no longer valid — it is never silently revised.
- The reply states what changed and why the prior conclusion no longer holds.
- The overlay state resets to
EXPLORE.
Before and after: structural routing in practice
Structurally simple messageHAS_NUM: falseHAS_2PLUS_OPTIONS: falseHAS_3PLUS_CRITERIA: falseDEEP_CANDIDATE: false- Routing: AUTO →
MODE: MID(explanation request, moderate evaluation)
Structurally complex message
HAS_NUM: true ($200,6)HAS_3PLUS_OPTIONS: true (3 line-start option blocks)HAS_3PLUS_CRITERIA: true (3 criteria bullets)MINI_TABLE_TRIGGER: trueDEEP_CANDIDATE: true- Routing:
MODE: MID -> POSSIBLE DEEPwith structural overlay and gating question