tax-app's history is one commit of 104K logical lines — an initial
import of a codebase, not authored work. Removing it to keep the
comparison honest.
Changes:
- scripts/garry-output-comparison.ts: added EXCLUDED_REPOS constant
with tax-app + a one-line rationale. The script now skips excluded
repos with a stderr note and deletes any stale output JSON so
aggregation loops don't pick up pre-exclusion numbers.
- README hero: updated to 810× run rate + 240× YTD (were 880×/260×).
Wording updated to "40 public + private repos ... after excluding
repos dominated by imported code."
- docs/ON_THE_LOC_CONTROVERSY.md: updated all numbers, added an
"Exclusions" paragraph explaining tax-app, removed tax-app from
the "shipped not WIP" example list.
New numbers (2026 through day 108, without tax-app):
- To-date: 240× logical SLOC (1,233,062 vs 5,143)
- Run rate: 810× per-day pace (11,417 vs 14 logical/day)
- Annualized: ~4.2M logical lines projected
Future re-runs automatically skip tax-app. Add more exclusions to
EXCLUDED_REPOS at the top of the script with a one-line rationale.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Long-form response to the "LOC is a meaningless vanity metric" critique.
Covers:
- The three branches of the LOC critique and which are right
- Why logical SLOC (NCLOC) beats raw LOC as the honest measurement
- Full method: author-scoped git diff, regex-classified added lines,
aggregated across 41 public + private garrytan/* repos
- Both calculations: to-date (260x) and run-rate (879x)
- Steelman of the critics (greenfield-vs-maintenance, survivorship bias,
quality-adjusted productivity, time-to-first-user)
- Reproduction instructions
Linked from README hero via a blockquote directly below the number.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>