| name | debloat |
| disable-model-invocation | true |
| description | Compress an artifact that has accreted into bloat — padding, over-qualification, fused sentences, walls of enumeration, adjacent restatement — down to its load-bearing density, meaning preserved. Use when prose is correct and current but has grown verbose or patched-over and you want it tight without a full rewrite. |
Cut a bloated artifact to its load-bearing minimum: same meaning, fewer words.
Goal
An artifact that is correct and current can still rot a second way: it accretes. Each edit bolts a qualifier onto the nearest sentence, a rule gets restated wherever it might apply, an enumeration grows into a wall — until a reader must study what they should skim. debloat compresses that bloat to its load-bearing density: every claim that carries weight survives, every word that does not is cut. It is not a rewrite (re0), a dedup (ssotize), or a tell-remover (dedash, detool) — it is a density pass on prose that is otherwise fine.
Workflow
- Pin the artifact and read it end to end; note in one line what each section must convey — the load-bearing content that has to survive.
- Find the bloat, not the content: padding that adds length but not meaning; a qualifier or parenthetical the sentence holds without; a fused sentence carrying three ideas; a wall of enumeration where a rule plus a short list would do; a point restated within reach of itself; litigation-history (why-we-decided-it) where the rule alone suffices.
- Compress in place: cut the padding, split the fused sentence or drop its dead clause, collapse the wall, keep a repeated point once. Move nothing to another artifact and re-derive nothing.
- Preserve every load-bearing claim — a rule, fact, constraint, or example that carries weight. If cutting a word would lose one, keep the word.
- When the bloat is really duplication across artifacts, or the content has drifted stale, stop and name it: hand duplication to
ssotize and drift to re0. debloat only tightens.
- Re-read cold and cut again — the first pass always leaves some.
Rules
- Cut words, never load-bearing claims. Every rule, fact, and constraint that was there is still there; only the density changed.
- Preserve the artifact's voice and structure; compress within it, do not re-style it.
- Not a rewrite, a dedup, or a tell-remover: re-derive nothing (
re0), move nothing to another home (ssotize), and leave em-dashes and stack nouns to dedash/detool.
- Respect intended richness: human-facing prose meant to teach or orient (a quickstart, a worked example) earns its length — compress the bloat, not the accessibility.
- A pass that finds nothing genuinely bloated changes nothing.
- Mutate with edit-safety: assert each target exists (report a MISS, never a silent no-op), edit unicode-safe (
PYTHONUTF8=1), replace per occurrence, and script a large structural move.
Verification
Before finishing:
- Every load-bearing claim present before is present after — only words were cut.
- The result reads tighter to a cold reader, and reads as intended-terse, not amputated.
- Anything that was duplication or drift, not bloat, was handed to
ssotize/re0, not force-compressed.