Implement full task inspector with subtasks, activity, and inline edit

Migration 041 adds parent_task_id to tasks for subtask hierarchy.
TaskDetailDialog now has three tabs: Overview (description, assignee,
project, goal, workspace, runs with error messages), Subtasks (child
tasks with status), and Activity (audit events and approval history).
Inline edit overlay covers title, description, assignee, risk, priority,
and parent task. Task delete is available from the dialog footer.
This commit is contained in:
ZacharyZhang-NY committed 2026-06-07 17:55:59 -04:00
1 parent 7a36a12d08
commit 75e5d17a86
12 files changed
+289 -69

No files matched your search

@@ -0,0 +1,3 @@
export const taskSubtasksDeleteSchema = `
alter table tasks add column parent_task_id text references tasks(id) on delete set null;
`;
@@ -39,6 +39,7 @@ import { customProvidersSchema } from "./migrations/037-custom-providers";
import { providerAuthProfileCascadeSchema } from "./migrations/038-provider-auth-profile-cascade";
import { auditImmutabilityOrgTeardownSchema } from "./migrations/039-audit-immutability-org-teardown";
import { documentsKnowledgeAutomationSchema } from "./migrations/040-documents-knowledge-automation";
import { taskSubtasksDeleteSchema } from "./migrations/041-task-subtasks-delete";
interface Migration {
version: number;
@@ -87,6 +88,7 @@ const MIGRATIONS: Migration[] = [
{ version: 38, name: "provider_auth_profile_cascade", sql: providerAuthProfileCascadeSchema },
{ version: 39, name: "audit_immutability_org_teardown", sql: auditImmutabilityOrgTeardownSchema },
{ version: 40, name: "documents_knowledge_automation", sql: documentsKnowledgeAutomationSchema },
{ version: 41, name: "task_subtasks_delete", sql: taskSubtasksDeleteSchema },
];
const SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1].version;