Skip to content

docs: make theme.go state the two palettes it does not own - #66

Merged
stanlyzoolo merged 1 commit into
mainfrom
worktree-docs-sync-readme-palette
Aug 8, 2026
Merged

docs: make theme.go state the two palettes it does not own#66
stanlyzoolo merged 1 commit into
mainfrom
worktree-docs-sync-readme-palette

Conversation

@stanlyzoolo

Copy link
Copy Markdown
Owner

Follow-up to #65. A docs-sync pass over the merged palette contract found three statements that are now false; all three are comment/prose edits, no behaviour change.

internal/ui/theme.go — the one that matters. #65 moved panel [3]'s heading ladder and code-fence accents off Theme roles, and three documents say the consequence was recorded in theme.go: CLAUDE.md's internal/ui row ("stated in all three of theme.go, readme_palette.go and keepkitStyle"), docs/design/readme-pipeline.md ("stated in three places"), and the palette file's own argument. theme.go was never in that diff — it still claimed, unqualified, that "switching every color in keepkit is switching one Theme value". The file that defines the rule is the one a contributor reads before adding a color, and it was the only one contradicting the other three. It now narrows its claim to what keepkit paints as a meaning and names both palettes standing outside it.

CLAUDE.md contradicted itself. Line 48 already said two palettes are not theme roles; the card-meta-block section still called ui.LanguageColor "the one thing in the app a theme switch must not repaint".

The bluemonday sentence was stale. readme-pipeline.md said "no general sanitizer (bluemonday) is pulled in". glamour v1.0.0 holds a bluemonday.StrictPolicy() in ansi/context.go:26 and go mod why puts it under internal/model, so microcosm-cc/bluemonday v1.0.27 has been in go.mod as an indirect dependency all along. Reworded to say what the preprocessor actually buys — control over which tags keep their bodies, which a strict policy flattens uniformly. docs/research/glow-comparison.md, which landed in #65, had already flagged this; the sentence it points at went unfixed.

Also verified, no drift

  • ARCHITECTURE.md's mermaid graph against go list — every drawn edge exists, every real edge is drawn, including ui → loader.
  • README Stack against the 10 direct deps in go.mod.
  • README's panel [3] copy already says the headings follow keepkit's own palette.

Note

CLAUDE.md is at 146 537 characters against the harness's 150 000 limit — about 3 400 to spare. Worth splitting the next large section into docs/design/ before something else needs the room.

Preflight green: build, vet, test -race ./..., golangci-lint run (0 issues), plus the Windows/darwin cross-compile.

Three documents claimed the contract change from #65 was recorded in
theme.go. It was not: the file still said switching every color in
keepkit is switching one Theme value, which stopped being true for
panel [3]'s heading ladder and code-fence accents. The file that
defines the rule is the one a contributor reads before adding a color.

Also drops two stale claims the same pass turned up: CLAUDE.md called
LanguageColor the one palette a theme switch must not repaint while its
own internal/ui row already said there were two, and the readme
pipeline doc said no general sanitizer is pulled in when glamour v1.0.0
holds a bluemonday.StrictPolicy and has put it in go.mod all along.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@stanlyzoolo
stanlyzoolo merged commit 7f6b627 into main Aug 8, 2026
3 checks passed
@stanlyzoolo
stanlyzoolo deleted the worktree-docs-sync-readme-palette branch August 8, 2026 22:12
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.

1 participant