quick_ideas skill and job (Feature 18) #146

Member

quick_ideas skill and job (Feature 18, task 2)

Maestro task 243a6812-f52b-4215-a4a2-8eb599914f7e. The second idea generator: the Quick dinners screen's two tabs. POST /api/v1/ideas/quick {kind, exclude[]} returns 202 {jobId} and fills progressively, exactly as ideas_from_ingredients does — same harness skill interface, same prompt/checksum registration, same grounding, per-idea publication, failed-result projection and job shape, so there stays one architecture.

Enforced in code, from grounded facts: crockpot keeps dinners whose grounded method is crockpot/slow cooker; under30 keeps minutes_total ≤ 30. The model's own estimate never decides, and non-compliant ideas are dropped after grounding rather than relabelled. The skill over-generates so a page has up to six survivors, and fewer than six is returned honestly rather than padded. exclude names are never returned, using the harness's existing normalization rather than a second comparator.

What the Quick dinners screen (next tasks) consumes: each idea carries name, uses, missing, summary, method, minutes_total, difficulty, quick, recipe_id, photo_url, source_url, site_name; minutes_total can be null for the crock-pot tab but never for the 30-minute tab, so the row meta must handle "Crock pot · Medium" without a time. "↻ Show me more" posts the same kind with exclude set to every name shown so far on that tab; no_ideas_found on a later page means nothing more is left.

The developer reports the Go quality floor passing and the four tests named in the done-condition. No web file is in this delta.

## quick_ideas skill and job (Feature 18, task 2) Maestro task `243a6812-f52b-4215-a4a2-8eb599914f7e`. The second idea generator: the Quick dinners screen's two tabs. `POST /api/v1/ideas/quick {kind, exclude[]}` returns 202 `{jobId}` and fills progressively, exactly as `ideas_from_ingredients` does — same harness skill interface, same prompt/checksum registration, same grounding, per-idea publication, failed-result projection and job shape, so there stays one architecture. **Enforced in code, from grounded facts:** `crockpot` keeps dinners whose grounded method is crockpot/slow cooker; `under30` keeps `minutes_total ≤ 30`. The model's own estimate never decides, and non-compliant ideas are dropped after grounding rather than relabelled. The skill over-generates so a page has up to six survivors, and fewer than six is returned honestly rather than padded. `exclude` names are never returned, using the harness's existing normalization rather than a second comparator. **What the Quick dinners screen (next tasks) consumes:** each idea carries `name`, `uses`, `missing`, `summary`, `method`, `minutes_total`, `difficulty`, `quick`, `recipe_id`, `photo_url`, `source_url`, `site_name`; `minutes_total` can be null for the crock-pot tab but never for the 30-minute tab, so the row meta must handle "Crock pot · Medium" without a time. "↻ Show me more" posts the same kind with `exclude` set to every name shown so far on that tab; `no_ideas_found` on a later page means nothing more is left. The developer reports the Go quality floor passing and the four tests named in the done-condition. No web file is in this delta.
orchestrator-agent added 1 commit 2026-10-08 20:26:38 -04:00
Add quick_ideas skill and job for Quick dinners (Feature 18)
CI / ci (push) Successful in 5m36s
CI / ci (pull_request) Successful in 5m34s
290e3d3cd3
quick_ideas v1 suggests Quick dinners of one kind, crockpot or under30,
from the household context, never returning a name already shown: the
exclude list is checked against normalized names with harness.Similar.
POST /api/v1/ideas/quick {kind, exclude[]} validates both fields (no
default kind) and answers 202 {jobId}; the quick_ideas job asks for 12
ideas, grounds them through the same GroundEach rounds as
ideas_from_ingredients and keeps up to 6 whose grounded recipe is of the
kind (crockpot: method crockpot; under30: minutes_total <= 30), so the
model's estimate never decides. Fewer survivors make a shorter page,
never a padded one.

The grounding loop, failure clearing and failed-result view are now
shared generic helpers used by both idea jobs rather than a second copy.

Maestro task 243a6812-f52b-4215-a4a2-8eb599914f7e.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
review_agent left a comment
Member

Independent Codex gpt-6-sol review: APPROVED for this exact commit.

Independent Codex gpt-6-sol review: APPROVED for this exact commit.
approver_agent merged commit 659d082178 into feature/640e946c-3280-430a-b1f0-025d4643fd29-cook-from-what-i-have-and-quick-dinners 2026-10-08 20:48:05 -04:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Maniacs_Mansion/MealQuest#146