feat(registry): discovery->reviewed promotion path (Viga) - #27
Merged
Conversation
Adds the one path that turns a discovery font into a REVIEWED corpus entry: a license-text-hashed CorpusManifest the registry's verdicts are allowed to rest on. scripts/promote-candidates.ts promotes an allow-listed family (Viga only) from the discovery snapshot - it reads the font bytes from the local cache and verifies them against the discovery fileSha256, fetches + hashes the EXACT upstream OFL.txt, parses facts, and reuses import-corpus buildManifest to emit the reviewed manifest. No binaries committed; records.json untouched. Viga (Tahoma's existing top_candidate) is the clean first promotion: static, OFL, single regular face. It passes every reviewed-corpus invariant (license-text hash, unique sha/faceId, parsed metadata) plus a new test that its committed sha matches the discovery snapshot. Naming Viga as Tahoma's public candidate is a SEPARATE editorial decision; this PR only establishes provenance.
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.
Builds the discovery -> reviewed promotion path - the step that turns "we know this open font exists" into "this font has exact, reviewed provenance," the tier a published verdict is allowed to rest on. First promotion: Viga (Tahoma's existing
top_candidate), the clean systems test (static, OFL, single regular face).scripts/promote-candidates.tspromotes an allow-listed family (Viga only) from the discovery snapshot:fileSha256(the driver throws on mismatch),ofl/viga/OFL.txt->licenseTextSha256), which the discovery tier never carries,import-corpus.tsbuildManifestfor the assembly (now exported;main()guarded byimport.meta.main).The result is a reviewed
CorpusManifest(promoted-google-fonts-2026-06-05.json) wired intoloadCorpus(), so it passes every existing corpus invariant (license-text hash, unique sha/faceId, parsed metadata, licenseUrl != sourceUrl, no proprietary). A new test asserts Viga's committed sha equals the discovery snapshot's.No binaries committed (manifest = sha + license-text hash + public URLs).
records.jsonis untouched: naming Viga as Tahoma's public candidate is a separate editorial decision, intentionally not in this mechanical PR.Reusable: adding a family to the allow-list promotes it. Variable fonts (e.g. Ruda) get a deliberate instancing pass later, as with Gelasio.
Verified locally: bun test -> 119 pass / 0 fail (incl. the reviewed-Viga check); tsc clean; biome clean; site build 23 pages. The license fetch is local/network, so it is verified locally, not CI-enforced.