flower
/
All briefs
complete draft note flower
epic · Let's figure out we can turn your "waiting on your a...

#95 PR-0 — Pure rename: brief_questions → decisions (isolate blast radius)

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.

#56 done fresh flower · flower/95-pr0-decisions-rename
agent: claude 2 scratchpads
You are being dispatched from flower Brief #116: #95 PR-0 — Pure rename: brief_questions → decisions (isolate blast radius)

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

Target:
- project: flower (/Users/mikeferrara/Documents/code/flower)
- branch: flower/95-pr0-decisions-rename
- worktree: not specified
- kind: fresh

Current brief spec:
## PR-0 — Pure rename: brief_questions → decisions (child of #95; NO deps — dispatchable now)
Rename the `brief_questions` table → `decisions` (rename migration, **no new columns**). Rename
`BriefQuestion` model → `Decision` (repoint `$table`, move casts verbatim). Repoint `Brief::questions()`
at `Decision` and every `BriefQuestion::class` reference (`SafeEnumValue`, `RecallService` buckets, the
three `brief_*` tools). `BriefQuestionPosted/Answered` events unchanged. **No behavior change, no new
enum, no new UI** — `php artisan test` stays green on the same assertions. Front-loads the one
cross-cutting risky op so the tracer (PR-1) is small and reviewable.
Deps: none. Design ref: #95 §5.5 + §8. `php artisan test` green + `./vendor/bin/pint`. `Brief: #116` trailer.

Recent/key trace events:
[2] note_added flower-refine: Child of #95 (Decision records). PR-0 of the 9-PR plan (§8 of the #95 design doc). Full spec via brief_update_spec.
[3] plan_proposed flower-refine: ## PR-0 — Pure rename: brief_questions → decisions (child of #95; NO deps — dispatchable now)
Rename the `brief_questions` table → `decisions` (rename migration, **no new columns**). Rename
`BriefQuestion` model → `Decision` (repoint `$table`, move casts verbatim). Repoint `Brief::questions()`
at `Decision` and every `BriefQuestion::class` reference (`SafeEnumValue`, `RecallService` buckets, the
three `brief_*` tools). `BriefQuestionPosted/Answered` events unchanged. **No behavior change, no new
enum, no new UI** — `php artisan test` stays green on the same assertions. Front-loads the one
cross-cutting risky op so the tracer (PR-1) is small and reviewable.
Deps: none. Design ref: #95 §5.5 + §8. `php artisan test` green + `./vendor/bin/pint`. `Brief: #116` trailer.
[4] parent_set flower-refine: Grouped under epic #95.
[5] status_change flower-refine: (no body)
[6] participant_joined operator:mike: (no body)
[7] status_change operator:mike: (no body)
[8] dispatched operator:mike: Dispatch request #36 queued for flower.
[9] link_added flower-refine: (no body)
[10] link_added flower-refine: (no body)
[11] participant_joined flower-orchestrator: (no body)
[12] dispatched flower-orchestrator: Dispatch request #36 marked cancelled.
[13] status_change flower-orchestrator: (no body)

Recommended linked context:
{
    "todos": [],
    "scratchpads": [
        {
            "id": 364,
            "solo_scratchpad_id": "1055",
            "name": "flower-refine — reset handoff (2026-07-03)",
            "archived": false,
            "revision": 1
        },
        {
            "id": 375,
            "solo_scratchpad_id": "1067",
            "name": "flower-refine — reset handoff (2026-07-03 #2)",
            "archived": false,
            "revision": 2
        }
    ]
}

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: #116` to every commit for this brief so flower can exact-link commits back to the brief.
#36 cancelled fresh flower
You are being dispatched from flower Brief #116: #95 PR-0 — Pure rename: brief_questions → decisions (isolate blast radius)

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

Target:
- project: flower (/Users/mikeferrara/Documents/code/flower)
- branch: choose an appropriate branch
- worktree: not specified
- kind: fresh

Current brief spec:
## PR-0 — Pure rename: brief_questions → decisions (child of #95; NO deps — dispatchable now)
Rename the `brief_questions` table → `decisions` (rename migration, **no new columns**). Rename
`BriefQuestion` model → `Decision` (repoint `$table`, move casts verbatim). Repoint `Brief::questions()`
at `Decision` and every `BriefQuestion::class` reference (`SafeEnumValue`, `RecallService` buckets, the
three `brief_*` tools). `BriefQuestionPosted/Answered` events unchanged. **No behavior change, no new
enum, no new UI** — `php artisan test` stays green on the same assertions. Front-loads the one
cross-cutting risky op so the tracer (PR-1) is small and reviewable.
Deps: none. Design ref: #95 §5.5 + §8. `php artisan test` green + `./vendor/bin/pint`. `Brief: #116` trailer.

Recent/key trace events:
[1] participant_joined flower-refine: (no body)
[2] note_added flower-refine: Child of #95 (Decision records). PR-0 of the 9-PR plan (§8 of the #95 design doc). Full spec via brief_update_spec.
[3] plan_proposed flower-refine: ## PR-0 — Pure rename: brief_questions → decisions (child of #95; NO deps — dispatchable now)
Rename the `brief_questions` table → `decisions` (rename migration, **no new columns**). Rename
`BriefQuestion` model → `Decision` (repoint `$table`, move casts verbatim). Repoint `Brief::questions()`
at `Decision` and every `BriefQuestion::class` reference (`SafeEnumValue`, `RecallService` buckets, the
three `brief_*` tools). `BriefQuestionPosted/Answered` events unchanged. **No behavior change, no new
enum, no new UI** — `php artisan test` stays green on the same assertions. Front-loads the one
cross-cutting risky op so the tracer (PR-1) is small and reviewable.
Deps: none. Design ref: #95 §5.5 + §8. `php artisan test` green + `./vendor/bin/pint`. `Brief: #116` trailer.
[4] parent_set flower-refine: Grouped under epic #95.
[5] status_change flower-refine: (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: #116` 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 1d ago
    agent · system:commit-trailer
  2. participant joined 1d ago
    system · system:commit-trailer
  3. merged 1d ago

    Merged to MAIN as 3efca44 (branch flower/95-pr0-decisions-rename, worker commit 2bffde7). Rename migration applied to the live MAIN DB (61ms). Suite green on MAIN: 755/757 (2 pre-existing skips, 5043 assertions). No Horizon reload needed — grep confirmed no app/Jobs or app/Listeners reference the renamed model. PR-0 done → PR-1 (#117) unblocked, dispatching next.

    agent · flower-orchestrator
  4. status change 1d ago
    agent · flower-116
  5. dispatched 1d ago

    Dispatch request #56 marked done.

    agent · flower-116
  6. note added 1d ago

    PR-0 complete (commit 2bffde7 on branch flower/95-pr0-decisions-rename). Pure rename with zero behavior change: added a non-destructive rename migration (brief_questions -> decisions, 2026_07_03_220000, with a symmetric down); renamed model BriefQuestion -> Decision (git mv, explicit protected $table='decisions', casts moved verbatim — status cast intentionally stays BriefQuestionStatus per "no new enum"); repointed Brief::questions() and every BriefQuestion model reference to Decision across the 3 brief_* MCP tools (Ask/Answer/OpenQuestions), RecallService::briefQuestionSummary, FeedService, BriefService (openCount + answerQuestion signatures), BriefRefiner, Livewire Briefs/Show, and the nav-badge blade. BriefQuestionStatus enum and the BriefQuestionPosted/BriefQuestionAnswered event classes kept their names; only their internal model type-hints were repointed to Decision (unavoidable in a rename). Updated all tests referencing the old model/table (FoundationTest table list, raw DB::table('brief_questions') fixtures, and model-class uses) on the same assertions. Gate green: php artisan test => 755 passed / 2 skipped / 0 failed (5043 assertions); pint clean on touched files. Repo-wide grep confirms zero remaining bare BriefQuestion model refs and no brief_questions string outside the two migrations. Unblocks PR-1 (#117).

    agent · flower-116
  7. participant joined 1d ago
    system · flower-116
  8. dispatched 1d ago

    Dispatch request #56 queued for flower.

    agent · flower-orchestrator
  9. status change 1d ago
    agent · flower-orchestrator
  10. status change 1d ago
    agent · flower-orchestrator
  11. dispatched 1d ago

    Dispatch request #36 marked cancelled.

    agent · flower-orchestrator
  12. participant joined 1d ago
    system · flower-orchestrator
  13. link added 2d ago
    agent · flower-refine
  14. link added 2d ago
    agent · flower-refine
  15. dispatched 2d ago

    Dispatch request #36 queued for flower.

    agent · operator:mike
  16. status change 2d ago
    agent · operator:mike
  17. participant joined 2d ago
    system · operator:mike
  18. status change 2d ago
    agent · flower-refine
  19. parent set 2d ago

    Grouped under epic #95.

    agent · flower-refine
  20. plan proposed 2d ago

    ## PR-0 — Pure rename: brief_questions → decisions (child of #95; NO deps — dispatchable now) Rename the `brief_questions` table → `decisions` (rename migration, **no new columns**). Rename `BriefQuestion` model → `Decision` (repoint `$table`, move casts verbatim). Repoint `Brief::questions()` at `Decision` and every `BriefQuestion::class` reference (`SafeEnumValue`, `RecallService` buckets, the three `brief_*` tools). `BriefQuestionPosted/Answered` events unchanged. **No behavior change, no new enum, no new UI** — `php artisan test` stays green on the same assertions. Front-loads the one cross-cutting risky op so the tracer (PR-1) is small and reviewable. Deps: none. Design ref: #95 §5.5 + §8. `php artisan test` green + `./vendor/bin/pint`. `Brief: #116` trailer.

    agent · flower-refine
  21. note added 2d ago

    Child of #95 (Decision records). PR-0 of the 9-PR plan (§8 of the #95 design doc). Full spec via brief_update_spec.

    agent · flower-refine
  22. participant joined 2d ago
    system · flower-refine

epic · dependencies

Relationships

depends on

No dependencies — dispatchable once planned.

agents · waves

Participants

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

trace · graph

Links

  • Commit #1730 execution
  • Scratchpad #375 execution
  • Scratchpad #364 execution

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.