mirror of
https://github.com/garrytan/gbrain.git
synced 2026-07-29 19:01:39 +00:00
T19 — synthetic corpus scaffold for extract-takes prompt tuning.
test/fixtures/calibration/extract-takes-corpus/ — 5 representative
pages across 4 genres (essay, people, companies, meetings, decisions).
v0.36.0.0 ships a SMALL representative corpus as proof of structure;
the full 50-page training set + 10-page holdout gets generated by the
operator via `gbrain calibration build-corpus` (v0.37 follow-up
subcommand) or by hand with the privacy guard catching violations
either way.
Privacy contract per D13': every page is SYNTHETIC. None of the
names/companies/funds/deals/events refer to anything real. Placeholder
names per CLAUDE.md: alice-example, charlie-example, acme-example,
widget-co, fund-a/b/c, acme-seed, widget-series-a, meetings/2026-04-03.
test/fixtures/calibration/README.md spells out the privacy contract,
generation flow, and what the corpus is (stable regression set for
the extract-takes prompt) vs is not (real anything).
T20 — privacy CI guard (CDX-14 mitigation).
scripts/check-synthetic-corpus-privacy.sh greps the corpus for:
1. Explicit dollar amounts ($50M, $1.2B etc) — would suggest the
page memorized a real round size.
2. Out-of-range year references (informational only for v0.36.0.0;
deferred to a manual review checklist).
3. Pages that reference ZERO placeholder names — suggests the page
might be referring to real entities. Essay-genre fixtures
exempt (they're anonymized PG-style writing by design).
Wired into `bun run verify` (CI gate) so contributors can't accidentally
land a synthetic fixture that leaks real-world specificity. The intent
is fail-fast on accidental leakage; the operator can update the
allowlist if a generic dollar amount is intentional.
Closes CDX-14: 'CC reads real brain pages locally, writes nothing
still risks privacy if any generated synthetic fixture memorizes
structure-specific facts. Placeholder names are not enough.'
The corpus shipped here is intentionally small but covers the four
core gbrain page genres (essay, people, companies, meetings/decisions).
The v0.37 corpus-build subcommand will fan out to 50 with the operator
spot-checking + the CI guard enforcing the privacy contract.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>