From 9609cd84ba4406a84d4d886c433dad3bee508244 Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Mon, 28 Sep 2026 17:39:17 +0000 Subject: [PATCH] Say "provisional, pending a product decision" instead of naming a row Follow-up to 50ebdf89, which kept an internal tracking id on the grounds that a reader needs to know where the answer comes from. The ruling is that in shipped code the id should go too, and it is right: a row number means nothing to someone reading packet-render.js, and it points at a place they cannot open. What the comment has to carry is that the value MAY CHANGE, so a later reader does not treat it as settled and hardcode it somewhere. "Provisional, pending a product decision" says that without pointing anywhere. Three sites, all mine. CenteredSetTarget.vue carries the same reference and is not mine; it belongs to the carded fleet sweep. --- internal/check-packet-variants.mjs | 2 +- internal/check-ring-vocabulary.mjs | 2 +- library/packet/packet-render.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/check-packet-variants.mjs b/internal/check-packet-variants.mjs index 6b8861a6a..572014494 100644 --- a/internal/check-packet-variants.mjs +++ b/internal/check-packet-variants.mjs @@ -104,7 +104,7 @@ ok(count(full, /class="sheet/g) - count(light, /class="sheet/g) === 3, // ── THE RING LEGEND: THE AGREED VOCABULARY, AND ONLY THE RINGS THAT HOLD SOMEONE ──────────────── // ★ The names are COMPOSED from band x culture rather than a flat 1..10 table, because "same -// people" (still open, tracked as row 89) appears in rings 1, 4 AND 7 — three cells that a +// people" (provisional, pending a product decision) appears in rings 1, 4 AND 7 — three cells that a // flat table would have to keep in step. This asserts the composition produces the vocabulary // gospel and exp settled, so a printed sheet cannot disagree with the screen legend. { diff --git a/internal/check-ring-vocabulary.mjs b/internal/check-ring-vocabulary.mjs index 191509b0c..72e196fbb 100644 --- a/internal/check-ring-vocabulary.mjs +++ b/internal/check-ring-vocabulary.mjs @@ -11,7 +11,7 @@ * simply import the other. But the WORDS must match, and nothing structural holds them together. * * ★ THE FAILURE THIS CATCHES IS QUIET AND WELL-SHAPED. One cell is still open ("same people" vs - * "same culture", tracked as row 89), and it appears in rings 1, 4 AND 7. Answer it in one file + * "same culture", pending a product decision), and it appears in rings 1, 4 AND 7. Answer it in one file * and not the other and the printed packet and the screen legend state DIFFERENT THINGS about the * same ring — each looking perfectly correct in isolation, with no error anywhere. A reader holding * the sheet beside the app is the only thing that would notice. diff --git a/library/packet/packet-render.js b/library/packet/packet-render.js index 003ddf495..cd70613ac 100644 --- a/library/packet/packet-render.js +++ b/library/packet/packet-render.js @@ -834,7 +834,7 @@ export function createPacketRenderer({ strings, lang = 'en', fontData = null, de // 4 same language, same people 9 same family, different culture // 5 same language, near culture 10 nearby only // ⚠ COMPOSED FROM band x culture BECAUSE ONE CELL IS PROVISIONAL. "same people" vs the brief's - // "same culture" in column 1 is still open (tracked as row 89), and it appears in rings 1, 4 AND 7 — + // "same culture" in column 1 is PROVISIONAL, pending a product decision, and it appears in rings 1, 4 AND 7 — // so a flat ten-string table would need THREE edits kept in step, which is exactly how two of them // end up saying different things. Composed, it is ONE string (ring_culture_same) and the ring // numbering, the columns and the colours are untouched either way.