Files
Project-SDE-WP-Suite/tests
n.siegfried 3bc3abe209 T5.7 - CR-016: Assets off for Micron EUV, by configuration
Asset content duplicates the database Clinton's team maintains, and that
integration is deferred, so the section comes out in the interim.

This is a configuration task, and the wave file says so - "Surface:
configuration". There is no Micron EUV SOP in this repository; it is data on a
running system. What the repository holds are two representations of the Micron
configuration, and both now carry the toggle:

  wp-creation-app.js SAMPLE_SOP        what the standalone creator shows when
                                       there is no project SOP to read
  work-package-suite-app.js loadSample  the Micron FMCS SOP the wizard loads

For a real project the mechanism is step 12 and needs no code: untick Assets,
complete the SOP. That is what T5.5 built and what "another SOP can enable
Assets and it works" means.

Both write a PARTIAL map - {assets:false} - rather than a full one.
WPSections.normalize fills the rest in as ON, so a section added after today is
not silently off for this SOP. The probe checks that specifically: exactly one
key is false, not nine true and one false frozen at today's list.

  html/wp-creation-app.js         SAMPLE_SOP.sections
  html/work-package-suite-app.js  loadSampleData sets state.sections
  tests/sections_check.py         +13 checks (75 -> 88)

Done when
  [x] Assets does not render for Micron EUV in the form, detail view or export -
      and not in the section chip strip either, which is the form's contents page
  [x] the section and its model remain in the codebase - #asset-card and
      pkgAssets are both still there, checked in the browser rather than assumed
  [x] another SOP can enable Assets and it works - the fixture project renders it

seed_demo.py was deliberately NOT changed. Its SOP row stores a bare
{governance: ...} blob rather than the {sop, state} shape pullProject reads, so
its data never reaches the creator's SOP object at all - adding sections there
would be a toggle nothing consults. That shape mismatch is BL-018 and it should
be fixed as one thing, not worked around here.

What the probe caught
  The first run reported on "Job A" while claiming Micron. activeProjectId falls
  back to ProjectData.getActiveId(), so a project left in localStorage by an
  earlier navigation sent bootSOP() down the real-project branch and the sample
  was never loaded - every CR-016 assertion was then measuring the wrong SOP and
  four of them happened to fail, which is the only reason it was noticed. The
  probe clears storage first and says why.

Verified one at a time
  sections_check  88/88  (75 + 13 for CR-016)
  browser_check   71/71
  f_items         F1-F5 FIXED, F6 REPRODUCES (T7.2)

Question for the PR, per CLAUDE.md: CR-009's decision also says Kitting ships
toggled off for Micron EUV via these same toggles. That is wave 8's to apply
(CR-009/CR-010/CR-012), so the sample still has Kitting on. If the intent was
for both to go off together, the second line is one word.

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