/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. * * `country-balanced` slice recipe — the BALANCED, MODEL-FIRST country-coverage slice (#464). The * shipped model is STARVED on `country` (P=R=F1=0 on the homograph eval), so this fills the void * the way the `unit` slice did, but built to AVOID over-firing "trailing token ⇒ country". Three * ingredients, ported faithfully from scripts/build-country-slice-balanced.mjs: * * 1. Breadth/recall — real OA skeletons (US/DE/FR/IT/NL) with a country token in a varied surface form * from `@mailwoman/codex/country` (canonical / endonym / ISO code), + ~30% country-ABSENT * negatives (teach O-emission, the precision floor). * 2. Homograph CONTRAST pairs — each true country-name homograph (Georgia, Jordan, Lebanon, Mexico, * Peru, Turkey) rendered BOTH ways: as `country` (foreign-city context) AND as the US * `region`/`locality` (US-ZIP context). Teaches that the label is CONTEXTUAL, not * positional. * 3. Code-as-region negatives — 2-letter codes that are both a US state abbrev and an ISO country code * (CA/GA/IN/MA/PA/AL) in US-ZIP context → must read as `region`, never `country`. * * `--golden` emits a held-out synthetic val over the VT (US) + Berlin (DE) holdouts. This is a * `generate`-mode recipe that still reads REAL tuples off disk — `--count` bounds the OUTPUT, not * the input. The passed `random` (the framework LCG) is consumed in the exact call order the * legacy script used. */ import { type CorpusRecipe } from "#recipes/scaffold"; /** * Slice recipe registered with the corpus builder — see the file header for the parse behaviour it exists to exercise, * and `description` below for the surface form it generates. */ export declare const countryBalancedRecipe: CorpusRecipe; //# sourceMappingURL=country-balanced.d.ts.map