Closes MQ-172-3 (MEDIUM): scheduled/manual batches recheck eligibility each round so a held card dropped by the final store is replaced by a spare candidate; single-transaction store and once-only new_suggestions kept. Closes MQ-172-4 (LOW): ARCHITECTURE.md failed-batch sentence narrowed to pre-store failures, matching TestBatchJobFailsWhenRecordingItsEndFails.
Maestro task 244f9834-faa8-4bb8-b5e6-43677dec0cc0.
Closes MQ-172-3 (MEDIUM): scheduled/manual batches recheck eligibility each round so a held card dropped by the final store is replaced by a spare candidate; single-transaction store and once-only new_suggestions kept. Closes MQ-172-4 (LOW): ARCHITECTURE.md failed-batch sentence narrowed to pre-store failures, matching TestBatchJobFailsWhenRecordingItsEndFails.
A notifying (scheduled or manual) suggestion batch held each round's
grounded Side quests and only checked them at its single final store, so
a household change during grounding could drop a held card after the
fill loop had stopped, leaving the batch short of BatchSize with spare
candidates unused (MQ-172-3). The batch now rechecks every held Side
quest after each round with the same eligibility check the store uses
(eligible, extracted from store), so a later round grounds a spare in
its place. The single-transaction store and once-only new_suggestions
are unchanged.
Narrow ARCHITECTURE.md's "a failed scheduled or manual batch has stored
nothing" to failures before the final store, and state that a job that
fails recording the batch's end keeps its Side quests and
new_suggestions (MQ-172-4).
Maestro task 244f9834-faa8-4bb8-b5e6-43677dec0cc0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
TestBatchReplacesSideQuestMadeIneligibleWhileHeld now leaves the first
round one short (Fajita Dish B is ungroundable), blocks the second
round, and adds a dinner repeating Fajita Dish A, held from the first
round. A further spare lets a third round ground its replacement; the
test asserts BatchSize stored, 2 dropped and one new_suggestions.
Maestro task 244f9834-faa8-4bb8-b5e6-43677dec0cc0, finding MQ-172-3-TEST.
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.
Maestro task 244f9834-faa8-4bb8-b5e6-43677dec0cc0.
Closes MQ-172-3 (MEDIUM): scheduled/manual batches recheck eligibility each round so a held card dropped by the final store is replaced by a spare candidate; single-transaction store and once-only new_suggestions kept. Closes MQ-172-4 (LOW): ARCHITECTURE.md failed-batch sentence narrowed to pre-store failures, matching TestBatchJobFailsWhenRecordingItsEndFails.
Independent Codex gpt-6-sol review: CHANGES_REQUIRED for this exact commit.
Independent Codex gpt-6-sol review: APPROVED for this exact commit.