Commit graph

  • de0008f5c7 fix: meal planner auto-selects current week on load, + New week idempotent pyr0ball 2026-04-16 10:50:34 -0700
  • dbaf2b6ac8 fix: meal planner week add button crashing on r.name / add duplicate guard pyr0ball 2026-04-16 10:46:28 -0700
  • 9a277f9b42 fix: barcode scan performance + timeout + success message pyr0ball 2026-04-16 09:57:53 -0700
  • 200a6ef87b feat(recipes): complexity badges, time hints, Surprise Me, Just Pick One pyr0ball 2026-04-16 09:27:34 -0700
  • c8fdc21c29 feat(export): JSON full-backup download (pantry + saved recipes) pyr0ball 2026-04-16 09:16:33 -0700
  • 2ad71f2636 feat(recipes): pantry match floor filter — 'can make now' toggle pyr0ball 2026-04-16 09:12:24 -0700
  • 0de6182f48 feat(scan): barcode miss fallback chain — Open Beauty Facts + Open Products Facts pyr0ball 2026-04-16 08:30:49 -0700
  • fb18a9c78c feat: partial consumption tracking and waste/disposal logging (#12 #60) pyr0ball 2026-04-16 07:28:21 -0700
  • 443e68ba3f fix: wire recipe engine to cf-text service instead of vllm pyr0ball 2026-04-16 06:25:46 -0700
  • 64a0abebe3 feat: pantry intel cluster — #61 expiry display, #64 cook log, #66 scaling, #59 open-package tracking pyr0ball 2026-04-16 06:01:25 -0700
  • 4423373750 feat: screenshot attachment in feedback form (#82) pyr0ball 2026-04-15 23:08:02 -0700
  • 76516abd62 feat: metric/imperial unit preference (#81) pyr0ball 2026-04-15 23:04:29 -0700
  • 757f779030 ci: add GitHub Actions CI for public credibility badge pyr0ball 2026-04-15 20:20:13 -0700
  • c984e6162e ci: wire Forgejo Actions CI, mirror, and release workflows pyr0ball 2026-04-15 20:10:57 -0700
  • ab97af73f7 Merge pull request 'fix(a11y): accessibility and ND-design audit fixes (#42-#48, #54, #80)' (#85) from fix/a11y-audit into main pyr0ball 2026-04-15 10:21:13 -0700
  • 6741c6981d fix(kiwi-a11y): chip-remove touch targets, btn-link undo target, star rating label, notes aria-expanded fix/a11y-audit pyr0ball 2026-04-15 10:12:17 -0700
  • 5c135d0860 fix(kiwi-a11y): undo toast for 'I cooked this' dismiss action (#45) pyr0ball 2026-04-15 10:06:31 -0700
  • bc04739447 fix(kiwi-a11y): SavedRecipesPanel empty state, remove confirmation, notes expand (#43 #44 #48) pyr0ball 2026-04-15 10:01:41 -0700
  • ceb03f8b5b fix(kiwi-a11y): ND/calm-UX policy fixes — deficit language, wildcard styling, depletion framing (#42 #46 #47 #80-M) pyr0ball 2026-04-15 09:57:48 -0700
  • 9de42c3088 fix(kiwi-a11y): tab focus, silent fail, emoji labels, form for/id pairs (H3-H8, #80) pyr0ball 2026-04-15 09:53:15 -0700
  • 41837f348c fix(kiwi-a11y): darken light-mode muted text to #7a5c2e for WCAG 1.4.3 AA (H1, #80) pyr0ball 2026-04-15 09:51:26 -0700
  • 4de4f63614 fix(kiwi-a11y): btn-icon touch targets; aria-busy loading; role=alert on error (C4-C6, #80) pyr0ball 2026-04-15 09:48:19 -0700
  • 391e79ac86 fix(kiwi-a11y): deep watchers for constraint/allergy persistence (#54) pyr0ball 2026-04-15 09:43:54 -0700
  • 91724caf96 fix(kiwi-a11y): persist constraint and allergy preferences to localStorage (#54) pyr0ball 2026-04-15 09:42:13 -0700
  • fdc477b395 fix(kiwi-fe): MealPlanView strict TS split index type narrowing pyr0ball 2026-04-14 15:55:38 -0700
  • 33c619b6b5 feat(kiwi-fe): wire OrchUsagePill into RecipesView and Settings opt-in toggle v0.5.0 pyr0ball 2026-04-14 15:51:34 -0700
  • 1ae54c370d feat(kiwi-fe): add OrchUsagePill component with calm low-budget state pyr0ball 2026-04-14 15:46:58 -0700
  • b4f8bde952 feat(kiwi-fe): add useOrchUsage composable with opt-in localStorage persistence pyr0ball 2026-04-14 15:46:12 -0700
  • bdfbc963b7 feat(kiwi-fe): add getOrchUsage API call and OrchUsage type pyr0ball 2026-04-14 15:45:22 -0700
  • 99e9cbb8c1 refactor(kiwi): remove unused LIFETIME_SOURCES import from recipes.py pyr0ball 2026-04-14 15:44:42 -0700
  • 006582b179 feat(kiwi): add /orch-usage proxy endpoint for frontend budget display pyr0ball 2026-04-14 15:42:58 -0700
  • 1a6898324c feat(kiwi): merge meal planner feature into main pyr0ball 2026-04-14 15:37:57 -0700
  • 01216b82c3 feat(kiwi): gate L3/L4 recipes behind orch budget check; fallback to L2 on exhaustion pyr0ball 2026-04-14 15:24:57 -0700
  • 2071540a56 feat(kiwi): add Heimdall orch budget client with fail-open semantics pyr0ball 2026-04-14 15:15:43 -0700
  • bd73ca0b6d fix(tests): correct build endpoint test fixture pyr0ball 2026-04-14 14:57:16 -0700
  • 9941227fae chore: merge main into feature/meal-planner pyr0ball 2026-04-14 14:53:52 -0700
  • 3933136666 fix: save, shopping list, and route ordering for Build Your Own pyr0ball 2026-04-14 14:48:30 -0700
  • b4f031e87d feat(kiwi): add orch_fallback field to RecipeResult pyr0ball 2026-04-14 14:38:37 -0700
  • fbae9ced72 feat(kiwi): add LIFETIME_ORCH_CAPS and LIFETIME_SOURCES constants pyr0ball 2026-04-14 14:38:36 -0700
  • 1882116235 feat: UX polish for Build Your Own tab and default landing pyr0ball 2026-04-14 13:53:54 -0700
  • 144d1dc6c4 chore: commit in-progress work -- tag inferrer, imitate endpoint, hall-of-chaos easter egg, migration files, Dockerfile .env defense pyr0ball 2026-04-14 13:23:15 -0700
  • fe18fb48c0 feat: wire Build Your Own tab into RecipesView and add sparse-result nudge pyr0ball 2026-04-14 12:26:32 -0700
  • 40a12764c4 feat: add BuildYourOwnTab wizard component (template grid + picker + result) pyr0ball 2026-04-14 12:08:20 -0700
  • 9a42cdd4ae feat: add missingIngredientMode and builderFilterMode to recipes store pyr0ball 2026-04-14 11:53:29 -0700
  • 77ab6fb94a feat: add getTemplates, getRoleCandidates, buildRecipe to recipesAPI client pyr0ball 2026-04-14 11:48:33 -0700
  • 8c4965123f feat: add GET /templates, GET /template-candidates, POST /build endpoints pyr0ball 2026-04-14 11:45:43 -0700
  • c02e538cb2 feat: remove assembly results from suggest() -- moved to Build Your Own tab pyr0ball 2026-04-14 11:39:57 -0700
  • da940ebaec feat: add get_role_candidates() and build_from_selection() to assembly engine pyr0ball 2026-04-14 11:06:08 -0700
  • 4f1570ee6f feat: add Store.get_element_profiles() for wizard role candidate lookup pyr0ball 2026-04-14 10:50:46 -0700
  • 1a5fb23dfd feat: add slug/icon/descriptor to AssemblyTemplate and get_templates_for_api() pyr0ball 2026-04-14 10:36:58 -0700
  • 65ef65bb4c feat: add Pydantic schemas for Build Your Own tab endpoints pyr0ball 2026-04-14 09:45:05 -0700
  • d24f87a476 docs: add link to docs.circuitforge.tech/kiwi in README pyr0ball 2026-04-14 08:19:32 -0700
  • 878a9a268c fix: community module integration fixes -- slots payload + ForkResult type pyr0ball 2026-04-13 14:21:33 -0700
  • d7bfc083e7 fix: Hall of Chaos quality fixes -- timer cleanup, aria-live, reduced-motion pyr0ball 2026-04-13 12:34:23 -0700
  • 9246935fd7 feat: Hall of Chaos easter egg -- HallOfChaosView + long-press trigger pyr0ball 2026-04-13 12:30:48 -0700
  • f92ac7a509 fix: publish modal a11y -- dialog-scoped Tab guard + correct first-focus in OutcomeModal pyr0ball 2026-04-13 11:48:57 -0700
  • 9603d421b6 feat: community publish modals -- focus traps, aria-live, plan + outcome forms pyr0ball 2026-04-13 11:45:32 -0700
  • 730445e479 fix: community feed a11y -- reduced-motion guards + tablist focus management pyr0ball 2026-04-13 11:38:17 -0700
  • 8731cad854 feat: community feed Vue frontend -- Pinia store + feed panel + RecipesView tab pyr0ball 2026-04-13 11:34:54 -0700
  • 86dd9adbcb refactor: use sqlite3.IntegrityError directly for slug collision guard pyr0ball 2026-04-13 11:25:10 -0700
  • 69e1b70072 fix: community endpoint quality issues — input validation, slot key guard, slug collision, ValueError handling pyr0ball 2026-04-13 11:23:45 -0700
  • 9ae886aabf fix: community endpoint spec gaps — ld+json content negotiation + premium post tier filter pyr0ball 2026-04-13 11:20:28 -0700
  • 9c64de2acf feat(community): community API endpoints — browse, publish, fork, delete, RSS, AP pyr0ball 2026-04-13 11:14:18 -0700
  • 81107ed238 feat(community): KiwiCommunityStore + pseudonym helpers in per-user store pyr0ball 2026-04-13 10:54:13 -0700
  • b1ed369ea6 feat(community): mDNS advertisement via zeroconf — defaults OFF, opt-in per a11y audit pyr0ball 2026-04-13 09:59:50 -0700
  • f12699349b feat(community): RSS 2.0 feed generator + ActivityPub JSON-LD scaffold pyr0ball 2026-04-13 09:44:51 -0700
  • 74c7272a50 feat(community): element snapshot — SFAH scores, allergen detection, dietary tags pyr0ball 2026-04-13 09:19:57 -0700
  • 1a9a8579a2 feat(community): add COMMUNITY_DB_URL config + community features to tiers pyr0ball 2026-04-13 09:02:44 -0700
  • b97cd59920 feat(community): migration 028 — community_pseudonyms table in per-user kiwi.db pyr0ball 2026-04-13 08:13:39 -0700
  • 96d7fe0263 feat(community): Vue 3 frontend — CommunityFeedPanel, PostCard, PublishPlanModal, Community tab in MealPlanView feature/community pyr0ball 2026-04-12 18:07:46 -0700
  • 0b08fbb18d fix: correct leftover_mode tier in README — Free (5/day) not Premium pyr0ball 2026-04-12 18:06:44 -0700
  • 62d8e36316 feat(community): KiwiCommunityStore, pseudonym helpers, community API endpoints + router wiring pyr0ball 2026-04-12 18:04:26 -0700
  • fd49d0ca5c feat(community): mDNS advertisement via zeroconf (_kiwi._tcp.local, opt-in) pyr0ball 2026-04-12 18:00:06 -0700
  • 7001d48378 feat(community): RSS 2.0 feed generator + ActivityPub JSON-LD scaffold pyr0ball 2026-04-12 17:58:14 -0700
  • 33188123d0 feat(community): element snapshot computation — SFAH scores, allergens, dietary tags pyr0ball 2026-04-12 17:57:09 -0700
  • 22f0bfff9c feat(community): add COMMUNITY_DB_URL config + community tier gates (publish/fork_adapt) pyr0ball 2026-04-12 17:55:52 -0700
  • 59a3bb8382 feat(community): migration 026 — community_pseudonyms table in per-user kiwi.db pyr0ball 2026-04-12 17:55:10 -0700
  • 0b74915ee0 feat(community): wire COMMUNITY_DB_URL + COMMUNITY_PSEUDONYM_SALT into cloud compose pyr0ball 2026-04-12 17:45:20 -0700
  • 19c0664637 fix(review): address code review findings before merge feature/meal-planner pyr0ball 2026-04-12 14:16:24 -0700
  • e52c406d0a docs(bsl): document cf-text/LLMRouter routing chain in llm_timing and llm_planner pyr0ball 2026-04-12 14:07:32 -0700
  • 4281b0ce19 feat(services/bsl): add llm_router — cf-text via cf-orch on cloud, LLMRouter (ollama/vllm) local fallback pyr0ball 2026-04-12 14:07:13 -0700
  • f54127a8cc fix(meal-planner): add GET prep-session endpoint, fix list_plans schema, replace assert with ValueError pyr0ball 2026-04-12 14:04:53 -0700
  • 062b5d16a1 feat(services/bsl): add llm_planner — LLM-assisted full-week meal plan generation (Paid/BYOK) pyr0ball 2026-04-12 13:58:04 -0700
  • 5f094eb37a feat(services/bsl): add llm_timing — estimate cook times via LLM for missing corpus data (Paid/BYOK) pyr0ball 2026-04-12 13:58:03 -0700
  • 2baa8c49a9 feat(frontend): add MealPlan tab with grid, shopping list, and prep schedule pyr0ball 2026-04-12 13:57:55 -0700
  • faaa6fbf86 feat(frontend): add PrepSessionView with editable task durations pyr0ball 2026-04-12 13:57:48 -0700
  • 67b521559e feat(frontend): add ShoppingListPanel with pantry diff and affiliate links pyr0ball 2026-04-12 13:57:48 -0700
  • a7fc441105 feat(frontend): add MealPlanGrid compact-expandable week grid component pyr0ball 2026-04-12 13:57:47 -0700
  • 543c64ea30 feat(frontend): add mealPlan Pinia store with immutable slot updates pyr0ball 2026-04-12 13:57:40 -0700
  • 4865498db9 feat(frontend): add mealPlanAPI client with TypeScript types pyr0ball 2026-04-12 13:55:14 -0700
  • 482666907b fix(meal-planner): validate meal_type path param, enforce store whitelist safety, add week_start date validation, make PrepTask frozen pyr0ball 2026-04-12 13:51:50 -0700
  • bfc63f1fc9 feat(services): add planner.py orchestration helpers pyr0ball 2026-04-12 13:44:27 -0700
  • 536eedfd6c feat(routes): register meal-plans router at /api/v1/meal-plans pyr0ball 2026-04-12 13:44:08 -0700
  • 98087120ac feat(api): add /api/v1/meal-plans/ endpoints — CRUD, shopping list, prep session pyr0ball 2026-04-12 13:44:01 -0700
  • b9dd1427de feat(affiliates): register Kiwi grocery retailer programs at startup pyr0ball 2026-04-12 13:15:28 -0700
  • 25027762cf feat(services): add prep_scheduler — sequences batch cooking tasks by equipment priority pyr0ball 2026-04-12 13:14:54 -0700
  • 4459b1ab7e feat(services): add shopping_list service with pantry diff pyr0ball 2026-04-12 13:14:08 -0700
  • ffb34c9c62 feat(store): add meal plan, slot, prep session, and prep task CRUD methods pyr0ball 2026-04-12 13:13:18 -0700
  • 067b0821af feat(schemas): add meal plan Pydantic models pyr0ball 2026-04-12 13:12:41 -0700
  • 594fd3f3bf feat(tiers): move meal_planning to Free; add meal_plan_config/llm/llm_timing keys pyr0ball 2026-04-12 13:12:11 -0700