fix: shipped text and generated docs use the em-dash character #853

Open
opened 2026-10-20 18:27:11 +00:00 by hexajon · 0 comments
Owner

Summary

madtea's shipped text uses the em-dash character (U+2014) as a separator and in prose. The madt_status line is one example: it separates Repo <owner>/<repo>, On branch main, and nothing to commit with U+2014. I write plain hyphens in everything I ship, and the text that madtea prints, its tool descriptions, its help, and its generated reference docs should follow the same rule.

A git grep -l for U+2014 over the non-test Go files under internal/ finds the character in 397 files. That count covers comments and string literals together. The files with the most are internal/mcp/tools_help.go (168 lines), internal/mcp/help_generated.go (126), internal/parity/allowlist.go (95), internal/mcp/description_drift.go (87), and internal/opspec/paramdocs.go (82).

Scope

  • Every Go string literal that ships: result lines, refusals, diagnostics, tool and parameter descriptions, help topics.
  • The generated reference docs under docs/reference/, regenerated from the fixed source.
  • Source comments are optional in this change. The rule is about shipped text.

The text output of a command is not public API, so a changed separator is not a breaking change. A raw_json value that carries an em-dash would be, so the change must name any such value.

Acceptance criteria

  • No Go string literal outside _test.go files contains U+2014.
  • go run ./cmd/madtea-dev docs generate produces reference docs with no U+2014.
  • A test in internal/parity fails when a non-test Go string literal contains U+2014, so the character cannot come back.
  • The gate passes.
## Summary madtea's shipped text uses the em-dash character (U+2014) as a separator and in prose. The `madt_status` line is one example: it separates `Repo <owner>/<repo>`, `On branch main`, and `nothing to commit` with U+2014. I write plain hyphens in everything I ship, and the text that madtea prints, its tool descriptions, its help, and its generated reference docs should follow the same rule. A `git grep -l` for U+2014 over the non-test Go files under `internal/` finds the character in 397 files. That count covers comments and string literals together. The files with the most are `internal/mcp/tools_help.go` (168 lines), `internal/mcp/help_generated.go` (126), `internal/parity/allowlist.go` (95), `internal/mcp/description_drift.go` (87), and `internal/opspec/paramdocs.go` (82). ## Scope - Every Go string literal that ships: result lines, refusals, diagnostics, tool and parameter descriptions, help topics. - The generated reference docs under `docs/reference/`, regenerated from the fixed source. - Source comments are optional in this change. The rule is about shipped text. The text output of a command is not public API, so a changed separator is not a breaking change. A `raw_json` value that carries an em-dash would be, so the change must name any such value. ## Acceptance criteria - No Go string literal outside `_test.go` files contains U+2014. - `go run ./cmd/madtea-dev docs generate` produces reference docs with no U+2014. - A test in `internal/parity` fails when a non-test Go string literal contains U+2014, so the character cannot come back. - The gate passes.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea#853
No description provided.