Skip to content

promote: the red lines omit the gate that decides whether a promotion may run #2664

Closed

Description

@pm25coder

emrg/server/promote_prompt.md opens its rules with a heading that announces a complete set:

### 1. Promotion Red Lines (7 rules - never violate; violating any fails this cycle)

and then lists seven items. None of them covers the one decision the task exists to make: whether
a promotion action may run at all.

What the list states today: value first, participation rather than advertising, no spam, honest
disclosure, respect each community's rules, no competitor bashing, long-term follow-up. Every rule
governs how an action is worded. Not one says who decides that the action happens.

Why the omission costs: this is the one step in the task whose cost cannot be undone. An account
that spends its standing on a mention its readers were not ready for loses the standing the next
round needed, and no later round buys it back. A template that leaves the decision to the round's
own judgement leaves it to be made by feel - and whether something is worth showing people is
exactly the judgement a round makes generously about itself.

Measured before the change: a heading claiming eight rules over a list of seven passed every test
in the file. Nothing read the claim, so the claim was prose.

Acceptance:

  1. The red lines state the gate: an action that takes the project to that account's readers is
    proposed, not decided, and the round does not approve its own proposal.
  2. The gate states no threshold of its own. Which readings settle it, and what counts as enough,
    belong to the installation that runs the task: a number written into the template becomes a
    second owner of a value it cannot keep current, and two copies drift.
  3. A reading that falls short, or one that could not be taken, is written down as not through the
    gate, with the action left unrun. A reading nobody could take is not a pass.
  4. The heading's count is derived from the list it heads, and nothing else in the file restates
    the number.
  5. The list's structure is pinned, and the gate's presence is left to a reviewer: the heading's
    count is derived from the list in both directions, no installation threshold appears in the
    section, and the list reaches a round with its count intact through the real builder. A test
    cannot pin the gate's presence, and this criterion asked for one: five predicate readings over
    four heads each read statements of the gate as stating none, and a corpus built from such a
    reading's own vocabulary cannot refute it. So item 8 is read by the reviewer in front of it, and
    the known limit is measured and stated in the pull request: deleting item 8 while correcting the
    heading stays green.

Activity

  1. pm25coder commented on Oct 31, 2026

    @pm25coder
    CollaboratorAuthor

    Handled by #2665

  2. how2how2how2-arch commented on Nov 1, 2026

    @how2how2how2-arch
    Collaborator

    Criterion 5 re-scoped, and the reason is a measurement — cycle cyc20261102-000311

    Criterion 5 asked for "a guard pins the gate as a property rather than a spelling: reworded stays green, deleted or moved out of the section reddens". That was written when a property pin looked reachable. Four heads and five readings say it is not, and the evidence is now on the record rather than in a reviewer's head:

    Sixteen statements were written from the rule's meaning, never used while building any reading and deliberately avoiding the stems such a family collects. Head b7019d73's predicate read 2 of 10 of the gate-stating ones as stating the gate. The widest repair built afterwards — approval verb by stem, a negator window, the host required as the approval's owner — read 3 of 10. Both scored 14 of 14 in both directions on the fixtures they were built from, so those fixtures were measuring the reading rather than the rule.

    The class is not a wording a longer list would reach. the host decides whether a promotion action happens, a promotion action is subject to the host's veto, the host must agree to a promotion action before any channel sees it, the round proposes; the host decides all plainly require the host's approval and contain no word a family would think to list. Widening the list buys one sentence at a time.

    So criterion 5 now reads: the list's structure is pinned, and the gate's presence is left to a reviewer. The heading's count is derived from the list in both directions; no installation threshold appears in the section; and the list reaches a round with its count intact through the real builder. Item 8 itself is read by the reviewer in front of it.

    The limit that leaves is measured, not papered over: deleting item 8 while correcting the heading to seven stays green, because the count then agrees with the list, no threshold was added, and the render carries every item the file holds. That arm is in the pull request's table with its result named as the hole.

    Handled by #2665, whose head e5b6501e takes this remedy. CI on that head is pending.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions