Repository navigation
docs(claude): replace em-dashes in CLAUDE.md with plain punctuation - #1262
Conversation
CLAUDE.md is the top-priority instruction file for agent sessions and still carried 15 em-dashes (U+2014), which the project prose rule forbids. Rewrite each one with a colon, comma, semicolon or a new sentence chosen to fit the local prose. No other text changes; en-dash ranges such as "9–15 min" are left alone. Closes LeanerCloud#342 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Brings in main's CI fixes (LeanerCloud#1236, LeanerCloud#1252) and CI changes since, so this PR gets a fresh CI run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Independent review (IAmJSD's agent, fresh context, given only the diff, the issue and the PR text): VERDICT: APPROVE Blocking:
Non-blocking:
Attacked:
Body-stale:
Reviewer: rB4. Bar while the maintainers are away (set by IAmJSD as acting owner): one approving independent review on the head, two for money, auth and security paths. |
|
Local verification at |
|
Merged by IAmJSD's agent at IAmJSD's request (IAmJSD is acting owner while the maintainers are away), under the bar IAmJSD set: 1 approving independent review(s) on |
Summary
CLAUDE.mdis the highest-priority instruction file for every agent session, yet it still contained em-dashes (U+2014), which the project prose rule forbids. This PR rewrites each one with a colon, comma, semicolon or a new sentence chosen to fit the surrounding prose. No other text in the file changes.Closes #342
Em-dash count in
CLAUDE.md: 15 before, 0 after. The issue reported 24, but currentorigin/mainhas 15, and the line numbers listed in the issue no longer match the file. This PR fixes every em-dash still present.Replacements
Do NOT skip this step — it is mandatoryDo NOT skip this step; it is mandatory## Issue assignment — claim before you work (MANDATORY)## Issue assignment: claim before you work (MANDATORY)(MANDATORY — even for one-line fix commits)(MANDATORY, even for one-line fix commits)§Post-push CI watcher — CUDly's pre-commit job ...§Post-push CI watcher. CUDly's pre-commit job ...foreground polling — the main session must stay unblockedforeground polling; the main session must stay unblocked§3a — \git rebase ...`§3a: \git rebase ...`unresolved — same failure mode as ...unresolved, the same failure mode as ...## PR labeling — mirror closing-issue labels (MANDATORY)## PR labeling: mirror closing-issue labels (MANDATORY)the issue it closes — \priority/*`, ...`the issue it closes: \priority/*`, ...`# Guard against empty $LABELS — gh pr edit ...(shell comment in a code block)# Guard against empty $LABELS: gh pr edit ...`triaged` to the PR — that would lie.`triaged` to the PR; that would lie.(rare — the label set is populated ...)(rare, since the label set is populated ...)## CI/CD IAM — bootstrap vs runtime split## CI/CD IAM: bootstrap vs runtime splithuman** — not by the CI workflow itself.human**, not by the CI workflow itself.SHOULD 403 — that's the signal ...SHOULD 403; that's the signal ...Four headings changed (lines 78, 197, 301 and 367), so their GitHub anchor slugs change too. I ran
git grepacross the repo (excludingfrontend/) and found no anchor links to those headings. The two Terraform comments that mention the "CI/CD IAM" bootstrap-vs-runtime split refer to it by name, and that name still matches.En-dashes (U+2013) in ranges such as
9–15 minand3–6 CR passesare not em-dashes. I left them unchanged.Verification
This is a docs-only change, so there are no Go, unit or integration tests to run. Here is the evidence:
Every changed line swaps exactly one em-dash for other punctuation. I reviewed each line of the diff to confirm that nothing else changed.
Combined-tree verification. This branch was tested together with the other queued branches on a local, never-pushed tree:
queue/platform@936996ad= origin/maina14dc8f2plus these heads, merged in this order:fix/issue-72andfix/issue-312conflict on one line ininternal/api/handler_dashboard.go(both change thecalculateCommitmentMetricscall). The tree used #72's side with #312's validatedprovidervariable; whichever PR merges second takes that same resolution.Linux, Go 1.26.9,
AWS_CONFIG_FILE=/dev/null AWS_SHARED_CREDENTIALS_FILE=/dev/null AWS_EC2_METADATA_DISABLED=true; Docker Postgres via testcontainers:936996ad:go build ./...,go vet ./...,go vet -tags integration ./...and the fullgo test -race -short -count=1 ./....936996ad: golangci-lint v2.10.1 found 0 issues on every changed package, with and without--build-tags integration.tests/e2eis a separate module, so it was vetted under its owne2etag.gocyclo -over 10is silent on the changed non-test files.-tags integration -count=1, 60-minute local timeout because the VM was shared):936996ad, these pass:internal/server,internal/credentials,internal/scheduler,internal/database/postgres/migrations,internal/purchaseandinternal/api.internal/configpasses exceptTestPostgresStoreDB_ResolveStaleRIExchange_ValidatesCloudCheck, which fails the same way on unmodified main (fixed by fix(config): compare resolve checked_at at the database's microsecond precision #1252).26795376, same branches at earlier heads):internal/analytics,internal/auth,internal/commitmentopts,internal/databaseandcmd/lambda/clear-rate-limitall pass. The later fixes don't touch those packages.httpToLambdaRequestsignature change;scripts/setup-git-secrets.shpatterns in a fresh repo with an isolated HOME, found nothing in the changed files, and a planted fake key was flagged.scripts/test-git-secrets-allowlist.sh: 137 PASS, 0 FAIL.Out of scope
pygrep-style pre-commit hook scoped to^CLAUDE\.md$could be a follow-up.CLAUDE.md. Several other files still contain them, for example.pre-commit-config.yaml, some.github/workflows/*.ymlfiles,docker-compose.yml,scripts/azure-smtp-setup.shandscripts/generate-federation-iac.go.Labels
Maintainer: please mirror the triage labels from #342 onto this PR:
impact/internal,triaged,priority/p3,severity/low,urgency/eventually,effort/s,type/docs.🤖 Generated with Claude Code