kiwi/app
pyr0ball f962748073 feat(recipe-tags): community subcategory tagging API endpoints
GET  /recipes/community-tags/{recipe_id} — all tags for a recipe
POST /recipes/community-tags             — submit tag (requires pseudonym)
POST /recipes/community-tags/{id}/upvote — vote on a tag

Validates (domain, category, subcategory) against DOMAINS taxonomy before
accepting. Returns 409 on duplicate submission or double-vote. Fails soft
(503) when community Postgres is unavailable so the browse path is unaffected.
Refs kiwi#118.
2026-04-22 12:37:32 -07:00
..
api feat(recipe-tags): community subcategory tagging API endpoints 2026-04-22 12:37:32 -07:00
core feat(browse-counts): add pre-computed FTS counts cache with nightly refresh 2026-04-21 15:04:23 -07:00
db feat(browse): sort recipes by pantry match percentage 2026-04-21 15:04:34 -07:00
models feat(recipes): 'Not today' per-session ingredient exclusions 2026-04-21 15:05:16 -07:00
services feat(tagger): add BBQ cuisine inference signals for tag_inferrer 2026-04-21 15:06:04 -07:00
staples fix: staple library — consistent tofu_firm slug, load error handling, typed yield_formats, expanded test coverage 2026-03-30 23:10:51 -07:00
static chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
styles feat: recipe engine Phase 3 — StyleAdapter, LLM levels 3-4, user settings 2026-03-31 14:15:18 -07:00
tasks feat(scheduler): auto-detect OrchestratedScheduler when cf-orch is installed 2026-04-19 22:12:44 -07:00
utils chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
__init__.py chore: bump version to 0.2.0 2026-04-08 22:10:36 -07:00
cloud_session.py fix: wire recipe corpus to cloud per-user DBs via SQLite ATTACH (#102) 2026-04-18 14:21:56 -07:00
main.py feat(browse-counts): add pre-computed FTS counts cache with nightly refresh 2026-04-21 15:04:23 -07:00
tiers.py chore: merge main into feature/meal-planner 2026-04-14 14:53:52 -07:00