qalatra/docs/Tasks, projects & contexts

Tasks, projects & contexts

The data model agents reason about.

Every task is a row in your SQLite database with typed fields. Agents don't parse markdown — they query columns.

Fields

FieldTypeNotes
iduuidStable, survives rename
titletextRequired
contextenumwork / personal / learning / custom
projecttext?Free-form; agents can create new projects
priorityp1–p4p1 = today, p4 = someday
energyenumhigh / med / low — used by Priority sort
estimateminutes?Free-form natural-language input
duedate?Optional
recurrencerrule?Standard iCal RRULE
agenttext?Name of an agent.config folder
statusenumopen / running / done / cancelled
notesmarkdownFree-form, supports wikilinks

Projects

Projects are a string on the task, not a separate table. This is intentional — you can rename a project everywhere by running UPDATE tasks SET project = 'New' WHERE project = 'Old'; in the Qalatra SQL console. Your agent can do the same via mcp:rename_project.

Contexts

Contexts bring structure. The built-ins are work, personal, learning. Add your own in Settings → Contexts. Each context gets a color — used consistently across all views.

Priority sort

The Priority view sorts on a composite score:

score = priority_weight
      + overdue_days * 2
      + (due_today ? 10 : 0)
      - (estimate_minutes / 60) * energy_mismatch

Your agent can read and adjust priority based on context (e.g. bumping a task that's blocking a teammate).

Tags vs. projects vs. contexts

  • Context = broad headspace (work / personal). One per task.
  • Project = a named effort (Muzebook launch, Studio renovation). Optional.
  • Tag = free-form labels. Many per task. Use sparingly.

If you find yourself wanting many tags, you probably want a project.