chore(brand): em-dash sweep + scorecard publish_results fix#79
Merged
Conversation
Brand-alignment pass following the alanchester-brand voice rules.
1. Em-dash sweep across 7 prose files (105 dashes total).
87 swept via mechanical replacement (` — ` → `. ` with capitalization
of the following letter when lowercase, code blocks and table rows
protected). Remaining 18 in table cells and end-of-line continuations
swept manually with contextual replacement (period, comma, colon,
or semicolon depending on the bridging role).
Files swept:
README.md (33), CONTRIBUTING.md (11), CLAUDE.md (20),
SECURITY.md (2), CHANGELOG.md (4), TESTING.md (27),
VERSIONING.md (8).
The single em-dash remaining in TESTING.md:73 is inside a
```bash code block (a shell comment example for `act --dryrun`),
correctly preserved per the theming-prompt rules on code structure.
Post-sweep audit (`grep -nE '\. [a-z]'`) found 1 hit:
README.md:149 `Region (e.g. iad): iad` — abbreviation false
positive, left as-is.
2. .github/workflows/scorecard.yml: publish_results uses
`github.ref_name == github.event.repository.default_branch`
instead of hardcoded `refs/heads/main`. Same fix as
engineering-handbook PR #16, repo-template PR #11, and
claude-teams-operator PR #228.
Today this repo's default is main, so the change has no
immediate effect. But the workflow is now correct regardless
of which branch is set as default (consistent with the family
pattern, forward-compatible if you ever switch to develop as
default for a pre-stable-release phase).
The push trigger also now fires on develop. publish_results
keeps the public score canonical to default-branch state.
The codeql-action SHA on develop (e46ed2cb...) is real and
correct; not changed here. (main has the imposter SHA from
the older repo-template version, but main only updates via
release promotion, so it'll inherit the develop fix on the
next release.)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: amcheste <13696614+amcheste@users.noreply.github.com>
amcheste
approved these changes
May 12, 2026
Owner
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brand-alignment pass against the alanchester-brand voice rules. 105 em-dashes addressed across 7 prose files, plus the now-standard Scorecard
publish_resultsfix.1. Em-dash sweep (7 files, 105 dashes addressed)
87 swept mechanically via
re.sub(r' — ([a-z])', lambda: '. ' + capitalize, ...)with code-block and table-row protection. Same approach as engineering-handbook PR #16 and claude-teams-operator PR #228.18 swept manually with contextual judgment:
X — Ywhere Y describes X) → commas. E.g.pyenv — switch versions→pyenv, switch versions.Persist facts across sessions — supplements CLAUDE.md→Persist facts across sessions. Supplements CLAUDE.md.Breaking changes — tools removed, ...→Breaking changes: tools removed, ...Pre-stable — actively being developed→Pre-stable; actively being developed....productive —\ntools, dotfiles...) → commas with continuation.One em-dash deliberately preserved:
TESTING.md:73(# Dry run — show what would execute without running) is inside a```bashcode block (a shell comment example foract --dryrun). Per theming-prompt rules on code structure, this stays.Post-sweep audit clean: 1 match on
grep -nE '\. [a-z]'—README.md:149"Region (e.g. iad): iad" — abbreviation false positive (e.g.), left as-is.2. Scorecard publish_results fix
Same one-pattern fix as engineering-handbook, repo-template, and claude-teams-operator:
This repo's default is currently
main, so no behavior change today. But the workflow is now correct regardless of which branch is set as default — consistent with the family pattern and forward-compatible if you ever flip to develop as default for a pre-stable-release phase.Note on the codeql-action SHA
The
github/codeql-action/upload-sarif@e46ed2cbd01164d986452f91f178727624ae40d7pin on develop is real and correct — verified via the GitHub API. No imposter-commit issue on develop.mainstill has the older imposter SHA (d4b3ca9f...from when it was last updated from repo-template). That'll resolve on its own at the next release promotion (develop → main), since develop already has the real SHA.What's NOT in this PR
assets/logo.png→assets/banner.svgper banner-spec). Same follow-up as pokemon-red-ai, overleaf-mcp, etc.repositoryTopics: null). Manualgh repo edit.Verification
git diff origin/develop --name-only→ 8 files. No edits tosetup.sh,Brewfile*,Formula/,claude-skills/,dotfiles/, orscripts/.grep -rn "—" *.md→ 1 result (TESTING.md:73, shell-comment example in code block).🤖 Generated with Claude Code