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.
This commit is contained in:
Doxa Maps 2026-09-28 17:39:17 +00:00
parent d1d2d1dec5
commit 9609cd84ba
3 changed files with 3 additions and 3 deletions

View file

@ -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 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 // ★ 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 // 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. // gospel and exp settled, so a printed sheet cannot disagree with the screen legend.
{ {

View file

@ -11,7 +11,7 @@
* simply import the other. But the WORDS must match, and nothing structural holds them together. * 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 * ★ 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 * 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 * 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. * the sheet beside the app is the only thing that would notice.

View file

@ -834,7 +834,7 @@ export function createPacketRenderer({ strings, lang = 'en', fontData = null, de
// 4 same language, same people 9 same family, different culture // 4 same language, same people 9 same family, different culture
// 5 same language, near culture 10 nearby only // 5 same language, near culture 10 nearby only
// ⚠ COMPOSED FROM band x culture BECAUSE ONE CELL IS PROVISIONAL. "same people" vs the brief's // ⚠ 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 // 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 // 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. // numbering, the columns and the colours are untouched either way.