#245 "Dangerously lazy": add an operational "fix the root cause, not the symptom" directive — grep every caller of the function you touch and fix the shared function once (the smaller diff). Validated on the agentic benchmark: on a shared-helper bug-fix trap, baseline fixes the root cause 1/6 while ponytail does 6/6 on both Sonnet 4.6 (the model the issue was filed on) and Opus 4.8, verified by reading the produced code. Plain prose ("trace the flow") did not move it; the actionable, lazy-framed directive did. #217 "Missing rung": add ladder rung 2 "Already in this codebase? Reuse it, don't re-write it." Propagated across SKILL.md, AGENTS.md, all agent mirror copies, the hook fallback, and both READMEs (check-rule-copies passes). Benchmark: 4 new deterministic quality-tier tasks (reuse-slug, reuse-money, trace-transfer, trace-amount) with selftest-proven good/bad refs; harness gains multi-file seed support in --selftest, distinctive-behaviour reuse detection, and counts in-file __main__/demo() self-checks as test LOC (not source bloat) for surgical tasks. Full writeup in benchmarks/results/2026-06-22-issue-245-217-comprehension.md. Also carries the in-progress todo-null benchmark task already present in the working tree. Co-authored-by: Dietrich Gebert <dgebert@Dietrichs-MacBook-Pro.local> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Dietrich Gebert
Claude Opus 4.8
parent
6da37bfa7d
commit
dedc97ca7c
@@ -83,13 +83,16 @@ Before writing code, the agent stops at the first rung that holds:
|
||||
|
||||
```
|
||||
1. Does this need to exist? → no: skip it (YAGNI)
|
||||
2. Stdlib does it? → use it
|
||||
3. Native platform feature? → use it
|
||||
4. Installed dependency? → use it
|
||||
5. One line? → one line
|
||||
6. Only then: the minimum that works
|
||||
2. Already in this codebase? → reuse it, don't rewrite
|
||||
3. Stdlib does it? → use it
|
||||
4. Native platform feature? → use it
|
||||
5. Installed dependency? → use it
|
||||
6. One line? → one line
|
||||
7. Only then: the minimum that works
|
||||
```
|
||||
|
||||
The ladder runs *after* it understands the problem, not instead of it: it reads the code the change touches and traces the real flow before picking a rung. Lazy about the solution, never about reading.
|
||||
|
||||
Lazy, not negligent: trust-boundary validation, data-loss handling, security, and accessibility are never on the chopping block.
|
||||
|
||||
## Install
|
||||
|
||||
Reference in New Issue
Block a user