You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes the issues seen on screen:
- QA weight override panel: the broken `bg-brand/5` / `border-brand` (invalid — `brand` is a CSS
var, no `brand` border color) and the overlapping native number spinner are fixed. New layout:
spinner-free input (`.no-spin`), valid token colors (info tint when locked), aligned Unlock /
"auto" column. Reads cleanly now.
- "Adjust weights" button: a clear standard button with an active (pressed) state and a
"Done adjusting" label while open.
- C4 diagram "Could not render": replaced the fragile mermaid render with a deterministic,
theme-aware hand-built SVG (rows of actor/node/store with fan-out / 1:1 edges). It always
renders, and it's now a collapsible panel like the others. `mermaid` dependency removed.
Docs reconciled (no mismatch): SRS FR-OUT-5 / NFR-PERF-3 / AC-12 / Section 2.4 + history (→ v1.1),
README stack, DECISIONS.md, and the deployment guide no longer claim mermaid/recharts; all visuals
are hand-built SVG. (Doc mermaid code-fences that GitHub renders are kept.)
Verification: 39/39 tests; build clean (3s, one 98 KB gzip bundle); eslint 0; 3 model guards PASS;
dev HTTP 200.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
| 0.8 | 2026-06-13 | Closed OI-3: a basic C4-style stub is in v1.0 (FR-OUT-5, Could); richer auto-generated C4 deferred to v2.x. Charter pointer → v1.7 |
28
28
| 0.9 | 2026-06-13 | Performance-budget targets ratified (NFR-PERF-3, design ADR-008): numbers committed with mandatory lazy-loading of mermaid/recharts; OI-5 target-setting closed, real-bundle measurement remains a Phase 4/5 verification step |
29
29
| 1.0 | 2026-06-16 | v1.0 implemented. Added the v1.1 enhancement requirements realized in the app — FR-SHELL-9 (in-app Manual with a live worked calculation), FR-REC-14 (runner-up explainer), FR-REC-15 (A/B scenario comparison), FR-OUT-7 (Print/PDF). Reconciled the chart technology to hand-built SVG (`recharts` dropped — NFR-PERF-3, AC-12, Section 2.4; see [DECISIONS.md](../../DECISIONS.md)). Charter pointer → v1.8 |
30
+
| 1.1 | 2026-06-16 | UI/UX polish: the **C4 stub is now hand-built SVG** (`mermaid` dropped — it failed to render; FR-OUT-5, NFR-PERF-3, AC-12, Section 2.4); project factors and the expert analysis panels use **collapsible dropdowns**; the expert QA-weight override panel UI fixed; exports gained a **plain-language executive summary** (report/ADR/print). No requirements removed |
30
31
31
32
---
32
33
@@ -170,8 +171,9 @@ plain, readable degraded experience rather than a blank page (see FR-EDGE-4).
170
171
171
172
Client-side only; bilingual ID/EN; all model values held in configuration (not hard-coded);
@@ -186,7 +188,7 @@ Stated explicitly so these never re-enter as implicit requirements. The system *
186
188
v1.0:
187
189
188
190
-**Replace human judgment** or perform a full ATAM workshop — it is decision *support* only (Charter Section 21).
189
-
-**Generate application code or Infrastructure-as-Code** — the C4 Mermaid stub (FR-OUT-5) is a diagram, not runnable artifacts (Charter Section 5).
191
+
-**Generate application code or Infrastructure-as-Code** — the C4 diagram stub (FR-OUT-5) is a diagram, not runnable artifacts (Charter Section 5).
190
192
-**Store sensitive data, accounts, or any server-side state** — there is no backend, database, or login (Charter Section 17).
191
193
-**Make network or AI calls** to score, recommend, or explain — all computation is local arithmetic (Build Spec Section 2).
192
194
-**Claim empirical validity** for its heuristics — the validation study is deferred (Charter Section 11; OI-6).
@@ -257,7 +259,7 @@ v1.0:
257
259
| FR-OUT-2 | Export a **full report** (Markdown + print stylesheet). | Must | Build Spec Section 12 | T |
258
260
| FR-OUT-3 | Export **scores as CSV** and the **assessment as JSON**. | Should | Build Spec Section 12 | T |
259
261
| FR-OUT-4 | Provide a **share-via-URL** link that round-trips to identical state. | Must | Build Spec Section 14.14 | T |
260
-
| FR-OUT-5 | Render a **basic C4-style Mermaid diagram stub** reflecting the chosen D1 style (richer auto-generated C4 is deferred to v2.x). | Could | Build Spec Section 12; Charter Section 5 | D |
262
+
| FR-OUT-5 | Render a **basic C4-style diagram stub** (hand-built SVG) reflecting the chosen D1 style (richer auto-generated C4 is deferred to v2.x). | Could | Build Spec Section 12; Charter Section 5 | D |
261
263
| FR-OUT-6 | Support **import/export of a basic custom-configuration JSON** for extensibility (per-user; organization-level config is deferred to v2.0). | Should | Build Spec Section 12; Charter Section 5 | T |
262
264
| FR-OUT-7 | Provide a **Print / PDF** action that renders a clean, theme-independent one-page decision report via the browser's print dialog. | Should | v1.1 enhancement; FR-OUT-2 | D |
263
265
@@ -304,7 +306,7 @@ production. They are the most common source of "we never specified that" defects
304
306
|---|---|---|---|---|
305
307
| NFR-PERF-1 | Reflect any factor change in priorities, charts, and rankings within **~100 ms perceived** latency on a mid-range device. | Must | UI/UX Playbook Task 1 | T |
306
308
| NFR-PERF-2 | Enable a **median time-to-first-recommendation ≤ 5 minutes** (KPI K3). | Must | Charter Section 22 (K3) | T |
307
-
| NFR-PERF-3 | Meet the **ratified performance budgets** on a mid-range device: initial JS bundle **≤ 300 KB gzipped** (mermaid lazy-loaded; charts are hand-built SVG, no chart library), First Contentful Paint **≤ 2 s** on a fast-3G profile, and a re-score interaction p95 **≤ 100 ms**. Verified by a CI bundle-size gate + Lighthouse in Phase 4/5 (design [ADR-008](../03-blueprint/design-specification.md#8-key-design-decisions-adrs)). | Should | UI/UX Playbook Task 1 | T |
309
+
| NFR-PERF-3 | Meet the **ratified performance budgets** on a mid-range device: initial JS bundle **≤ 300 KB gzipped** (no chart or diagram library — all visuals are hand-built SVG), First Contentful Paint **≤ 2 s** on a fast-3G profile, and a re-score interaction p95 **≤ 100 ms**. Verified by a CI bundle-size gate + Lighthouse in Phase 4/5 (design [ADR-008](../03-blueprint/design-specification.md#8-key-design-decisions-adrs)). | Should | UI/UX Playbook Task 1 | T |
308
310
| NFR-USE-1 | Achieve a **System Usability Scale [9] ≥ 70** at beta — the empirically derived "acceptable" threshold [10] (operative solo-stage KPI K5; aspirational target 75). | Should | Charter Section 22 (K5) | T |
309
311
| NFR-USE-2 | Be usable **without mandatory setup** (presets and sample data available immediately). | Must | UI/UX Playbook Task 9 | D |
310
312
| NFR-USE-3 | Be **consistent and predictable**: honor standard shortcuts; one term per concept; consistent color meaning. | Must | UI/UX Playbook Task 6 | I |
@@ -459,7 +461,7 @@ Key gates:
459
461
-**AC-9.** Fully keyboard-operable; AA contrast in both themes. *(NFR-A11Y-1/2)*
460
462
-**AC-10.** A tampered/truncated share URL falls back to saved or default state with a notice (no crash, no blank page); with `localStorage` disabled, the app still runs and warns that progress will not be saved. *(FR-EDGE-1/2)*
461
463
-**AC-11.** An older-model-version share link or export renders as-is and offers "recompute with the current model"; importing an invalid config JSON is rejected with a field-level error and leaves the current config intact. *(FR-EDGE-3/5)*
462
-
-**AC-12.** The production build meets the ratified performance budgets — bundle ≤ 300 KB gzipped (mermaid lazy-loaded; charts hand-built SVG), FCP ≤ 2 s on fast-3G, re-score p95 ≤ 100 ms — enforced by a CI bundle-size gate + Lighthouse. *(NFR-PERF-3; design ADR-008)*
464
+
-**AC-12.** The production build meets the ratified performance budgets — bundle ≤ 300 KB gzipped (no chart/diagram library; all visuals hand-built SVG), FCP ≤ 2 s on fast-3G, re-score p95 ≤ 100 ms — enforced by a CI bundle-size gate + Lighthouse. *(NFR-PERF-3; design ADR-008)*
0 commit comments