Two reactions do not match the approved vocabulary, and the boundary mark fires on no boundary #446

Closed
opened 2026-08-13 13:20:19 +00:00 by coilyco-ops · 0 comments
Member

Slice of #111, the shared state vocabulary half. Not the rich element — Kai's decision is that the two are one design problem, which is the reason to make the state model correct before adding a second surface that renders it.

Two defects

The emoji drifted from the approved set.

approved was
error ⚠️
🚫 content boundary blocked

Close enough to look right in a comment and wrong on a member's screen. TestEveryHarnessCaseHasADistinctReaction asserted only that the four differ from each other, which is exactly how two of them drifted while a test passed.

The boundary mark fires on no boundary. reactionRefused exists for "a message a boundary turned away" and fires on access refusals. It does not fire when the content gate blocks a turn, so the state most specifically about a content boundary was silent on the only content boundary in the harness. That gate landed today and I never connected it.

Scope

  • both emoji corrected to the approved codepoints
  • the content gate emits the boundary mark when it blocks
  • a test pins each reaction to its approved codepoint, which is what was missing

Acceptance

  • Each of the four reactions equals the codepoint Kai approved.
  • A blocked turn is marked.
  • The distinctness test still holds, since it is still worth having.
**Slice of** https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/111, the shared state vocabulary half. **Not the rich element** — Kai's decision is that the two are one design problem, which is the reason to make the state model correct before adding a second surface that renders it. ## Two defects **The emoji drifted from the approved set.** | approved | was | | --- | --- | | ❌ error | ⚠️ | | 🚫 content boundary blocked | ⛔ | Close enough to look right in a comment and wrong on a member's screen. `TestEveryHarnessCaseHasADistinctReaction` asserted only that the four differ from each other, which is exactly how two of them drifted while a test passed. **The boundary mark fires on no boundary.** `reactionRefused` exists for *"a message a boundary turned away"* and fires on access refusals. It does not fire when the content gate blocks a turn, so the state most specifically about a content boundary was silent on the only content boundary in the harness. That gate landed today and I never connected it. ## Scope - both emoji corrected to the approved codepoints - the content gate emits the boundary mark when it blocks - a test pins each reaction to its approved codepoint, which is what was missing ## Acceptance - Each of the four reactions equals the codepoint Kai approved. - A blocked turn is marked. - The distinctness test still holds, since it is still worth having.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/sirens-echo#446
No description provided.