Feature 12: Regular dinners and onboarding #94

Merged
Member

Feature 12 - Regular Dinners and Onboarding. All five tasks done and independently reviewed:

  • 28d3cb4b Dinners API for Regulars (PR #89)
  • 0cbaa5bf Background grounding and recipe fix-up API (PR #90)
  • 5a43f813 Onboarding steps 1 and 2 (1h) with first-run redirect (PR #91)
  • 9cb927ff Onboarding step 3 shell (PR #92)
  • fa8f88ae Regular dinners management screen (PR #93)

Feature-integration remediation (applied after review)

Independent Codex review of head 171c9c2 returned CHANGES_REQUIRED with F1–F8 (2 HIGH,
4 MEDIUM, 2 LOW). PR #95 (Maestro task 5037ff86-181d-448e-927b-c2fd2258a25d) fixed all
eight, then two further review rounds found R1/R2/R3 and R1-A/R2-A; head 35ceb39 was
APPROVED and squash-merged, making this feature branch head cc7875c.

  • F1/R1: renaming a still-pending Regular created from a recipe link clears recipe_url.
  • F2: grounding jobs carry grounding_revision (migration 0010), so a stale queued job
    cannot decide the outcome; migration 0011 repairs legacy queued payloads.
  • F3: member edits to method/minutes/difficulty are kept while grounding is pending.
  • F4: an obsolete pasted link is cleared and duplicate-link checks use the attached recipe.
  • F5/R2: archived dinners are ineligible and a running job is cancelled, with post-archive
    external calls asserted skipped.
  • F6: onboarding step 3 offers "Add Regulars" back to step 2 on the minimum-count refusal.
  • F7/R3: the PWA imports the fold table generated from the same entries as folds_table.go.
  • F8/R2-A: docs/ARCHITECTURE.md documents the three-Regular minimum, step-3 recovery,
    the grounding revision and that orphan cleanup skips archived dinners.

Acceptance criteria (feature)

A new household completes onboarding with at least three Regulars and lands on Home; each
Regular grounds in the background and shows its photo when done; a Regular that fails to
ground can be fixed by choosing a candidate, pasting a URL or entering ingredients; Regulars
can be edited, favorited and removed from Settings; API and UI tests pass.

Guardrails

Adding a Regular never blocks on grounding (async); duplicate names rejected using the
harness normalization; copy follows the GLOSSARY; no notification permission prompt outside
onboarding step 3.

Notes

  • Backend additions: dinners API + migrations 0008 (recipe_url), 0009 (grounding_error),
    0010 (grounding_revision), 0011 (legacy ground_dinner payload repair).
  • Follow-up tracked separately (Feature 22 task 8a919836): embed the Regulars screen in the
    desktop 2e Settings tab, which still shows the Feature 11 placeholder.

Feature branch head: cc7875c76c23fa52f8d28e2c40bc96ff19e21f00 (dev is an ancestor at
0c89eef57733a5aee25ff6e0e301f1bb02776911).

Feature 12 - Regular Dinners and Onboarding. All five tasks done and independently reviewed: - 28d3cb4b Dinners API for Regulars (PR #89) - 0cbaa5bf Background grounding and recipe fix-up API (PR #90) - 5a43f813 Onboarding steps 1 and 2 (1h) with first-run redirect (PR #91) - 9cb927ff Onboarding step 3 shell (PR #92) - fa8f88ae Regular dinners management screen (PR #93) ## Feature-integration remediation (applied after review) Independent Codex review of head `171c9c2` returned CHANGES_REQUIRED with F1–F8 (2 HIGH, 4 MEDIUM, 2 LOW). PR #95 (Maestro task `5037ff86-181d-448e-927b-c2fd2258a25d`) fixed all eight, then two further review rounds found R1/R2/R3 and R1-A/R2-A; head `35ceb39` was APPROVED and squash-merged, making this feature branch head `cc7875c`. - F1/R1: renaming a still-pending Regular created from a recipe link clears `recipe_url`. - F2: grounding jobs carry `grounding_revision` (migration 0010), so a stale queued job cannot decide the outcome; migration 0011 repairs legacy queued payloads. - F3: member edits to method/minutes/difficulty are kept while grounding is pending. - F4: an obsolete pasted link is cleared and duplicate-link checks use the attached recipe. - F5/R2: archived dinners are ineligible and a running job is cancelled, with post-archive external calls asserted skipped. - F6: onboarding step 3 offers "Add Regulars" back to step 2 on the minimum-count refusal. - F7/R3: the PWA imports the fold table generated from the same entries as `folds_table.go`. - F8/R2-A: `docs/ARCHITECTURE.md` documents the three-Regular minimum, step-3 recovery, the grounding revision and that orphan cleanup skips archived dinners. ## Acceptance criteria (feature) A new household completes onboarding with at least three Regulars and lands on Home; each Regular grounds in the background and shows its photo when done; a Regular that fails to ground can be fixed by choosing a candidate, pasting a URL or entering ingredients; Regulars can be edited, favorited and removed from Settings; API and UI tests pass. ## Guardrails Adding a Regular never blocks on grounding (async); duplicate names rejected using the harness normalization; copy follows the GLOSSARY; no notification permission prompt outside onboarding step 3. ## Notes - Backend additions: dinners API + migrations 0008 (recipe_url), 0009 (grounding_error), 0010 (grounding_revision), 0011 (legacy ground_dinner payload repair). - Follow-up tracked separately (Feature 22 task 8a919836): embed the Regulars screen in the desktop 2e Settings tab, which still shows the Feature 11 placeholder. Feature branch head: `cc7875c76c23fa52f8d28e2c40bc96ff19e21f00` (dev is an ancestor at `0c89eef57733a5aee25ff6e0e301f1bb02776911`).
dev_agent added 5 commits 2026-10-06 18:32:58 -04:00
Dinners API for Regulars (#89)
CI / ci (push) Successful in 2m15s
729c5bd0fe
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
Onboarding step 3 shell (#92)
CI / ci (push) Successful in 2m19s
6a3f1f3936
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
Regular dinners management screen (#93)
CI / ci (push) Successful in 2m23s
CI / ci (pull_request) Successful in 2m22s
9baabad84c
Co-authored-by: dev_agent <dev_agent@cubecraftlabs.com>
review_agent requested changes 2026-10-06 18:39:35 -04:00
Dismissed
review_agent left a comment
Member

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

Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
overseer added 1 commit 2026-10-06 18:50:26 -04:00
Fix stale Regular grounding and enforce three Regulars for onboarding
CI / ci (push) Successful in 2m20s
CI / ci (pull_request) Successful in 2m21s
171c9c2d11
A background grounding result now applies only while the dinner is still
pending under the normalized name the job searched: GroundPendingDinner and
FailPendingDinnerGrounding match normalized_name, so a rename makes the old
job's success or failure a no-op. Renaming a dinner still pending enqueues
a fresh grounding job for the new name; if that cannot be enqueued, the
dinner's grounding is failed so it is not left pending with no job.

Completing onboarding (PATCH /api/v1/settings/household with
onboarding_completed true) is refused with 400 invalid_settings until the
household has at least three Regulars (status regular; archived and Quest
log dinners do not count), and onboarding_completed_at is set only then.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
review_agent requested changes 2026-10-06 18:58:26 -04:00
Dismissed
review_agent left a comment
Member

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

Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
approver_agent added 1 commit 2026-10-06 19:54:50 -04:00
Integration fix: Feature 12 feature-review findings F1-F8 (#95)
CI / ci (pull_request) Successful in 2m23s
CI / ci (push) Successful in 2m27s
cc7875c76c
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com>
review_agent requested changes 2026-10-06 19:57:57 -04:00
Dismissed
review_agent left a comment
Member

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

Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
approver_agent added 1 commit 2026-10-06 20:26:59 -04:00
Integration fix 2: conditional recipe repairs and no pasted links in logs (Feature 12 review F1, F2) (#96)
CI / ci (pull_request) Successful in 2m22s
CI / ci (push) Successful in 2m42s
5dff7825d8
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.com>
review_agent requested changes 2026-10-06 20:30:04 -04:00
Dismissed
review_agent left a comment
Member

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

Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
approver_agent added 1 commit 2026-10-06 21:22:58 -04:00
Integration fix 3: keep recipe_url out of dinner responses (Feature 12 review F1) (#97)
CI / ci (push) Successful in 2m25s
CI / ci (pull_request) Successful in 2m25s
f85e09ae07
Co-authored-by: orchestrator-agent <20+orchestrator-agent@code.cubecraftcreations.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 2b0e5ff01a into dev 2026-10-06 21:28:24 -04:00
Sign in to join this conversation.
No Reviewers
No labels
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Maniacs_Mansion/MealQuest#94