Ship the ClumL company mark instead of a product logo - #39
Merged
Conversation
shared/brand.svg was the Clumit Security wordmark — one consumer's product logo, shipped to every consumer. aimer-web documents a different product and already carried its own copy, which an audit read as drift; it was not. It was a consumer refusing an asset that did not belong to it. bootroot and agentcoop document neither product, so adopting the theme would have put another product's branding on their manuals, and bootroot's site is public. One file cannot serve the three places a mark appears, so there are three. brand.svg has white lettering for the header, which sits on the primary-coloured bar. brand-print.svg has black lettering for the PDF cover, which sits on white paper. brand-symbol.svg is the cube alone, because a wordmark scaled to a 16-pixel tab icon is unreadable. The PDF script had to move to brand-print.svg in the same change: it read brand.svg, which now carries white lettering, so leaving it would have rendered an invisible logo on white paper with nothing downstream reporting it. Vendoring took away the way aimer-web and aice-web-next keep their product marks — docs/theme/ is covered by the .meta digest and an edit there is reverted. theme.logo and theme.favicon already work, because mappings merge recursively on INHERIT. The PDF cover did not, so extra.pdf.cover_logo is added. A path that does not resolve is an error rather than a silent fall back to the company mark, which would ship a cover branded with the wrong name. Closes #38
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.
Closes #38.
shared/brand.svgwas the Clumit Security wordmark —aice-web-next's product logo, shipped to every consumer.aimer-webdocuments Clumit Insight and already carried its own copy; an earlier audit read that as drift, and it was not. It was a consumer correctly refusing an asset that did not belong to it.bootrootandagentcoopdocument neither product, so adopting the theme as it stood would have put another product's branding on their manuals — andbootroot's site is public.Three assets, not one
brand.svgbrand-print.svgbrand-symbol.svgThe two wordmarks differ in exactly one declaration (
.cls-2:#c9c9c9→#fff); every path is identical. Names describe where each is used, not what background it was drawn for — the source file calledBlackBGis the one with white lettering, which inverts confusingly.The PDF script had to change in the same commit. It read
docs/theme/brand.svg, which now carries white lettering; leaving it would have rendered an invisible logo on white paper, with nothing downstream reporting it.Product logos still work
Vendoring removed the way
aimer-webandaice-web-nextkeep their own marks:docs/theme/is covered by the.metadigest, so an edit there is reverted on the next installer run.themeis a mapping, and mappings merge recursively onINHERIT, so settingtheme.logooverrides just that key. Verified in the tests thattheme.featuresandtheme.palettesurvive.extra.pdf.cover_logo, a path relative todocs_dir. A path that does not resolve is an error, not a silent fall back to the company mark — falling back would hand a consumer a cover branded with the wrong name.Documented in a new README "Branding" section, including that product assets go under
docs/, neverdocs/theme/.Verification
tests/pdf-test.shgains four checks, all passing: the cover defaults tobrand-print.svgand not tobrand.svg; an overriddencover_logoreaches the rendered cover; an unresolvable override fails naming the key; a missingbrand-print.svgfails rather than producing a logo-less cover.<text>element, so the substitution is observed in the rendered page rather than only in the generated config —pdftotextfinds the marker.tests/installer-test.shasserts all three assets install.--strict; the built HTML referencestheme/brand.svgandtheme/brand-symbol.svg, and both are present insite/.#3f51b5): the white lettering is legible.shellcheckandmarkdownlint-cli2clean.Note
brand-print.svgis copied intosite/although only the PDF build reads it. It is 2.7 KB and adding anexclude_docsrule for it costs more clarity than the bytes are worth. Say the word if you would rather it be excluded.