# Label intent check - does a title carry its own meaning?

A label (rule title, section header, principle/constraint name) is the handle a reader grasps *before* the body. If the handle leaks the wrong shape - ambiguous, one-sided, or off-topic - the reader forms the wrong model and the body has to fight it. This is a cheap test that catches that early: have **fresh subagents infer the rule from the label alone**, then compare against your intended meaning. Convergence = the label is self-carrying.

## When to run it
- Naming a **strict rule** or constraint inside a skill (the kind a reader must obey).
- A **section header** that gates non-trivial content (phase/principle/constraint names).
- Any label meant to convey the **whole intent** of its body (not a summary - the intent).
- Skip it for purely organizational labels ("Examples", "See also") - they carry no intent.

## Inputs (collect first)
1. **Candidate label** - the exact string under test.
2. **Surrounding context** - one paragraph: which skill/doc, what adjacent labels cover, the domain concepts in play.
3. **Intended meaning** - 1-3 sentences of ground truth (what the body says / what the reader should walk away believing). **Not** shown to the inference agents. If you can't state it in 3 sentences, the body is unclear - fix that first.

## Procedure
**One iteration = 5 parallel subagents**, each given ONLY the label + context (never the body), each forced to commit:
```
Context: <surrounding context - 1 paragraph>.
The label under test is: **"<candidate label>"**
You have NOT seen the body. From ONLY this label + context, what do you infer it
enforces / requires / means? 1-2 concrete sentences, under 80 words. Commit - no
hedging, no clarifying questions.
```
Launch all 5 in the **same** message (parallel) so they're independent by construction.

**Convergence (per iteration), comparing the 5 inferences to the intended meaning:**
- **PASS** - ≥4/5 cover *all* key intent beats (including the bidirectional / edge / scope beat, if the intent has one). Wording drift is fine.
- **PARTIAL** - they consistently catch one side of a bidirectional rule but miss the other, or over-extend into an adjacent concern. Revise the label, re-run.
- **FAIL** - inferences diverge wildly or miss the core beat. Revise, re-run.

**Idempotency (after a PASS):** run **2 more rounds**, 5 fresh agents each (3×5 = 15 inferences), same prompt. Require **all 3 rounds PASS** with no new systematic miss - confirms the PASS wasn't luck. A regression in round 2/3 → treat as PARTIAL and iterate.

**Termination:** converged (3/3 PASS) → apply the label. 3 iterations without a PASS → stop, hand back the best candidate + the persistent miss; don't force a label that won't stick.

## Defaults
5 agents/round · 3 rounds · 80-word inference cap · max 3 iterations before handing back. High-stakes labels (top-level skill names, protocol names) → 7 agents × 3 rounds; throwaway section headers → 3 × 2.

## Anti-patterns
- **Giving agents the body** - defeats the test (you're checking the label's *self-carrying* power).
- **Running sequentially** - they'd anchor on each other; must be parallel.
- **Tweaking one word on a FAIL** - step back and rethink the concept the label names, don't polish a wrong handle.
- **Accepting "mostly right"** - a label that reliably misses a beat misleads every reader the same way. Fix it, or accept the rule is one-sided and split the body.
