Skip to content

Commit 41c6d3e

Browse files
garrytanclaude
andauthored
v1.57.4.0 refactor(ethos): rename Boil the Lake principle to Boil the Ocean (garrytan#1912)
* refactor(ethos): rename Boil the Lake principle to Boil the Ocean Reframes the completeness principle so the ocean (the complete thing) is the goal and lakes are the boilable units you ship on the way there. "Don't boil the ocean" was right when engineering time was the bottleneck; AI killed that bottleneck, so the ocean is now the destination. Resolves an existing split: the scope_appetite psychographic, archetypes, and the completeness intro flow already used "boil the ocean" as the complete-implementation pole while the named principle still said "lake". Sources only: ETHOS.md philosophy, CLAUDE.md, README.md, the preamble resolvers, and the plan/autoplan/document-generate templates. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * test: update assertions + golden fixtures for Boil the Ocean rename skill-validation and terse-build now assert "Boil the Ocean"; the three ship golden fixtures are regenerated to match the renamed Completeness Principle header and intro prose. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: regenerate SKILL.md files for Boil the Ocean rename Mechanical `bun run gen:skill-docs` output: the Completeness Principle header and intro flow now read "Boil the Ocean" across every generated skill. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: bump version and changelog (v1.57.4.0) Boil the Ocean rename: completeness principle renamed across ETHOS, every generated skill, CLAUDE.md, README, and the preamble resolvers. Text only, no runtime behavior change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent d8c91c6 commit 41c6d3e

66 files changed

Lines changed: 237 additions & 178 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,57 @@
11
# Changelog
22

3+
## [1.57.4.0] - 2026-06-08
4+
5+
## **The completeness principle is now Boil the Ocean, matching the post it came from.**
6+
## **One name across the ETHOS file, every skill, and the developer-profile dial.**
7+
8+
The principle that tells gstack to do the complete thing was called "Boil the Lake" in
9+
`ETHOS.md` and in every generated skill, with the ocean cast as the anti-pattern. The
10+
developer-profile system and the completeness intro link already used "boil the ocean"
11+
as the good, ship-the-whole-thing pole. So the same idea carried two opposite framings
12+
depending on where you read it. This renames the principle to Boil the Ocean everywhere
13+
and reframes the metaphor: the ocean is the complete destination, and lakes are the
14+
boilable units you ship on the way there. The guidance is identical. Only the name and
15+
the framing prose changed.
16+
17+
### The numbers that matter
18+
19+
Reproduce with `git diff v1.57.3.0..HEAD --stat`.
20+
21+
| Property | Before | After |
22+
|---|---|---|
23+
| Principle name in ETHOS + every skill | "Boil the Lake" | "Boil the Ocean" |
24+
| Name vs. the `scope_appetite` dial ("boil the ocean" = complete) | split | unified |
25+
| Files updated | — | 63 (ETHOS, CLAUDE, README, resolvers, templates, generated SKILL.md) |
26+
| Runtime behavior change | — | none, text only |
27+
28+
The one number that matters is zero: no behavior changed. A reviewer reading `ETHOS.md`
29+
no longer hits "ocean" as the thing to avoid in one section and the thing to aim for in
30+
the next.
31+
32+
### What this means for you
33+
34+
You get the same complete-the-work recommendations, now under the name from Garry's
35+
"Boil the Oceans" post. The metaphor reads straight through: the ocean is the goal,
36+
lakes are how you get there one boil at a time, and only genuinely unrelated
37+
multi-quarter migrations sit outside scope. Nothing to do on your end.
38+
39+
### Itemized changes
40+
41+
#### Changed
42+
- `ETHOS.md` section 1 is renamed to "Boil the Ocean" and reframed so the ocean is the
43+
complete destination and lakes are the boilable first units, not the ceiling.
44+
- The "Completeness Principle" header injected into every tier-2+ skill now reads
45+
"Boil the Ocean," with prose to match.
46+
- `CLAUDE.md` and `README.md` references updated to the new name.
47+
48+
#### For contributors
49+
- Source of the rename lives in the preamble resolvers
50+
(`generate-completeness-section.ts`, the `composition.ts` skip-list, and
51+
`generate-lake-intro.ts`); all SKILL.md files are regenerated from them.
52+
- Unit assertions (`skill-validation`, `terse-build`) and the three ship golden
53+
fixtures updated to the new header.
54+
355
## [1.57.3.0] - 2026-06-07
456

557
## **Every PR `/ship` opens gets the version stamped into its title, fork and agent PRs included.**

CLAUDE.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ gstack/
137137
├── setup # One-time setup: build binary + symlink skills
138138
├── SKILL.md # Generated from SKILL.md.tmpl (don't edit directly)
139139
├── SKILL.md.tmpl # Template: edit this, run gen:skill-docs
140-
├── ETHOS.md # Builder philosophy (Boil the Lake, Search Before Building)
140+
├── ETHOS.md # Builder philosophy (Boil the Ocean, Search Before Building)
141141
└── package.json # Build scripts for browse
142142
```
143143

@@ -776,8 +776,10 @@ When estimating or discussing effort, always show both human-team and CC+gstack
776776
| Research / exploration | 1 day | 3 hours | ~3x |
777777

778778
Completeness is cheap. Don't recommend shortcuts when the complete implementation
779-
is a "lake" (achievable) not an "ocean" (multi-quarter migration). See the
780-
Completeness Principle in the skill preamble for the full philosophy.
779+
is achievable. Boil the ocean — the complete thing is the goal; only genuinely
780+
unrelated multi-quarter migrations are separate scope, never an excuse for a
781+
shortcut. See the Completeness Principle in the skill preamble for the full
782+
philosophy.
781783

782784
## Search before building
783785

ETHOS.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,21 @@ The last 10% of completeness that teams used to skip? It costs seconds now.
3131

3232
---
3333

34-
## 1. Boil the Lake
34+
## 1. Boil the Ocean
3535

36-
AI-assisted coding makes the marginal cost of completeness near-zero. When
37-
the complete implementation costs minutes more than the shortcut — do the
36+
"Don't boil the ocean" was the right advice when engineering time was the
37+
bottleneck. That era is over. AI-assisted coding makes the marginal cost of
38+
completeness near-zero, so the old caution has quietly turned into an excuse.
39+
When the complete implementation costs minutes more than the shortcut — do the
3840
complete thing. Every time.
3941

40-
**Lake vs. ocean:** A "lake" is boilable — 100% test coverage for a module,
41-
full feature implementation, all edge cases, complete error paths. An "ocean"
42-
is not — rewriting an entire system from scratch, multi-quarter platform
43-
migrations. Boil lakes. Flag oceans as out of scope.
42+
**Ocean, lakes first:** The ocean is the destination — 100% test coverage for a
43+
module, full feature implementation, all edge cases, complete error paths. You
44+
get there one lake at a time: each lake is a boilable unit, not the ceiling.
45+
"That's boiling the ocean" is no longer a reason to ship a shortcut — boiling
46+
the ocean is the goal. The only thing still out of scope is genuinely unrelated
47+
work: a multi-quarter platform migration that has nothing to do with the task at
48+
hand. Flag that as separate scope. Boil everything else.
4449

4550
**Completeness is cheap.** When evaluating "approach A (full, ~150 LOC) vs
4651
approach B (90%, ~80 LOC)" — always prefer A. The 70-line delta costs
@@ -144,7 +149,7 @@ think it's better, state what context you might be missing, and ask. Never act.
144149

145150
## How They Work Together
146151

147-
Boil the Lake says: **do the complete thing.**
152+
Boil the Ocean says: **do the complete thing.**
148153
Search Before Building says: **know what exists before you decide what to build.**
149154

150155
Together: search first, then build the complete version of the right thing.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ Other references: [docs/gbrain-sync.md](docs/gbrain-sync.md) (sync-specific guid
429429
| Doc | What it covers |
430430
|-----|---------------|
431431
| [Skill Deep Dives](docs/skills.md) | Philosophy, examples, and workflow for every skill (includes Greptile integration) |
432-
| [Builder Ethos](ETHOS.md) | Builder philosophy: Boil the Lake, Search Before Building, three layers of knowledge |
432+
| [Builder Ethos](ETHOS.md) | Builder philosophy: Boil the Ocean, Search Before Building, three layers of knowledge |
433433
| [Using GBrain with GStack](USING_GBRAIN_WITH_GSTACK.md) | Every path, flag, bin helper, and troubleshooting step for `/setup-gbrain` |
434434
| [GBrain Sync](docs/gbrain-sync.md) | Cross-machine memory setup, privacy modes, troubleshooting |
435435
| [Architecture](ARCHITECTURE.md) | Design decisions and system internals |

SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ touch ~/.gstack/.writing-style-prompted
162162

163163
Skip if `WRITING_STYLE_PENDING` is `no`.
164164

165-
If `LAKE_INTRO` is `no`: say "gstack follows the **Boil the Lake** principle — do the complete thing when AI makes marginal cost near-zero. Read more: https://garryslist.org/posts/boil-the-ocean" Offer to open:
165+
If `LAKE_INTRO` is `no`: say "gstack follows the **Boil the Ocean** principle — do the complete thing when AI makes marginal cost near-zero. Read more: https://garryslist.org/posts/boil-the-ocean" Offer to open:
166166

167167
```bash
168168
open https://garryslist.org/posts/boil-the-ocean

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.57.3.0
1+
1.57.4.0

autoplan/SKILL.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ touch ~/.gstack/.writing-style-prompted
171171

172172
Skip if `WRITING_STYLE_PENDING` is `no`.
173173

174-
If `LAKE_INTRO` is `no`: say "gstack follows the **Boil the Lake** principle — do the complete thing when AI makes marginal cost near-zero. Read more: https://garryslist.org/posts/boil-the-ocean" Offer to open:
174+
If `LAKE_INTRO` is `no`: say "gstack follows the **Boil the Ocean** principle — do the complete thing when AI makes marginal cost near-zero. Read more: https://garryslist.org/posts/boil-the-ocean" Offer to open:
175175

176176
```bash
177177
open https://garryslist.org/posts/boil-the-ocean
@@ -619,9 +619,9 @@ Applies to AskUserQuestion, user replies, and findings. AskUserQuestion Format i
619619
Curated jargon list lives at `~/.claude/skills/gstack/scripts/jargon-list.json` (80+ terms). On the first jargon term you encounter this session, Read that file once; treat the `terms` array as the canonical list. The list is repo-owned and may grow between releases.
620620

621621

622-
## Completeness Principle — Boil the Lake
622+
## Completeness Principle — Boil the Ocean
623623

624-
AI makes completeness cheap. Recommend complete lakes (tests, edge cases, error paths); flag oceans (rewrites, multi-quarter migrations).
624+
AI makes completeness cheap, so the complete thing is the goal. Recommend full coverage (tests, edge cases, error paths) — boil the ocean one lake at a time. The only thing out of scope is genuinely unrelated work (rewrites, multi-quarter migrations); flag that as separate scope, never as an excuse for a shortcut.
625625

626626
When options differ in coverage, include `Completeness: X/10` (10 = all edge cases, 7 = happy path, 3 = shortcut). When options differ in kind, write: `Note: options differ in kind, not coverage — no completeness score.` Do not fabricate scores.
627627

@@ -825,7 +825,7 @@ Read the `/office-hours` skill file at `~/.claude/skills/gstack/office-hours/SKI
825825
Follow its instructions from top to bottom, **skipping these sections** (already handled by the parent skill):
826826
- Preamble (run first)
827827
- AskUserQuestion Format
828-
- Completeness Principle — Boil the Lake
828+
- Completeness Principle — Boil the Ocean
829829
- Search Before Building
830830
- Contributor Mode
831831
- Completion Status Protocol
@@ -1031,7 +1031,7 @@ Read each file using the Read tool:
10311031
(they are already handled by /autoplan):**
10321032
- Preamble (run first)
10331033
- AskUserQuestion Format
1034-
- Completeness Principle — Boil the Lake
1034+
- Completeness Principle — Boil the Ocean
10351035
- Search Before Building
10361036
- Completion Status Protocol
10371037
- Telemetry (run last)

autoplan/SKILL.md.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ Read each file using the Read tool:
216216
(they are already handled by /autoplan):**
217217
- Preamble (run first)
218218
- AskUserQuestion Format
219-
- Completeness Principle — Boil the Lake
219+
- Completeness Principle — Boil the Ocean
220220
- Search Before Building
221221
- Completion Status Protocol
222222
- Telemetry (run last)

benchmark-models/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ touch ~/.gstack/.writing-style-prompted
165165

166166
Skip if `WRITING_STYLE_PENDING` is `no`.
167167

168-
If `LAKE_INTRO` is `no`: say "gstack follows the **Boil the Lake** principle — do the complete thing when AI makes marginal cost near-zero. Read more: https://garryslist.org/posts/boil-the-ocean" Offer to open:
168+
If `LAKE_INTRO` is `no`: say "gstack follows the **Boil the Ocean** principle — do the complete thing when AI makes marginal cost near-zero. Read more: https://garryslist.org/posts/boil-the-ocean" Offer to open:
169169

170170
```bash
171171
open https://garryslist.org/posts/boil-the-ocean

benchmark/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ touch ~/.gstack/.writing-style-prompted
165165

166166
Skip if `WRITING_STYLE_PENDING` is `no`.
167167

168-
If `LAKE_INTRO` is `no`: say "gstack follows the **Boil the Lake** principle — do the complete thing when AI makes marginal cost near-zero. Read more: https://garryslist.org/posts/boil-the-ocean" Offer to open:
168+
If `LAKE_INTRO` is `no`: say "gstack follows the **Boil the Ocean** principle — do the complete thing when AI makes marginal cost near-zero. Read more: https://garryslist.org/posts/boil-the-ocean" Offer to open:
169169

170170
```bash
171171
open https://garryslist.org/posts/boil-the-ocean

0 commit comments

Comments
 (0)