← back to Newmor Onboard
Record verified Newmor showroom launch and remaining approval gates
c5efe7110cda6a4ce9d9c23d1f056d2d08d24257 · 2026-09-09 10:45:22 -0700 · Steve Abrams
Files touched
M README.mdA artifacts/LAUNCH-REPORT-2026-09-09.mdM scripts/launch-products.mjsM scripts/preflight.mjsM scripts/verify-discovery.cjsM verification/e2e-proof.jsonA verification/final-discovery/chromium-desktop/named.pngA verification/final-discovery/chromium-desktop/page@29a3c2f2f881fbcfcf60be9d9ca784c8.webmA verification/final-discovery/chromium-desktop/vendor-search.pngA verification/final-discovery/webkit-mobile/named.pngA verification/final-discovery/webkit-mobile/page@ae28d2f289f16b41246fd72dc25aa77e.webmA verification/final-discovery/webkit-mobile/vendor-search.pngM verification/independent-review.md
Diff
commit c5efe7110cda6a4ce9d9c23d1f056d2d08d24257
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Sep 9 10:45:22 2026 -0700
Record verified Newmor showroom launch and remaining approval gates
---
README.md | 26 ++++-
artifacts/LAUNCH-REPORT-2026-09-09.md | 89 ++++++++++++++++
scripts/launch-products.mjs | 2 +-
scripts/preflight.mjs | 4 +-
scripts/verify-discovery.cjs | 2 +-
verification/e2e-proof.json | 30 +++---
.../final-discovery/chromium-desktop/named.png | Bin 0 -> 876167 bytes
.../page@29a3c2f2f881fbcfcf60be9d9ca784c8.webm | Bin 0 -> 1314779 bytes
.../chromium-desktop/vendor-search.png | Bin 0 -> 998375 bytes
.../final-discovery/webkit-mobile/named.png | Bin 0 -> 265406 bytes
.../page@ae28d2f289f16b41246fd72dc25aa77e.webm | Bin 0 -> 1224508 bytes
.../webkit-mobile/vendor-search.png | Bin 0 -> 257898 bytes
verification/independent-review.md | 115 +++++++++++++++++++--
13 files changed, 238 insertions(+), 30 deletions(-)
diff --git a/README.md b/README.md
index adb0217..07bbb69 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,29 @@ Refresh the existing Newmor line under DWNM-, distributed by LBI Boyd.
Steve confirmed September 8: **showroom line; no material prices required**.
Customer outcome: product discovery and showroom inquiry. No cost-sheet or priced-goods-variant prerequisite.
-See artifacts/SHOWROOM-PLAN.md and data/newmor-showroom-plan-2026-09-08.json for the exact staged scope.
-Read-only Shopify check: 305 drafts + 237 archives. 125 exact matched candidates; 180 drafts remain held.
-Live theme/showroom verification, publication and catalog mutations remain gated. Original refresh is not done.
+Steve approved the linked showroom memo on September 9. **116 verified colorways are now live,
+Online Store only**, with no material price or material purchase control. Existing Sample variants
+and their prices are unchanged. Seven showroom markers and six exact-source Arbour images were added.
+
+Browse: https://www.designerwallcoverings.com/collections/newmor-wallcoverings
+
+Final state: **116 ACTIVE + 189 DRAFT + 237 ARCHIVED = 542**. The 189 drafts are the original
+180 holds plus nine Arona candidates whose current range could not be verified. All prices, variant
+identities, product content and non-showroom metafields remain unchanged. The broader DWNM/specification
+refresh remains separately gated; the parent ticket is not complete.
+
+See [launch report](artifacts/LAUNCH-REPORT-2026-09-09.md), [live manifest](artifacts/LIVE-NEWMOR-2026-09-09.csv),
+[R4 evidence](verification/e2e-proof.json), and [independent review](verification/independent-review.md).
+The unsent nine-code range request is in [Arona follow-up](artifacts/ARONA-RANGE-FOLLOWUP.md).
+The original 125-ID approval scope is preserved in artifacts/SHOWROOM-PLAN.md and
+data/newmor-showroom-plan-2026-09-08.json; neither is a new authorization to repeat mutations.
+
+Operational guard: do not overwrite data/live-2026-09-09/shopify-before.json or theme/ originals.
+Use `node scripts/final-verify.mjs` for fresh read-only state checks. `preflight.mjs --saved` is
+offline only. Rollback applies to all touched journal records and remains an explicitly authorized action.
+The initial KOT-23 activation briefly inherited old sales channels; it was rolled back immediately,
+then republished with a verified zero-channel activation barrier. External ingestion during that interval
+was not audited. Current visible and configured publications are Online Store only for all 116.
Cadence: Newmor is explicitly excluded from the hourly importer; no local newmor-agent or dedicated schedule found.
General Instagram automation exists, but a dedicated Newmor rotation was not verified. No schedules changed.
diff --git a/artifacts/LAUNCH-REPORT-2026-09-09.md b/artifacts/LAUNCH-REPORT-2026-09-09.md
new file mode 100644
index 0000000..df8276b
--- /dev/null
+++ b/artifacts/LAUNCH-REPORT-2026-09-09.md
@@ -0,0 +1,89 @@
+# Newmor showroom launch — September 9, 2026
+
+Approved showroom branch: **PASS**. Parent TK-10670 full refresh: **BLOCKED on remaining scope**.
+
+Steve approved the September 8 linked showroom memo with “yes do it”. Fresh exact-code range
+checks qualified 116 of its 125 candidates. All 116 are now ACTIVE and published only to Online Store.
+
+Browse: https://www.designerwallcoverings.com/collections/newmor-wallcoverings
+
+## What changed
+
+- Published 116 exact approved products. Cleared their old latent channel memberships while DRAFT,
+ asserted zero configured/visible channels after activation, then published only Online Store.
+- Added the seven missing Showroom Line/quotes tags and custom.showroom_line markers.
+- Filled six missing Arbour swatches from exact manufacturer-code source images while still DRAFT.
+- Applied six guarded Newmor-only theme changes: material-price suppression, honest showroom copy,
+ working inquiry form structure and direct SKU contact links, native collection/search with persistent
+ sort/density, and Newmor price/quick-buy protection on future Boost cards.
+
+Existing Sample variant IDs, titles, SKUs, prices, availability and product content were preserved.
+The $4.25 sample price is explicitly labeled Sample and is not represented as a material offer.
+No canonical database, SKU/specification, material-price, schedule, email-send or remote-push action
+was performed by this run.
+
+## Verified outcome
+
+| State | Count |
+|---|---:|
+| ACTIVE, Online Store only | 116 |
+| Original draft holds | 180 |
+| Additional Arona range holds | 9 |
+| ARCHIVED | 237 |
+| Total | 542 |
+
+Fresh full-state comparison verifies all 542 identities/content/variants/prices/non-showroom
+metafields, exact seven marker changes and six image fills. All 426 held/archive records retain
+their original status, tags, showroom values and configured channel memberships.
+
+Interactive canary: Chromium and WebKit at desktop/mobile sizes, eight product-page passes,
+four Sample-cart identity/cleanup passes, quote open/close and required-field validation, SKU phone/email
+handoff, and one anonymous checkout sign-in boundary. Discovery: all five named/vendor/legacy/search
+routes in four contexts, with real product clicks, persisted controls and unchanged unrelated products.
+After rollout, the full 116-card named collection and Newmor search passed again in Chromium desktop
+and WebKit mobile. Every released PDP returned HTTP 200 and passed no-material-price/contact/form/
+metadata assertions. Fifteen held/archive URLs returned 404, including all nine Arona candidates.
+
+Actual two-product rollback restored DRAFT, zero visible channels and all 13 original latent channel
+memberships, followed by guarded Online Store-only reapplication. Theme transition tests cover drift,
+idempotence, partial failure and exact original-byte rollback; live asset writes were hash-read back.
+
+## Limits and incident
+
+The initial KOT-23 activation temporarily exposed 13 inherited sales channels. It was immediately
+restored to DRAFT. The corrected flow clears latent memberships before activation and verifies both
+configured and visible channels. Final Shopify state is correct; third-party ingestion during the
+transient exposure was not audited.
+
+Boost's index was not repaired. The verified native Newmor collection/search supplies discovery.
+Future Boost-card protection was tested using cloned actual app markup, not claimed as an indexed
+Newmor result. Existing analytics and optional booking/customizer/telemetry errors remain recorded
+with source owners; all Newmor critical journey assertions passed. Statcounter's sandbox error was
+also reproduced on unchanged non-Newmor pages.
+
+No quote email was submitted. Authenticated checkout/order completion and Browserbase/physical iOS
+were not tested. Phone/email handoff, anonymous sign-in boundary, and local WebKit mobile layout were.
+
+## Remaining gated scope
+
+AR-104, AR-105, AR-106, AR-108, AR-110, AR-111, AR-112, AR-113 and AR-114 remain DRAFT.
+Newmor's Arona routes returned 404; this is not proof of discontinuation. A concrete reply to Jill
+requesting current range confirmation is drafted separately, with no mailbox mutation or send.
+
+Original DWNM identity normalization and fill-only specification refresh retain separate exact-mapping
+and catalog-write gates. Historical 126/543/544 reconciliation counts must not be used as executable
+lists. Price sheets and blanket dealer discounts are not prerequisites for this showroom release.
+
+## Evidence
+
+- `verification/e2e-proof.json` — risk, assertions, limits and parent-ticket disposition.
+- `verification/independent-review.md` — independent source, browser and full-data checks.
+- `verification/final-state-proof.json` and `data/live-2026-09-09/shopify-final-after.json`.
+- `verification/public-pages-proof.json` and `verification/final-discovery-proof.json`.
+- `verification/canary-proof.json`, `discovery-proof.json`, `canary-rollback-proof.json`.
+- `data/live-2026-09-09/product-launch-journal.json` — per-product before/steps/after and rollback.
+- `artifacts/LIVE-NEWMOR-2026-09-09.csv` — reviewable exact 116-product live manifest.
+
+Local release commit: `abb03af`; preceding verified canary commit: `6bef493`.
+Independent final acceptance: `M-02472`. The executed approval memo is archived under
+`~/.claude/yolo-queue/_done/2026-09-08-TK-10670-newmor-showroom-line.md`.
diff --git a/scripts/launch-products.mjs b/scripts/launch-products.mjs
index a1d9b2e..4dfdaed 100644
--- a/scripts/launch-products.mjs
+++ b/scripts/launch-products.mjs
@@ -58,7 +58,7 @@ if(mode==='rollback') {
}
const post=await product(r.id);assert.equal(post.status,r.before.status);assert.deepEqual(published(post),published(r.before));assert.deepEqual(configured(post),configured(r.before));assert.deepEqual([...post.tags].sort(),[...r.before.tags].sort());assert.equal(post.showroom?.value,r.before.showroom?.value);
r.rollback_evidence={at:new Date().toISOString(),verdict:'PASS',product:post};
- ticketLog(`Verified canary rollback ${r.code} ${r.id}: DRAFT, zero visible publications, exact original latent memberships/status/tags/showroom restored. Persisted rollback_evidence in product launch journal; image fills retained as separately approved.`);
+ ticketLog(`Verified product rollback ${r.code} ${r.id}: DRAFT, zero visible publications, exact original latent memberships/status/tags/showroom restored. Persisted rollback_evidence in product launch journal; image fills retained as separately approved.`);
}
r.rollback_status=approved?'restored':'dry-run';save(journalPath,journal);
}
diff --git a/scripts/preflight.mjs b/scripts/preflight.mjs
index 2c91698..f0b2e52 100644
--- a/scripts/preflight.mjs
+++ b/scripts/preflight.mjs
@@ -2,6 +2,7 @@ import fs from 'node:fs';
import assert from 'node:assert/strict';
import { ROOT, gql, request, fields, complete, read, save } from './shopify.mjs';
const plan = read('data/newmor-showroom-plan-2026-09-08.json');
+if(!process.argv.includes('--saved')&&fs.existsSync(`${ROOT}/data/live-2026-09-09/shopify-before.json`))throw Error('Captured launch baseline already exists. Use --saved for offline checks; never overwrite rollback evidence with current live state.');
const products=process.argv.includes('--saved')?read('data/live-2026-09-09/shopify-before.json').products:[];
let after=null;
if (!products.length) do {
@@ -11,11 +12,11 @@ if (!products.length) do {
console.log(`Read ${products.length} Newmor products`);
} while(after);
assert(products.every(p=>p.vendor==='Newmor Wallcoverings'));
-if (!process.argv.includes('--saved')) save('data/live-2026-09-09/shopify-before.json',{fetched_at:new Date().toISOString(),products});
const counts=products.reduce((a,p)=>(a[p.status]=(a[p.status]||0)+1,a),{});
const ids=new Set(products.map(p=>p.id));
assert.equal(products.length,542); assert.equal(ids.size,542);
assert.deepEqual(counts,{ARCHIVED:237,DRAFT:305});
+if (!process.argv.includes('--saved')) save('data/live-2026-09-09/shopify-before.json',{fetched_at:new Date().toISOString(),products});
const byid=new Map(products.map(p=>[p.id,p]));
for (const c of plan.candidates) {
const p=byid.get(c.id); assert(p); assert.equal(p.status,'DRAFT');
@@ -26,6 +27,7 @@ for (const c of plan.candidates) {
const missingImages=plan.candidates.filter(c=>!byid.get(c.id).images.nodes.length).map(c=>({id:c.id,code:c.manufacturer_code,pattern:c.pattern}));
save('data/live-2026-09-09/image-gaps.json',missingImages);
console.log(`Image gaps requiring resolution before publication: ${missingImages.length}`);
+if(process.argv.includes('--saved')){console.log('Saved prelaunch baseline checked; live assets and original backups were not overwritten.');process.exit(0);}
const themes=(await request('themes.json')).themes;
const main=themes.find(t=>t.role==='main'); assert(main);
const publications=await gql('{publications(first:50){nodes{id name}pageInfo{hasNextPage}}}');
diff --git a/scripts/verify-discovery.cjs b/scripts/verify-discovery.cjs
index ef0d5fb..6dea4c9 100644
--- a/scripts/verify-discovery.cjs
+++ b/scripts/verify-discovery.cjs
@@ -53,7 +53,7 @@ function baselineError(e){return !!backgroundOwner(e);}
assert.equal(guard.css_before_paint,'none');assert.equal(guard.price_nodes,0);assert.equal(guard.buttons,0);assert(guard.inquiry&&guard.control_unchanged&&guard.control_numeric_price);
const critical=errors.filter(e=>!baselineError(e));
results.push({engine:name,unrelated_search_unchanged:true,future_boost_guard_fixture:guard,page_errors:errors,nonblocking_external_errors:errors.filter(baselineError).map(e=>({owner:backgroundOwner(e),error:e})),failed_requests:failedRequests});assert.equal(critical.length,0,JSON.stringify(critical,null,2));
- console.log(`PASS ${name}:5livebrowse/search routes,controls,persistence,unrelatedvendor,Boostguard`);
+ console.log(`PASS ${name}:${finalMode?2:5} live browse/search routes,controls,persistence,unrelatedvendor,Boostguard`);
}finally{await context.close();}
}}finally{await browser.close();}
}
diff --git a/verification/e2e-proof.json b/verification/e2e-proof.json
index bf1108d..b5f7751 100644
--- a/verification/e2e-proof.json
+++ b/verification/e2e-proof.json
@@ -4,7 +4,7 @@
"timestamp": "2026-09-09T17:38:15.879760+00:00",
"risk_tier": "R4: approved Shopify theme and Online Store publication",
"intent": "Launch verified Newmor candidates as a no-material-price showroom with working discovery/contact and preserved Sample variants",
- "approval": "Steve approved the linked September8 showroom memo with yes do it on September9",
+ "approval": "Steve approved the linked September 8 showroom memo with “yes do it” on September 9",
"scope": {
"approved_candidate_ceiling": 125,
"fresh_range_eligible": 116,
@@ -59,33 +59,35 @@
"critical_paths": [
"Native collection/search -> exact Newmor PDP -> SKU phone/email handoff",
"Quote modal open/close and browser-required validation without sending",
- "Sample cart identity + cleanup in four engine/viewport contexts",
+ "Sample cart identity and cleanup in four engine/viewport contexts",
"Anonymous checkout sign-in boundary in Chromium desktop",
- "Actual2-product rollback toDRAFT/zero-visible/exact13latent-memberships, then guardedOnlineStore-onlyreapply",
- "All542 final-state invariants and all116 publicPDPs with15negative probes"
+ "Actual two-product rollback to DRAFT, zero visible channels and exact 13 latent memberships, followed by guarded Online Store-only reapplication",
+ "All 542 final-state invariants and all 116 public PDPs with 15 negative probes"
],
"noncritical_skips": [
- "Quoteemaildelivery: no email authorized or submitted; phone/mailto handoff verified",
+ "Quote email delivery: no email authorized or submitted; phone/mailto handoff verified",
"Authenticated checkout/order: no login or order authorized",
"Browserbase/real physical iOS: local Chromium/WebKit desktop/mobile viewports used"
],
"known_limits": [
"Boost indexing was not repaired; verified native Newmor collection/search serves the line",
"External analytics/optional booking/customizer/telemetry errors are recorded and owner-classified; native critical assertions passed",
- "InitialKOT23 activation temporarily inherited13latent channels; immediately restoredDRAFT and corrected. Third-party ingestion during that interval was not audited."
+ "Initial KOT23 activation temporarily inherited 13 latent channels; immediately restored DRAFT and corrected. Third-party ingestion during that interval was not audited."
],
"side_effects": [
- "116products ACTIVE with visible/configured OnlineStoreonly; all other original memberships cleared only forapprovedliveproducts",
- "7showroommarkers and6exactvendorimagefills",
- "6Newmor-scopedthemeassets; originals and hashes preserved",
+ "116 products ACTIVE with visible/configured Online Store only; all other original memberships cleared only for approved live products",
+ "Seven showroom marker repairs and six exact vendor image fills",
+ "Six Newmor-scoped theme assets; originals and hashes preserved",
"Disposable anonymous Sample carts were cleared",
- "Local ticket/evidence/git/approval-file updates; no canonicalDB, price, SKU/spec, email, schedule or remote-push action"
+ "Local ticket/evidence/git/approval-file updates; no canonical DB, price, SKU/spec, email, schedule or remote-push action"
],
- "rollback": "scripts/launch-products.mjs rollback --approved restores original touched status/configured memberships/tags/showroom under drift guards; sourceimages retained. scripts/apply-theme.mjs --rollback --approved restores original6assets underhashguard. Productrollbackrehearsed on2canaries; actualtheme transition testedwithpersistedmock andliveapplyreadback.",
- "branch_verdict": "PASS: approved116-productshowroomrelease",
+ "rollback": "scripts/launch-products.mjs rollback --approved restores original touched status/configured memberships/tags/showroom values under drift guards; source images retained. scripts/apply-theme.mjs --rollback --approved restores the original six assets under hash guards. Product rollback rehearsed on two canaries; actual theme transition function tested with a persisted mock and live apply readback.",
+ "branch_verdict": "PASS: approved 116-product showroom release",
"verdict": "PASS",
- "parent_ticket_completion": "BLOCKED: nineArona needcurrent-rangeevidence; broaderDWNMidentity/fill-onlyspecificationrefresh remains separatelygated",
+ "parent_ticket_completion": "BLOCKED: nine Arona candidates need current range evidence; broader DWNM identity/fill-only specification refresh remains separately gated",
"base_commit": "6bef493",
"live_release_commit": "abb03af",
- "independent_reviewer": "launch_review; finalhandoff recorded in ticket and verification/independent-review.md"
+ "independent_reviewer": "launch_review; final acceptance M-02472, recorded in ticket and verification/independent-review.md",
+ "approval_record": "/Users/macstudio3/.claude/yolo-queue/_done/2026-09-08-TK-10670-newmor-showroom-line.md",
+ "remaining_approval_draft": "/Users/macstudio3/.claude/yolo-queue/pending-approval/2026-09-09-TK-10670-newmor-arona-range-confirmation.md"
}
diff --git a/verification/final-discovery/chromium-desktop/named.png b/verification/final-discovery/chromium-desktop/named.png
new file mode 100644
index 0000000..c36ff1d
Binary files /dev/null and b/verification/final-discovery/chromium-desktop/named.png differ
diff --git a/verification/final-discovery/chromium-desktop/page@29a3c2f2f881fbcfcf60be9d9ca784c8.webm b/verification/final-discovery/chromium-desktop/page@29a3c2f2f881fbcfcf60be9d9ca784c8.webm
new file mode 100644
index 0000000..58bdf2e
Binary files /dev/null and b/verification/final-discovery/chromium-desktop/page@29a3c2f2f881fbcfcf60be9d9ca784c8.webm differ
diff --git a/verification/final-discovery/chromium-desktop/vendor-search.png b/verification/final-discovery/chromium-desktop/vendor-search.png
new file mode 100644
index 0000000..4aea481
Binary files /dev/null and b/verification/final-discovery/chromium-desktop/vendor-search.png differ
diff --git a/verification/final-discovery/webkit-mobile/named.png b/verification/final-discovery/webkit-mobile/named.png
new file mode 100644
index 0000000..b57276f
Binary files /dev/null and b/verification/final-discovery/webkit-mobile/named.png differ
diff --git a/verification/final-discovery/webkit-mobile/page@ae28d2f289f16b41246fd72dc25aa77e.webm b/verification/final-discovery/webkit-mobile/page@ae28d2f289f16b41246fd72dc25aa77e.webm
new file mode 100644
index 0000000..5d6178b
Binary files /dev/null and b/verification/final-discovery/webkit-mobile/page@ae28d2f289f16b41246fd72dc25aa77e.webm differ
diff --git a/verification/final-discovery/webkit-mobile/vendor-search.png b/verification/final-discovery/webkit-mobile/vendor-search.png
new file mode 100644
index 0000000..711e206
Binary files /dev/null and b/verification/final-discovery/webkit-mobile/vendor-search.png differ
diff --git a/verification/independent-review.md b/verification/independent-review.md
index 34c8d00..403b322 100644
--- a/verification/independent-review.md
+++ b/verification/independent-review.md
@@ -1,9 +1,12 @@
# TK-10670 independent launch review
-Status: **CANARY AND DISCOVERY ACCEPTED; ROLLOUT IN PROGRESS** on 2026-09-09. The exact two
-canaries pass all four browser contexts, full persisted-state comparison,
-and actual rollback/reapply. Full discovery proof also passes in all four
-contexts. Final 116-product state/public-page evidence remains required.
+Status: **PASS — APPROVED 116-PRODUCT SHOWROOM BRANCH**, independently
+verified on 2026-09-09. Final state: 116 ACTIVE, 189 DRAFT, 237 ARCHIVED.
+All 116 public PDPs pass; full-count collection/search proof passes in
+Chromium desktop and WebKit mobile. The two-canary suite previously passed
+all four browser contexts and actual rollback/reapply. The original parent
+ticket's broader DWNM/specification/full-refresh work remains **BLOCKED**;
+this verdict does not authorize or complete that separate scope.
The initial findings and subsequent resolutions are preserved below.
Accountable finalizer: root. Independent reviewer: launch_review.
Owned path: this document only. No live mutations performed by reviewer.
@@ -117,11 +120,14 @@ checks across Chromium/WebKit desktop/mobile; shared anonymous sign-in
HTTP 200; full 542-record state invariants; real two-product rollback and
reapply; both public PDPs and 15 held/archive 404 probes.
-Discovery is **PASS** in all four contexts (28 rows). Final rollout
-acceptance is **PENDING** post-rollout 542-record/public-page evidence. Quote email delivery,
+Canary discovery is **PASS** in all four contexts (28 rows). Final rollout
+acceptance is **PASS** for the approved 116-product showroom branch:
+542-record invariants, every public PDP, and full-count named collection/
+Newmor search in Chromium desktop and WebKit mobile (six final rows).
+Quote email delivery,
authenticated checkout, and order placement remain explicitly UNTESTED
outside this approved showroom/contact verification scope. No whole-ticket
-completion claim is made yet.
+completion claim is made for the broader original refresh.
## Implementation review, before live theme apply
@@ -614,6 +620,95 @@ and 17:35:23Z public-page proof pass:
form markup. All 15 public negative probes return 404, including every
Arona hold.
-Final discovery at the full 116-product count remains pending. Acceptance
-will cover only the approved showroom branch; the broader parent refresh
-and its DWNM/specification restrictions remain blocked and unchanged.
+Final discovery at the full 116-product count subsequently passed as
+documented below. Acceptance covers only the approved showroom branch;
+the broader parent refresh and its DWNM/specification restrictions remain
+blocked and unchanged.
+
+## Final independent verdict — PASS / SHIP IT for the approved branch
+
+The reviewer independently joined `final-discovery-proof.json` at
+17:36:46Z to the actual ACTIVE set in the completed 542-product snapshot.
+Both sets contain exactly the same 116 unique IDs. Final coverage is
+**six rows**, not five routes per context: the named Newmor collection
+and Newmor search in Chromium desktop and WebKit mobile (four native
+route checks), plus one unrelated-vendor/Boost-guard control in each
+context. Every route contains exactly 116 expected cards/swatches, no
+material price or buy control, working sorting, changed density columns,
+and persistence. Both actual-app-markup guard fixtures hide price before
+paint, remove price/actions, retain inquiry, and preserve the unrelated
+vendor. Four final page errors are recorded with declared external owners;
+no unattributed error was accepted.
+
+### Five critics — final pass, no moving goalposts
+
+- **Engineer — SHIP IT.** Exact ID scope, six scoped theme assets,
+ no-price render/metadata guards, durable canary/discovery gates, and
+ full 542-record invariants pass. No variant, price, identity, content,
+ or unrelated metafield rewrite occurred.
+- **Designer — SHIP IT.** Real desktop/mobile screenshots show distinct
+ source swatches, readable SKU/inquiry labels, and usable sort/density.
+ The duplicated select wrapper was corrected using the existing opt-out.
+- **User — SHIP IT.** Native discovery reaches the correct product;
+ four-context canary tests prove inquiry controls, phone/SKU mailto,
+ explicitly labeled Sample cart identity, and cart cleanup. Authenticated
+ checkout/order and quote-email delivery remain untested, not claimed.
+- **Skeptic — SHIP IT.** Full-state and public negative assertions pass;
+ the actual two-product rollback restored DRAFT/zero visible/exact latent
+ memberships and reapply returned to Online Store-only. The initial
+ 13-channel activation incident stays documented; final state does not
+ prove external feeds never observed that brief event.
+- **Strategist — SHIP IT for this branch.** The approved no-price showroom
+ outcome is delivered for 116 verified colorways. Nine Arona products
+ remain held and the broader DWNM/specification refresh stays blocked.
+ No unrelated channel, cadence, email, or canonical catalog expansion
+ is authorized by this verdict.
+
+**The three holes:** sample-as-material price leakage, broken inquiry/
+discovery, and unproved scope/rollback have all been corrected and verified
+at their relevant boundaries. The optional external-app warnings and
+unperformed email/authenticated-order steps remain explicit limitations.
+
+**The lazy shortcut rejected:** saved theme hashes were not treated as
+proof of rendered behavior. Live testing caught both the commented-out
+price CSS and the nested quote form, and each was fixed before acceptance.
+
+**Sameness:** no uniqueness/reskin claim applies. The meaningful distinction
+is preserved throughout: material inquiry versus an explicitly labeled
+existing Sample purchase.
+
+**Debate and tally:** Engineer accepts persisted scope; User accepts the
+tested contact/Sample boundary with honest untested endpoints; Skeptic
+accepts the real rollback and insists the incident remain visible;
+Designer accepts the actual rendered controls; Strategist retains the
+separate full-refresh block. **5 SHIP IT for the approved branch.**
+
+**The bar:** 116 exact approved/current products discoverable without a
+material price, correct contact context, unchanged samples, Online Store
+only, exact held/archive invariance, and rehearsed rollback. Met.
+
+**Do this now:** record the approved showroom branch as verified complete
+and retain the original ticket's precise DWNM/specification/Arona blockers.
+
+**One sentence:** the 116-product showroom launch earns acceptance; it does
+not erase the nine source holds, broader refresh block, or recorded canary
+incident.
+
+### Final A2A evidence handoff
+
+- Ownership: reviewer changed only `verification/independent-review.md`;
+ no live mutations performed and no child delegation.
+- Independent checks: full canary and final snapshot comparisons; exact
+ seven marker/six image differences; canary/final discovery ID-set and
+ behavior assertions; all 116 public PDP/15 negative-probe assertions;
+ actual rollback/reapply state comparisons; isolated Chromium/WebKit
+ guard execution using the real source.
+- Evidence: `canary-proof.json`, `discovery-proof.json`,
+ `canary-state-proof.json`, `canary-rollback-proof.json`,
+ `final-state-proof.json`, `public-pages-proof.json`,
+ `final-discovery-proof.json`, `asset-rollback-rehearsal.json`, and their
+ linked source snapshots, screenshots, videos, and journals.
+- Historical correlation checkpoints: M-02426 and M-02465. Final canonical
+ ticket handoff: **M-02472**.
+- Accountable finalizer: root. Commit/archive/ticket-blocker bookkeeping
+ remains root-owned; this reviewer does not mark the broader ticket done.
← b9ffa1f auto-data-snapshot: 2026-09-09T10:37:25 (6 data files) — art
·
back to Newmor Onboard
·
auto-data-snapshot: 2026-09-09T16:10:41 (1 data files) — art e8ccb9c →