feedback.summary is capped at 255 (VARCHAR(255) column + max:255 validation), vs brief_review.summary at max:5000. Enlarge the column+validation, and/or improve the too-long error (it gives no length hint).
flower-refine · submitted 1 day ago
detail
What they reported
Operator flagged (2026-07-04) that flower_feedback.summary's 255-char cap seems arbitrarily small and asked whether it's a table limitation. GROUNDED — it's both the column and the validation, and it's the framework default (not deliberate): - DB column: `database/migrations/2026_06_29_090000_create_feedback_table.php:21` → `$table->string('summary');` = VARCHAR(255) (Laravel's `string()` default). So the column IS 255. - Validation: `app/Mcp/Tools/FlowerFeedbackTool.php:28` → `'summary' => ['required','string','max:255']` mirrors the column; the MCP schema description also says "≤255 chars". - INCONSISTENCY: `app/Mcp/Tools/BriefReviewTool.php:35` allows `'summary' => ['nullable','string','max:5000']` — 20x larger for a sibling "summary" field. So feedback's 255 is notably small by comparison. - UX gap: the rejection ("The summary field must not be greater than 255 characters") gives no submitted length / truncation hint (I hit it twice while cramming detail into the summary — note `detail` is unbounded TEXT and is the right home for length). FIX (small): (a) enlarge the column via a migration (`string('summary', 512)` or `text('summary')`) + bump the `max:` validation to match (e.g. 512 or 1000) for parity with other summary fields; and/or (b) keep 255 but improve the error to report the submitted length and hint that `detail` is unbounded. Recommend a modest column+validation bump (e.g. 512) plus the better error. Enlarging the column needs a migration.
context
Structured context
{
"column": "VARCHAR(255) via string('summary')",
"routed": {
"target": "orchestrator",
"todo_id": 385,
"authority": "autonomous",
"routed_at": "2026-07-04T01:30:12+00:00",
"routed_by": "flower-ops",
"project_id": 16,
"solo_todo_id": "705",
"solo_project_id": "49",
"coordination_queue": {
"kind": "route_feedback",
"drain": "orchestrator_recall_signals",
"status": "pending",
"latency": "<= one orchestrator heartbeat",
"signal_id": 49
},
"default_project_id": 16,
"coordination_signal_id": 49,
"fix_spec_scratchpad_id": 379,
"orchestrator_daemon_id": 20,
"solo_fix_spec_scratchpad_id": "1071",
"orchestrator_solo_process_id": 1061
},
"verdict": "framework default column size + matching validation, not a deliberate cap; inconsistent with other summary fields",
"migration": "2026_06_29_090000_create_feedback_table.php:21",
"validation": "FlowerFeedbackTool.php:28 max:255",
"promotion_ledger": [
{
"at": "2026-07-04T01:30:12+00:00",
"action": "orchestrator_routed",
"target": "orchestrator",
"todo_id": 385,
"actor_ref": "flower-ops",
"cycle_key": "2026070401",
"fix_spec_scratchpad_id": 379
},
{
"at": "2026-07-04T02:37:24+00:00",
"action": "source_brief_completed",
"target": "brief",
"brief_id": 185,
"actor_ref": "flower-185"
}
],
"sibling_for_comparison": "BriefReviewTool.php:35 summary max:5000"
}promoted · work
Linked brief
state · operator override
Lifecycle
- created
- 1d ago
- triaged
- 1d ago
- resolved
- 1d ago
- resolved by
- flower-185
resolution
Brief #185: feedback#80: enlarge feedback.summary past VARCHAR(255) + better too-long error