Tasks, projects & commitments

Signature reference for the task, project, and commitment layers — creating and tracking tasks (with the category/priority/status enums), linking and decomposing work, project context, and time-aware commitments.

The structured work layer: discrete tasks, the projects that group them, and commitments that resurface on a cadence. For the conceptual distinction between these and the lighter memory layers, see Memory & State.

The task enums

EnumValues
Categoryclient, superhitech, leif, waiting, billing, inbox, ideas, research, personal
Prioritylow, medium, high, urgent
Statuscaptured, todo, in_progress, blocked, done, archived
Relationshipsubtask, blocks, blocked_by, related

Creating tasks

create_task

Explicit-fields creation.

create_task(title, description="", category=None, priority="medium",
            due_date=None, due_time=None, project_id=None, parent_task=None,
            tags=None, source="manual", conversation_id=None, metadata=None)

capture_task

Quick natural-language capture with optional overrides — the low-friction path.

capture_task(content, category=None, priority=None, due_date=None,
             due_time=None, project_id=None, parent_task=None, tags=None,
             source="quick_capture", conversation_id=None)

create_task_from_ticket

Seed a task straight from a RepairShopr ticket.

create_task_from_ticket(ticket)

ticket is the RS ticket reference. See repairshopr.

Updating & completing

update_task(task, updates, force=False)
complete_leif_task(task, force=False)

updates is a dict of fields to change (e.g. {"status": "in_progress", "priority": "high"}). force=True overrides guard checks.

Finding tasks

search_tasks(query=None, category=None, categories=None, status=None,
             statuses=None, priority=None, project_id=None, tags=None,
             include_completed=False, include_archived=False,
             limit=50, offset=0)
list_tasks(filter="all", category=None, project_id=None,
           include_completed=False, include_archived=False, limit=10, offset=0)

search_tasks is the structured-filter query (single or plural forms — status or statuses). list_tasks is the dashboard-style view. Both hide completed/archived by default.

Relationships & decomposition

link_tasks(source_task, target_task, relationship)
break_down_task(parent_task, subtasks)
unlink_tasks(...)

relationship is one of the relationship enum values. break_down_task takes a list of subtask titles and creates them under the parent in one call.

Projects

create_project(name, description="", project_id=None, system_instructions="", metadata=None)
list_projects(status=None, include_archived=False)
get_project(...)
set_active_project(project_id)
get_project_status(project_id=None)
get_project_context(...)
update_project_context(section, content, project_id=None, importance="normal")

set_active_project sets the working context so later calls default to it. update_project_context appends to the project’s _notes.md context file under a named section. get_project_status reports context-quality for a project.

Commitments

Time-aware promises that resurface on a cadence — distinct from tasks. Managed with create_commitment / update_commitment / close_commitment / list_commitments, and surfaced with commitments_due_for_surfacing / mark_commitment_surfaced. See Memory & State → Commitments for when to use these over a plain task.