/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. * * The sub-venue curation ledger (#35 wave 2) — every decision taken about whether a designator * surface may be used for parsing IN A GIVEN LOCALE, with the census that backs it. * * This file is HAND-AUTHORED. `sub-venue-lexicon.ts` is a pure function of its sources; nothing in it * can decide that Spanish `terminal` is safe and British `hall` is not, because that judgement is * about the confounds a token has in a language, and a confound is a fact about the world rather than * about the data. What the builder does is APPLY these decisions — {@link SUBVENUE_PROMOTIONS} is the * only thing that ever sets `curated: true` on a machine-derived surface. * * ── Why every decision is per-LOCALE ───────────────────────────────────────────────────────────── * Wave 1 measured `hall` at 3,274 hits in the Great Britain extract and stopped there, which reads as * a verdict on the word. It is not. Re-censused per region 2026-08-05, the same token is a British * disaster and a German designator, and no single global flag can express that. The rule this file * enforces: a promotion names a designator, a phrase, AND a locale, and it is earned by a count taken * in that locale's own data. * * ── What "real" and "confound" mean in the numbers below ───────────────────────────────────────── * Each census counts the surface's occurrences in one region's extract and splits them two ways: * * - **real** — the phrase sits in a name that is genuinely venue-interior structure, judged by the * rule designator of the feature carrying it (`terminal`, `gate`, `campus`) and by the name taking a * ` ` or ` ` shape. * - **confound** — everything else, and the `confoundNote` says WHAT it is. A count with no note is * not a census; "3,274 hits" told nobody that 3,205 of them were bus stops named after a village * hall. * * The instrument is `context` on {@link SubVenueSurface} plus the name-shape split; both are * reproducible from the committed extracts, and `PROVENANCE.md` records the commands. * * ── A rejection is a deliverable ───────────────────────────────────────────────────────────────── * Rejections stay in this table forever. They are what stops the next contributor re-proposing * `hall` for en-GB from the same Wikidata concept that proposed it the first time. */ /** * One curation decision. */ export interface SubVenuePromotion { /** * The {@link SubVenueDesignator.id} the phrase is a surface of. */ designatorID: string; /** * The exact normalized surface being decided on — `halle`, not `hall`, when the German form is at issue. */ phrase: string; /** * BCP-47-ish `-`. The region half is matched against a surface's `region` and the language half against * its `lang`, so `de-DE` reaches both a German Wikidata label (region-free) and a German extract's untagged name. */ locale: string; decision: "promote" | "reject"; /** * Set when the board's verdict is valid ONLY under a syntactic shape — the machine-readable half of a shape-separable * confound. `identifier-required` means the phrase is promoted solely in ` ` position (Halle 8); * bare occurrences stay unpromoted. A consumer that reads promotions MUST honour this field: the de-DE `halle` board * (2026-08-05 five-whys review) is the founding case — its 168-hit confound includes the CITY Halle (Saale), and the * 32/32-real enumeration that justified promotion was an enumeration of the identifier-bearing shape, not of the * phrase. Absent = the promotion holds in any shape. */ shape?: "identifier-required"; /** * Occurrences judged genuine venue-interior structure in that locale's census. */ real: number; /** * Occurrences judged confound. */ confound: number; /** * What the confound half IS. Required prose — a bare number is not a board. */ confoundNote: string; /** * Which extract or dataset the census was taken over, and when. */ census: string; } /** * The ledger. Sorted by designator, then locale, then phrase in the emitted artifact; source order here is grouped by * designator for reading. * * ── A rejection of a SHIPPED designator is ADVISORY ────────────────────────────────────────────── * `neural/venue-structure.ts` ships `wing`, `terminal`, `concourse` and six more as a FLAT English vocabulary with no * locale gate. Nothing in this table can un-ship them: the `wing` / en-US rejection below tells a shard author which * locale to exclude from a generated line, and does not stop the span proposer from firing on "Red Wing". Giving the * shipped vocabulary a per-locale gate is the largest thing the shard will want that does not exist yet. */ export declare const SUBVENUE_PROMOTIONS: readonly SubVenuePromotion[]; //# sourceMappingURL=sub-venue-promotions.d.ts.map