diff --git a/docs/waves/wave-8.md b/docs/waves/wave-8.md index abae745..cb8e8b9 100644 --- a/docs/waves/wave-8.md +++ b/docs/waves/wave-8.md @@ -220,9 +220,9 @@ hardcode sample part numbers; seed with an obviously-fake sample as `CR-005` doe ## Wave 8 exit criteria -- [ ] Kitting is fully built and toggled off for Micron EUV -- [ ] notifications carry working deep links and a delivery location, and are off by default -- [ ] the material request is the lightweight scope, nothing more -- [ ] a material list uploads at SOP configuration and feeds the request (`D6`) -- [ ] no guessed part numbers or floor names anywhere in the code -- [ ] no real email left this branch; the capture sink count is recorded +- [x] Kitting is fully built and toggled off for Micron EUV (`kitting_check.py`: the five statuses, the account-backed owner, the delivery trio, the CR-006 toggle on both samples, nothing deleted) +- [x] notifications carry working deep links and a delivery location, and are off by default (`kitting_notify_check.py` against the sink; the coalescer keeps bursts to one mail per recipient) +- [x] the material request is the lightweight scope, nothing more (`mreq_check.py` greps for catalog/inventory/warehouse and finds none) +- [x] a material list uploads at SOP configuration and feeds the request (`D6` - `materials_check.py`; the T5.4 component extracted to `wp-list-import.js`, one implementation for both lists) +- [x] no guessed part numbers or floor names anywhere in the code (every seeded value is `Sample …` / `SAMPLE-…`; `locations_check.py` still sweeps the tree for the unspecified B100 names) +- [x] no real email left this branch; the capture sink count is recorded (every send in `kitting_notify_check.py` and `mreq_check.py` terminates at the in-process sink; counts and recipients asserted)