Files
Project-SDE-WP-Suite/IMPLEMENTATION.md
n.siegfried 3d99d4b9d0 Import the R2 implementation spec into the repo
The plan was delivered as wp-suite-implementation-spec.zip and lived only in
Downloads, so every "read CLAUDE.md first" instruction in it pointed at a file
the repo did not have. Bring it in unchanged: CLAUDE.md, IMPLEMENTATION.md, and
docs/waves/wave-0 through wave-9 plus backlog.md.

UX-REVIEW-2026-08-14.md is committed alongside it. It is the review that
produced F1-F6, S1-S13 and the A/B/C assessments, and item IDs throughout the
wave files cite it, so it belongs under version control rather than sitting
untracked in the working tree.

No application code changes here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 17:42:56 -05:00

9.2 KiB
Raw Blame History

Work Package Suite — Implementation Plan

Derived from Consolidated Change Request R2, August 14, 2026. Companion document for humans: WorkPackageSuite_Consolidated_Change_Request_R2.docx.

55 items, 9 waves, dependency-ordered. Read CLAUDE.md first.


1. Where this came from

Three inputs were merged to produce this plan:

Source Produced IDs
13 in-app feedback comments, Aug 14 2026 (01:1101:32 PM) Functional change requests CR-001CR-018
Micron EUV review meeting, Aug 14 2026 Functional change requests and context included above
UX review of html/, Aug 14 2026, branch users/directory-super-user Rendering defects, structural findings, proposal assessment F1F6, S1S13, A1A7, B1B7, C1C4

F1F6 were verified in a browser and are reproducible. S1S13 were read from source and carry file and line references. A/B/C items assess a separately proposed UX change list; their IDs are carried over unchanged so the two documents line up.

2. Decisions (all closed)

Approved by Nick Siegfried, August 14 2026. Nothing in this plan is blocked pending a decision. Do not reopen these without a spec revision.

ID Decision
CR-009 Keep and extend Kitting. Build CR-010, CR-011, CR-012. Ship it toggled off for the Micron EUV SOP via the CR-006 section toggles. Kitting is not happening at Micron today; the team expects to get there.
CR-013 Build the lightweight material request. Line items (description, quantity, unit), needed-by date, requestor, delivery location, status. Defer the parts catalog, live inventory, and warehouse integration. Sequence after the creator has real section structure (see X6).
B7 Dissolve the creator iframe. Scheduled as T7.1, the first task of wave 7. This is the largest engineering item in the plan and most of wave 7 depends on it.
C1 Accessibility is in scope. Fold it into components already being rebuilt rather than treating it as a separate pass. Rules are in CLAUDE.md.

If the B7 decision was meant as "schedule the decision" rather than "dissolve the iframe", that is the one line in this plan to correct before wave 7 starts. Everything before wave 7 is unaffected either way.

3. Cross-track dependencies

These are the reason the wave order is what it is. Each row is a change request that cannot be built as written, or cannot be built once, until something else lands.

ID Item Depends on Type Why
X1 CR-011, CR-014 S3 Blocking Both promise an email containing a direct link to the work package. There is no pushState anywhere in the app, so no work package has an addressable URL. The emails cannot be built until URL state exists.
X2 CR-015 A1 Blocking The hold-not-clearing bug and the transition model are the same code. wp-creation-app.js:1962-1972 shows a deliberate logged-override path, so hold state is not purely derived from open constraints. Fixing them separately means fixing it twice.
X3 CR-014 A1 Sequencing Ready for QA is a new state and must land inside the guarded transition model, not beside it.
X4 CR-006 B7 Sequencing Section toggles must suppress sections inside the creator, which is an iframe child until T7.1.
X5 CR-004, CR-018 B4 Blocking Rollup by building, floor and sector cannot come from localStorage. Same data dependency that blocks the pipeline strip.
X6 CR-013 F6, A4 Sequencing A material request card is a 12th card on a form already ~4,700px tall. Build it after the form has section structure.
X7 CR-003 C3 Sequencing Priority color coding needs one source of truth for color, or Normal/High/Urgent get four implementations.
X8 CR-007 F2, S2 Blocking Offline drawing access is a tablet feature and the app bar breaks at 390px. Uploading into a form with no autosave risks losing the upload.
X9 CR-005 A4, F5, S9 Sequencing A new wizard step should be built during the stepper rebuild, with the read-only-looking fields and keyboard access fixed at the same time.
X10 CR-002, CR-016 CR-006, C3 Sequencing Both removals are expressed as toggles, not deletions. Without token consolidation the toggled styling drifts.

4. Wave order

Wave Focus File Items
0 Orientation and file map docs/waves/wave-0.md
1 Rendering defects and tooling docs/waves/wave-1.md F1 F3 F4 F5(interim) S13
2 Drawer everywhere, flat strip deleted docs/waves/wave-2.md B1 S4 F2
3 Token consolidation and button system docs/waves/wave-3.md C3 S5 A3 A5
4 Platform prerequisites docs/waves/wave-4.md B4 S3 S2 B5 S10 S11 S12
5 Launcher and SOP wizard docs/waves/wave-5.md A4 B3 S9 CR-005 CR-006 CR-002 CR-016 S1(wizard)
6 Work package general information docs/waves/wave-6.md CR-001 CR-003 CR-004 CR-018 A7
7 The creator docs/waves/wave-7.md B7 A1 CR-015 A2 A6 CR-014 CR-007 B6 S1(creator) F6
8 Kitting and material docs/waves/wave-8.md CR-009 CR-010 CR-011 CR-012 CR-013
9 Verification and cleanup docs/waves/wave-9.md CR-008 CR-017 S6 S7 C1 C2 C4

Waves 1 through 4 produce almost no field-visible change. That is deliberate and it is roughly the first third of the effort. It is called out here because the Micron team is already skeptical about time spent, and silence during these waves reads as nothing happening. The trade is that waves 5 through 8 land once instead of being rebuilt, which is the failure mode the review documented at work-package-suite-styles.css:336.

Deltas from the R2 sequence

The R2 document's nine-wave table did not place A5, A7, or F6. This plan places A5 in wave 3 (it depends on token consolidation), A7 in wave 6 (it is general-information surface work), and F6 in wave 7 (its actual fix is section tabs, not a CSS change). F2 moves fully to wave 2 because B1 resolves it; wave 1 only stops the clipping.

5. Task format

Every task in a wave file follows this shape. Do not start a task that is missing a done-when list; flag it instead.

### T5.4 — CR-005: Upload location lists at SOP setup

- **Items:** CR-005
- **Depends on:** T5.1
- **Blocks:** T6.3
- **Surface:** html/ + server/
- **Files:** <paths from docs/reference/file-map.md>
- **Do:** ...
- **Do not:** ...
- **Done when:**
  - [ ] verifiable check
  - [ ] verifiable check

Done when entries must be checkable by running or looking at something. "Confirm with Nick" is never a done-when; it goes in the PR description.

6. Traceability

Every one of the 55 items appears in exactly one wave, except where noted.

Item Wave Item Wave Item Wave
CR-001 6 F1 1 A1 7
CR-002 5 F2 1 interim, 2 full A2 7
CR-003 6 F3 1 A3 1 interim, 3 full
CR-004 6 F4 1 A4 5
CR-005 5 F5 1 interim, 3 full A5 3
CR-006 5 F6 7 A6 7
CR-007 7 S1 5 wizard, 7 creator A7 6
CR-008 9 S2 4 B1 2
CR-009 8 S3 4 B2 2
CR-010 8 S4 2 B3 5
CR-011 8 S5 3 B4 4
CR-012 8 S6 9 B5 4
CR-013 8 S7 9 B6 7
CR-014 7 S8 9 B7 7
CR-015 7 S9 5 C1 all, audited in 9
CR-016 5 S10 4 C2 all, audited in 9
CR-017 9 (guard only) S11 4 C3 3
CR-018 6 S12 4 C4 4 and 9
S13 1

F5 and A3 are the same defect from two sources. C1 and C2 are standing requirements enforced per task under CLAUDE.md, with a dedicated audit in wave 9. CR-017 is a do-not-remove guard rather than a build.

7. Out of scope

Deferred by decision. Do not build these, and do not treat them as gaps:

  • Full material request and inventory system, including the parts catalog and warehouse integration. Revisit once Paul Coonrod is engaged.
  • Asset database integration. Clinton's team owns that database; the Assets section is toggled off in the interim (CR-016).
  • CxAlloy or GC QA system integration. The QA gate is notification-only until CxAlloy lands.
  • P6 activity list import and validated lookup. CR-001 uses free text.

8. Inputs the plan is waiting on

These do not block code, but they block the data that makes several features real. Track them; do not invent placeholder values in their absence.

Input Owner Blocks
B100 floor and area list David Leal CR-004, CR-005 real data
Material spreadsheet Nate, via David Leal CR-013 field set
Master material workbook, preferred request format Paul Coonrod CR-013 scope
QA process of record (Excel questionnaire moving into CxAlloy) David Ramstorf, Lupe, Cody Schaefer CR-014 beyond notification

Where a list is required and not yet supplied, build the upload path (CR-005) and seed with an obviously-fake sample. Do not hardcode guessed floor names.