Blog ยท release
Latch 0.16.0
Leave it. ๐
The habits you want less of โ booze, food, weed, money, anything โ judged so that
honesty is always the cheapest move. Migration 22 (vices, and activities.lag_days); nothing is
judged from before a bad habit is added, and its first 14 days are a baseline: judged, never marked.
- A bad habit is a habit with a limit, not a second system: its name, icon and colour are an
activity whose events are the days you kept it, so the calendar, the streak and the share-card
tokens (
streak_<name>,count_<name>โฆ) come with it. Limits from a menu: a daily cap (0 = abstain), a weekly cap, a floor, dry days a week. Five starting points: ๐บ Booze and ๐ฝ๏ธ Food (read from SparkyFitness), ๐ฟ Weed, ๐ธ Spending and anything else (tapped in Latch). - The ledger. From 18:00 until four hours after your wake hour the next morning, one question: is that everything? Closing it judges the day at once. A day you never close can be judged over the line, never kept โ and it's a ๐ซ๏ธ Dark day (2), which costs more than ๐ซ Over the line (1). Where your count and SparkyFitness disagree, the higher one counts. A blank door under "that's everything" is a declared zero, and a dry day.
- Re-judged, never edited. A late tally, Sparky catching up or an amended ledger strikes the old verdict and writes the new one; a mark follows its verdict. A late ledger counts for the streak, earns no XP, and the Dark day stands.
- A day kept is +5 XP; a week kept is +15 XP and 10 minutes off if locked
(
leaveit.week_minutes). A confirmed day under the floor is never praise โ the Handler asks. - Passes: a planned exception declared before the day begins lifts that day's cap and takes it out of the week; warm 3 ยท firm 2 ยท strict 1 a month.
- Mischief: the two new marks are not held back on a recovery day โ the likeliest cause of a
short night after a day over the line is the day over the line. The lapse questions
(
lapse:over_line,lapse:dark_day) are seeded onto an existing library, once per kind. - Streaks wait for an undecided yesterday (
activities.lag_days): before you close the ledger, yesterday is pending, not failed โ until its deadline, never past a decision. - Health: new readings
kcal,protein_ganddrinks(alcohol grams รท 14), pushed by the sync from SparkyFitness and omitted on a day with no food entries. Ate and logged it stands down while a bad habit is judged on calories. - API:
GET /leaveit,POST /leaveit/ledger,/leaveit/tally,/leaveit/passโ numbers and states only.