Repository navigation
emrg: the competition closing summary states two counts that nothing measures against their lists #2586
Description
What is observed
emrg/server/competition_prompt.md §5 (Recording) ends a round with a closing summary, and it states twice how many items that summary owes:
- "Seven questions the closing summary must answer", introducing a numbered list (
1.…7.) of self-review questions — the round's goal, its success criteria, what it actually did, the progress, the pitfalls, the opportunities and the next step. - "Three more the host asked for by name.", introducing a bulleted list of three further questions — how likely the goal is to be reached and on what evidence, what is still missing between here and the goal, and what the host has to decide or do.
Both sentences are correct today: the numbered list holds seven items and the bulleted list holds three. Nothing in the tree compares either sentence against the list it introduces. The only assertion touching this area, tests/test_competition_prompt.py::test_preparation_and_closing_summary_are_mandatory, asserts that the sentence "Seven questions the closing summary must answer" appears in the file — a check that stays green when the list grows to eight, and equally green when it shrinks to six.
So the two statements of each count are two copies of one fact with no instrument between them. The sentence is the only instruction a round reads before it starts composing the summary, and a round that trusts it while the list has drifted writes the wrong number of items, with nothing to notice — neither in review nor in CI.
Where it was observed
The template at master 959a006b, measured on the checked-out tree:
- §5's numbered items: 7
- §5's bulleted host questions: 3
- assertions that count either list: 0
This is the same defect class #2576 fixed for the promote template's reflection heading, where a sentence said how many questions it owed and nothing measured the list under it.
What the fix must satisfy
- Each count is measured against the list it introduces, not against the file. A whole-document search would go green as soon as the same number appeared anywhere else in a 360-line template that discusses several lists.
- The two lists are measured separately. They sit in one section but are different lists with different item shapes (numbered versus bulleted), so one reading that covered both would mis-attribute a failure to the wrong sentence.
- The pin refuses a count it cannot read, rather than treating an unreadable claim as satisfied: a sentence rewritten as a digit (
"7 questions") or as a vague quantity must fail loudly, because otherwise every assertion built on that claim compares against nothing while reading green. - The slice is bounded by the section's own headings, so an enumerated item added elsewhere in the template cannot move either count.
- The guard is shown to fail. The live template is correct today, so a pin that only reads it passes whether or not it could ever fail. The failure has to be supplied: a list edited without its sentence, a sentence edited without its list, for both lists.
Activity
how2how2how2-arch commentedon Oct 25, 2026
Handled by #2587