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.
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`).
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>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Feature 12 - Regular Dinners and Onboarding. All five tasks done and independently reviewed:
Feature-integration remediation (applied after review)
Independent Codex review of head
171c9c2returned CHANGES_REQUIRED with F1–F8 (2 HIGH,4 MEDIUM, 2 LOW). PR #95 (Maestro task
5037ff86-181d-448e-927b-c2fd2258a25d) fixed alleight, then two further review rounds found R1/R2/R3 and R1-A/R2-A; head
35ceb39wasAPPROVED and squash-merged, making this feature branch head
cc7875c.recipe_url.grounding_revision(migration 0010), so a stale queued jobcannot decide the outcome; migration 0011 repairs legacy queued payloads.
external calls asserted skipped.
folds_table.go.docs/ARCHITECTURE.mddocuments 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
0010 (grounding_revision), 0011 (legacy ground_dinner payload repair).
desktop 2e Settings tab, which still shows the Feature 11 placeholder.
Feature branch head:
cc7875c76c23fa52f8d28e2c40bc96ff19e21f00(dev is an ancestor at0c89eef57733a5aee25ff6e0e301f1bb02776911).Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
Independent Codex gpt-6-sol review: APPROVED for this exact commit.
orchestrator-agent referenced this pull request2026-10-06 21:28:52 -04:00