The housekeeping list carried S13 ('seed_demo.py does not sign in') from
completion.md and CLAUDE.md. It is not true and has not been since wave 1:
T1.6 (357712e) rewired seed_demo.py onto smoketest's opener - one cookie jar,
one login flow - and the file's own docstring says so. What actually happened:
the wave-1 exit checkbox was never ticked, and every later document inherited
the unticked box as fact.
Verified live before correcting anything, per the working rules: against a
throwaway server, seed_demo.py signs in as an admin, seeds the DEMO project
(7+ packages visible via the API), and --clean removes it, exit 0 both ways.
Corrected: the wave-1 exit box (ticked, with the reason), completion.md's S13
row (open -> built at T1.6, records error named), and CLAUDE.md's
verification step 4, which taught every future session the stale claim.
Item: S13 (closed as already-built; records corrected).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
116 lines
7.5 KiB
Markdown
116 lines
7.5 KiB
Markdown
# Completion — the R2 plan, reconciled (T9.7, 2026-08-19)
|
||
|
||
All 65 items accounted for: the 55 in `IMPLEMENTATION.md` §6 and the 10 in
|
||
`docs/waves/decisions-2026-08-18.md`. Delivery references are task ids; the
|
||
branch is local-only by instruction (one task = one commit, ids in every
|
||
commit message), so the commit history IS the PR trail. Verification counts
|
||
name the probe that re-checks the item on every run.
|
||
|
||
## Change requests
|
||
|
||
| Item | Status | Delivered by | Notes / deviations |
|
||
|---|---|---|---|
|
||
| CR-001 | built | T6.1 (`generalinfo_check` 49) | |
|
||
| CR-002 | built | waves 1–2, field toggles T5.7; **applied to the export at T9.1** | the Micron samples now name `costCode:false, acumaticaTask:false` |
|
||
| CR-003 | built | T6.2 | three priorities, escalating order |
|
||
| CR-004 | built | T6.3 (`locations_check`, `rollup_check`) | paths, not labels |
|
||
| CR-005 | built | T5.4 | upload path; **B100 list still not supplied** (§8) |
|
||
| CR-006 | built | T5.7 (`sections_check` 95) | hidden, never deleted — pinned |
|
||
| CR-007 | built | T7.7 (`files_check` 36) | D8 numbers enforced server-side; offline verified against a killed server |
|
||
| CR-008 | built | T9.1 (`export_check` 20) | **deviation raised, not decided:** merge-vs-list — recommendation is inline images + listed PDFs; merged-PDF output needs Nick |
|
||
| CR-009 | built | T8.1 (`kitting_check`) | statuses adopted as proposed; kitting off for Micron EUV by toggle |
|
||
| CR-010 | built | T8.2 | owner on the PACKAGE (confirmed Aug 18), account-backed, orphan-safe |
|
||
| CR-011 | built | T8.3 (`kitting_notify_check` 17) | coalesced; T7.6 gate reused; sink-verified |
|
||
| CR-012 | built | T8.4 | shared location lists + detail field; prints and mails |
|
||
| CR-013 | built | T8.5 (`mreq_check` 19) | lightweight scope exactly; fences grepped |
|
||
| CR-014 | built | T7.6 (`qa_gate_check` 40) | **deviation, stated in the commit:** the email body omits location/scope — the done-when's no-customer-IP rule outranked the Do-paragraph; fuller body needs Nick |
|
||
| CR-015 | built | T7.3 (`hold_check` 50) | root cause stated (both halves); regression test specific to clear-last-constraint |
|
||
| CR-016 | built | T5.7 | |
|
||
| CR-017 | guarded | T9.2 | present, optional, rolls up; BL-023 logs the productivity factor |
|
||
| CR-018 | built | T6.4 (`rollup_check` 63) | |
|
||
|
||
## Findings and structural items
|
||
|
||
| Item | Status | Delivered by | Notes |
|
||
|---|---|---|---|
|
||
| F1–F5 | built | waves 1–3 | |
|
||
| F6 | built, one number open | T7.2 (5,399 → 1,954px) | **BL-022:** 2.17 screens vs the strict 2.0 encoding of “roughly two” — product call, check stays red |
|
||
| S1 | built | T5.8 wizard, T7.9 creator (`creator_dialogs_check` 20) | 79 → 21 dialogs; the 21 live on surfaces no S1 task named — **BL-024** |
|
||
| S2–S5, S9–S12 | built | waves 2–5 | |
|
||
| S6 | built | T9.3 (`icon_check` 5) | one monochrome system, mapped in `tokens.md` |
|
||
| S7 | built | T9.4 (`sample_check` 10) | one affordance, confirmed, fenced — verified against a real project |
|
||
| S8 | built | T9.5 (`helptip_check` 13) | 20 badges → buttons; **closed BL-001** |
|
||
| S13 | built | T1.6 (re-verified 2026-08-20) | this row said "open / does not sign in" until Aug 20 - a records error: T1.6 fixed it in wave 1 (it reuses smoketest's login) and the wave-1 exit box was simply never ticked. Verified live: sign-in, seed, `--clean` |
|
||
| A1 | preserved | T7.3 | `confirmEarlyRelease()` by name; async now, same contract |
|
||
| A2 | built | T7.4 (`warning_check` 17) | one warning; the count on the sticky rail |
|
||
| A3–A5, A7 | built | waves 1–6 | localization re-verified through T7.10's admin edits (`cards_check`) |
|
||
| A6 | built | T7.5 (`triage_check` 16) | |
|
||
| B1–B5 | built | waves 2–5 | |
|
||
| B6 | built | T7.8 (`sticky_bar_check` 12) | |
|
||
| B7 | built | T7.1 (`frame_check` 38) | **deviation, stated in the commit:** the creator became its own page rather than merging into the parent — measured trade (0 collisions vs 21+9) |
|
||
| C1 | audited | T9.5 (`accessibility-audit.md`) | every metric probe-backed |
|
||
| C2 | audited | T9.6 (`mobile_check` 24) | screenshots committed beside the wave 0 baseline |
|
||
| C3 | built | wave 3 | |
|
||
| C4 | built | wave 4 interim, T9.9 full (`color_check` 4) | zero literals outside `theme-light.css` |
|
||
|
||
## The August 18 decisions
|
||
|
||
| Item | Status | Delivered by |
|
||
|---|---|---|
|
||
| D1 | built | T7.1 (sample controls visible; consolidated at T9.4 per the S7 reconciliation) |
|
||
| D2 | built | T7.6 (QA group on the SOP wizard) |
|
||
| D3 | built | T7.2 (rail + collapse; the "at rest" amendment recorded) |
|
||
| D4 | built | T7.3 (Urgent surfaces the audited path; the override names what it crosses) |
|
||
| D5 | built | T7.10 (one analytics core; admin report) |
|
||
| D6 | built | T8.6 (material list, the CR-005 pattern, one shared component) |
|
||
| D7 | built | T9.8 (`archived_check` 15) |
|
||
| D8 | built | T7.7 (5MB / PDF+image / 2GB, 80% warning) |
|
||
| D9 | built | T7.6 (Field View text pill at 390px) |
|
||
| D10 | built | T7.6 / reused T8.3 (stored setting, admin-only, audited, sink-verified) |
|
||
| D11 | built | merge of `origin/Micron-Assets` + integration, Aug 20 (`assets_check`); see `decisions-2026-08-20.md` |
|
||
|
||
## Out of scope, confirmed unbuilt
|
||
|
||
- **Parts catalog / live inventory / warehouse integration** — `mreq_check` and
|
||
`materials_check` grep the model and the diff for stock/inventory/price
|
||
fields on every run; none exist. D6's uploaded list is project-scoped data
|
||
entry, not a catalog.
|
||
- **Asset database integration** — SUPERSEDED by D11 on Aug 20: Cody Schaefer's
|
||
Micron asset picker (read-only catalog lookup, `origin/Micron-Assets`) merged
|
||
and adapted to the R2 creator. The assets section stays a CR-006 toggle
|
||
(off on the Micron sample). This line was true when written.
|
||
- **CxAlloy integration** — CR-014 is notification-only, as the task footnote
|
||
ordered; the platforms block stores names and URLs, nothing calls them.
|
||
- **P6 activity import** — CR-001 renders the two fields; nothing imports.
|
||
|
||
## Outstanding inputs (IMPLEMENTATION.md §8, restated)
|
||
|
||
- Nate's spreadsheet and the master material workbook: **still not supplied.**
|
||
D6 built the upload path so their arrival is a paste, not a build.
|
||
- The real B100 floor/area list: **still not supplied.** CR-005's upload is
|
||
ready for it; every seeded value remains obviously fake.
|
||
- SMTP host/credentials for production mail: the gate ships off; the password
|
||
is env-only. Nothing on this branch has sent a real email.
|
||
|
||
## For the next revision
|
||
|
||
- **BL-020** — the wizard→creator navigation prompts to leave (T4.3's guard
|
||
doing its job on what is now a page exit); product call on suppression.
|
||
- **BL-021** — `project_sop_team()` reads a path `pushSOP` never writes; the
|
||
critical-reopen mail has never reached the PM/CM. One line, needs its own
|
||
sink verification.
|
||
- **BL-022** — F6's "roughly two screens": 2.17 vs the strict 2.0. Bless it or
|
||
name the chrome to trim.
|
||
- **BL-023** — the productivity factor (actual ÷ estimated); data already
|
||
aggregated, placement needs Nick.
|
||
- **BL-024** — 21 native dialogs on admin/users/launcher; the T7.9 kit is
|
||
ready for them.
|
||
- Product questions raised in commit messages, awaiting answers: hold
|
||
reachable from Draft/Scheduled (T7.3); CR-014 email body content (T7.6);
|
||
merged-PDF export (T9.1).
|
||
- Acceptance criteria that turned out wrong, for the next plan's calibration:
|
||
F6's height bar collided with D3's own chosen design (amended once, then
|
||
left red rather than moved again); A2's "tab count badge" predated D3
|
||
removing tabs (the rail carried it); S1's "0 dialogs" never named the
|
||
console pages that held a quarter of them.
|