Saturation Sweep
Seed question: What hasn't the sweep reached yet?
Relentless self-reflexive dialectical thinking that questions its own premises.
Core Principle
Vertical investigation digs where the story is; horizontal investigation asks
where else the story could be. Both are needed, but only the second can say
when searching is DONE: saturation is a measurement (novelty per wave), not a
feeling of completeness — the feeling arrives long before the coverage does.
The anti-pattern this counters:
❌ Searching until a coherent narrative forms, then stopping
❌ "I did several searches" with no record of which axes they covered
❌ Coverage claims that cannot name what was NOT reached
The pattern this enforces:
✅ Declare the branching axes BEFORE sweeping
✅ Sweep in waves; ledger the novelty of each wave
✅ Stop on the rule, not the feeling — and report where the sweep stayed thin
When This Applies
TRIGGER:
- The completeness question, asked or implied: "How do we know we're done?",
"What are we missing?", "Have we covered everything?", "Is that the whole story?"
- An investigation has produced one coherent narrative and is about to close on
it — the vertical story satisfies, but nobody has asked where else it could live.
- Coverage across actors, intermediaries, regions, jurisdictions, language-publics,
or time periods matters as much as depth on any single thread.
- Designing or running a multi-agent sweep (waves of blind workers over branching axes).
- A claim of thoroughness needs to be auditable — a ledger someone else can check —
not asserted from a feeling of having looked enough.
DO NOT TRIGGER:
- Single-fact lookups or quick answers (a definition, a date, a capital city) — no
coverage question is in play.
- A vertical deep-dive on one already-found thread or one named document — that is
deep-investigation-protocol, not breadth.
- Verifying a specific found claim rather than mapping breadth — that is
iterative-verification.
The Sweep
- Declare axes. Before wave 1, list the branching axes for THIS
investigation. Standard set (extend, don't shrink): who-else (actors,
intermediaries, beneficiaries) · where-else (regions, jurisdictions,
language-publics) · when-else (earlier precedents, later echoes) ·
who-benefits-elsewhere (adjacent markets/policy areas). An axis declared
and skipped must appear in the thin-slot; an axis never declared is
invisible — that is why declaration comes first.
- Wave. One pass across all declared axes (queries or agents — see
assets/agent-prompts.md for the multi-agent recipe). New material is
logged per axis.
- Ledger. After each wave, fill one ledger row (format below). Novelty =
new entities + new claims, as a share of the running total.
- Stop rule. Stop when a wave's novelty is under ~10%, OR two consecutive
waves move no verdict in the per-claim table. Both conditions are
measurements against the ledger — cite the rows when declaring saturation.
- Report the thin spots. Mandatory, honest: where did the sweep stay thin
(axes shallowly covered, languages not searched, platforms unreachable),
why, and what could hide there.
Novelty Ledger (format)
| Wave |
Axes swept (queries/agents per axis) |
New entities |
New claims |
Verdicts moved |
Novelty % |
Mandatory Output Slots
| Slot |
Contents |
Invalid when |
| Axes declared |
The branching axes, declared before wave 1 |
Declared retroactively; or fewer than the standard set without a stated reason |
| Novelty ledger |
One row per wave, all columns filled |
Missing waves; novelty asserted without counts |
| Stop-rule verdict |
Which stop condition fired, citing ledger rows |
"Felt complete"; stopping without a fired condition and without saying so |
| Where the sweep stayed thin |
Axes/languages/platforms under-covered, why, what could hide there |
Empty; "nowhere"; only unreachable-by-anyone items listed |
Relationship to Verification
The sweep finds; it does not verify. Claims enter the investigation at the
tier the evidence supports, [RELAY]-tagged when they arrive through agent
summaries (Principle P1 (relayed-is-not-read)). Saturation of a false story is
saturation of a false story — run iterative-verification on what the sweep
returns.
Cross-References
- research hub — the profile's saturation threshold defaults to this stop
rule; report template's Metadata & limits section consumes the thin-slot
- investigation-orchestrator agent — deploys waves as agent teams using
assets/agent-prompts.md
- iterative-verification — verification of what the sweep returns
- ground-level-triangulation — the where-else axis specialized to
language-publics with independent stakes
Vasana
A vasana is a pattern that persists across unrelated contexts. If during
this task you notice such a pattern emerging, it may be worth capturing.
This skill works best alongside the vasana skill and vasana hook
from the Vasana System plugin.
Modify freely. Keep this section intact.
1---2name: saturation-sweep3description: "What hasn't the sweep reached yet?" - Horizontal iteration in waves over declared branching axes (who else, where else, when else, who benefits elsewhere), with a novelty ledger per wave and a measured stop rule. Use when (1) an investigation risks stopping at the first coherent story, (2) "done searching" must be demonstrable rather than felt, (3) coverage across actors/regions/periods matters as much as depth, (4) designing multi-agent sweep waves. Stop when a wave adds under ~10% new material, or two consecutive waves move no verdict. Does NOT trigger for: single-fact lookups, quick answers, or vertical deep-dives on one already-found thread (use deep-investigation-protocol).4---56# Saturation Sweep78**Seed question:** *What hasn't the sweep reached yet?*910> *Relentless self-reflexive dialectical thinking that questions its own premises.*1112## Core Principle1314Vertical investigation digs where the story is; horizontal investigation asks15where else the story could be. Both are needed, but only the second can say16when searching is DONE: saturation is a measurement (novelty per wave), not a17feeling of completeness — the feeling arrives long before the coverage does.1819**The anti-pattern this counters:**20```21❌ Searching until a coherent narrative forms, then stopping22❌ "I did several searches" with no record of which axes they covered23❌ Coverage claims that cannot name what was NOT reached24```2526**The pattern this enforces:**27```28✅ Declare the branching axes BEFORE sweeping29✅ Sweep in waves; ledger the novelty of each wave30✅ Stop on the rule, not the feeling — and report where the sweep stayed thin31```3233## When This Applies3435**TRIGGER:**36- The completeness question, asked or implied: "How do we know we're done?",37 "What are we missing?", "Have we covered everything?", "Is that the whole story?"38- An investigation has produced one coherent narrative and is about to close on39 it — the vertical story satisfies, but nobody has asked where else it could live.40- Coverage across actors, intermediaries, regions, jurisdictions, language-publics,41 or time periods matters as much as depth on any single thread.42- Designing or running a multi-agent sweep (waves of blind workers over branching axes).43- A claim of thoroughness needs to be auditable — a ledger someone else can check —44 not asserted from a feeling of having looked enough.4546**DO NOT TRIGGER:**47- Single-fact lookups or quick answers (a definition, a date, a capital city) — no48 coverage question is in play.49- A vertical deep-dive on one already-found thread or one named document — that is50 `deep-investigation-protocol`, not breadth.51- Verifying a specific found claim rather than mapping breadth — that is52 `iterative-verification`.5354## The Sweep55561. **Declare axes.** Before wave 1, list the branching axes for THIS57 investigation. Standard set (extend, don't shrink): who-else (actors,58 intermediaries, beneficiaries) · where-else (regions, jurisdictions,59 language-publics) · when-else (earlier precedents, later echoes) ·60 who-benefits-elsewhere (adjacent markets/policy areas). An axis declared61 and skipped must appear in the thin-slot; an axis never declared is62 invisible — that is why declaration comes first.632. **Wave.** One pass across all declared axes (queries or agents — see64 `assets/agent-prompts.md` for the multi-agent recipe). New material is65 logged per axis.663. **Ledger.** After each wave, fill one ledger row (format below). Novelty =67 new entities + new claims, as a share of the running total.684. **Stop rule.** Stop when a wave's novelty is under ~10%, OR two consecutive69 waves move no verdict in the per-claim table. Both conditions are70 measurements against the ledger — cite the rows when declaring saturation.715. **Report the thin spots.** Mandatory, honest: where did the sweep stay thin72 (axes shallowly covered, languages not searched, platforms unreachable),73 why, and what could hide there.7475## Novelty Ledger (format)7677| Wave | Axes swept (queries/agents per axis) | New entities | New claims | Verdicts moved | Novelty % |78|------|--------------------------------------|--------------|------------|----------------|-----------|7980## Mandatory Output Slots8182| Slot | Contents | Invalid when |83|------|----------|--------------|84| **Axes declared** | The branching axes, declared before wave 1 | Declared retroactively; or fewer than the standard set without a stated reason |85| **Novelty ledger** | One row per wave, all columns filled | Missing waves; novelty asserted without counts |86| **Stop-rule verdict** | Which stop condition fired, citing ledger rows | "Felt complete"; stopping without a fired condition and without saying so |87| **Where the sweep stayed thin** | Axes/languages/platforms under-covered, why, what could hide there | Empty; "nowhere"; only unreachable-by-anyone items listed |8889## Relationship to Verification9091The sweep finds; it does not verify. Claims enter the investigation at the92tier the evidence supports, `[RELAY]`-tagged when they arrive through agent93summaries (Principle P1 (relayed-is-not-read)). Saturation of a false story is94saturation of a false story — run `iterative-verification` on what the sweep95returns.9697## Cross-References9899- **research** hub — the profile's saturation threshold defaults to this stop100 rule; report template's Metadata & limits section consumes the thin-slot101- **investigation-orchestrator** agent — deploys waves as agent teams using102 `assets/agent-prompts.md`103- **iterative-verification** — verification of what the sweep returns104- **ground-level-triangulation** — the where-else axis specialized to105 language-publics with independent stakes106107## Vasana108109A vasana is a pattern that persists across unrelated contexts. If during110this task you notice such a pattern emerging, it may be worth capturing.111This skill works best alongside the `vasana` skill and `vasana` hook112from the Vasana System plugin.113114Modify freely. Keep this section intact.