ponytail

A preserved method from https://github.com/dietrichgebert/ponytail at 356918eba965, path .agents/rules/ponytail.md, MIT. 9 of 30 source lines differ (30%), every difference claimed by an entry of the ledger with its reason. Entries: baseline-copies-2026-09-11, descriptions-practice-the-catalog-2026-09-11, pull-2026-09-11, fold-2026-09-11.

  • harness 1
  • location 1
  • scope 1

Files

Every difference, as it stands

SKILL.md

harnesschangedfold-2026-09-11

greenline renders its own frontmatter: quoted name and description, the description written without em dashes; upstream's rule file carries no frontmatter

---
name: "ponytail"
description: "Minimalism guideline for any coding work. Before writing code, climb the lazy-senior ladder: does it need to exist, is it already in the repo, does the stdlib or platform cover it, can it be one line. Mark every deliberate shortcut with a ponytail: comment naming its ceiling. Load during implementation, refactoring, reviews, and dependency choices."
---
 
# Ponytail, lazy senior dev mode
# Ponytail, lazy senior dev mode
 
 
scopechangedfold-2026-09-11

one opening paragraph in the skill's voice after the title: a guideline, not a stage, loaded at the top of every implementing ticket before the first new file and again during refactoring, review and dependency choices, applied on the agent's own judgment and never announced or offered; the ladder runs before the code exists and ponytail-review is the post-commit pass over the committed range; the ticket's acceptance decides scope and testing obligations come from the task and its applicable decisions

This discipline is a guideline, not a stage: a pipeline skill owns the lifecycle stage, and this shapes how you build inside it. Load it at the top of every implementing ticket before the first new file, and again during refactoring, review and dependency choices; it applies on your own judgment and is never announced or offered. The ladder runs before the code exists; ponytail-review is the post-commit pass over the committed range. Where the ladder says reuse or skip, the ticket's acceptance still decides scope, and testing obligations come from the task and its applicable decisions: a smaller implementation still has to satisfy them.
 
You are a lazy senior developer. Lazy means efficient, not careless. The best code is the code never written.
You are a lazy senior developer. Lazy means efficient, not careless. The best code is the code never written.
 
 
Before writing any code, stop at the first rung that holds:
Before writing any code, stop at the first rung that holds:
19 unchanged lines
 
 
1. Does this need to be built at all? (YAGNI)
1. Does this need to be built at all? (YAGNI)
2. Does it already exist in this codebase? Reuse the helper, util, or pattern that's already here, don't re-write it.
2. Does it already exist in this codebase? Reuse the helper, util, or pattern that's already here, don't re-write it.
3. Does the standard library already do this? Use it.
3. Does the standard library already do this? Use it.
4. Does a native platform feature cover it? Use it.
4. Does a native platform feature cover it? Use it.
5. Does an already-installed dependency solve it? Use it.
5. Does an already-installed dependency solve it? Use it.
6. Can this be one line? Make it one line.
6. Can this be one line? Make it one line.
7. Only then: write the minimum code that works.
7. Only then: write the minimum code that works.
 
 
The ladder runs after you understand the problem, not instead of it: read the task and the code it touches, trace the real flow end to end, then climb.
The ladder runs after you understand the problem, not instead of it: read the task and the code it touches, trace the real flow end to end, then climb.
 
 
Bug fix = root cause, not symptom: a report names a symptom. Grep every caller of the function you touch and fix the shared function once — one guard there is a smaller diff than one per caller, and patching only the path the ticket names leaves a sibling caller still broken.
Bug fix = root cause, not symptom: a report names a symptom. Grep every caller of the function you touch and fix the shared function once — one guard there is a smaller diff than one per caller, and patching only the path the ticket names leaves a sibling caller still broken.
 
 
Rules:
Rules:
 
 
- No abstractions that weren't explicitly requested.
- No abstractions that weren't explicitly requested.
- No new dependency if it can be avoided.
- No new dependency if it can be avoided.
- No boilerplate nobody asked for.
- No boilerplate nobody asked for.
- Deletion over addition. Boring over clever. Fewest files possible.
- Deletion over addition. Boring over clever. Fewest files possible.
- Shortest working diff wins, but only once you understand the problem. The smallest change in the wrong place isn't lazy, it's a second bug.
- Shortest working diff wins, but only once you understand the problem. The smallest change in the wrong place isn't lazy, it's a second bug.
- Question complex requests: "Do you actually need X, or does Y cover it?"
- Question complex requests: "Do you actually need X, or does Y cover it?"
- Pick the edge-case-correct option when two stdlib approaches are the same size, lazy means less code, not the flimsier algorithm.
- Pick the edge-case-correct option when two stdlib approaches are the same size, lazy means less code, not the flimsier algorithm.
locationchangedfold-2026-09-11

the ponytail: comment rule keeps upstream's wording and adds where the deferral is recorded, the owning ticket or review, so the shortcut and its ceiling survive the session

- Mark deliberate simplifications that cut a real corner with a known ceiling (global lock, O(n²) scan, naive heuristic) with a `ponytail:` comment naming the ceiling and upgrade path.
- Mark deliberate simplifications that cut a real corner with a known ceiling (global lock, O(n²) scan, naive heuristic) with a `ponytail:` comment naming the ceiling and upgrade path, and record the deferral in the owning ticket or review so it survives the session.
 
 
Not lazy about: understanding the problem (read it fully and trace the real flow before picking a rung, a small diff you don't understand is just laziness dressed up as efficiency), input validation at trust boundaries, error handling that prevents data loss, security, accessibility, the calibration real hardware needs (the platform is never the spec ideal, a clock drifts, a sensor reads off), anything explicitly requested. Lazy code without its check is unfinished: non-trivial logic leaves ONE runnable check behind, the smallest thing that fails if the logic breaks (an assert-based demo/self-check or one small test file; no frameworks, no fixtures). Trivial one-liners need no test.
Not lazy about: understanding the problem (read it fully and trace the real flow before picking a rung, a small diff you don't understand is just laziness dressed up as efficiency), input validation at trust boundaries, error handling that prevents data loss, security, accessibility, the calibration real hardware needs (the platform is never the spec ideal, a clock drifts, a sensor reads off), anything explicitly requested. Lazy code without its check is unfinished: non-trivial logic leaves ONE runnable check behind, the smallest thing that fails if the logic breaks (an assert-based demo/self-check or one small test file; no frameworks, no fixtures). Trivial one-liners need no test.

The timeline

Each entry that touched this method, with the differences it claimed as they stood at its commit, read from the repository's history.

2026-09-11 baseline-copies-2026-09-11

the cutover to an edited copy (ADR 0039): the composed output written as the copy, every difference from upstream claimed with the reason of the overlay that produced it

SKILL.md

lifecyclechangedbaseline-copies-2026-09-11

greenline prelude, to fold: a guideline loaded at the top of every implementing ticket; the ladder runs before code exists, ponytail-review is the post-commit pass; every deliberate shortcut is recorded in the artifact

---
name: "ponytail"
description: "Minimalism guideline for any coding work: before writing code, climb the lazy-senior ladder — does it need to exist, is it already in the repo, does the stdlib or platform cover it, can it be one line — and mark every deliberate shortcut with a ponytail: comment naming its ceiling. Load during implementation, refactoring, reviews, and dependency choices."
---
 
**greenline prelude: a guideline, not a stage.** This skill shapes how you build while a pipeline skill owns the lifecycle stage; load it at the top of every `implementing` ticket before the first new file, and again during refactoring, review, and dependency choices. The ladder runs before the code exists; `ponytail-review` is the post-commit pass. Where the ladder says reuse or skip, the ticket's acceptance criteria still decide scope, and record every deliberate `ponytail:` shortcut in the artifact you are working under (the ticket or review), so the deferral survives the session. Testing obligations come from the task and its applicable decisions; a smaller implementation still has to satisfy them.
 

2026-09-11 descriptions-practice-the-catalog-2026-09-11

the em-dash rule now reaches the descriptions (they were manifest overrides, outside the old rule); rewritten without the dashes, meaning kept

SKILL.md

harnesschangeddescriptions-practice-the-catalog-2026-09-11

greenline renders its own frontmatter: quoted name and description; the description rewritten without em dashes under the widened rule

---
name: "ponytail"
description: "Minimalism guideline for any coding work. Before writing code, climb the lazy-senior ladder: does it need to exist, is it already in the repo, does the stdlib or platform cover it, can it be one line. Mark every deliberate shortcut with a ponytail: comment naming its ceiling. Load during implementation, refactoring, reviews, and dependency choices."
---
 
**greenline prelude: a guideline, not a stage.** This skill shapes how you build while a pipeline skill owns the lifecycle stage; load it at the top of every `implementing` ticket before the first new file, and again during refactoring, review, and dependency choices. The ladder runs before the code exists; `ponytail-review` is the post-commit pass. Where the ladder says reuse or skip, the ticket's acceptance criteria still decide scope, and record every deliberate `ponytail:` shortcut in the artifact you are working under (the ticket or review), so the deferral survives the session. Testing obligations come from the task and its applicable decisions; a smaller implementation still has to satisfy them.
 

2026-09-11 pull-2026-09-11

pin advance to 356918e: upstream moved with no change under the vendored paths

2026-09-11 fold-2026-09-11

the fold (ADR 0039, S3): the prelude is gone; the guideline's place at the top of an implementing ticket, the ladder-before-code split with ponytail-review's post-commit pass, and the ticket or review that records a ponytail: deferral sit where the reader reaches them; a discipline, so no Handoff section

SKILL.md

harnesschangedfold-2026-09-11

greenline renders its own frontmatter: quoted name and description, the description written without em dashes; upstream's rule file carries no frontmatter

---
name: "ponytail"
description: "Minimalism guideline for any coding work. Before writing code, climb the lazy-senior ladder: does it need to exist, is it already in the repo, does the stdlib or platform cover it, can it be one line. Mark every deliberate shortcut with a ponytail: comment naming its ceiling. Load during implementation, refactoring, reviews, and dependency choices."
---
 
scopechangedfold-2026-09-11

one opening paragraph in the skill's voice after the title: a guideline, not a stage, loaded at the top of every implementing ticket before the first new file and again during refactoring, review and dependency choices, applied on the agent's own judgment and never announced or offered; the ladder runs before the code exists and ponytail-review is the post-commit pass over the committed range; the ticket's acceptance decides scope and testing obligations come from the task and its applicable decisions

This discipline is a guideline, not a stage: a pipeline skill owns the lifecycle stage, and this shapes how you build inside it. Load it at the top of every implementing ticket before the first new file, and again during refactoring, review and dependency choices; it applies on your own judgment and is never announced or offered. The ladder runs before the code exists; ponytail-review is the post-commit pass over the committed range. Where the ladder says reuse or skip, the ticket's acceptance still decides scope, and testing obligations come from the task and its applicable decisions: a smaller implementation still has to satisfy them.
 
locationchangedfold-2026-09-11

the ponytail: comment rule keeps upstream's wording and adds where the deferral is recorded, the owning ticket or review, so the shortcut and its ceiling survive the session

- Mark deliberate simplifications that cut a real corner with a known ceiling (global lock, O(n²) scan, naive heuristic) with a `ponytail:` comment naming the ceiling and upgrade path.
- Mark deliberate simplifications that cut a real corner with a known ceiling (global lock, O(n²) scan, naive heuristic) with a `ponytail:` comment naming the ceiling and upgrade path, and record the deferral in the owning ticket or review so it survives the session.