[object Object]

← back to Dw Signup Fulfillment

Record TK-10994 production E2E proof

b745c53d474053720f58ae0883c171e7847c2fb8 · 2026-08-31 01:37:15 -0700 · Steve Abrams

Files touched

Diff

commit b745c53d474053720f58ae0883c171e7847c2fb8
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Aug 31 01:37:15 2026 -0700

    Record TK-10994 production E2E proof
---
 verification/e2e-proof.json | 111 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 111 insertions(+)

diff --git a/verification/e2e-proof.json b/verification/e2e-proof.json
new file mode 100644
index 0000000..ba17bd3
--- /dev/null
+++ b/verification/e2e-proof.json
@@ -0,0 +1,111 @@
+{
+  "ticket": "TK-10994",
+  "intent": "Prove the production Designer Wallcoverings signup and sample-entitlement journey without creating accounts, submitting forms, sending email or SMS, mutating Shopify, or spending money.",
+  "riskTier": "R4",
+  "environment": "production read-only validation plus local pure-logic tests",
+  "timestamp": "2026-08-31T08:36:01Z",
+  "buildIdentity": {
+    "fulfillmentRepoHead": "a491d701c0b72ab764bab77fb36b3c8a4f466e14",
+    "productionValidatorSha256": "c66fd59ed3557ee34f7deb32a65911724b1049ffcdae8cab91abe0e8c3268b26",
+    "storefrontRepoHead": "34ffd563959fd60b580a63253bcb80a7eb67d59f",
+    "discountFunctionSha256": "11806790b63890a18a3648c45670845f4c2ab4f54ea8ace02df99498c54bddad",
+    "discountFunctionTestSha256": "bc5a5f57360f29f9307a77ff3adafceb919e9e52b196470d9775af0d58d523b8",
+    "orderLedgerSha256": "e09c44d60019f30832b4c8deb1199529dce21eef3672ce100a40113dbb755fd5",
+    "fulfillmentLedgerTestSha256": "55304a2301a28a76478983b384f76973f329543063a517668915022d71a28733"
+  },
+  "preconditions": [
+    {
+      "verdict": "PASS",
+      "assertion": "Production fulfillment service reports live mode",
+      "evidence": "GET /healthz returned HTTP 200 with ok=true and dry_run=false"
+    },
+    {
+      "verdict": "PASS",
+      "assertion": "Validation remained non-customer-mutating",
+      "evidence": "No trade/retail form was submitted, no account was created, no approval/rejection route was called, no email/SMS route was called, and no purchase or spend occurred"
+    }
+  ],
+  "commands": [
+    "node scripts/production-validation.js 2",
+    "node scripts/production-validation.js 3",
+    "node scripts/production-validation.js 4",
+    "node scripts/production-validation.js 5",
+    "npm test (shopify/staged/free-samples-function)",
+    "npm run test:ledger",
+    "Headless Chrome GET-only storefront inspection",
+    "curl GET storefront, /healthz, and unauthenticated /admin/trade"
+  ],
+  "checks": [
+    {
+      "name": "five consecutive production validation passes",
+      "verdict": "PASS",
+      "detail": "Passes 1-5 are green; passes 2-5 were rerun consecutively in this handoff and each returned all production assertions true. Pass 1 is recorded on TK-10994."
+    },
+    {
+      "name": "retail exact three lifetime samples",
+      "verdict": "PASS",
+      "detail": "The live storefront says retail accounts receive 3 lifetime complimentary samples. The active Shopify automatic app discount resolves to function 01a0475d-d202-743e-bdc8-7a659f6ff512. Pure-logic tests prove four sample lines discount only three, quantity five discounts exactly 3 x $4.25, prior usage reduces the remainder, and used=3 yields no discount."
+    },
+    {
+      "name": "approved trade unlimited samples",
+      "verdict": "PASS",
+      "detail": "The live storefront advertises unlimited complimentary samples for approved design professionals. Pure-logic tests prove only the exact trade_approved tag grants every sample line free even with prior retail usage; pending/designer tags do not."
+    },
+    {
+      "name": "lifetime usage persistence and duplicate safety",
+      "verdict": "PASS",
+      "detail": "Order-paid ledger tests prove the customer free_samples_used metafield increments to the lifetime cap, the order is marked counted, and duplicate webhook delivery is idempotently ignored."
+    },
+    {
+      "name": "production webhook boundary",
+      "verdict": "PASS",
+      "detail": "Invalid HMAC is rejected with 401. A correctly signed empty fixture is returned as ignored and performs no customer/order mutation. ORDERS_PAID subscription is present at the expected callback."
+    },
+    {
+      "name": "storefront signup UX",
+      "verdict": "PASS",
+      "detail": "Headless Chrome rendered the live trade form, sample banner, daily room, unchecked-by-default SMS opt-in, STOP/HELP and Do Not Call disclosure, returning-client modal, legacy-order reassurance, and secure Shopify customer-authentication handoff. No application endpoint was called."
+    },
+    {
+      "name": "admin authentication negative path",
+      "verdict": "PASS",
+      "detail": "Unauthenticated GET /admin/trade returned 401."
+    },
+    {
+      "name": "legacy customer non-regression",
+      "verdict": "PASS",
+      "detail": "All five production passes confirm the 2018 fixture remains intact and does not carry the authoritative trade_approved tag."
+    }
+  ],
+  "artifacts": [
+    {
+      "path": "/private/tmp/TK-10994-final.png",
+      "sha256": "552acfab8a252dc0099d8d35379134cf379a150f5b0ec862388305c58df5c66e",
+      "description": "Read-only production storefront screenshot"
+    },
+    {
+      "path": "verification/e2e-proof.json",
+      "description": "This structured proof bundle"
+    }
+  ],
+  "negativeChecks": [
+    "Anonymous customer gets no sample discount",
+    "Non-sample roll line receives no discount",
+    "Retail customer with all three lifetime samples used receives no discount",
+    "Non-approved trade-like tags do not grant unlimited samples",
+    "Invalid Shopify webhook signature is rejected",
+    "Unauthenticated trade admin request is rejected"
+  ],
+  "sideEffects": {
+    "productionDataMutations": 0,
+    "formsSubmitted": 0,
+    "accountsCreated": 0,
+    "emailsSent": 0,
+    "smsSent": 0,
+    "shopifyMutations": 0,
+    "spendUsd": 0,
+    "cleanup": "No retained production test state and no cleanup required. Browser telemetry generated by Shopify/analytics during page load was not an application form or commerce mutation."
+  },
+  "verdict": "PASS",
+  "skips": []
+}

← a491d70 Declare message_class transactional on george send (TK-10944  ·  back to Dw Signup Fulfillment  ·  prove production signup and sample activation aa1c2a5 →