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
|
|
@ -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> | <a href="/workstreams">← Workplans</a> | <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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue