> ## Documentation Index
> Fetch the complete documentation index at: https://tashfiq.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AE-CTX-006

> Agent instructions should be concise and declarative — stacked emphatic directives degrade adherence.

**Rule ID:** AE-CTX-006 · **Severity:** <Badge color="gray">Informational</Badge> · **Category:** Context · **Auto-fixable:** No

<Info>
  AE-CTX-006 is informational — it does not deduct points or affect your Charter score. It surfaces so you can review instruction density before it quietly degrades agent behavior.
</Info>

## Why this rule

Agents that receive a high density of emphatic directives show measurably reduced instruction adherence. When every sentence opens with `IMPORTANT:` or `NEVER`, the signal-to-noise ratio collapses — nothing stands out as genuinely exceptional, so the agent discounts them all equally.

Declarative phrasing transfers more reliably: "Tests run with `go test`. No silent mutation." is easier for an agent to act on than a paragraph of stacked imperatives saying the same thing louder.

## What triggers it

Charter counts emphatic directive words in the context file — `IMPORTANT`, `NEVER`, `MUST`, `ALWAYS`, `CRITICAL`, `WARNING`, and similar — and computes a density relative to word count. The finding fires when density exceeds roughly **15 per 1,000 words**.

The finding reports the exact count and density so you can judge how far over the threshold the file sits.

## Examples

<Tabs>
  <Tab title="High density (finding fires)">
    ```markdown AGENTS.md theme={null}
    IMPORTANT: Always run tests before committing.
    NEVER edit files outside src/.
    CRITICAL: Do not delete user data.
    IMPORTANT: Use the project's formatter.
    NEVER commit directly to main.
    MUST use conventional commits.
    CRITICAL: Check the .env example before adding env vars.
    IMPORTANT: Keep functions under 50 lines.
    ```

    ```
    # 8 emphatic words in ~60 words = ~133 per 1,000 — well above threshold
    ```
  </Tab>

  <Tab title="Selective use (passes)">
    ```markdown AGENTS.md theme={null}
    Tests run with `moon run :test`. Verification: `moon run :check`.

    Off-limits: .env*, secrets/, signing keys.

    ## Hard constraints
    - NEVER delete user files — this is the one constraint that cannot be undone.
    - No LLM calls in core.
    - Fail fast. No speculative refactors.
    ```

    ```
    # 1 emphatic word in ~50 words = ~20 per 1,000
    # Borderline but the single NEVER is genuinely exceptional — passes with a nudge
    ```
  </Tab>
</Tabs>

## How to fix

Review the context file for stacked imperatives and convert routine guidance to plain declarative sentences.

<Steps>
  <Step title="Replace imperative stacks with declarative sentences">
    Instead of `IMPORTANT: Always run tests before committing`, write `Run tests before committing` or just list the verification command. The instruction is the same; the emphatic wrapper adds no information.
  </Step>

  <Step title="Reserve emphatic words for genuine exceptions">
    Keep `NEVER` and `CRITICAL` for constraints where a violation would cause real, hard-to-reverse harm — deleting user data, committing credentials, bypassing security controls. Use them for one or two things, not for every routine convention.
  </Step>

  <Step title="Rewrite as structured sections">
    A short "Hard constraints" section with three plain bullet points is more scannable — and more adherence-inducing — than ten `IMPORTANT:` lines scattered through the file.
  </Step>
</Steps>

## Score impact

Informational (0 points deducted). The finding surfaces in [`charter explain`](/cli/explain) and `charter doctor` output and re-surfaces on each run, but does not affect the numeric [score](/docs/concepts/scoring-and-caps) or engage any cap.

## Edge cases

This rule only fires when a context file exists. A missing context file is AE-CTX-001's concern, not AE-CTX-006's.

## Related rules

<CardGroup cols={2}>
  <Card title="AE-CTX-001" icon="file-text" href="/rules/AE-CTX-001">
    Context file must exist and be within budget.
  </Card>

  <Card title="AE-CTX-002" icon="file-text" href="/rules/AE-CTX-002">
    Context file must match repo reality.
  </Card>
</CardGroup>

## CLI

```bash theme={null}
charter explain AE-CTX-006
```
