/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. * * `intersection` shard recipe — the REAL-pair intersection training shard (#487). The model scored * 0.0 on intersection_a/b because the training mix had ZERO intersection-labeled rows. This is * the missing data. Ported from scripts/build-intersection-shard.mjs. * * STREET PAIRS ARE REAL: the same TIGER 2023 EDGES extraction as the eval builder * (scripts/eval/build-intersection-real.ts) — a node where two road edges (MTFCC S1*) with * distinct FULLNAMEs meet is a real crossing. Real pairs avoid teaching fake street-street * co-occurrences. * * LEAKAGE POLICY (mirrors the affix shard's VT discipline): * * - TRAIN counties: Cook IL (grid city) + Morris NJ (suburb). * - GOLDEN (`--golden`) county: Washington VT (rural) ONLY — the corpus defaultHoldout state. * - Every crossing in data/eval/external/intersection-real.jsonl is excluded from BOTH modes, by node * id AND by order-insensitive name pair (the eval shares all three counties). * * RENDERING: junction-format variety — padded/TIGHT `&` and `/`, `and`, `at`, `@`, leading-phrase * `corner of` / `intersection of` — crossed with tails (bare / `, ST` / `, ST ZIP` / `, City, ST * [ZIP]`) and case variants. ZIPs are the crossing's own TIGER edge ZIPL (real); the locality * tail comes from the OA Cook-county ZIP→city majority map. * * AUDIT: every emitted row is label-checked on the RAW SURFACE via the #519 char-offset span * triple. Any violation FAILS the build (throws). A JSON audit report lands next to the output. * * External inputs (`--edges-dir`, opts.edgesDir; both already on disk — do not re-download): * * - /tl_2023_{17031,34027,50023}_edges.shp (unzipped TIGER 2023 EDGES; default * `$MAILWOMAN_DATA_ROOT/census/tiger2023-edges`, where `mailwoman situs interpolation` puts them) * - `$MAILWOMAN_DATA_ROOT/oa-cache/us__il__cook.zip` (ZIP→city tails) */ import { type ShardRecipe } from "./scaffold.ts"; /** * Shard 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 intersectionRecipe: ShardRecipe; //# sourceMappingURL=intersection.d.ts.map