flower
/
All briefs
complete feedback flower
from feedback #72 · Use attention emojis on daemon messages that need an...

Feedback #72: Use attention emojis on daemon messages that need an operator response so they're easy to scan

canonical · plan

Spec

markdown

hand-off · dispatch

Dispatch

Auto-dispatch

when it reaches planned

Design-loop

design pass before build

This brief is complete — dispatch is closed.

#89 done fresh flower · flower/158-attention-emojis
agent: claude
You are being dispatched from flower Brief #158: Feedback #72: Use attention emojis on daemon messages that need an operator response so they're easy to scan

Recall pointer:
- Use recall_brief with id 158 for the full folder if you need provenance.

Target:
- project: flower (/Users/mikeferrara/Documents/code/flower)
- branch: flower/158-attention-emojis
- worktree: not specified
- kind: fresh

Current brief spec:
(no spec yet)

This is a direct request, not a fully-specced plan. If it's clear, resolve it. If you hit a blocking ambiguity, call brief_ask (or brief_append) with your questions and flip the brief to `refining` before proceeding — don't guess.

Recent/key trace events:
[1] participant_joined operator:mike: (no body)
[2] note_added operator:mike: Feedback #72
Authority: OPERATOR APPROVAL REQUIRED
Funnel: A - operator approved brief
Gate: this brief must not be dispatchable until the operator approves it.
Kind: idea
Source: flower-orchestrator (daemon 17), on operator request

Summary:
Use attention emojis on daemon messages that need an operator response so they're easy to scan

Detail:
When a daemon posts something that actually needs the operator's response/decision — a question, a go/no-go, a blocker awaiting the operator — prefix/tag it with a consistent set of attention emojis (e.g. ❓ question needing an answer, 🅰️/🟢 go/no-go decision, 🛑 blocker, ✋ needs-you) so the operator can visually scan a long scrollback and instantly spot the items that need them vs routine activity/FYI. Should apply across daemon reports/notes, inbox notes, brief questions, and the operator-feed "needs_you" items. Keep routine/FYI messages un-emoji'd (or a low-key marker) so the highlight stays meaningful. Operator request 2026-07-03.
[3] link_added operator:mike: (no body)
[4] note_added operator:mike: Operator approved this feedback-born brief for dispatch.
[5] status_change operator:mike: (no body)

Recommended linked context:
{
    "todos": [],
    "scratchpads": []
}

Execution notes:
- Treat the brief as the source of truth.
- Keep work scoped to this dispatch request.
- Use brief_append / brief_update_status when reporting material progress; as your final dispatched-worker step, call brief_dispatch_complete with dispatch_request_id (or brief_id) and actor_ref.
- Codex workers should verify mutating Flower tools with tool_search query `brief_append brief_dispatch_complete flower_feedback` (limit 20) when tool availability is in doubt; report raw SEE/LOAD vs NOT visible instead of silently using local fallbacks.
- Add a git commit trailer `Brief: #158` to every commit for this brief so flower can exact-link commits back to the brief.

provenance · append-only

Trace

live
or paste a screenshot uploading…
  1. merged 1d ago

    Merged to master by flower-orchestrator (daemon 29). Merge commit 22125ce (worker commit 9ca5c1e, branch flower/158-attention-emojis). App\Support\AttentionSignal (3-glyph vocab: ❓ awaiting answer, 🛑 blocking, ✋ needs you) + accessible <x-ui.attention> component (role=img + aria-label), wired into FeedService (per-entry token gated on needs_you), the shared x-decisions.card (covers /decisions + rooms + brief open-questions), and inbox open notes. Blade-only (no asset rebuild). tests/Feature/Decisions/IndexTest.php was auto-merged cleanly with #178's earlier edits (non-overlapping) — combined suite green: 988 tests / 986 passed / 2 skipped / 0 failed. JUDGMENT CALL flagged by worker: go/no-go confirm decisions fold into ❓ rather than a distinct 🟢 glyph (a green/A reads as "resolved" on a still-open call); offered a 4th glyph if the operator prefers.

    agent · flower-orchestrator
  2. link added 1d ago
    agent · system:commit-trailer
  3. link added 1d ago
    agent · system:commit-trailer
  4. participant joined 1d ago
    system · system:commit-trailer
  5. status change 1d ago
    agent · flower-158-attention-emojis-worker
  6. dispatched 1d ago

    Dispatch request #89 marked done.

    agent · flower-158-attention-emojis-worker
  7. note added 1d ago

    Shipped attention-emoji treatment for operator-directed items. Branch flower/158-attention-emojis @ 9ca5c1e (off master), suite 973/974 green (1 pre-existing skip), pint clean. Design — single source of truth `App\Support\AttentionSignal`: a deliberately tiny 3-glyph vocabulary — ❓ "Awaiting your answer" (open question/decision) · 🛑 "Blocking — needs you" (blocking call, MIA daemon, stuck brief) · ✋ "Needs you" (compaction request/needed, open feedback, open inbox note). Holds all the needs-response gating: forFeed(classification,severity,kind), forDecision(isOpen,isBlocking), forNote(status). Rendered everywhere via a new `<x-ui.attention>` component (role="img" + aria-label/title so it's spoken, not emoji-only; renders nothing for routine/FYI so the highlight stays meaningful). Surfaces wired (the "needs operator response / open" flags that gate each): - Operator feed — FeedService.entry() precomputes an `attention` token per entry, gated on the feed's own `needs_you` classification (so emoji + "Needs you" lane never disagree). Rendered in the rooms/show "Needs you" lane + main stream, and the rooms/index lobby "needs you" pill. - Shared `x-decisions.card` — one change covers /decisions board, rooms answer-now lane, AND brief "Open questions" (all render open Decisions through this card). 🛑 when is_blocking, ❓ otherwise; only open calls flagged. - Inbox — open OperatorNotes (NoteStatus::Open) get ✋; terminal/acked notes stay un-glyphed. Judgment call worth your eye: go/no-go confirm decisions fold into ❓ rather than a distinct 🟢/🅰️ — a green/A glyph reads as "resolved/go" on a still-OPEN call, the exact confusion the highlight is meant to avoid. Happy to add a 4th go/no-go glyph if you'd rather. Tests: AttentionSignalTest (mapping + gating, incl. which feed kinds flag as needs-response), FeedServiceTest extended to assert per-entry `attention` tokens end-to-end, Decisions/IndexTest asserts ❓/🛑 render on open calls and are absent once resolved. Files: +app/Support/AttentionSignal.php, +resources/views/components/ui/attention.blade.php, +tests/Unit/Support/AttentionSignalTest.php; M FeedService.php, decisions/card.blade.php, inbox/index.blade.php, rooms/index.blade.php, rooms/show.blade.php, FeedServiceTest.php, Decisions/IndexTest.php. Not merged — idle for orchestrator review.

    agent · flower-158-attention-emojis-worker
  8. participant joined 1d ago
    system · flower-158-attention-emojis-worker
  9. dispatched 1d ago

    Dispatch request #89 queued for flower.

    agent · flower-orchestrator
  10. status change 1d ago
    agent · flower-orchestrator
  11. participant joined 1d ago
    system · flower-orchestrator
  12. status change 1d ago
    agent · operator:mike
  13. note added 1d ago

    Operator approved this feedback-born brief for dispatch.

    operator · operator:mike
  14. link added 1d ago
    agent · operator:mike
  15. note added 1d ago

    Feedback #72 Authority: OPERATOR APPROVAL REQUIRED Funnel: A - operator approved brief Gate: this brief must not be dispatchable until the operator approves it. Kind: idea Source: flower-orchestrator (daemon 17), on operator request Summary: Use attention emojis on daemon messages that need an operator response so they're easy to scan Detail: When a daemon posts something that actually needs the operator's response/decision — a question, a go/no-go, a blocker awaiting the operator — prefix/tag it with a consistent set of attention emojis (e.g. ❓ question needing an answer, 🅰️/🟢 go/no-go decision, 🛑 blocker, ✋ needs-you) so the operator can visually scan a long scrollback and instantly spot the items that need them vs routine activity/FYI. Should apply across daemon reports/notes, inbox notes, brief questions, and the operator-feed "needs_you" items. Keep routine/FYI messages un-emoji'd (or a low-key marker) so the highlight stays meaningful. Operator request 2026-07-03.

    agent · operator:mike
  16. participant joined 1d ago
    system · operator:mike

epic · dependencies

Relationships

epic parent

depends on

No dependencies — dispatchable once planned.

agents · waves

Participants

  • operator:mike participant · active
  • flower-orchestrator participant · active
  • flower-158-attention-emojis-worker participant · active
  • system:commit-trailer participant · active

trace · graph

Links

  • Commit #3966 execution
  • Commit #3968 execution
  • Feedback #72 seed

scope

Projects

  • flower · primary

dogfood · read-only

Agent’s-eye view

The literal recall_brief payload an agent gets — same service path as the MCP tool.