flower
/
All feedback
Bug addressed #80 routed · orchestrator

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"
}

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

Delete permanently?