flower
/
All briefs
complete feedback flower
from feedback #116 · Hide cancelled briefs the same as complete briefs pe...

Feedback #116: Hide cancelled briefs the same as complete briefs per the toggle on /briefs

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.

#118 done fresh flower · flower/237-hide-cancelled-briefs
agent: claude
You are being dispatched from flower Brief #237: Feedback #116: Hide cancelled briefs the same as complete briefs per the toggle on /briefs

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

Target:
- project: flower (/Users/mikeferrara/Documents/code/flower)
- branch: flower/237-hide-cancelled-briefs
- worktree: not specified
- kind: fresh

Current brief spec:
# Hide cancelled + abandoned briefs via the /briefs "hide completed" toggle

## Problem / operator intent (feedback #116, 2026-07-04)
The `/briefs` list has a "hide completed" toggle. Extend it so it ALSO hides **cancelled** and **abandoned** briefs — i.e., the toggle hides all terminal/closed states, not just `complete`.

## Scope
- In the `/briefs` Livewire index component + its query, extend the existing "hide completed" filter so that when active it excludes briefs with status `complete`, `cancelled`, AND `abandoned` (today it only excludes `complete`).
- Keep the toggle's default + persistence behavior as-is; just broaden which statuses it hides. Confirm the awaiting-count / any status tallies stay correct.
- **Minor UX call (recommended):** relabel the toggle to reflect the broader scope (e.g. "Hide closed" / "Hide done & closed") since it no longer hides only "completed." Flag if you'd rather keep the "Hide completed" label.

## Acceptance
- With the toggle ON, `/briefs` hides `complete` + `cancelled` + `abandoned` briefs; with it OFF they show. Other statuses unaffected.
- `php artisan test` green + `./vendor/bin/pint`. `Brief: #237` trailer. Worktree-pinned; never edit MAIN.

## Provenance / gating
Feedback #116 (operator:ui, 2026-07-04) → promoted to this brief. **`needs_operator_approval=true` (Funnel A)** — stays non-dispatchable until the operator approves it, even at `planned`.

**Disposition:** `planned` — small, mechanical UI; no design-loop. Awaiting operator approval before dispatch.

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

Summary:
Hide cancelled briefs the same as complete briefs per the toggle on /briefs

Detail:
We have the 'hide completed' toggle on /briefs - let's extend that to hide cancelled and abandoned as well
[3] link_added operator:mike: (no body)
[4] status_change operator:mike: (no body)
[5] participant_joined flower-refine: (no body)
[6] plan_proposed flower-refine: # Hide cancelled + abandoned briefs via the /briefs "hide completed" toggle

## Problem / operator intent (feedback #116, 2026-07-04)
The `/briefs` list has a "hide completed" toggle. Extend it so it ALSO hides **cancelled** and **abandoned** briefs — i.e., the toggle hides all terminal/closed states, not just `complete`.

## Scope
- In the `/briefs` Livewire index component + its query, extend the existing "hide completed" filter so that when active it excludes briefs with status `complete`, `cancelled`, AND `abandoned` (today it only excludes `complete`).
- Keep the toggle's default + persistence behavior as-is; just broaden which statuses it hides. Confirm the awaiting-count / any status tallies stay correct.
- **Minor UX call (recommended):** relabel the toggle to reflect the broader scope (e.g. "Hide closed" / "Hide done & closed") since it no longer hides only "completed." Flag if you'd rather keep the "Hide completed" label.

## Acceptance
- With the toggle ON, `/briefs` hides `complete` + `cancelled` + `abandoned` briefs; with it OFF they show. Other statuses unaffected.
- `php artisan test` green + `./vendor/bin/pint`. `Brief: #237` trailer. Worktree-pinned; never edit MAIN.

## Provenance / gating
Feedback #116 (operator:ui, 2026-07-04) → promoted to this brief. **`needs_operator_approval=true` (Funnel A)** — stays non-dispatchable until the operator approves it, even at `planned`.

**Disposition:** `planned` — small, mechanical UI; no design-loop. Awaiting operator approval before dispatch.
[7] note_added flower-refine: Refinement complete — spec is ready to dispatch. Left at `refining` because the Funnel-A `needs_operator_approval` gate blocks a daemon from advancing it to `planned` (attempted; rejected: "Brief #237 needs operator approval before it can move to planned" — correct, working as designed). **Operator: approve #237 (via /briefs or /feedback #116) to release it to `planned`/dispatch.** No further refinement needed unless you want the label change (see spec's minor UX note).
[8] note_added operator:mike: Operator approved this feedback-born brief for dispatch.
[9] 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: #237` 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. link added 20h ago
    agent · system:commit-trailer
  2. participant joined 20h ago
    system · system:commit-trailer
  3. merged 21h ago

    Merged flower/237-hide-cancelled-briefs (BriefStatus::terminalValues; /briefs "Hide closed" toggle now hides complete+cancelled+abandoned) to master by flower-orchestrator (daemon 40). Suite green 1191. Resolves operator feedback #116.

    agent · flower-orchestrator
  4. status change 21h ago
    agent · flower-237-worker
  5. dispatched 21h ago

    Dispatch request #118 marked done.

    agent · flower-237-worker
  6. note added 21h ago

    Landed on branch flower/237-hide-cancelled-briefs (commit c709c05). The /briefs "hide completed" toggle now hides ALL terminal statuses — complete, cancelled, AND abandoned — instead of just complete (feedback #116). Changes: - app/Enums/BriefStatus.php: added static terminalValues() returning the closed set as raw string values, derived from the existing isTerminal() (single source of truth). - app/Livewire/Briefs/Index.php: briefQuery's hideCompleted branch now whereNotIn('status', terminalValues()) instead of `!= complete`; hiddenCompletedCountQuery now whereIn(terminalValues()) so the hidden tally counts all closed states. `deferred` (parked, non-terminal) is intentionally NOT hidden. - resources/views/livewire/briefs/index.blade.php: relabeled the toggle "Hide completed" → "Hide closed" (+ tooltip + "N closed hidden" count) per the spec's recommended UX call. The persisted `hide_completed` query param, default (ON), and persistence behavior are unchanged. - Tests: new IndexTest case asserts cancelled+abandoned hide alongside complete while deferred stays visible, ON/OFF both directions; updated the two label assertions; adjusted BriefRelationsUiTest merge-pointer test to reveal closed briefs (a merge cancels the source, which is now hidden by default). php artisan test green (1180 passed, 1 pre-existing skip); pint clean on all changed files. No asset rebuild needed (text-only blade change, no new Tailwind classes). Not merged — leaving the merge to the MAIN orchestrator.

    agent · flower-237-worker
  7. participant joined 21h ago
    system · flower-237-worker
  8. dispatched 21h ago

    Dispatch request #118 queued for flower.

    agent · flower-orchestrator
  9. status change 21h ago
    agent · flower-orchestrator
  10. participant joined 21h ago
    system · flower-orchestrator
  11. status change 22h ago
    agent · operator:mike
  12. note added 22h ago

    Operator approved this feedback-born brief for dispatch.

    operator · operator:mike
  13. note added 22h ago

    Refinement complete — spec is ready to dispatch. Left at `refining` because the Funnel-A `needs_operator_approval` gate blocks a daemon from advancing it to `planned` (attempted; rejected: "Brief #237 needs operator approval before it can move to planned" — correct, working as designed). **Operator: approve #237 (via /briefs or /feedback #116) to release it to `planned`/dispatch.** No further refinement needed unless you want the label change (see spec's minor UX note).

    agent · flower-refine
  14. plan proposed 22h ago

    # Hide cancelled + abandoned briefs via the /briefs "hide completed" toggle ## Problem / operator intent (feedback #116, 2026-07-04) The `/briefs` list has a "hide completed" toggle. Extend it so it ALSO hides **cancelled** and **abandoned** briefs — i.e., the toggle hides all terminal/closed states, not just `complete`. ## Scope - In the `/briefs` Livewire index component + its query, extend the existing "hide completed" filter so that when active it excludes briefs with status `complete`, `cancelled`, AND `abandoned` (today it only excludes `complete`). - Keep the toggle's default + persistence behavior as-is; just broaden which statuses it hides. Confirm the awaiting-count / any status tallies stay correct. - **Minor UX call (recommended):** relabel the toggle to reflect the broader scope (e.g. "Hide closed" / "Hide done & closed") since it no longer hides only "completed." Flag if you'd rather keep the "Hide completed" label. ## Acceptance - With the toggle ON, `/briefs` hides `complete` + `cancelled` + `abandoned` briefs; with it OFF they show. Other statuses unaffected. - `php artisan test` green + `./vendor/bin/pint`. `Brief: #237` trailer. Worktree-pinned; never edit MAIN. ## Provenance / gating Feedback #116 (operator:ui, 2026-07-04) → promoted to this brief. **`needs_operator_approval=true` (Funnel A)** — stays non-dispatchable until the operator approves it, even at `planned`. **Disposition:** `planned` — small, mechanical UI; no design-loop. Awaiting operator approval before dispatch.

    agent · flower-refine
  15. participant joined 22h ago
    system · flower-refine
  16. status change 22h ago
    agent · operator:mike
  17. link added 22h ago
    agent · operator:mike
  18. note added 22h ago

    Feedback #116 Authority: OPERATOR APPROVAL REQUIRED Funnel: A - operator approved brief Gate: this brief must not be dispatchable until the operator approves it. Kind: idea Source: operator:ui Summary: Hide cancelled briefs the same as complete briefs per the toggle on /briefs Detail: We have the 'hide completed' toggle on /briefs - let's extend that to hide cancelled and abandoned as well

    agent · operator:mike
  19. participant joined 22h ago
    system · operator:mike

epic · dependencies

Relationships

epic parent

depends on

No dependencies — dispatchable once planned.

agents · waves

Participants

  • operator:mike participant · active
  • flower-refine participant · active
  • flower-orchestrator participant · active
  • flower-237-worker participant · active
  • system:commit-trailer participant · active

trace · graph

Links

  • Commit #4048 execution
  • Feedback #116 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.