P2 (2/2): five more lines without "design note" as a person, in the UPG-100 data scripts

clusters.json (one decision_pending value; the field is not in the built tree), retag-adm1.mjs (a
comment and a console message), search-index.js and uncovered-proof.mjs (comments) state the reason
without a persona. derive-city-candidates.mjs's safety_note no longer repeats "separate".
This commit is contained in:
Doxa Maps 2026-10-02 08:51:19 +00:00
parent 8b83c34a79
commit b3daa34ab1
5 changed files with 6 additions and 6 deletions

View file

@ -122,7 +122,7 @@ const stats = {
internet_researched: clusters.filter((c) => c.internet_access !== 'unknown').length,
generated: '2026-08-01',
scope_note: 'Scope is the full 2,106-record DX people-group corpus. No separate "2000 list" artefact exists on disk — verified by search — so this corpus IS the scope.',
safety_note: 'Contains NO gospel-resource, church or believer field, and must not gain one. That join is held pending a separate architecture (separate store, never joined to UPG locations in a public artifact).',
safety_note: 'Contains NO gospel-resource, church or believer field, and must not gain one. That join is held pending its own architecture (separate store, never joined to UPG locations in a public artifact).',
};
if (!existsSync(OUT)) mkdirSync(OUT, { recursive: true });

View file

@ -1626,7 +1626,7 @@
"uncovered_scatter": {
"n_a_region_total": 19,
"null_region_total": 3,
"decision_pending": "fold into nearest geographic neighbour OR create a 'Diaspora and Micro-territories' list. design note decides."
"decision_pending": "fold into nearest geographic neighbour OR create a 'Diaspora and Micro-territories' list. The product decision is open."
},
"asia_solved_validation": "2026-06-06 — pg_slugs predicate exact-count for all 12 Asia lists against live 2106-row source; 0 cross-country leaks",
"uncovered_lists": [

View file

@ -21,7 +21,7 @@
// So we re-tag `listId` and nothing else.
//
// R-D2: a feature whose shapeName matches NO cluster must be 0. If any appear we
// LOG loudly, LEAVE the old tag (do not drop), and flag for the design note — never
// LOG loudly, LEAVE the old tag (do not drop), and flag for a product decision — never
// silently mis-tag.
// R-D3: stable canonical writer — match the existing on-disk style EXACTLY
// (single-line minified JSON, no trailing newline) so the diff is the listId
@ -95,7 +95,7 @@ function report(r) {
}
}
if (r.unmatched.length) {
console.log(` *** UNMATCHED (R-D2: should be 0 — LEFT old tag, FLAGGED for design note) ***`);
console.log(` *** UNMATCHED (R-D2: should be 0 — LEFT old tag, FLAGGED for review) ***`);
for (const u of r.unmatched) {
console.log(` !!! ${u.shapeName.padEnd(42)} kept old listId=${u.keptOld}`);
}

View file

@ -111,7 +111,7 @@ export function buildSearchIndex(opts = {}) {
// ── (3b) Territories — ADM0 countries (by ISO3 → display name) ──────────────
// The tapestry ADM0 features carry ONLY props.iso3, so target.shapeName holds
// the ISO3 and the fly-to predicate matches f.properties.iso3. The LABEL is the
// human name (live countryNameMap preferred, ISO3_NAME fallback) so a design note
// human name (live countryNameMap preferred, ISO3_NAME fallback) so a reader
// typing "Nepal" finds NPL. De-dup: a name already covered as an ADM1 admin
// (none collide today, but guard anyway) isn't re-added.
const nameMap = countryNameMap || iso3Names;

View file

@ -53,7 +53,7 @@ const PLAIN_CACHE = '/tmp/upg-live-records.json';
// Swap-back baseline: dropping `uncovered_lists` and re-serialising must reproduce
// the rest of clusters.json byte-for-byte — proving the 7 uncovered zones are the
// ONLY thing this proof's edits touch. 09b-asia-contiguity-v2 re-cut `asia_lists`
// (the sanctioned design note re-partition: IN-A/B/C/D + NAS-B), so the baseline rolls
// (the sanctioned re-partition: IN-A/B/C/D + NAS-B), so the baseline rolls
// from the pre-09b-5 snapshot (3aa10103, OLD India zones) to the post-v2 value
// below. The uncovered_lists themselves are unchanged (nepal:34, himalaya:15,
// sa-west:43, central-asia:6, mongolia:3, japan:6, scatter:8) — verified by the