multica/server/migrations
Jiayuan b112d1f1ae feat(tasks): add coalescing queue and task lifecycle guards
- Coalescing queue: use HasPendingTaskForIssue (queued/dispatched only)
  instead of HasActiveTaskForIssue so comments during a running task
  enqueue exactly one follow-up task that picks up all new comments.
- Stale task cleanup: runtime sweeper now fails orphaned tasks when
  their runtime goes offline (daemon crash/network partition).
- Cancel-aware daemon: handleTask checks task status after execution
  and discards results if the task was cancelled mid-run (e.g. reassign).
- Terminal issue guard: ClaimTaskForRuntime auto-cancels pending tasks
  for done/cancelled issues instead of executing them.
- Race condition safety net: unique partial index ensures at most one
  pending task per issue at the DB level.
2026-03-29 17:52:35 +08:00
..
001_init.down.sql feat: pivot to AI-native task management platform (#232) 2026-03-20 17:55:49 +08:00
001_init.up.sql refactor: remove repository field from issues 2026-03-24 18:12:06 +08:00
002_agent_config.down.sql feat(agent): add agent management UI, skills/tools/triggers, and issue assignment 2026-03-23 18:31:25 +08:00
002_agent_config.up.sql feat(agent): add agent management UI, skills/tools/triggers, and issue assignment 2026-03-23 18:31:25 +08:00
003_task_context.down.sql feat(server): add task service layer and daemon REST protocol 2026-03-23 18:34:51 +08:00
003_task_context.up.sql feat(server): add task service layer and daemon REST protocol 2026-03-23 18:34:51 +08:00
004_agent_runtime_loop.down.sql feat(runtime): add local codex daemon pairing 2026-03-24 12:03:14 +08:00
004_agent_runtime_loop.up.sql feat(runtime): add local codex daemon pairing 2026-03-24 12:03:14 +08:00
005_daemon_pairing.down.sql feat(runtime): add local codex daemon pairing 2026-03-24 12:03:14 +08:00
005_daemon_pairing.up.sql feat(runtime): add local codex daemon pairing 2026-03-24 12:03:14 +08:00
006_workspace_context.down.sql feat(workspace): add context field for AI agent background info 2026-03-24 15:59:11 +08:00
006_workspace_context.up.sql feat(workspace): add context field for AI agent background info 2026-03-24 15:59:11 +08:00
007_drop_issue_repository.down.sql refactor: remove repository field from issues 2026-03-24 18:12:06 +08:00
007_drop_issue_repository.up.sql refactor: remove repository field from issues 2026-03-24 18:12:06 +08:00
008_structured_skills.down.sql feat: structured skills system with meta skill runtime injection 2026-03-25 15:17:59 +08:00
008_structured_skills.up.sql feat: structured skills system with meta skill runtime injection 2026-03-25 15:17:59 +08:00
009_verification_code.down.sql feat(auth): email verification login and personal access tokens 2026-03-26 14:32:30 +08:00
009_verification_code.up.sql feat(auth): email verification login and personal access tokens 2026-03-26 14:32:30 +08:00
010_verification_code_attempts.down.sql feat(auth): email verification login and personal access tokens 2026-03-26 14:32:30 +08:00
010_verification_code_attempts.up.sql feat(auth): email verification login and personal access tokens 2026-03-26 14:32:30 +08:00
011_personal_access_tokens.down.sql feat(auth): email verification login and personal access tokens 2026-03-26 14:32:30 +08:00
011_personal_access_tokens.up.sql feat(auth): email verification login and personal access tokens 2026-03-26 14:32:30 +08:00
012_inbox_actor.down.sql fix(db): renumber inbox_actor migration to resolve 009 conflict 2026-03-26 15:44:10 +08:00
012_inbox_actor.up.sql fix(db): make inbox_actor migration idempotent 2026-03-26 17:17:23 +08:00
013_runtime_usage.down.sql feat(runtimes): add Runtimes tab with usage tracking and connection test 2026-03-26 18:28:36 +08:00
013_runtime_usage.up.sql feat(runtimes): add Runtimes tab with usage tracking and connection test 2026-03-26 18:28:36 +08:00
014_workspace_repos.down.sql feat(workspace): add repos JSONB field for GitHub repository URLs 2026-03-27 15:49:30 +08:00
014_workspace_repos.up.sql feat(workspace): add repos JSONB field for GitHub repository URLs 2026-03-27 15:49:30 +08:00
015_issue_subscriber.down.sql feat(notifications): replace hardcoded inbox notifications with subscriber-driven model 2026-03-28 19:33:20 +08:00
015_issue_subscriber.up.sql feat(notifications): replace hardcoded inbox notifications with subscriber-driven model 2026-03-28 19:33:20 +08:00
016_backfill_subscribers.down.sql feat(notifications): replace hardcoded inbox notifications with subscriber-driven model 2026-03-28 19:33:20 +08:00
016_backfill_subscribers.up.sql fix(notifications): address code review feedback 2026-03-28 20:24:07 +08:00
017_comment_parent_id.down.sql feat(activity): unified activity timeline with comment reply support 2026-03-28 21:53:08 +08:00
017_comment_parent_id.up.sql feat(activity): unified activity timeline with comment reply support 2026-03-28 21:53:08 +08:00
018_comment_parent_cascade.down.sql fix(comments): cascade delete replies in DB when parent comment is deleted 2026-03-28 22:04:35 +08:00
018_comment_parent_cascade.up.sql fix(comments): cascade delete replies in DB when parent comment is deleted 2026-03-28 22:04:35 +08:00
019_inbox_details.down.sql feat(inbox): add priority/due_date notifications, structured details, and hover card 2026-03-29 00:22:17 +08:00
019_inbox_details.up.sql feat(inbox): add priority/due_date notifications, structured details, and hover card 2026-03-29 00:22:17 +08:00
020_task_session.down.sql feat(agent): add per-task session persistence for Claude Code resumption 2026-03-29 16:53:28 +08:00
020_task_session.up.sql feat(agent): add per-task session persistence for Claude Code resumption 2026-03-29 16:53:28 +08:00
021_agent_instructions.down.sql feat(agent): add instructions field for agent persona/identity 2026-03-29 17:01:07 +08:00
021_agent_instructions.up.sql feat(agent): add instructions field for agent persona/identity 2026-03-29 17:01:07 +08:00
022_task_lifecycle_guards.down.sql feat(tasks): add coalescing queue and task lifecycle guards 2026-03-29 17:52:35 +08:00
022_task_lifecycle_guards.up.sql feat(tasks): add coalescing queue and task lifecycle guards 2026-03-29 17:52:35 +08:00