ponytail · git:20261002.0803037 · 2026-10-02 · sha256 b7b2fce98fcd77e3
ponytail git:20261002.0803037A
Immutable. This exact content never changes and is served at /api/v1/blob/b7b2fce98fcd77e3.
--- name: ponytail description: The simplicity ladder — delete > reuse what the repo already has > stdlib > native platform > already-installed dependency > one line > minimum code. Preloaded by the simplifier and plan-reviewer agents; load it when deciding whether code, a dependency, or a plan step needs to exist at all. --- # ponytail: the simplicity ladder Climb in order and stop at the first rung that holds. Rung 1 is the counterweight to a review rubric that otherwise only ever asks for MORE. 1. **Does this need to exist at all?** Speculative need → cut it, in one line saying so. 2. **Does this repo already have it?** Reuse it. Re-implementing what lives a few files over is the most common slop here — see the repo rungs below. 3. **Does the stdlib do it?** Use it. 4. **Does a native platform feature cover it?** CSS over JS, a DB constraint over app code. 5. **Does an already-installed dependency solve it?** Use it — never add one for what a few lines do. 6. **Can it be one line?** One line. 7. **Only then:** the minimum code that works. ## This repo's rungs Before writing anything, check whether it already exists: - A scene/layout/measure helper → `canvas-render` almost certainly has it. - A parse/serialize path → `codec`. A schema → `model`, as `z.infer`, never a hand-written interface beside it. - A logger → `getLogger`, never `console.*` in server code. Two rungs are already mechanical, so reach for them before a prose rule: `tools/arch-lint`'s allowed-third-party-dependency check fails the build on a dependency added outside a package's allowlist, and `pnpm knip` fails on the unused export a deleted feature left behind. What this ladder adds is only the judgement-shaped rungs — does this need to exist, is this one line. ## Disciplines that outrank brevity - Zod stays the single source of truth for anything crossing a process boundary. - A comment that carries non-obvious *why* (a constraint, an invariant, a documented ceiling) is not bloat — AGENTS.md's Source Comment Discipline keeps it. Cut chronology and narrative, keep rationale. - Immutable updates. - A deliberate shortcut is marked `ponytail:` in a comment, naming its ceiling and upgrade path (`ponytail: global lock, per-account locks if throughput matters`). ## Output rule If the explanation is longer than the diff, delete the explanation.