feat(terminology): workplan-first dashboard and retirement backlog (STATE-WP-0069)
Add the ranked legacy-interface backlog (T01), rename dashboard navigation and user-facing copy to workplan while preserving wire-compat API keys (T02), and activate the retirement workplan with T01/T02 marked done.
This commit is contained in:
parent
4dc69bb8f5
commit
b2264d1f06
44 changed files with 382 additions and 253 deletions
|
|
@ -23,7 +23,7 @@ import {
|
|||
const triageState = (async function*() {
|
||||
let failures = 0;
|
||||
while (true) {
|
||||
let events = [], workplanIndex = {workstreams: {}}, ok = false;
|
||||
let events = [], workplanIndex = {workplans: {}}, ok = false;
|
||||
try {
|
||||
const [reportsResp, indexResp] = await Promise.all([
|
||||
apiFetch("/progress/?event_type=daily_triage&limit=14"),
|
||||
|
|
@ -31,7 +31,7 @@ const triageState = (async function*() {
|
|||
]);
|
||||
ok = reportsResp.ok && indexResp.ok;
|
||||
events = reportsResp.ok ? await reportsResp.json() : [];
|
||||
workplanIndex = indexResp.ok ? await indexResp.json() : {workstreams: {}};
|
||||
workplanIndex = indexResp.ok ? await indexResp.json() : {workplans: {}};
|
||||
} catch {}
|
||||
failures = ok ? 0 : failures + 1;
|
||||
yield {events, workplanIndex, ok, ts: new Date()};
|
||||
|
|
@ -42,7 +42,7 @@ const triageState = (async function*() {
|
|||
|
||||
```js
|
||||
const reports = normalizeTriageReports(triageState.events ?? []);
|
||||
const candidateIndex = buildCandidateIndex(triageState.workplanIndex ?? {workstreams: {}});
|
||||
const candidateIndex = buildCandidateIndex(triageState.workplanIndex ?? {workplans: {}});
|
||||
const _ok = triageState.ok ?? false;
|
||||
const _ts = triageState.ts;
|
||||
const latestReport = reports[0] ?? null;
|
||||
|
|
@ -140,7 +140,7 @@ function renderPatterns(reports, index) {
|
|||
${rows.length === 0
|
||||
? html`<p class="triage-muted">No repeated recommendations are visible in the loaded 14-day window.</p>`
|
||||
: html`<table class="triage-table">
|
||||
<thead><tr><th>Workstream</th><th>Times Recommended</th><th>Most Frequent Action</th></tr></thead>
|
||||
<thead><tr><th>Workplan</th><th>Times Recommended</th><th>Most Frequent Action</th></tr></thead>
|
||||
<tbody>${rows.map(row => html`<tr>
|
||||
<td>${candidateNode(row.candidate, index)}</td>
|
||||
<td>${row.count} / ${Math.max(1, windowReports.length)} reports</td>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue