Blog ยท release
Latch 0.18.0
A chapter can carry a goal โ the quest (M10 #60). Migration 24 adds four columns to chapters.
- Set a goal on a chapter's story page (๐ฏ): the want in your own words, and โ if you like โ how the log should measure it: a weekly habit held to its own target (every full week, or a number of weeks on target), days locked, or days with a reflection. A chapter never holds a second copy of a habit's target: change the habit, not the goal. Empty it to remove it.
- The Handler carries it. Every day of the window the Handler's line opens with it, after the
event's sign โ Day 12 of Fall training: four days of guitar a week. ๐ธ Guitar on target 1 of 1
weeks ยท this week 2/4. The dashboard shows a ๐ฏ card.
GET /api/v1/handler/todaycarriesquest: the numbers and the verdict; your wording and the habit's name only on your own token, never on the outbound view a pack, the bot or an AI context reads. - The story and the keepsake say whether it was reached โ when that is known, not before. A count of days is reached the moment you hit it and not reached only once the chapter has closed short; a habit goal of "every week" on a chapter with an end is lost the moment one full week falls short (it can no longer be met); an open-ended chapter's is never decided, only read as k of w weeks on target. Unmeasured is said (said, not measured; that habit is not on this box; no full week in this chapter), never drawn as a 0.
- It travels, privately. pup.json carries the goal only when there is one, so a chapter without one is byte-identical to before and a 0.17.x box still arrives a file that has none. The full export carries it; the shareable copy never does (the whitelist rule).