town.chalky.task
A single task in a chalky.town weekly planner. Stored in the author's repo. Field names mirror app.attodo.task where the concept is shared (title/description/completed/completedAt and the rec* recurrence fields); chalky-specific fields (day, order, color, subtasks, updatedAt) extend it. A recurring task is a template that projects occurrences onto later matching days; per-occurrence state (done/skipped) lives in separate town.chalky.occurrence records that reference this one.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | chalky.town |
| Indexed |
Showing version bafyreicqzpsgg4qtaphkp5il6fufn4mtpfq4elhgqqydckppynzk5rc6k4. Show the latest
Record
record · key tidProperties
color
stringId of a color in the author's editable palette (town.chalky.config#colors). knownValues lists the five built-in defaults; any other palette color id is also valid since the field is open.
knownValues: salmon | chardonnay | witch-haze | mint-green | melrose
default: false
completedAt
string · datetimeWhen `completed` last flipped to true (non-recurring tasks only; recurring tasks track per-occurrence completion in completedDates).
day
stringLocal calendar day the task sits on, as YYYY-MM-DD. Omit for the Someday bucket.
description
stringOptional longer notes. May contain block-level Markdown (headings, lists, links, code, etc.); clients that don't render Markdown can show it as plain text.
maxLength: 3000
isRecurring
booleanWhether this task is a recurring template.
default: false
movedAt
string · datetimeWhen movedRank was last set.
movedRank
integerThe malleable sort strategy's pinned position, on the same numeric axis as color rank. Set when the user drags this task while that strategy is active; cleared when its color changes, rejoining the color grouping.
Fractional-ish sort key within a day; lower sorts higher.
recByMonth
integerYearly only: the month (1=January … 12=December). Omitted means the anchor's month.
minimum: 1maximum: 12
recByMonthDay
integerMonthly & yearly "day" mode: the date-of-month. Omitted means the anchor's date. Months without this day are skipped.
minimum: 1maximum: 31
recByWeekday
arrayWeekly only: weekdays the series lands on (0=Sunday … 6=Saturday). Omitted means just the anchor day's weekday.
minimum: 0maximum: 6
recCount
integerOptional: end the series after this many occurrences, counted from the anchor (inclusive).
minimum: 1
recFrequency
stringHow often the task recurs.
enum: daily | weekly | monthly | yearly
recInterval
integerRecur every N frequency units (e.g. every 2 weeks).
minimum: 1
recMonthly
stringMonthly & yearly: land on the calendar date-of-month ("day") or the anchor's nth weekday ("weekday", e.g. the 2nd Friday). Omitted means "day".
enum: day | weekday
recUntil
stringOptional last occurrence day (YYYY-MM-DD), inclusive. Set directly or kept in sync as the concrete stop date when recCount is used.
The task title. May contain inline Markdown (links and emphasis); clients that don't render Markdown can show it as plain text.
maxLength: 500
Last local edit; used as the whole-record last-write-wins clock during sync. The physical component of a hybrid logical clock, so it is monotonic per device.
#stamps
objectPer-field-group hybrid-logical-clock stamps (an approach borrowed from the CRDT ideas behind automerge.org), enabling field-level last-write-wins merges: two devices editing different groups of the same task both keep their edits. Each value is '<ISO datetime>.<counter hex4>.<device id>', totally ordered by plain string comparison. Absent on a group (or entirely, on records from before stamps existed) means updatedAt stands in for it. Clients that don't merge field-wise can ignore this and compare updatedAt whole-record.
Properties
#subtask
objectProperties
completedAt
string · datetimeWhen `done` last flipped to true. Used to order completed subtasks by completion time.
default: false
maxLength: 500
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
A single occurrence of a recurring town.chalky.task that has diverged from its series' default. A recurring task is a template that projects occurrences onto later matching days; an occurrence stays a pure projection until the user acts on one day (marks it done, or removes it), at which point this record materializes to carry that per-day state. It exists only while it differs from the default — reverting an occurrence to not-done and not-skipped deletes the record. Replaces the older completed
-
dev.skytick.todo
recordA task on a list.