town.chalky.occurrence

chalky.town

{
  "id": "town.chalky.occurrence",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "series",
          "date",
          "completed",
          "skipped",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "date": {
            "type": "string",
            "description": "The occurrence day as YYYY-MM-DD. (series, date) uniquely identifies an occurrence within a repo."
          },
          "series": {
            "type": "string",
            "description": "The rkey of the recurring town.chalky.task this occurrence belongs to. A weak reference: the full at-uri is derived from the author's repo and the town.chalky.task collection."
          },
          "skipped": {
            "type": "boolean",
            "default": false,
            "description": "Whether this occurrence was removed from the series (hidden without ending the whole series)."
          },
          "completed": {
            "type": "boolean",
            "default": false
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Last local edit; used as the last-write-wins clock during sync."
          },
          "completedAt": {
            "type": "string",
            "format": "datetime",
            "description": "When `completed` last flipped to true."
          }
        }
      },
      "description": "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 completedDates/skipDates string arrays that used to live on the task."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against town.chalky.occurrence

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:mthv22lb4hhaxupzjnqvijwk
CID
bafyreicy6troxddr3tybtunpbe3bjzumn26g3qndinevvlmlrbgbvnf4ny
Indexed At
2026-08-03 22:21 UTC
AT-URI
at://did:plc:mthv22lb4hhaxupzjnqvijwk/com.atproto.lexicon.schema/town.chalky.occurrence

Lexicon Garden

@