Aufgaben und Status

Task boards, configurable workspace-global Kanban statuses, category semantics, and agent access.

/aufgaben provides list and Kanban views over shared and private task boards. The status configuration is workspace-global: every task board uses the same ordered set of columns.

Work in the list

The web list is a dedicated scroll region with a sticky header. Select a column header to sort by task, client, assignee, priority, due date, or status; select the active header again to reverse the order. Assignee, priority, due date, and status can be changed directly in the row. Compact list and Kanban surfaces show priority as a single traffic-light flag: green for low, orange for medium, and red for high or urgent. The list intentionally omits automation metadata and uses only compact delegate and delete actions.

Selecting a task row opens its full detail page. The detail metadata shows both the current assignee and the task creator; the creator is immutable and uses the creator's current profile display name or email. The current board, filters, search, list order, and List/Kanban mode are carried into the detail route, so the back action returns to the exact Aufgaben view that opened the task. Kanban cards use the same full-detail navigation.

The Apple clients use the same compact information hierarchy in their task list: title first, followed by assignee, the color-coded priority flag, due date, and status. Native task details show the immutable creator directly after the assignee in both read and edit modes. iPhone and iPad continue to push a dedicated native detail screen, while macOS keeps its native split-detail behavior.

Configure the board

Use the circular Configure board action beside the List/Kanban switch to:

  • rename any status without changing its stable key;
  • add a status with category open, in_progress, waiting, or done;
  • reorder columns for every board;
  • delete a non-system status after selecting another status for all affected tasks and scheduled tasks.

The system keys offen, in_bearbeitung, and erledigt can be renamed and reordered. They cannot be deleted, and their categories remain locked to open, in_progress, and done. Custom labels are shown verbatim in every UI language. A built-in status whose label is unset uses the localized German, English, or Italian label.

Category semantics, rather than a particular label, drive behavior. Every status outside category done counts as unfinished; overdue views, Mandant summaries, and agent tools follow that rule. The dashboard's Open tasks KPI is intentionally narrower: it counts the first configured open status across all boards, says so below the value, and opens the Aufgaben view with that same all-board/status scope. The urgent, overdue, and upcoming-task dashboard widgets also open the all-board unfinished view that supplies their data. New tasks use the first ordered open status. The literal optional key wiedervorlage continues to enable its follow-up-date workflow only while that key exists.

Agents discover the current configuration with aufgaben_list_statuses and manage it with aufgaben_manage_statuses. Task tools accept configured keys and return the current valid-key list for invalid input.

Web owns status configuration editing in this release. Apple clients render configured statuses but do not edit the workspace-global configuration yet.

Duplicate protection for agent-created tasks

Tasks created by agents and automations (for example benchmark or Symphony follow-up tickets) are protected against accidental duplicates. A retried create is recognised by its idempotency key or, when none was given, by a still-open task with the same title on the same board created within the last 24 hours; in both cases the existing task is returned instead of a second one. Tool success is tied to the stored task id, so a failed reload after saving no longer looks like a failed create. Tasks entered manually in the app are not affected; the agent can pass allow_duplicate when a second task with the same title is really intended.

Comments and mentions

Task detail pages carry a comment thread with attachments. Typing @ in the comment composer opens a mention autocomplete listing the workspace agent first, followed by all workspace members; the list narrows as you type and inserts a handle the comments API can resolve (whitespace-stripped display name, or the email local part when no display name is set). The web composer supports arrow-key navigation, Enter/Tab to accept, and Escape to dismiss. The Apple clients show the same suggestions as a tappable list above the composer while an @token is being typed at the end of the draft.

Mentioning the agent (@<agent-handle>, or the generic @angela alias) triggers an asynchronous agent reply in the thread. The reply and the Delegate to agent action both run through the native ClapilotAICore runtime (clapilot-agent /internal/chat/completions); the legacy compat gateway is only used when the configured runtime provider is not native.