fix(generation): stop catalog fill spinning on placeholder tools - #72
Draft
cursor[bot] wants to merge 1 commit into
Draft
cursor[bot] wants to merge 1 commit into
cursor[bot] wants to merge 1 commit into
Conversation
faceReading always persists as placeholder:true, and other tools can too. Catalog selection only exhausted failed slugs, so Generate retried those tools until the client 80-batch timeout. Treat placeholders as exhausted after the same attempt cap so fill can complete. Co-authored-by: Andy Oliver Rozario <andyrozario7@gmail.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
placeholderthe same asfailedafter 3 attempts, so Generate can finish when tools never become displayable.faceReadingalways persists{ placeholder: true }even with a photo on file. After PR feat(profile): persist every catalog report on Generate #68, that leftfaceReadinginpendingToolSlugsforever and the client hit “Report generation timed out. Try Generate again.” after 80 batches.Why this change is safe
isCatalogSlugExhaustedonly checkedstate === 'failed'. Placeholders are classified separately and never exhaust, soselectRunnableCatalogSlugskeeps re-picking them andcatalogFillCompletestays false.Verification
pnpm exec eslintonlib/catalogBatchSelection.ts,tests/unit/fillCatalogReportsClient.test.ts,tests/integration/generate-catalog-batch.test.ts(0 errors)pnpm run lint:securitypassedpnpm test— 73 suites / 397 tests passedRegression prevention
generate-catalog-batchreturnscatalogFillComplete: truewithout generating whenfaceReadingis an exhausted placeholder.Release checklist (solo-friendly)
CI / Lint + JestCI / Playwright smokemain./tools.