feat(terminology): workplan-first dashboard and retirement backlog (STATE-WP-0069)
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s

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:
tegwick 2026-07-08 16:08:32 +02:00
parent 4dc69bb8f5
commit b2264d1f06
44 changed files with 382 additions and 253 deletions

View file

@ -1,5 +1,5 @@
---
title: Workstream
title: Workplan
---
```js
@ -18,8 +18,8 @@ const [raw, taskRows, workplanIndex] = await Promise.all([
.then(r => r.ok ? r.json() : [])
.catch(() => []),
fetch(`${API}/workplans/index`)
.then(r => r.ok ? r.json() : {workstreams: {}})
.catch(() => ({workstreams: {}})),
.then(r => r.ok ? r.json() : {workplans: {}})
.catch(() => ({workplans: {}})),
]);
```
@ -27,16 +27,16 @@ const [raw, taskRows, workplanIndex] = await Promise.all([
if (raw.error) {
display(html`<div style="color:red;padding:1rem">⚠️ ${raw.error}</div>`);
} else {
const workplan = (workplanIndex.workstreams ?? {})[wsId] ?? {};
const workplan = (workplanIndex.workplans ?? workplanIndex.workstreams ?? {})[wsId] ?? {};
const name = raw.title || raw.slug || wsId;
const shortName = name.length > 60 ? name.slice(0, 60) + "…" : name;
display(html`<h1 style="font-size:1.1rem;margin-bottom:0.25rem">Workstream · <em>${shortName}</em></h1>`);
display(html`<h1 style="font-size:1.1rem;margin-bottom:0.25rem">Workplan · <em>${shortName}</em></h1>`);
display(html`<p style="margin-top:0"><a href="/">← Overview</a> &nbsp;|&nbsp; <a href="/workstreams">← Workplans</a> &nbsp;|&nbsp; <a href="/token-cost">← Token Cost</a></p>`);
display(html`<div class="ws-summary">
<div><span>Status</span>${statusControl({
entity: raw,
type: "workstream",
type: "workplan",
statuses: WORKSTREAM_STATUSES,
onSaved: () => setTimeout(() => location.reload(), 450),
})}</div>
@ -53,7 +53,7 @@ if (raw.error) {
display(html`<h2>Tasks</h2>`);
if (sortedTasks.length === 0) {
display(html`<p style="color:gray">No tasks are attached to this workstream.</p>`);
display(html`<p style="color:gray">No tasks are attached to this workplan.</p>`);
} else {
display(html`<table class="task-table">
<thead><tr><th>Status</th><th>Priority</th><th>Task</th><th>Human</th></tr></thead>