brand(#18): add the ByteFolk organization avatar - #19
Conversation
Preserve the approved R1 horned-B assets while incorporating the ByteFolk handle migration from #21.
Keep the approved R1 brand asset documentation aligned with the live organization handle.
|
Independent review (Bindy-lbb) at exact head Direction match: Readability at scale: simulated a box-filter downscale to 16/32/64px (a reasonable proxy for how a raster avatar shrinks). Clearly legible at 32px and up — both horns and the bowl stay distinct. At 16px it gets muddy (horns become small blobs, the bowl's inner counter is hard to read), but that's a genuinely hard bar for most detailed marks and 16px real-device-pixel avatar rendering is rare (mentions/comments are typically ≥20px at 1x, doubled on retina). Not a blocker, just noting it. Circular-crop padding — found a real gap, requesting this be addressed before merge.
I decoded
This means AC-003 ("sufficient circular-crop padding") is asserted PASS by a check that doesn't actually test circular geometry. Two independent ways to close this, either is fine by me:
Everything else (SVG safety checks, PNG encoding/grayscale/ink-color checks, deterministic export script, usage docs, and the post-merge upload/readback/rollback procedure) looks solid and consistent with the rigor from the org-migration PRs. Holding off on approving until the circular-crop gap is addressed — happy to re-review the next exact head quickly since this is a small, scoped fix either way. |
|
@Bindy-lbb Addressed the circular-crop blocker you found in #19 (comment) at exact head
Reproduction: ruby scripts/validate-brand-assets.rb
brand/bytefolk/render-avatar.sh --check
ruby scripts/validate-governance.rb
git diff --check origin/main...HEADNo live organization setting or avatar was changed. Please re-review exact head |
Bindy-lbb
left a comment
There was a problem hiding this comment.
Independent re-review (Bindy-lbb) at exact head 3c82dccf965dbcfa57ab23b384899632202445c9. Governance CI green, matches the linked run.
Independently re-verified the circular-crop fix rather than trusting the reported numbers: decoded avatar-1024.png myself (same from-scratch PNG/zlib decode as before, not reusing the repo's validator code) and checked every ink pixel's distance from canvas center (511.5, 511.5) against radius 512.
Result: 0 ink pixels outside the inscribed circle; max distance from center among all ink pixels is 487.99px — matches your reported ~488px almost exactly. Bounding box shrank from [128,134]-[901,895] to [166,173]-[863,857], consistent with the 0.9 center-scale applied to match the lockup's existing proportions. Visually the mark is unchanged in character (same B, same two horns, same bowl) just slightly more inset.
This closes the gap from my prior comment. No other issues found. Approving.
Tracking record
Fixes #18
Consumed revision: R1 — Minimal horned B, approved by the organization owner in issue #18.
Summary
Make the selected minimal one-color horned B the canonical ByteFolk organization symbol and prepare the exact GitHub upload artifact.
The centralized GitHub organization avatar is applied only after this PR is independently approved, merged, and green on
push/main. Member avatars, repository settings, handles, pins, profile copy, permissions, and all other organization fields are out of scope.Acceptance criteria
translate(8 8) scale(.9)group transforms are validator-gated; V1/V2scripts/validate-brand-assets.rb; browser inspection at 16/32/64/512 px; V1(511.5,511.5), visible ink outside the 496 px safe radius is0; max ink radius is 488.0 px; independent mask replay has AE0; V1–V3brand/bytefolk/README.md; V4push/mainCIValidation ledger
Environment: macOS 15.5 (24F74), Ruby 2.6.10, Git 2.39.5, ImageMagick 7.1.2-22, GitHub CLI 2.89.0. Base
b6b9c8be284c250886953cf092174dd0cb96b402; head3c82dccf965dbcfa57ab23b384899632202445c9.ruby scripts/validate-brand-assets.rboutside-circle ink=0; max ink radius488.0pxbrand/bytefolk/render-avatar.sh --checkByteFolk avatar matches symbol.svgAE=0 (0); horn tips remain complete at all four sizesruby scripts/validate-governance.rbValidated 5 issue forms, issue template config, 7 required files, and local Markdown links.git diff --check origin/main...HEADCircular-crop replay
compareprints0 (0). The circle has center(511.5,511.5)and radius496because its edge point is(511.5,15.5).The tracked upload artifact is
brand/bytefolk/avatar-1024.png, SHA-25608a2ebb326503dee75344ddd95b3007d0266ead1564fc9194ad8c6d8f0232dd9.Post-merge acceptance procedure
push/mainGovernance run, and confirm the merge SHA is contained inmain.avatar_url.https://github.com/organizations/bytefolk/settings/profile, upload the exact trackedbrand/bytefolk/avatar-1024.pngwithout additional editing.GET /orgs/bytefolk, download the newavatar_url, and compare the served image structurally with the tracked source while accounting for GitHub resizing.Tests and coverage
scripts/validate-brand-assets.rb, wired into the existing Governance workflow.#141414primary ink, at least 100 px rectangular padding, and zero visible ink beyond the centered 496 px circular safe radius.Change classification
Risk and rollback
Breaking or security notes
None. SVG validation rejects embedded raster data, scripts, external URLs, filters, foreign objects, and gradients. The diff contains no credential, personal data, private URL, or external dependency addition.
Author checklist
status:readyand the organization owner approved the selected C direction.mainand contains no unrelated changes.Automated assistance: Codex assisted with SVG implementation, deterministic export, validation, and evidence assembly. The organization owner remains accountable for the selected brand mark and live settings change.
Reviewer notes
Current gate: exact-head CI is green at
3c82dccf965dbcfa57ab23b384899632202445c9in Governance run 33479560390; independent approval is still pending from an eligible reviewer.Please focus on whether the mark is genuinely the approved minimal C direction, whether the 1024px upload preserves circular-crop padding and light/dark readability, whether the validator meaningfully blocks unsafe/drifting assets, and whether the post-merge mutation protects every non-avatar organization field.