chore(registry): vendor research snapshots as reference + privacy gate - #21
Merged
Conversation
…a privacy gate Originally meant to make import-research.ts authoritative again. Validation killed that plan: the curated registry is deliberately MORE honest than the coarse research summaries can reproduce. Regenerating would overclaim three rows - Cambria (face-scoped visual_only, ~23% worst face), Georgia (near_metric, 1.84%), and Arial Narrow (visual_only, ~50%) - all of which the apryse 1-best rounds to "metric-safe". Those verdicts rest on face-scoped and runner-measured evidence the CSVs do not carry, so records.json stays hand-curated and the importer stays demoted. What this keeps: - Vendored, public-safe snapshots of the research sources under scripts/research-sources/ (reference only; the importer reads them for a dry run and is NOT wired into CI). import-research.ts now documents exactly why it cannot be authoritative. - A first CI workflow (typecheck, test, lint, build). No import --check gate - it would force the overclaims above. - A public-repo hygiene test that fails the build on internal markers (Slack/dashboard URLs, cross-repo PR refs, SD-/IT- ticket IDs, internal jargon) in the snapshots or the generated registry notes. It also fixes two pre-existing leaks the hygiene test caught in committed public data: a "PR #3608 ... T4" note on the Calibri record and a "family-status.json" reference in the Calibri measurement.
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.
This started as "make import-research.ts authoritative again" and turned into the opposite conclusion, which is the useful part. Validating the regenerated output against the committed registry showed the generator would overclaim three rows: Cambria (face-scoped visual_only, ~23% worst face), Georgia (near_metric, 1.84%), and Arial Narrow (visual_only, ~50%) - all of which the apryse 1-best summary rounds to "metric-safe". Those verdicts depend on face-scoped and runner-measured evidence the CSV snapshots do not carry, so records.json stays hand-curated and the importer stays demoted. No verdicts change here.
What this lands:
scripts/research-sources/, as reference/provenance only.import-research.tsreads them for a dry run and now documents exactly why it cannot be authoritative (and is not wired into CI).PR #refs,SD-/IT-ticket IDs, internal jargon) in the snapshots or the generated registry notes.PR #.../T4note on the Calibri record, and afamily-status.jsonreference in the Calibri measurement.A CI workflow (typecheck/test/lint/build, deliberately no
import-research --check) is part of this change but is not in this push yet - the bot token lacks the GitHubworkflowscope. It will be added to this branch once that scope is granted.Verified locally: bun test -> 85 pass / 0 fail (incl. the 3 hygiene checks); tsc --noEmit -> clean; biome check -> clean; site build -> 22 pages. records.json diff is a single line (the Calibri note); no verdict changes.