CI / build (push) Has been cancelled
The review system (REVIEW.md, approve/changes_requested buttons,
review filter, review badges) was purely cosmetic — only the dashboard
read/wrote it. No workflow component (status.py, autopilot.py,
loop-runner.py, prompts) ever enforced it.
The 'Approve' button in the task detail panel confused users into
thinking it approved the task's phase gate. In reality it only wrote
to REVIEW.md, which had zero effect on transitions.
Removed:
- Review section (buttons, textarea, status badge) from detail panel
- Review badge from task cards
- Review filter from toolbar
- Pending-review counter from header
- All review-related CSS
Users now use the single '🔓 Approve Phase' button in the detail
panel, which calls status.py --approve and actually transitions the
task.
118 lines
5.2 KiB
HTML
118 lines
5.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Automaton Dashboard</title>
|
|
<link rel="stylesheet" href="styles.css">
|
|
</head>
|
|
<body>
|
|
<div id="app">
|
|
<header class="header">
|
|
<div class="header-left">
|
|
<span class="scope-badge" id="scope-badge"></span>
|
|
<span class="scope-label" id="scope-label"></span>
|
|
</div>
|
|
<div class="header-center">
|
|
<div class="view-tabs">
|
|
<button class="tab active" data-view="board">Board</button>
|
|
<button class="tab" data-view="stats">Stats</button>
|
|
<button class="tab" data-view="agent">Agent</button>
|
|
</div>
|
|
</div>
|
|
<div class="header-right">
|
|
<div class="stats-mini">
|
|
<span class="stat-total">Tasks: <strong id="total-tasks">0</strong></span>
|
|
<span class="stat-wip">WIP: <strong id="wip-tasks">0</strong></span>
|
|
<span class="stat-done">Done: <strong id="done-tasks">0</strong></span>
|
|
<span class="stat-blocked">Blocked: <strong id="blocked-tasks">0</strong></span>
|
|
</div>
|
|
<div class="header-controls">
|
|
<button class="btn btn-icon" id="btn-refresh" title="Refresh">↻</button>
|
|
<button class="btn btn-icon" id="btn-theme" title="Switch theme">🎨</button>
|
|
<button class="btn btn-icon" id="btn-help" title="Help">?</button>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="filter-bar" id="filter-bar">
|
|
<div class="filter-group">
|
|
<label>Phase:</label>
|
|
<select id="filter-phase">
|
|
<option value="all">All</option>
|
|
<option value="research">Research</option>
|
|
<option value="design">Design</option>
|
|
<option value="implement">Implement</option>
|
|
<option value="code_review">Code Review</option>
|
|
<option value="bug_find">Bug Find</option>
|
|
<option value="done">Done</option>
|
|
<option value="blocked">Blocked</option>
|
|
</select>
|
|
</div>
|
|
<div class="filter-group">
|
|
<label>Waves:</label>
|
|
<select id="filter-wave">
|
|
<option value="all">All</option>
|
|
<option value="has-waves">Has Waves</option>
|
|
<option value="no-waves">No Waves</option>
|
|
</select>
|
|
</div>
|
|
<div class="filter-group">
|
|
<label>Search:</label>
|
|
<input type="text" id="search-input" placeholder="Search tasks..." />
|
|
</div>
|
|
</div>
|
|
|
|
<main class="main-content">
|
|
<div class="view active" id="view-board">
|
|
<div class="board" id="board"></div>
|
|
</div>
|
|
<div class="view" id="view-stats">
|
|
<div class="stats-panel" id="stats-panel"></div>
|
|
</div>
|
|
<div class="view" id="view-agent">
|
|
<div class="agent-panel" id="agent-panel"></div>
|
|
</div>
|
|
</main>
|
|
|
|
<div class="modal-overlay" id="detail-overlay">
|
|
<div class="modal-panel" id="detail-panel">
|
|
<div class="detail-header">
|
|
<h3 id="detail-title">Select a task</h3>
|
|
<button class="btn btn-close" id="btn-close-detail">✕</button>
|
|
</div>
|
|
<div class="detail-content" id="detail-content">
|
|
<p class="detail-empty">Click on a task to view details</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="footer">
|
|
<span class="footer-scope" id="footer-scope"></span>
|
|
<span class="footer-info">Auto-refresh: <span id="refresh-status">on</span> | <span id="refresh-count">0</span> refreshes</span>
|
|
</footer>
|
|
</div>
|
|
|
|
<div class="help-modal" id="help-modal">
|
|
<div class="help-modal-content">
|
|
<h2>Keyboard Shortcuts</h2>
|
|
<table class="help-table">
|
|
<tr><td><kbd>Space</kbd></td><td>Cycle views (Board → Stats → Agent)</td></tr>
|
|
<tr><td><kbd>1</kbd></td><td>Board view</td></tr>
|
|
<tr><td><kbd>2</kbd></td><td>Statistics view</td></tr>
|
|
<tr><td><kbd>3</kbd></td><td>Agent view</td></tr>
|
|
<tr><td><kbd>t</kbd></td><td>Cycle themes (default → dark → light)</td></tr>
|
|
<tr><td><kbd>r</kbd></td><td>Manual refresh</td></tr>
|
|
<tr><td><kbd>f</kbd></td><td>Toggle filter bar</td></tr>
|
|
<tr><td><kbd>s</kbd></td><td>Focus search</td></tr>
|
|
<tr><td><kbd>Esc</kbd></td><td>Close modals / clear search</td></tr>
|
|
<tr><td><kbd>?</kbd></td><td>Show this help</td></tr>
|
|
</table>
|
|
<button class="btn btn-primary" id="btn-close-help">Close</button>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="dashboard.js"></script>
|
|
</body>
|
|
</html>
|