Repository navigation
Expand file tree
/
Copy pathdashboard-first-run.html
More file actions
65 lines (64 loc) · 3.42 KB
/
Copy pathdashboard-first-run.html
File metadata and controls
65 lines (64 loc) · 3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!doctype html>
<html lang="en"><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Operations · Repo Steward</title>
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="/assets/logo-256.png">
<link rel="stylesheet" href="/assets/steward.css">
</head>
<body data-page="operations">
<main class="page" data-first-run>
<div class="page-head"><h1>Operations</h1><span class="sub">no tick has run yet</span></div>
<div class="cols">
<aside class="rail">
<div class="panel">
<div class="panel-head"><h2>Repositories</h2></div>
<table class="grid"><thead><tr><th>Repo</th><th>Watching</th></tr></thead>
<tbody><!--REPOS--></tbody></table>
</div>
</aside>
<div>
<section class="panel attn">
<div class="panel-head"><h2>First run</h2></div>
<div class="panel-body">
<p style="margin:0 0 12px;max-width:70ch">The steward hasn't read your repositories yet. The first tick reads each one, works the queue within its size limits, and fills this page with decisions, PRs ready to merge, staged replies and the plan for the next tick. It takes a few minutes on a large backlog.</p>
<button class="btn sig lg" id="first-tick">▶ Run the first tick</button>
<p class="muted" id="cta-note" style="margin:10px 0 0;font:12px var(--mono)">Progress shows under the top bar. This page swaps itself for the real one when the tick finishes.</p>
</div>
</section>
<section class="panel">
<div class="panel-head"><h2>What a tick does</h2></div>
<div class="panel-body">
<dl class="kv">
<dt>Reads</dt><dd>Open issues, PRs and discussions you've asked it to watch, into a ledger per repository.</dd>
<dt>Works</dt><dd>Triage replies, PR reviews, delta re-reviews and fix PRs, in priority order and within the tick's size limits.</dd>
<dt>Stages</dt><dd>PRs it would merge go under <b>Ready for your final look</b>. Everything else it drafted goes under <b>Staged replies</b>.</dd>
<dt>Escalates</dt><dd>Design direction, breaking changes and close/reject calls go under <b>Decisions needed</b>.</dd>
<dt>Mode</dt><dd>In <b>draft</b> it posts nothing: every outbound message waits for your click. Change mode, schedule, tick size and watched resources from the top bar.</dd>
</dl>
</div>
</section>
</div>
</div>
</main>
<script src="/assets/steward-shell.js"></script>
<script id="steward-controls" src="/steward-controls.js"></script>
<script>
// First run only: start a tick from the page body, and swap to the real
// dashboard as soon as a tick has generated one.
(function () {
var btn = document.getElementById('first-tick'), note = document.getElementById('cta-note');
function busy(msg) { btn.disabled = true; btn.textContent = '⟳ Tick running'; if (msg) note.textContent = msg; }
btn.addEventListener('click', function () {
busy();
Steward.api('/api/tick', {}).catch(function (e) {
btn.disabled = false; btn.textContent = '▶ Run the first tick'; note.textContent = e.message;
});
});
Steward.onStatus(function (s) {
if (s.dashboard_ready) { location.reload(); return; }
if (s.tick_active) busy('Tick running. This page swaps itself for the dashboard when it lands.');
});
})();
</script>
</body></html>