> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Unified Task System - Integration Documentation

> PF-29 provides a unified task system via @/platform/tasks. Phase 1 delivered core tasks and comments. Phase 2/3 adds dependencies, templates, automation, time…

**Status:** ✅ Phase 2/3 Complete — 2026-02-27

## Overview

PF-29 provides a unified task system via `@/platform/tasks`. Phase 1 delivered core tasks and comments. Phase 2/3 adds dependencies, templates, automation, time tracking, analytics, reports, and bulk operations.

## Phase 2/3 Hooks

| Hook                                      | Purpose                      |
| ----------------------------------------- | ---------------------------- |
| `useTaskDependencies(taskId)`             | List dependencies for a task |
| `useTaskDependencyMutation()`             | Add/remove dependencies      |
| `useTaskTemplates(orgId)`                 | List templates               |
| `useTaskTemplateMutation()`               | Template CRUD                |
| `useTaskAutomationRules(orgId)`           | List automation rules        |
| `useTaskAutomationRuleMutation()`         | Rule CRUD                    |
| `useTaskTimeEntries(taskId)`              | List time entries            |
| `useTaskTimeEntryMutation()`              | Time entry CRUD              |
| `useTaskAnalytics(orgId)`                 | Analytics aggregates         |
| `useTaskCompletionReport(orgId, filters)` | Completion report            |
| `useTaskOverdueReport(orgId, filters)`    | Overdue report               |
| `useBulkTaskMutation()`                   | Bulk status/assign/delete    |

## Phase 2/3 Components

| Component                      | Purpose                      |
| ------------------------------ | ---------------------------- |
| `TaskDependencyEditor`         | Blocked-by/blocks editor     |
| `TaskTimeSection`              | Time tracking in task detail |
| `TaskTimeEntrySheet`           | Time entry form (sheet)      |
| `TaskTemplateFormDialog`       | Template CRUD dialog         |
| `TaskTemplatePickerDialog`     | Pick template to create task |
| `TaskAutomationRuleFormDialog` | Rule CRUD dialog             |
| `BulkTaskActions`              | Bulk toolbar for task lists  |
| `BulkTaskConfirmDialog`        | Bulk action confirmation     |

## Route Paths

| Path                | Page               | Permission                |
| ------------------- | ------------------ | ------------------------- |
| `/tasks/templates`  | TaskTemplatesPage  | `pf.task_templates.view`  |
| `/tasks/automation` | TaskAutomationPage | `pf.task_automation.view` |
| `/tasks/analytics`  | TaskAnalyticsPage  | `pf.task_analytics.view`  |
| `/tasks/reports`    | TaskReportsPage    | `pf.task_reports.view`    |

## Automation Execution

Automation rules (`pf_task_automation_rules`) define trigger/action pairs. Trigger types include `form_submitted`, `entity_created`, `status_changed`. When a trigger fires, the matching rule creates a task using the linked template or action\_config defaults. Execution respects org isolation via `organization_id` scoping.

## Tables

* `pf_task_dependencies` — Task-to-task dependencies with acyclic trigger
* `pf_task_templates` — Reusable task templates with soft delete
* `pf_task_automation_rules` — Automated task creation rules with soft delete
* `pf_task_time_entries` — Time logging per task
