Commit graph

  • cf807179f5 docs: add LLM development disclosure to README main pyr0ball 2026-05-28 08:20:17 -0700
  • 0c200f3148 feat(pipeline): ingest_purplecarrot.py — upsert scraped recipes into corpus DB pyr0ball 2026-05-21 16:43:23 -0700
  • 21a0664961 feat(pipeline): weekly Purple Carrot harvest script + cron pyr0ball 2026-05-21 16:22:26 -0700
  • a9ab996bcc feat(pipeline): purple carrot weekly menu scraper with CF bypass pyr0ball 2026-05-21 16:16:32 -0700
  • 56f942b3fd feat(pipeline): Purple Carrot scraper hardening + shared pipeline logging pyr0ball 2026-05-17 13:35:35 -0700
  • 84636bcdaf docs: bump version badge to match latest Forgejo release pyr0ball 2026-05-17 11:19:12 -0700
  • 51a48a430b feat(config): add GPU_SERVER_URL alias for CF_ORCH_URL v0.10.0 pyr0ball 2026-05-17 09:42:48 -0700
  • b326d4aa6e fix(config): add CF_ORCH_URL to local env for recipe scan + LLM features pyr0ball 2026-05-17 09:21:33 -0700
  • 7cad503b35 feat(pipeline): Purple Carrot recipe corpus scraper via Wayback Machine pyr0ball 2026-05-17 09:16:35 -0700
  • 430600c1af fix(recipe_scan): harden JSON parser for real-world LLM output quirks pyr0ball 2026-05-17 08:30:55 -0700
  • 21a9b85067 fix(recipe_scan): revert to cf-docuvision path (GGUF backend now works) pyr0ball 2026-05-16 19:25:01 -0700
  • c72b4415db feat(recipe_scan): use Qwen2-VL GGUF via cf-text OpenAI-compat API pyr0ball 2026-05-16 18:38:21 -0700
  • 2df17ec719 feat(recipe-scan): add SSE streaming endpoint for cold-start progress feedback v0.9.2 pyr0ball 2026-05-16 16:24:32 -0700
  • 4ac24e7920 fix(recipe-scan): wire cf-docuvision OCR + LLMRouter for cloud recipe scanning (kiwi#136) pyr0ball 2026-05-16 14:21:15 -0700
  • cdbc24240a feat(orch): migrate OCR vision routing to task-based allocation with direct-allocate fallback pyr0ball 2026-05-13 10:46:07 -0700
  • dd39418bc8 fix(orch): release Tier 2 allocation ctx when alloc is None; add fallback tests pyr0ball 2026-05-13 10:41:55 -0700
  • 02abc8e734 feat(orch): migrate meal plan LLM routing to task-based allocation with direct-allocate fallback pyr0ball 2026-05-13 10:32:58 -0700
  • 61c428baf0 feat(orch): add task_inference helper for POST /api/inference/task routing pyr0ball 2026-05-13 10:25:01 -0700
  • 6e954c5c6e feat(ap): issue #113 — ActivityPub federation + Mastodon OAuth pyr0ball 2026-05-11 17:55:51 -0700
  • ef04064728 feat(community): issue #119 — recipe dedup + variation clustering on submit pyr0ball 2026-05-11 17:25:06 -0700
  • 59b183a898 feat(ask): Add Ask tab — natural-language recipe search with session history pyr0ball 2026-05-11 13:08:06 -0700
  • b4624fba84 feat(ask): add POST /recipes/ask endpoint for natural-language recipe search pyr0ball 2026-05-11 13:07:53 -0700
  • 667daf939e feat(streaming): replace raw <pre> with skeleton + progressive reveal (closes #133) pyr0ball 2026-05-11 12:46:27 -0700
  • 4e50661483 feat(find): invert flow — auto-suggest on tab open, collapsible Refine panel (closes #132) pyr0ball 2026-05-11 12:41:58 -0700
  • ac4eda2047 fix(build): remove unused settingsStore import after time-budget change pyr0ball 2026-05-11 12:37:24 -0700
  • 3f4b756fc6 feat(find): surface time budget inline, always visible (closes #131) pyr0ball 2026-05-11 12:11:06 -0700
  • 973c76a4c8 feat(browse): add breadcrumb nav above recipe grid (closes #130) pyr0ball 2026-05-11 11:58:49 -0700
  • 92fab94ae0 feat(find): active-filter bar with clear-all (closes #129) pyr0ball 2026-05-11 11:57:10 -0700
  • 30f5620fd5 feat(settings): autosave on change, remove Save buttons (closes #128) pyr0ball 2026-05-11 11:55:09 -0700
  • 0ef57618bf fix(a11y): add aria-pressed and aria-label to Browse panel buttons (WCAG 2.1) pyr0ball 2026-05-11 11:33:10 -0700
  • 8c765b7da2 fix(barcode): look up product info before checking auto_add_to_inventory pyr0ball 2026-05-11 11:33:02 -0700
  • e57f46f4b6 feat(streaming): add native SSE fallback for L3/L4 recipe generation (closes #126) pyr0ball 2026-05-11 11:32:54 -0700
  • 04dbdddbad feat(mcp): add Kiwi MCP server for corpus DB access (closes #124) pyr0ball 2026-05-11 11:32:40 -0700
  • e83bb0415a feat(manage): add update and cloud-update commands (closes #127) pyr0ball 2026-05-11 11:32:30 -0700
  • e62d69d099 docs(readme): landing page rewrite — feature table, quick start, tier table, Forgejo-primary, split license pyr0ball 2026-05-06 08:51:38 -0700
  • 7498995092 feat(filters): split time filter into hands-on and total time (kiwi#52) pyr0ball 2026-04-27 16:03:27 -0700
  • 640fcefa9e fix(ui): compact recipe cards, batch ingredient classifier queries pyr0ball 2026-04-27 14:56:00 -0700
  • d5a4b14400 chore(pipeline): add fast targeted meal-tag backfill script v0.9.1 pyr0ball 2026-04-27 13:00:58 -0700
  • 7fd92d5179 feat(tags): add meal type inference from recipe titles (#125) pyr0ball 2026-04-27 12:24:31 -0700
  • 6f097cd43d fix: wire browse domains to inferred_tag vocabulary, fix can_be leak in dietary pyr0ball 2026-04-27 11:38:37 -0700
  • 46778d62e3 fix: tab bar horizontal scroll on mobile, shorten Build Your Own label pyr0ball 2026-04-27 10:58:23 -0700
  • 896b4e048c feat: recipe scanner — photo to structured recipe (kiwi#9) pyr0ball 2026-04-27 08:23:01 -0700
  • c9fcfde694 feat(browse): active time estimation, prep scaling, required-ingredient filter v0.9.0 pyr0ball 2026-04-27 07:13:12 -0700
  • e05bfe86f5 feat(recipes): orbital cadence — last-cooked chip and sort on saved recipes (#120) pyr0ball 2026-04-26 09:09:27 -0700
  • 95e76edaea feat(community): complete Layer A subcategory tagging (#118) v0.8.0 pyr0ball 2026-04-25 23:31:30 -0700
  • 12ab63e2fb feat: corrections router (#73) + Magpie flywheel hook (#28) pyr0ball 2026-04-25 23:31:20 -0700
  • 9350719516 feat(recipes): LLM style classifier (#27) + cooked leftovers shelf-life (#112) v0.7.1 pyr0ball 2026-04-25 23:18:16 -0700
  • 9c4d8b7883 feat(recipe-engine): time-effort profile, product-label tokenisation, L1 tuning v0.7.0 pyr0ball 2026-04-25 21:44:26 -0700
  • ed04b655be fix(saved-recipes): resolve FK constraint, null title, and load reliability pyr0ball 2026-04-25 21:44:10 -0700
  • f6b29693c8 refactor: replace hand-rolled JWT+Heimdall with cf-core CloudSessionFactory pyr0ball 2026-04-25 16:35:56 -0700
  • b86b7732dc fix(pwa): set start_url/scope from VITE_BASE_URL so install launches /kiwi/ not site root pyr0ball 2026-04-25 12:59:59 -0700
  • 7e0722cc23 feat(pwa): add Progressive Web App support — installable to homescreen pyr0ball 2026-04-25 12:33:22 -0700
  • e2c358c90a fix: extend source CHECK constraints to include visual_capture (kiwi#79) v0.6.0 pyr0ball 2026-04-25 08:46:44 -0700
  • 0bac494ecd chore: bump to v0.6.0, fix TS build errors, remove cf-orch sidecar pyr0ball 2026-04-24 21:19:44 -0700
  • 17e62c451f feat: visual label capture for unenriched barcodes (kiwi#79) pyr0ball 2026-04-24 17:57:25 -0700
  • 3463aa1e17 feat: wire dietary constraints into secondary use filter on all inventory endpoints pyr0ball 2026-04-24 17:12:39 -0700
  • e45b07c203 feat: expand secondary use windows + dietary constraint filter (kiwi#110) pyr0ball 2026-04-24 17:08:45 -0700
  • b5eb8e4772 feat: cross-encoder reranker for recipe suggestions (kiwi#117) pyr0ball 2026-04-24 16:39:51 -0700
  • 91867f15f4 feat(streaming): add COORDINATOR_URL and COORDINATOR_KIWI_KEY to cloud compose pyr0ball 2026-04-24 10:26:53 -0700
  • 1182c6cffb feat(streaming): add EventSource streaming UI to RecipesView pyr0ball 2026-04-24 10:25:35 -0700
  • 7292c5e7fc feat(streaming): add StreamTokenResponse type and getRecipeStreamToken API pyr0ball 2026-04-24 10:23:09 -0700
  • 63517d135b feat(streaming): add POST /recipes/stream-token endpoint pyr0ball 2026-04-24 10:22:30 -0700
  • 2547f80893 feat(streaming): add StreamTokenRequest/Response schemas pyr0ball 2026-04-24 10:19:18 -0700
  • 0996ea8c7a feat(streaming): add coordinator_proxy service module pyr0ball 2026-04-24 10:18:40 -0700
  • c3e7dc1ea4 feat: time-first recipe entry (kiwi#52) pyr0ball 2026-04-24 10:15:58 -0700
  • 521cb419bc feat: sensory profile filter — texture/smell/noise filtering for Browse and Find (kiwi#51) pyr0ball 2026-04-24 09:47:48 -0700
  • 302285a1a5 feat: step-by-step cook mode with progress bar, keyboard nav, and swipe (kiwi#49) pyr0ball 2026-04-24 09:35:12 -0700
  • b1e187c779 feat: time & effort signals — active/passive split, effort cards, annotated steps (kiwi#50) pyr0ball 2026-04-24 09:29:54 -0700
  • 70205ebb25 feat(recipe-tags): 'Categorize this' CTA and tag submission modal pyr0ball 2026-04-22 12:37:56 -0700
  • 9697c7b64f feat(recipe-tags): merge accepted community tags into browse counts + FTS fallback pyr0ball 2026-04-22 12:37:44 -0700
  • f962748073 feat(recipe-tags): community subcategory tagging API endpoints pyr0ball 2026-04-22 12:37:32 -0700
  • a507deddbf feat(tagger): add BBQ cuisine inference signals for tag_inferrer pyr0ball 2026-04-21 15:06:04 -0700
  • 7a7eae4666 chore(cf-orch): route recipe LLM calls through vllm with model candidates + CF_APP_NAME pyr0ball 2026-04-21 15:05:38 -0700
  • b223325d77 feat(shopping): locale-aware grocery links with region settings UI pyr0ball 2026-04-21 15:05:28 -0700
  • f1d35dd1ac feat(recipes): 'Not today' per-session ingredient exclusions pyr0ball 2026-04-21 15:05:16 -0700
  • 1ac7e3d76a feat(browse): sort recipes by pantry match percentage pyr0ball 2026-04-21 15:04:34 -0700
  • 1a7a94a344 feat(browse-counts): add pre-computed FTS counts cache with nightly refresh pyr0ball 2026-04-21 15:04:23 -0700
  • 5d0ee2493e feat(browser): expand taxonomy keyword coverage for BBQ and regional subcategories pyr0ball 2026-04-21 15:04:13 -0700
  • 69e2ca7914 feat(browser): expand cuisine taxonomy to 13 categories + 105 subcategories pyr0ball 2026-04-21 10:15:58 -0700
  • 0bef082ff0 chore(config): add llm.yaml.example with cf-text trunk backend pattern pyr0ball 2026-04-20 13:28:56 -0700
  • c6f45be1ba feat(config): add CF_APP_NAME for cf-orch analytics attribution pyr0ball 2026-04-20 07:02:00 -0700
  • be050f5492 feat(scheduler): auto-detect OrchestratedScheduler when cf-orch is installed pyr0ball 2026-04-19 22:12:44 -0700
  • e2658f743f feat(scheduler): OrchestratedScheduler for cloud/multi-GPU, configurable via env pyr0ball 2026-04-19 22:11:34 -0700
  • dbc4aa3c68 feat(frontend): async polling for L3/L4 recipe generation + rename cf-orch node to sif pyr0ball 2026-04-19 21:52:21 -0700
  • ed4595d960 feat(recipes): async L3/L4 recipe job queue with poll endpoint pyr0ball 2026-04-19 21:44:27 -0700
  • eba536070c fix(recipe): fail fast on cf-orch 429 instead of slow LLMRouter fallback pyr0ball 2026-04-19 20:24:21 -0700
  • 79f345aae6 fix: install circuitforge-orch in kiwi image for cf-orch-agent sidecar pyr0ball 2026-04-18 22:29:08 -0700
  • 5385adc52a feat: title search and sort controls in recipe browser pyr0ball 2026-04-18 22:14:36 -0700
  • e7ba305e63 feat: hierarchical subcategory navigation in recipe browser pyr0ball 2026-04-18 21:07:06 -0700
  • b2c546e86a feat: wire secondary-use window hints into recipe engine (#83) pyr0ball 2026-04-18 19:06:53 -0700
  • 8fd77bd1f2 fix: suppress E2E test sessions from log-based analytics pyr0ball 2026-04-18 19:06:37 -0700
  • 22a3da61c3 fix: frontend concurrent-mount errors, nginx routing, and browser UX (#98 #106 #107) pyr0ball 2026-04-18 17:12:34 -0700
  • bea61054fa fix: re-fetch inventory item after insert to populate product_name (#99) pyr0ball 2026-04-18 16:02:35 -0700
  • 38382a4fc9 fix: merge recipe enrichment backfill, main_ingredient browser, bug batch (#109) v0.5.1 pyr0ball 2026-04-18 15:39:45 -0700
  • 01aae2eec8 fix: recipe enrichment backfill, main_ingredient browser domain, bug batch fix/recipe-enrichment-and-bugfixes pyr0ball 2026-04-18 15:38:56 -0700
  • 890216a1f0 fix: wire recipe corpus to cloud per-user DBs via SQLite ATTACH (#102) pyr0ball 2026-04-18 14:21:56 -0700
  • 8483b9ae5f feat: add Plausible analytics to Vue SPA and docs pyr0ball 2026-04-16 21:15:56 -0700
  • 23a2e8fe38 feat: remove and reorder meal types in weekly planner pyr0ball 2026-04-16 15:13:59 -0700
  • 6aa63cf2f0 chore: bump version to 0.3.0 v0.3.0 pyr0ball 2026-04-16 14:24:16 -0700
  • e745ce4375 feat: wire meal planner slot editor and meal type picker pyr0ball 2026-04-16 14:23:38 -0700