Skip to content

chore: public surface cleaning, add commit-msg guard#53

Merged
joshuaboys merged 3 commits into
devfrom
chore/strip-ai-tells
May 8, 2026
Merged

chore: public surface cleaning, add commit-msg guard#53
joshuaboys merged 3 commits into
devfrom
chore/strip-ai-tells

Conversation

@joshuaboys
Copy link
Copy Markdown
Contributor

@joshuaboys joshuaboys commented May 8, 2026

Summary

Tier 1 + 2 of the cleanup. Tier 3 is intentionally deferred.

Tier 1 — forward-facing polish

  • Root README: removed duplicate Packages table and duplicate (less complete) CLI Usage section. The remaining Packages table is the complete 10-package version; the remaining CLI Usage is the full read+write reference.
  • CHANGELOG: dropped the "Comprehensive" qualifier on v0.1.0's test-coverage bullet (classic AI-tell word).
  • packages/kindling/README.md: moved the cross-product Anvil CTA out of the npm-visible top section into a Related footer at the bottom.
  • plans/specs/2026-05-01-hearth-rearchitecture.md: rephrased "single highest-leverage application of witchcraft" to plain prose.
  • .mailmap: unified the "aneki" display name to "Josh Boys" so git log --use-mailmap and the GitHub UI show one consistent author. Email aliases are not consolidated yet — that's deliberately a Tier-3 decision.

Tier 2 — lock down going forward

  • .husky/commit-msg: rejects commit messages containing Co-Authored-By: Claude*, claude.ai/code/session_*, noreply@anthropic.com, or Generated with [Claude Code] / 🤖 Generated with footers. Override with COMMIT_ALLOW_AI_TRAILERS=1 if ever genuinely needed. Smoke-tested: clean messages pass; tells get blocked.
  • .github/workflows/no-ai-trailers.yml: same checks on every PR commit, so the local hook can't be silently bypassed by anyone — including future-you running git commit --no-verify.

Test plan

  • Tier 2 hook smoke-tested locally (clean pass, AI-trailer block, session-URL block)
  • pnpm run type-check (ran via pre-commit)
  • CI green on this PR (incl. the new no-ai-trailers job, which should pass since the only commit on this branch is clean)

Tier 1 (forward-facing polish):
- README: remove duplicate Packages table and CLI Usage section
- CHANGELOG: drop 'Comprehensive' qualifier
- packages/kindling/README: move Anvil cross-product CTA out of the
  npm-visible top section into a Related footer
- plans/specs/hearth: rephrase 'highest-leverage application of witchcraft'
- .mailmap: unify 'aneki' display name to 'Josh Boys'

Tier 2 (lock down going forward):
- .husky/commit-msg: reject Co-Authored-By Claude trailers,
  claude.ai/code/session URLs, anthropic noreply addresses, and
  'Generated with Claude Code' footers in commit messages
- .github/workflows/no-ai-trailers.yml: same checks on every PR so the
  hook can't be silently bypassed

Email consolidation and history rewrite are deliberately deferred to
Tier 3.
Copilot AI review requested due to automatic review settings May 8, 2026 06:34
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR polishes public-facing docs to reduce AI-provenance “tells” and adds enforcement to prevent AI-origin footers/trailers from entering commit history going forward.

Changes:

  • Clean up and de-duplicate root README content; adjust package README/CHANGELOG wording and positioning of cross-product CTA.
  • Rephrase and reformat a planning spec to remove odd phrasing and improve markdown consistency.
  • Add a local commit-msg hook and a CI workflow to block commits containing specific AI-provenance trailers/URLs.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
README.md Removes duplicate sections and updates the Packages table to the full/accurate list.
plans/specs/2026-05-01-hearth-rearchitecture.md Markdown reformatting and wording cleanup in the Hearth rearchitecture spec.
packages/kindling/README.md Moves Anvil CTA from top section to a bottom “Related” section.
CHANGELOG.md Tweaks v0.1.0 wording (“Comprehensive test coverage” → “Test coverage”).
.mailmap Adds author display-name normalization mappings.
.husky/commit-msg Adds commit-message guard to block AI provenance footers/trailers/URLs.
.github/workflows/no-ai-trailers.yml Adds CI job to reject PR commits containing AI provenance patterns.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .husky/commit-msg Outdated
Comment thread .github/workflows/no-ai-trailers.yml
Comment thread .github/workflows/no-ai-trailers.yml Outdated
Comment thread .mailmap Outdated
Comment thread plans/specs/2026-05-01-hearth-rearchitecture.md
Comment thread plans/specs/2026-05-01-hearth-rearchitecture.md Outdated
@joshuaboys joshuaboys changed the title chore: scrub AI tells from public surface, add commit-msg guard chore: public surface cleaning, add commit-msg guard May 8, 2026
joshuaboys and others added 2 commits May 8, 2026 14:43
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
- no-ai-trailers workflow: drop unused 'violators' awk pass; lowercase
  patterns and normalise commit body before matching so case variants
  (Co-Authored-By / CO-AUTHORED-BY) all hit the same rule.
- .mailmap: correct the format docstring — git's full form is
  <Proper Name> <proper email> <Commit Name> <commit email>, not the
  variant the previous comment described.
- hearth spec: drop the AI-tooling branch reference from the metadata
  table, and fix the ember-*/edda-* markdown that was rendering as
  ember-_, edda-_ due to unescaped underscores.
@joshuaboys
Copy link
Copy Markdown
Contributor Author

Review Feedback Addressed

Code Changes (1 commit pushed: 0716b68)

  • .github/workflows/no-ai-trailers.yml: lowercased patterns + normalised commit body to lowercase before matching, so case variants (Co-Authored-By, CO-AUTHORED-BY, etc.) all hit the same rule. Mirrors the equivalent fix already on .husky/commit-msg. Also dropped the unused violators awk pre-pass — the existing loop over git log --format='%H' was sufficient.
  • .mailmap: corrected the format docstring to match git's actual full form (<Proper Name> <proper email> <Commit Name> <commit email>). The data lines were already correct; only the comment misdescribed it.
  • plans/specs/2026-05-01-hearth-rearchitecture.md: removed the Branch: claude/... row from the metadata table (defeated the point of this PR), and switched the broken ember-*/edda-* row to backtick-quoted so the asterisks render literally.

@joshuaboys joshuaboys merged commit 48d6bab into dev May 8, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants