fix(brand): show ByteFolk in public doc copy - #35
Conversation
Bindy-lbb
left a comment
There was a problem hiding this comment.
Independent review (Bindy-lbb) at exact head 88a029b. Exactly the claimed 5 spots (SECURITY.md contact line, messages/en.json and messages/zh-cn.json eyebrow strings, page.tsx footer span, footer.tsx copyright line) plus one new regression test. No npm/package.json, schema, or MCP identifier touched anywhere in the diff.
Checked the footer.tsx copyright string ("©{year} fullstack-ai-infra / doc" -> "ByteFolk") specifically against the stated "legal text preserved" boundary: this repo's actual legal attribution lives in its Apache-2.0 LICENSE/NOTICE, not in this UI string, so I read this as in-scope visible brand copy rather than the frozen legal text — flagging the reasoning for visibility rather than treating it as a blocker.
The new src/tests/components/bytefolk-brand.test.tsx is a real regression guard: it renders the actual HomePage and Footer components (not just asserting the JSON strings) and checks rendered text excludes the retired org name, built via array-join rather than a literal to avoid the term reappearing in the test source itself. CI green (test + docker-build). Clean single noreply commit. No P0/P1. Approving.
Tracking record
Fixes #34
Consumed baseline:
bytefolk/doc@ce8a24667009cff02c492ab8a6796b864f86b19b; Issue #34 isstatus:ready.User outcome
The English and Chinese landing pages, both user-visible footers, and the public security policy now identify the organization as ByteFolk. The lowercase product name
docand the established@fullstack-ai-infra/*npm scope are unchanged.Implementation
[Unreleased]changelog entry.Requirement trace
SECURITY.md,messages/*.json,src/app/[locale]/page.tsx,src/components/footer.tsxCHANGELOG.mdValidation ledger
Environment: macOS 15.5; Node 24.14.1/npm 11.11.0 for CI-parity build; the host pre-commit hook used Node 26.7.0 with
NODE_OPTIONS=--no-experimental-webstorageso jsdom, rather than Node's experimental global, ownslocalStorage.ByteFolk / doc; visible legacy=0; npm base/head counts match0; npm53/53; package metadata/lock changes0npx vitest run src/__tests__/components/bytefolk-brand.test.tsxnpm run format && npm run lintNODE_OPTIONS=--no-experimental-webstorage npm run test-cinpm run build:collaboration && npm run check:clinpm run buildwith the sanitized CI environment from.github/workflows/ci.ymlnpx tsc --noEmitsrc/__tests__/lib/api-v1-mutations.test.ts; no changed file reported/enand/zh-cnnext startand.next/standalone/server.jshit(0, P.d) is not a functionin the compiled landing route; process stopped; no HTTP-render claimgit diff --check origin/main...HEAD; sensitive scan; commit audit88a029b7d2a311fcfefbd26860f3519c0a261d06testanddocker-buildrequired checks88a029b…33482243211:test4m17s;docker-build3m15sReproducible boundary gates
One non-
@legacy string remains inpackage-lock.jsononly as the frozen npm vendored tarball coordinatefile:vendor/fullstack-ai-infra-ui-0.2.0.tgz; the lockfile is byte-unchanged.Tests and coverage
src/__tests__/components/bytefolk-brand.test.tsx.Risk and rollback
Security
No secrets, credentials, private documents, dependency changes, external resources, or executable behavior were added. Sensitive-pattern scan and public noreply metadata audit passed.
Author checklist
main.[Unreleased].Automated assistance: Codex prepared the scoped copy/test changes and validation ledger. The human contributor remains accountable for the submitted change.