From 24476c86a6cbfd923a6d298196f609b26b1025a4 Mon Sep 17 00:00:00 2001 From: "n.siegfried" Date: Thu, 20 Aug 2026 17:45:58 -0700 Subject: [PATCH] Decisions of 2026-08-20 (evening), recorded Six answers from Nick: F6 is a strict 2.0 screens (build task, chrome compresses); hold stays reachable from any status (T7.3 question closed); CR-014 bodies get deep links and may name customer context but never embed confidential document content; CR-008 merged-PDF becomes KNOWN-ISSUES 3 (decided, not deferred by accident); BL-023 becomes D12, the productivity factor on the dashboard; BL-020 closed as decided-keep. Housekeeping (BL-021, BL-024, BL-025, S13) approved to build on this branch. Items: F6, CR-008, CR-014, D12, BL-020, BL-022, BL-023. Co-Authored-By: Claude Fable 5 --- KNOWN-ISSUES.md | 33 +++++++++++++++++++++ docs/waves/backlog.md | 6 ++-- docs/waves/decisions-2026-08-20.md | 47 ++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 3 deletions(-) diff --git a/KNOWN-ISSUES.md b/KNOWN-ISSUES.md index 5f4952d..95f8f44 100644 --- a/KNOWN-ISSUES.md +++ b/KNOWN-ISSUES.md @@ -12,6 +12,7 @@ Close an entry by deleting it in the same commit that fixes it. |---|-------|----------|--------|--------| | 1 | XSS via SOP discipline names in the WP creator | Medium (internal), High if externally reachable | 2026-08-05 | Open | | 2 | Archived projects: the two big apps don't grey out their own controls | Low | 2026-08-05 | Open | +| 3 | Export is not one merged PDF; drawings ride along as a list | Low | 2026-08-20 | Open — decided | --- @@ -161,3 +162,35 @@ save/issue controls, or add a boot check in each app that disables them and show read-only notice inline. Decide separately how the embedded creator (`wp-creation-index.html`) surfaces it, since it runs in an iframe where the shared app bar — and therefore the banner — is deliberately skipped. + +--- + +## 3. Export is not one merged PDF; drawings ride along as a list + +**Files:** `html/wp-creation-app.js` (the T9.1 export walk), `CR-008` +**Decided:** 2026-08-20, by Nick — "add this to known issues." + +### What is wrong + +CR-008 asked for the work package "as one document." What shipped (T9.1) +renders every section inline — including images — and lists PDF drawing +attachments with links, rather than merging their pages into a single PDF. + +### What it costs + +A crew printing the package gets the form and the inline images in one pass, +but linked PDF drawings are separate opens/prints. For field hand-offs that +want literally one file, someone stitches it manually. + +### Why it is still open + +Real PDF merging needs either a server-side PDF library (a new dependency and +a render pipeline for arbitrary uploaded PDFs) or a client-side one (heavy, +and the creator is deliberately dependency-free). The recommendation made at +T9.1 — inline images + listed PDFs — was accepted as the shipped behaviour. + +### What closing it takes + +A server-side merge endpoint (e.g. pypdf) that concatenates the rendered +package with each attached PDF, streamed back as one download; plus a size +ceiling consistent with D8's upload limits. One task, one new dependency. diff --git a/docs/waves/backlog.md b/docs/waves/backlog.md index e289835..c023927 100644 --- a/docs/waves/backlog.md +++ b/docs/waves/backlog.md @@ -447,7 +447,7 @@ deliberately deferred. what is left is `field.html`'s `.fld-search`, and `T9.5` should re-measure that one the same way rather than inheriting this entry's wording. -### BL-020 — Switching from the SOP wizard to the creator can now prompt to leave +### BL-020 — CLOSED (decided 2026-08-20: keep it) — the wizard-exit prompt stays - **Found during:** T7.1 - **Where:** `html/wp-autosave.js:96` (the `beforeunload` guard), reached from the @@ -491,7 +491,7 @@ deliberately deferred. - **Suggested wave or follow-up:** wave 9 backlog sweep (`T9.9`), verified with the `tests/qa_gate_check.py` sink pattern. -### BL-022 — F6's "roughly two screen heights": 2.17 against a strict 2.0 +### BL-022 — DECIDED 2026-08-20 (strict 2.0; chrome compressed, closed by the F6 task on feat/wp-suite-r3-housekeeping) - **Found during:** T7.2, re-measured at the wave 7 exit - **Where:** `html/wp-creation-index.html` page chrome; `tests/form_structure_check.py` @@ -510,7 +510,7 @@ deliberately deferred. becomes a small T9 task. The strict check stays red so the question cannot be forgotten. -### BL-023 — Productivity factor: actual against estimated hours +### BL-023 — CLOSED into D12 (decided 2026-08-20: the dashboard) — see decisions-2026-08-20.md - **Found during:** T9.2 (logged as that task's done-when requires) - **Where:** future — dashboard / rollups diff --git a/docs/waves/decisions-2026-08-20.md b/docs/waves/decisions-2026-08-20.md index 3351819..1febb87 100644 --- a/docs/waves/decisions-2026-08-20.md +++ b/docs/waves/decisions-2026-08-20.md @@ -53,3 +53,50 @@ Cody's behaviour and moves it onto the R2 idiom: a malformed URL's error text can quote password fragments. - **Unconfigured is not an error.** Local dev and the demo DB run with the picker in manual mode; nothing in the suite requires the catalog to exist. + +--- + +# The evening decisions (same day) + +Six answers from Nick, given in one message. Recorded verbatim in intent; each +names the item it settles. One new item id is assigned (D12); everything else +amends or closes an existing question. + +## The answers + +1. **BL-022 — "strict 2.0."** F6/D3's "roughly two screen heights" means + **2.0**, not 2.17. The overage is chrome (~154px: the context bar, the + release banner's spacing, header/toolbar padding), so this becomes a build + task: compress the chrome without deleting what other items placed + deliberately (A2's one-warning banner and the SOP identity strip STAY — + they get denser, not removed). `form_structure_check`'s red check flips + green by the page actually fitting, not by moving the bar. + +2. **Hold from Draft/Scheduled — "no, leave as is."** The hold branch stays + reachable from any status. T7.3's raised question is closed; the shipped + behaviour is the decided behaviour. + +3. **CR-014 email bodies — links back to the system; customer context is + allowed, confidential documents are not.** The T7.6-era rule ("no customer + IP in emails") is refined: naming the customer, the project, the package + and where the work happens is fine; what must never be embedded is + confidential document CONTENT (drawings, attachments, scope text). Every + work-package email carries a deep link back to the package in the system. + Build task, sink-verified. + +4. **CR-008 merged-PDF export — known issue, not a build.** The export keeps + inline images + listed PDF attachments. Recorded as KNOWN-ISSUES.md §3 so + the limitation is a commitment, not a surprise. + +5. **BL-023 → D12 — the productivity factor gets a spot on the dashboard.** + Placement delegated ("find a spot on the dashboard"). New item id **D12**: + actual ÷ estimated hours, from data the rollup endpoints already carry. + +6. **BL-020 — "keep it."** The unsaved-work prompt on leaving the wizard + stays. Closed as decided-keep; no build. + +Plus: **"do what's left on the housekeeping"** — BL-021 (the +critical-reopen recipient bug), BL-024 (the 21 console/launcher dialogs onto +the shared kit), BL-025 (the last second-blue tint + the widened check), and +S13 (seed_demo sign-in) are approved to build now, one commit each, on +`feat/wp-suite-r3-housekeeping`.