Files
Project-SDE-WP-Suite/docs/waves/decisions-2026-08-20.md
n.siegfried 24476c86a6 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 <noreply@anthropic.com>
2026-08-20 17:45:58 -07:00

5.3 KiB
Raw Blame History

Decisions — August 20, 2026

One item. Like the August 18 set, it is a new item with its own D id, not a reinterpretation of an existing one.


D11 — The Micron asset picker merges into the R2 creator

  • Arrived as: origin/Micron-Assets (7ef1fcd, Cody Schaefer, Aug 18) — written against pre-R2 main, integrated here by Nick's instruction on Aug 20.
  • Amends: the R2 completion record's "Asset database integration — out of scope, confirmed unbuilt" line, which was true when written and stops being true here.
  • Surface: html/ (creator), server/ (assets_db.py, /api/assets), docker-compose.yml, requirements.txt.

What the branch brought

A read-only lookup onto the Micron asset catalog (a SQL Server instance outside this repo): the whole catalog is fetched once per creator page load through /api/assets and searched in memory; picked assets are stored on the package tagged source:'catalog' with the DB's own casing; anything not in the catalog is added by hand and visibly tagged manual. CSV import and Excel column paste bulk-add with the same matching. Unconfigured (MICRON_DB_URL unset) and unreachable are first-class states that degrade to manual entry — the suite runs without Micron wired up.

What integration changed (and why)

The branch predates waves 59, so it used surfaces R2 replaced. Each adaptation keeps Cody's behaviour and moves it onto the R2 idiom:

  1. Six alert() calls → the T7.9 dialog kit and toast. The creator ships zero native dialogs (creator_dialogs_check pins the count). File-handling errors use toast(msg,'alert') exactly as the drawings uploader and comment import do; the instructional message and the import summary use the kit, which gained the one-button wpAlertDialog shape it was always going to need (BL-024 wants it too).
  2. The export block moved inside T9.1's sectioned add('assets', …) frame, so the CR-006 assets toggle keeps governing it. Content is Cody's: two columns, Asset ID + Note, no controls.dev link column.
  3. initAssetPicker() joined the R2 bootData() loads rather than replacing them.
  4. role="status" on the picker's source note, so loading → ready/absent/error announces (C1, the login.html pattern).
  5. Everything else landed as written: his import glyph is already the S6-mapped U+2912, .material-actions is the creator's own class, and the styles block declares no colour literal (color_check re-verifies).

Recorded properties, restated as constraints

  • Read-only, structurally. assets_db.py contains one SELECT and no other statement; there is no POST route. assets_check greps this on every run.
  • Credentials are env-only (MICRON_DB_URL), matching the SMTP password rule. Driver errors are logged server-side and never propagated to the browser, because 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.