BLOCKING: recipe corpus not seeded in cloud per-user DBs — all recipe features return 0 results #102
Labels
No labels
accessibility
backlog
beta-feedback
bug
duplicate
enhancement
feature-request
help wanted
invalid
needs-design
needs-triage
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/kiwi#102
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Every cloud user (anonymous guests and authenticated users) gets an empty per-user SQLite DB. The recipe corpus (3.1M recipes) only exists in the local dev DB and is never seeded into cloud user DBs. All recipe suggest and recipe browse endpoints return 0 results for real visitors.
Steps to reproduce
Expected
Recipe suggestions and recipe browser show results from the 3.1M recipe corpus.
Actual
POST /api/v1/recipes/suggestreturns{"suggestions": [], ...}regardless of pantry itemsGET /api/v1/recipes/browse/cuisinereturns all categories withrecipe_count: 0GET /api/v1/recipes/browse/cuisine/Italianreturns{"recipes": [], "total": 0}Root cause
In CLOUD_MODE, each user gets a per-user SQLite DB at
CLOUD_DATA_ROOT/{user_id}/kiwi.db. Migrations run at startup create therecipes,recipes_fts, andrecipe_browser_ftstables, but they are empty because no corpus import pipeline is run for per-user DBs.The recipe corpus (populated by
scripts/pipeline/) only exists in the dev machine DB atdata/kiwi.db, which is NOT volume-mounted into the cloud container.Impact
High — the primary value proposition (recipe suggestions) is completely non-functional for all cloud users.
Options to fix
RECIPES_DB_PATHenv var pointing to a shared corpus SQLite. The recipe engine and browser search against this shared DB, while inventory/settings stay per-user. Requires query routing split in Store or a separate CorpusStore.data/kiwi.dbinto the cloud container at a read-only path and use ATTACH or a separate connection for recipe queries.Option 1 is the cleanest architectural fix.