Two small hygiene changes found while closing out #698.
1. .gitignore gains .codex/. It is generated by codex exec as a machine-local mirror of the .claude hooks (byte-identical copies, including pretooluse-merge-consent.sh). It is deliberately not tracked even though .claude/ is — 17 files — because config.toml embeds a plaintext Gitea credential and absolute /Users/timothy/... paths. Committing it would leak the credential and would not be portable. Ignoring it also unblocks scripts/refresh-shared-checkout.sh, which refuses on a dirty tree and had left the shared checkout 9 commits behind.
2. docs/handoffs/rest-api.md no longer inlines the credential. Line 79 carried curl -u timothy:<password>; it now uses "$ETV_GITEA_BASICAUTH" like every other doc.
Stated plainly: this does not purge git history. The literal still appears in 12 earlier commits and remains recoverable from them. Low severity — private LAN repo, and it is the documented default password — but if you want it gone from history that is a separate, deliberate operation (filter-repo + force-push + credential rotation), and rotating the password is the cheaper and more effective half.
.codex/ mirroring the gate-enforcing hooks while being absent from the merge gate's PROTECTED list is a distinct (currently latent) gap, filed as #711 rather than fixed here.
Not docs-only, so this needs a real verdict rather than the automatic exemption.
refs #698, refs #711
Two small hygiene changes found while closing out #698.
**1. `.gitignore` gains `.codex/`.** It is generated by `codex exec` as a machine-local mirror of the `.claude` hooks (byte-identical copies, including `pretooluse-merge-consent.sh`). It is deliberately **not** tracked even though `.claude/` is — 17 files — because `config.toml` embeds a plaintext Gitea credential and absolute `/Users/timothy/...` paths. Committing it would leak the credential and would not be portable. Ignoring it also unblocks `scripts/refresh-shared-checkout.sh`, which refuses on a dirty tree and had left the shared checkout 9 commits behind.
**2. `docs/handoffs/rest-api.md` no longer inlines the credential.** Line 79 carried `curl -u timothy:<password>`; it now uses `"$ETV_GITEA_BASICAUTH"` like every other doc.
**Stated plainly: this does not purge git history.** The literal still appears in 12 earlier commits and remains recoverable from them. Low severity — private LAN repo, and it is the documented default password — but if you want it gone from history that is a separate, deliberate operation (filter-repo + force-push + credential rotation), and rotating the password is the cheaper and more effective half.
`.codex/` mirroring the gate-enforcing hooks while being absent from the merge gate's `PROTECTED` list is a distinct (currently latent) gap, filed as #711 rather than fixed here.
Not docs-only, so this needs a real verdict rather than the automatic exemption.
.codex/ is generated by `codex exec` as a machine-local mirror of the .claude hooks.
It is deliberately NOT tracked even though .claude/ is (17 files): its config.toml
embeds a plaintext Gitea credential and absolute /Users paths, so committing it would
leak the credential and would not be portable anyway. Ignoring it also unblocks
scripts/refresh-shared-checkout.sh, which refuses on a dirty tree.
Separately, docs/handoffs/rest-api.md carried the same credential inline; it now
references $ETV_GITEA_BASICAUTH like every other doc. NOTE this does not purge git
history — the literal appears in 12 earlier commits and is still recoverable there.
Refs: #698
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Two-file hygiene change, self-reviewed; a cross-family round is not proportionate here and that is stated rather than skipped silently. .gitignore gains .codex/ (generated machine-local mirror of the .claude hooks; its config.toml holds a plaintext Gitea credential and absolute /Users paths, so tracking it would leak the credential and is not portable). docs/handoffs/rest-api.md stops inlining that credential and uses $ETV_GITEA_BASICAUTH like every other doc. Verified: the literal is now absent from all tracked files; it REMAINS in 12 historical commits, which this does not and cannot address — rotating the password is the effective fix and is left to the operator. No executable/CI/gate path is touched. The related PROTECTED-list gap is filed as #711, not fixed here.
Review-verdict: MERGEABLE @ 980da6d
Two-file hygiene change, self-reviewed; a cross-family round is not proportionate here and that is stated rather than skipped silently. .gitignore gains .codex/ (generated machine-local mirror of the .claude hooks; its config.toml holds a plaintext Gitea credential and absolute /Users paths, so tracking it would leak the credential and is not portable). docs/handoffs/rest-api.md stops inlining that credential and uses $ETV_GITEA_BASICAUTH like every other doc. Verified: the literal is now absent from all tracked files; it REMAINS in 12 historical commits, which this does not and cannot address — rotating the password is the effective fix and is left to the operator. No executable/CI/gate path is touched. The related PROTECTED-list gap is filed as #711, not fixed here.
timothy
merged commit f9cbd152bc into main2026-07-30 22:27:34 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
refs #698, refs #711
Two small hygiene changes found while closing out #698.
1.
.gitignoregains.codex/. It is generated bycodex execas a machine-local mirror of the.claudehooks (byte-identical copies, includingpretooluse-merge-consent.sh). It is deliberately not tracked even though.claude/is — 17 files — becauseconfig.tomlembeds a plaintext Gitea credential and absolute/Users/timothy/...paths. Committing it would leak the credential and would not be portable. Ignoring it also unblocksscripts/refresh-shared-checkout.sh, which refuses on a dirty tree and had left the shared checkout 9 commits behind.2.
docs/handoffs/rest-api.mdno longer inlines the credential. Line 79 carriedcurl -u timothy:<password>; it now uses"$ETV_GITEA_BASICAUTH"like every other doc.Stated plainly: this does not purge git history. The literal still appears in 12 earlier commits and remains recoverable from them. Low severity — private LAN repo, and it is the documented default password — but if you want it gone from history that is a separate, deliberate operation (filter-repo + force-push + credential rotation), and rotating the password is the cheaper and more effective half.
.codex/mirroring the gate-enforcing hooks while being absent from the merge gate'sPROTECTEDlist is a distinct (currently latent) gap, filed as #711 rather than fixed here.Not docs-only, so this needs a real verdict rather than the automatic exemption.
Review-verdict: MERGEABLE @
980da6dTwo-file hygiene change, self-reviewed; a cross-family round is not proportionate here and that is stated rather than skipped silently. .gitignore gains .codex/ (generated machine-local mirror of the .claude hooks; its config.toml holds a plaintext Gitea credential and absolute /Users paths, so tracking it would leak the credential and is not portable). docs/handoffs/rest-api.md stops inlining that credential and uses $ETV_GITEA_BASICAUTH like every other doc. Verified: the literal is now absent from all tracked files; it REMAINS in 12 historical commits, which this does not and cannot address — rotating the password is the effective fix and is left to the operator. No executable/CI/gate path is touched. The related PROTECTED-list gap is filed as #711, not fixed here.