Skip to main content

Module brain

Module brain 

Source
Expand description

The brain: every entry in the data folder, and the operations on them. Time is always tracked: each task in doing has its clock running. doing holds one task started by a person (starting another is refused, not made room for); agents’, which may run one per subagent, aren’t limited. Each brain (the central one, each project repository) has its own, so work in different projects can run side by side. The command line and the desktop app both go through it, so tracking rules, tag colors and file names behave the same everywhere. It holds no screen state; the desktop app keeps its own.

  • [actions]: changes to entries and tags, each written to disk immediately.
  • [report]: time per task or tag over a period, from the tracked sessions.
  • [calendar]: each day’s interactions over a period: sessions, moves, comments, new entries.

Structs§

Brain
Every entry in the data folder, with the tag colors and settings.
Calendar
A computed calendar: whole weeks for a month, otherwise the period’s days.
CalendarView
What the calendar shows: which period, and which tag and kind of interaction.
Day
One day of the calendar.
Event
One interaction with an entry.
NewEntry
What a new entry starts with, from the desktop app, the command line or an agent.
Report
A computed report, rendered both in the desktop app and as markdown (export).
ReportRow
One row of a report: a task or a tag, with its time per column and in total.
ReportView
What a report shows: which period, and how it’s grouped and filtered.
Slot
One session (clipped to the report’s period) in the timeline.

Enums§

Group
How report rows are grouped. The name is shown in titles and exports and typed as --group.
Show
Which interactions the calendar shows. next() cycles through them.
What
What happened in an interaction.