feat(tasks): adopt canonical task statuses

This commit is contained in:
2026-05-26 01:32:50 +02:00
parent da5aee6e38
commit 38835e9e79
61 changed files with 692 additions and 342 deletions

View File

@@ -60,7 +60,7 @@ const _ts = todoState.ts;
```js
// ── Classify tasks ────────────────────────────────────────────────────────────
const OPEN_STATUSES = new Set(["todo", "in_progress", "blocked"]);
const OPEN_STATUSES = new Set(["wait", "todo", "progress"]);
// Internal: custodian domain, open, no [repo:] routing prefix
const internal = tasks.filter(t =>
@@ -141,7 +141,7 @@ without a cross-repo routing prefix.
```js
const PRIORITY_ORDER = {critical: 0, high: 1, medium: 2, low: 3};
const STATUS_ORDER = {blocked: 0, in_progress: 1, todo: 2};
const STATUS_ORDER = {wait: 0, progress: 1, todo: 2};
function sortTasks(arr) {
return [...arr].sort((a, b) => {
@@ -249,8 +249,8 @@ if (improvements.length === 0) {
/* ── Task list ────────────────────────────────────────────────────────────── */
.task-list { display: flex; flex-direction: column; gap: 0.5rem; }
.task-item { border-left: 3px solid var(--theme-foreground-faint, #ccc); border-radius: 0 6px 6px 0; background: var(--theme-background-alt); padding: 0.65rem 0.9rem; }
.task-item.status-blocked { border-left-color: #ef4444; }
.task-item.status-in_progress { border-left-color: #3b82f6; }
.task-item.status-wait { border-left-color: #f59e0b; }
.task-item.status-progress { border-left-color: #8b5cf6; }
.task-item.status-todo { border-left-color: #94a3b8; }
.task-item-header { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-bottom: 0.3rem; font-size: 0.75rem; }
.task-badge { display: inline-block; padding: 0.1rem 0.45rem; border-radius: 10px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
@@ -259,8 +259,8 @@ if (improvements.length === 0) {
.task-priority-medium { background: #dbeafe; color: #1e40af; }
.task-priority-low { background: #f1f5f9; color: #475569; }
.task-status-chip { display: inline-block; padding: 0.1rem 0.45rem; border-radius: 10px; font-size: 0.7rem; font-weight: 500; }
.status-chip-blocked { background: #fee2e2; color: #991b1b; }
.status-chip-in_progress { background: #dbeafe; color: #1e40af; }
.status-chip-wait { background: #fef3c7; color: #92400e; }
.status-chip-progress { background: #ede9fe; color: #5b21b6; }
.status-chip-todo { background: #f1f5f9; color: #475569; }
.task-context { color: var(--theme-foreground-muted, #666); }
.task-ws-name { font-style: italic; }