diff --git a/automaton/dashboard/html/dashboard.js b/automaton/dashboard/html/dashboard.js index e4f51dd..ae300b5 100644 --- a/automaton/dashboard/html/dashboard.js +++ b/automaton/dashboard/html/dashboard.js @@ -1,7 +1,7 @@ const state = { scope: 'none', currentView: 'board', theme: 'default', selectedTask: null, tasks: [], refreshCount: 0, autoRefresh: true, showWaves: true, - filterPhase: 'all', filterReview: 'all', filterWave: 'all', searchQuery: '', filterVisible: false, + filterPhase: 'all', filterWave: 'all', searchQuery: '', filterVisible: false, refreshInterval: null, projectName: null, }; @@ -48,14 +48,8 @@ function getPhaseGroupForState(state) { return group ? group.id : null; } -// Get display group for a task, accounting for review status. -// Approved planning tasks advance to Design; rejected ones go to Blocked. +// Get display group for a task based on its phase state. function getTaskDisplayGroup(task) { - const review = task.review ? task.review.status : 'pending'; - if ((task.state === 'research' || task.state === 'decomposition' || task.state === 'backlog')) { - if (review === 'approved') return 'design'; - if (review === 'changes_requested') return 'blocked'; - } return getPhaseGroupForState(task.state); } @@ -89,8 +83,7 @@ function renderHeader() { wipTasks.textContent = filtered.filter(t => wipStates.includes(t.state)).length; doneTasks.textContent = filtered.filter(t => t.state === 'done').length; blockedTasks.textContent = filtered.filter(t => t.state === 'blocked').length; - const pendingReview = document.getElementById('pending-review'); - if (pendingReview) pendingReview.textContent = filtered.filter(t => (t.state !== 'done' && t.state !== 'blocked') && (!t.review || t.review.status === 'pending')).length; + // Project name display const projectName = state.projectName; if (projectName) { @@ -163,10 +156,6 @@ function renderTaskCard(task) { const statusClass = task.state === 'done' ? 'done' : task.state === 'blocked' ? 'blocked' : 'in_progress'; const statusIcon = task.state === 'done' ? '✅' : task.state === 'blocked' ? '❌' : '🔄'; const subLabel = getSubLabel(task.state); - const reviewStatus = task.review ? task.review.status : 'pending'; - const reviewBadge = reviewStatus === 'approved' ? '✅' - : reviewStatus === 'changes_requested' ? '❌' - : '🟡'; const progressHtml = task.sub_tasks.length > 0 ? `${task.sub_tasks.filter(st => st.has_verdict && st.verdict_status === 'PASS').length}/${task.sub_tasks.length}` : ''; @@ -177,14 +166,12 @@ function renderTaskCard(task) { return `
${stIcon}${st.name}
`; }).join('')}` : ''; - const artifactsHtml = (reviewStatus === 'pending' || reviewStatus === 'changes_requested') - ? `
${COLUMNS.filter(col => task.artifacts[col.id]).map(col => { + const artifactsHtml = `
${COLUMNS.filter(col => task.artifacts[col.id]).map(col => { const label = ARTIFACT_LABELS[col.id] || col.label; return `${label}`; - }).join('')}
` - : ''; + }).join('')}
`; return `
-
${escapeHtml(task.display_name)}${reviewBadge}${statusIcon}
+
${escapeHtml(task.display_name)}${statusIcon}
${subLabel}
${task.status_reason ? `
${escapeHtml(task.status_reason)}
` : ''} ${artifactsHtml} @@ -211,18 +198,6 @@ function renderDetail(task) { return `${icon}${col.label}`; }).join(''); const phaseGroupHtml = phaseGroup ? `${PHASE_GROUPS.find(g => g.id === phaseGroup).label}` : ''; - const reviewStatus = task.review ? task.review.status : 'pending'; - const reviewStatusText = reviewStatus === 'approved' ? '✅ Approved' : reviewStatus === 'changes_requested' ? '❌ Changes Requested' : '🟡 Pending Review'; - const reviewComment = task.review && task.review.comment ? `

${escapeHtml(task.review.comment)}

` : ''; - let reviewActionsHtml; - if (reviewStatus === 'approved') { - reviewActionsHtml = ''; - } else if (reviewStatus === 'changes_requested') { - reviewActionsHtml = ''; - } else { - reviewActionsHtml = '' + - ''; - } const approvePhaseBtn = task.is_approval_gated ? `` : ''; @@ -233,14 +208,6 @@ function renderDetail(task) { ${task.phase_guidance ? `

▶ What's Next

${escapeHtml(task.phase_guidance)}
` : ''} ${task.state === 'blocked' && task.blocked_action_items && task.blocked_action_items.length > 0 ? `

📋 Action Items

` : ''}

Artifacts

${artifactsHtml}
-

Review

- ${reviewStatusText} - ${reviewComment} - -
- ${reviewActionsHtml} -
-
${task.sub_tasks.length > 0 ? `

Sub-tasks (${task.sub_tasks.filter(st => st.has_verdict).length}/${task.sub_tasks.length})

@@ -50,15 +49,6 @@
-
- - -