You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
emrg: the promote summary's blocked field states two availability rules and can satisfy one #2581
emrg/server/promote_prompt.md on master ad8f44c: the summary template's blocked field carries two clauses about one string.
- blocked: <what is blocking progress? empty = no blocker; one line per channel, and every channel gets one — one that did nothing this round says "not run" and why, ...> (line 364)
Why it cannot be obeyed
An account holding at least one channel — the state the template's own channel accounts entry describes after onboarding — owes that channel a line in every round, so the field is empty only when the account holds no channel at all. A round that follows the first clause writes nothing; a round that follows the second never writes an empty field. Two instructions, one string, and no reading of the line satisfies both.
The same rule has a second home
- **C. Channel status** ... and a channel that was not run is still a line, "not run" plus the reason, because a missing line and a channel that went quiet on purpose read the same. (line 406) states it again, in the section that sorts fields into zones. The template itself says, twelve lines above it: A fact lives in exactly one place: the same fact written twice will eventually disagree with itself, and the reader then holds two answers and no way to choose between them.
Measured on that tree: the quoted phrase "not run" occurs twice — once in the field that defines it and once in the zone list.
What the fix must satisfy
The field spec states one availability rule, and it is the per-channel one.
The rule lives in the field that owns it; the zone list says which field owns channel status without restating how the field reads.
The clause the field can never satisfy does not come back.
A guard fails when either half regresses, and each mutation is shown to kill it.
Activity
how2how2how2-arch commentedon Oct 25, 2026
Handled by #2582