Synthetic data is leverage only when the seed is yours. Generating from public GitHub clones competitors’ bugs, licenses, and style into your weights. Day 46 allowlists seeds and requires validators plus lineage.
⚡ TL;DR: Seed from internal ADRs, failing CI logs, and canonical SDK examples. Validate with compile/tests. Ban mass scrapes. Store lineage on every row.
Allowed seeds: internal ADRs/RFCs; failing tests + redacted traces; platform-maintained SDK examples. Banned: mass GitHub scrape; random READMEs; customer PII without legal review.
adr = load("docs/adr/0032-auth.md")
prompt = f"Write an example using AuthClient per this ADR:\n{adr}"
sample = teacher.generate(prompt)
assert "AuthClient" in sample and compile_ok(sample)
Deduplicate near-copies, mix difficulty, spot-check ~5% with humans. Lineage fields: seed_id, generator_model, validator, created_at — so bad synthetics can be purged.
Production checklist
- [ ] Seed allowlist documented
- [ ] Validators on code synthetics
- [ ] Lineage required
- [ ] Legal sign-off on any external seed
- [ ] Dedup pipeline
- [ ] Purge procedure tested
Series navigation
Last updated September 11, 2026
Discover more from CheatCoders
Subscribe to get the latest posts sent to your email.
