# File map — `html/` and the references the plan depends on **Task:** `T0.1` · **Produced:** August 14, 2026 · **Branch:** `feat/wp-suite-r2-implementation` Wave 0 exists because the item IDs and line numbers in this plan came from a UX review of branch `users/directory-super-user`, not from a fresh read. This document is the fresh read. Everything below was verified against the working tree, not quoted from the review. **Read the [Discrepancies](#discrepancies) section before starting any wave.** Four things the plan asserts are wrong, and one of them (`A1`) guards a code path CLAUDE.md says must not change. --- ## 1. Pages `html/` holds **7 pages, 6 stylesheets, 11,867 lines**. The plan says "6 pages, 4 stylesheets, roughly 11,900 lines" — the line count is right, the other two are not. See D1. | Page | Called in this plan | Lines | Stylesheets (load order) | Scripts (load order) | Iframe | |---|---|---|---|---|---| | `html/login.html` | login | 163 | `theme-light.css` | `login.js` | neither | | `html/index.html` | launcher | 703 | `theme-light.css`, `wp-chrome.css` | `auth-guard`, `wp-format`, `feedback-config`, `project-data`, `help`, *(inline 418–700)*, `wp-chrome` | neither | | `html/work-package-suite.html` | SOP wizard | 437 | `theme-light.css`, `wp-chrome.css`, `work-package-suite-styles.css` | `auth-guard`, `wp-format`, `feedback-config`, `project-data`, `help`, `work-package-suite-app`, `wp-chrome` | **hosts** | | `html/wp-creation-index.html` | creator | 401 | `theme-light.css`, `wp-creation-styles.css` | `auth-guard`, `wp-format`, `feedback-config`, `project-data`, `help`, `wp-creation-app` | **child** | | `html/admin.html` | admin | 219 | `theme-light.css`, `wp-chrome.css`, `console.css`, `wp-sidenav.css` | `auth-guard`, `wp-format`, `console-util`, `admin`, `wp-chrome`, `wp-sidenav` | neither | | `html/users.html` | directory/users | 106 | `theme-light.css`, `wp-chrome.css`, `console.css`, `wp-sidenav.css` | `auth-guard`, `wp-format`, `console-util`, `users`, `wp-chrome`, `wp-sidenav` | neither | | `html/field.html` | field view | 93 | `theme-light.css`, `wp-chrome.css`, `wp-sidenav.css` | `auth-guard`, `wp-format`, `project-data`, `help`, `field`, `wp-chrome`, `wp-sidenav` | neither | No script anywhere in `html/` uses `defer`, `async`, or `type="module"`. Every one is a render-blocking classic script. `auth-guard.js` and `wp-format.js` load in ``; the rest load at the end of ``. Wave 5 added two `` scripts, both shared: `wp-sections.js` (the `CR-006` section list, read by the wizard *and* the creator, so the two cannot disagree about what "Assets is off" means) joins `wp-url.js` and `wp-autosave.js`. > **The SOP wizard has 12 steps, not 10, since wave 5.** `T5.4` appended Locations (11) and > `T5.5` appended Sections (12). Both were **appended** rather than inserted where they > belong by subject: renumbering 2–10 would touch every `sop-step-N` id, every > `collectStepData` case, every gate key and the analytics history, for an ordering change. > The count lives in one place — `LAST_STEP` in `work-package-suite-app.js` — and reordering > is cheap once nothing depends on the numbers. `tests/stepper_check.py` names it > `STEP_COUNT` for the same reason. ### The iframe boundary - dissolved at `T7.1`, August 18 2026 `work-package-suite.html` declared `