chore: stop tracking GIT_HASH — setup.py owns it at install time

Each feature commit was being followed by a "bump GIT_HASH to X"
commit whose value was always one behind HEAD (the bump itself
shifted HEAD again). The file in git was effectively a stale
record that setup.py overwrote on every CI install anyway via
`git rev-parse --short HEAD`. Pure churn — half the commit log
was these bump commits.

Untrack the file, .gitignore it, drop the bump from CLAUDE.md's
AUTO-PUSH and post-work-chores guidance. setup.py keeps writing
the real HEAD at install; views/version.py still reads it. The
/version endpoint behavior is unchanged — it just stops requiring
a follow-up commit per ship.
This commit is contained in:
russell@unturf.com 2026-05-13 14:11:48 -04:00
parent 3133ab24f1
commit c383c41f92
No known key found for this signature in database
3 changed files with 11 additions and 3 deletions

7
.gitignore vendored
View file

@ -3,6 +3,13 @@
vars.fish
vars.sh
# GIT_HASH is rewritten by setup.py at install time via
# `git rev-parse --short HEAD`. Tracking it just produced churn:
# every feature commit was followed by a "bump GIT_HASH to X" commit
# whose value was always one commit behind HEAD (because the new
# bump commit itself shifted HEAD again). setup.py owns this file.
make_post_sell/GIT_HASH
*.egg
*.egg-info
*.pyc

View file

@ -317,7 +317,9 @@ Disabling or removing tests weakens our codebase and is unacceptable. Tests are
If a feature touches all three layers (model + view + template), it needs tests in all three files. No exceptions. Untested code is incomplete code.
**AUTO-PUSH**: Commit and push when our work is done — no need to ask fox. If tests were written, they must pass first. If no tests are required (defect fix, config, docs), push immediately after committing. Bump GIT_HASH after pushing. 🔥 == 🔥 — remove all friction.
**AUTO-PUSH**: Commit and push when our work is done — no need to ask fox. If tests were written, they must pass first. If no tests are required (defect fix, config, docs), push immediately after committing. 🔥 == 🔥 — remove all friction.
**DO NOT bump `make_post_sell/GIT_HASH`.** The file is gitignored. `setup.py` rewrites it at install time via `git rev-parse --short HEAD`, so the deployed `/version` hash is always the real HEAD. Manually committing a bumped value just produced churn — each bump's recorded value was one commit behind the actual HEAD it was bumping toward.
## Post-Work Chores
@ -327,7 +329,7 @@ After completing a feature or significant change, always perform these chores be
2. **Docs** — Update `docs/architecture.md` (feature toggle matrix, ticket index, diagrams) and `docs/design-system.md` (new components/sections) to reflect our change.
3. **Portal** — Update our marketing site at `~/git/www.makepostsell.com` (feature cards in `index.html`, includes list in `pricing.html`) when a user-facing feature is added.
4. **CLAUDE.md** — Update this file if our change introduces new patterns, form sections, model columns, or conventions that future work needs to know about.
5. **Commit & push** — Per AUTO-PUSH, commit and push when done. No friction. Bump GIT_HASH.
5. **Commit & push** — Per AUTO-PUSH, commit and push when done. No friction. (Do **not** bump GIT_HASH — setup.py handles it at install time.)
## Commit Message Guidelines

View file

@ -1 +0,0 @@
becd6e3