Expiry system deep-dive: secondary use windows and ingredient-specific post-date behavior #83
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#83
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?
Overview
The current expiry system treats use-by dates as binary (fresh → expired), but several common pantry items have a meaningful secondary use window after their nominal use-by date. During this window the item is not spoiled — it is specifically suited for certain recipes and should be matched to those rather than flagged as expired.
Known examples
This list is not exhaustive — a proper review will likely surface more.
What needs to change
1. Expiration predictor (
app/services/expiration_predictor.py)secondary_window_daysconcept alongsideuse_by_daysper ingredient category2. Recipe engine
3. UX / messaging
Scope of deep-dive
secondary_window_daysand how it propagates to the recipe engineRelated
memory/feedback_kiwi_no_panic.mdapp/services/expiration_predictor.pyAll work shipped in commits
8fd77bd,b2c546e,e7ba305on main:_allunfiltered option added