Owner directive (2026-09-21): strip "Claudeisms" -- ad-hoc coined or evocative word choices -- from prose (comments, docstrings, docs) and identifiers alike, and replace them with boring, self-evident, industry-standard terms. Nothing should make a new reader think "that's a clever turn of phrase," and no one should have to guess or ask what a word means.
Principle: an identifier's job is to say what it signifies without making the reader open the implementation. Invest in clear names and well-factored code over comments; a comment is for the genuinely non-obvious "why," not to narrate what a good name already says.
Approach
One verified pass. Prose first (that is the volume that sets the house style). Every identifier rename confirmed green with ninja (some touch the build graph and build.ninja). Keep the exemplar already done: tools/stream/live.py (spine -> critical path, census -> worker grid, etc.).
Agreed replacements
| coined |
plain |
notes |
latch (ninja build rule) |
copy_if_changed; helper latch_of -> copy_if_changed_from(src) |
rule is `cmp -s $in $out |
latch (a held ROM/RAM bit) |
flag (flagSet(), "clears the flag") |
test generators + OT6 Ot6*Latch asm symbols (large blast radius) |
census |
worker grid / survey / tally by context |
live.py done; tlm.md, stream/README, banquet-decode.md, census() fn -> reachableTiles() |
spine |
critical path (physical stair/statue uses -> path) |
|
lineage |
run/playthrough (a particular play) or provenance/history (a save's ancestry) |
|
bespoke |
custom |
|
wedge (stuck-state) |
stall / hang |
KEEP the FF6 character WEDGE |
non-pace cadence (e.g. "divine cadence") |
tier |
KEEP pace uses ("30-frame cadence") |
vouches |
records / asserts |
|
broadcast / surfs / channel-hops |
output / follows / switches to the newest run |
|
harvest |
collect / gather |
|
wants (= needs) |
needs |
|
plumbing |
internals / infrastructure |
|
landing bar |
merge criteria |
|
work ledger |
the issue tracker |
it is literally the GitHub issues |
the pins: |
the pinned settings: |
tools/tests/README.md (done) |
in-code inflation: utilize, simply, note that, powerful, seamless, elegant, first-class |
drop / concretize |
keep single source of truth, cleanly, gracefully |
Owner rulings baked in
- KEEP genuine terms: FF6 mechanics (
divine, break, boost, telegraph, chip), the character WEDGE, and standard software terms (critical path, canary, sentinel, checkpoint, restat, single source of truth).
- KEEP
ratchet (it ratchets -- monotonic/one-way).
- Do NOT touch the upstream FF6 disassembly's own comments under
ff6/notes/**.
Scale (survey, read-only)
~22 distinct coined terms; latch 719 occurrences / 143 files (two senses), census 102, lineage 117, bespoke 36, spine 18. Highest-volume prose files first: docs/design/banquet-decode.md, tools/tests/README.md, configure.py, .claude/commands/tlm.md, docs/design/kit-gau.md, the magicite docs, bosses-wob.md.
Part of the v0.21 housekeeping cycle.
Owner directive (2026-09-21): strip "Claudeisms" -- ad-hoc coined or evocative word choices -- from prose (comments, docstrings, docs) and identifiers alike, and replace them with boring, self-evident, industry-standard terms. Nothing should make a new reader think "that's a clever turn of phrase," and no one should have to guess or ask what a word means.
Principle: an identifier's job is to say what it signifies without making the reader open the implementation. Invest in clear names and well-factored code over comments; a comment is for the genuinely non-obvious "why," not to narrate what a good name already says.
Approach
One verified pass. Prose first (that is the volume that sets the house style). Every identifier rename confirmed green with
ninja(some touch the build graph andbuild.ninja). Keep the exemplar already done:tools/stream/live.py(spine -> critical path, census -> worker grid, etc.).Agreed replacements
latch(ninja build rule)copy_if_changed; helperlatch_of->copy_if_changed_from(src)latch(a held ROM/RAM bit)flag(flagSet(), "clears the flag")Ot6*Latchasm symbols (large blast radius)censusworker grid/survey/tallyby contextcensus()fn ->reachableTiles()spinecritical path(physical stair/statue uses ->path)lineagerun/playthrough(a particular play) orprovenance/history(a save's ancestry)bespokecustomwedge(stuck-state)stall/hangcadence(e.g. "divine cadence")tiervouchesrecords/assertsbroadcast/surfs/channel-hopsoutput/follows/switches to the newest runharvestcollect/gatherwants(= needs)needsplumbinginternals/infrastructurelanding barmerge criteriawork ledgerthe issue trackerthe pins:the pinned settings:utilize,simply,note that,powerful,seamless,elegant,first-classsingle source of truth,cleanly,gracefullyOwner rulings baked in
divine,break,boost,telegraph,chip), the characterWEDGE, and standard software terms (critical path,canary,sentinel,checkpoint,restat,single source of truth).ratchet(it ratchets -- monotonic/one-way).ff6/notes/**.Scale (survey, read-only)
~22 distinct coined terms;
latch719 occurrences / 143 files (two senses),census102,lineage117,bespoke36,spine18. Highest-volume prose files first:docs/design/banquet-decode.md,tools/tests/README.md,configure.py,.claude/commands/tlm.md,docs/design/kit-gau.md, the magicite docs,bosses-wob.md.Part of the v0.21 housekeeping cycle.