← back to Dw Signup Fulfillment

verification/tk10836/SUPERSEDED.md

303 lines

# TK-10836 — Kelly Paradis 3-free-sample reissue: CLOSED AS SUPERSEDED

**Verified read-only 2026-09-10 by claude-run-10836. Nothing was minted, sent, armed, or written.**

## Verdict
TK-10836 asked to reissue Kelly Paradis's 3-free-sample code via the
`RETAIL_SHARED_CODE` shared-master-code path. That path was never armed — and
never needed to be. **The customer outcome was already delivered, twice, by a
different and real path.** Closing as SUPERSEDED by **TK-10830** (done
2026-09-02). No action remains on this ticket.

## Evidence

### 1. Kelly already had the code BEFORE this ticket existed
`info@designerwallcoverings.com` replied to her on the live Zopim thread:

| when | from | content |
|---|---|---|
| 2026-08-24 21:07 UTC | Zendesk Chat (noreply@zopim.com) | Offline message from Kelly Paradis — shipping looked expensive ($25) |
| 2026-08-25 10:29 ET | Kelly Younge `<kyounge@umich.edu>` | "Am I able to receive one of your codes for 3 free retail samples? I signed up for an account but didn't receive an email about it." |
| **2026-08-25 08:38 PT** | **Designer Wallcoverings `<info@…>`** | **"The code is 3FREE - let us know if you have any other questions!"** |

TK-10836 was created 2026-08-25T16:48Z — *after* that reply. The "reissue" was
already moot at ticket-creation time.

### 2. Re-confirmed again under TK-10830 on 2026-09-02
Reply sent via George to `kyounge@umich.edu`, subject
"Re: Your Designer Wallcoverings samples — your 3 free swatches", carrying code
**3FREE** + free sample shipping. Gmail (steve-office) shows **4 sends** that day:

- `1a06323f82bf8ab3` — 10:21:37 -0700
- `1a0634050dee5e6b` — 10:52:34 -0700  ← the messageId recorded on TK-10830
- `1a06373c57e4c966` — 11:48:46 -0700
- `1a0637419ab6d18b` — 11:49:08 -0700

(Over-send: 4, not the 2 the sentinel `.kelly-reply-tk10830.sent` claims. A
one-shot guard has since been added to `send-kelly-reply.js`, so it cannot
recur. No further action — the content was identical and correct.)

### 3. Code 3FREE is real and sufficient (Shopify Admin GraphQL, read-only)
```
gid://shopify/DiscountCodeNode/591554773043
title: 3FREE            status: ACTIVE
startsAt: 2019-10-28    endsAt: null
appliesOncePerCustomer: true    usageLimit: null    asyncUsageCount: 2071
customerGets: DiscountAmount $15.00 USD (appliesOnEachItem: false)
```
3 samples × $4.25 = **$12.75** — fully covered by the $15 order discount.

### 4. Kelly's Shopify customer record is in the intended end state
```
gid://shopify/Customer/8388564123699
Kelly Paradis · kcyounge@gmail.com · created 2026-08-25T14:23:27Z
tags: [tk-10830, verified-sample, zopim-referral]    numberOfOrders: 0
```

### 5. No open complaint
Kelly's last inbound message is 2026-08-25 10:29 ET. Nothing since — no
follow-up, no report that the code failed.

### 6. Root cause is fixed and closed elsewhere
The missing signup email (her original grievance) was the systemic silent
George-send failure. **TK-11114 is DONE** with a win logged 2026-09-02:
"DW retail signup verification email path restored and proven end-to-end."

### 7. `RETAIL_SHARED_CODE` is moot for this ticket
The shared-master-code design is documented across the TK-10830 trail as
RETIRED and explicitly not the wired path ("do NOT use retired
shared-code/gift-card paths"). Its live arm-state was not probed — that needs
prod SSH, which Mac2 is classifier-gated from, and it is irrelevant to this
ticket's outcome either way. Live service is healthy:
`GET https://signup.designerwallcoverings.com/healthz` → `{ok:true, dry_run:false}`.

## Spun-off finding (NOT touched — customer-facing money surface, gated)
Two **ACTIVE** `DiscountAutomaticApp` entries are bound to the *same*
"DW Free Samples" function `01a0475d-d202-743e-bdc8-7a659f6ff512`:

| node | title | created |
|---|---|---|
| `gid://shopify/DiscountAutomaticNode/1464777277491` | DW Free Samples (auto) | 2026-08-28T14:01:48Z |
| `gid://shopify/DiscountAutomaticNode/1465258770483` | DW Free Samples | 2026-09-02T19:07:32Z |

Also note this **contradicts** the 2026-09-02 TK-10830 finding that "all
discounts fn=None / the tag path is dead" — the 08-28 discount predates that
read, so that was a stale/incorrect read of the same class as the earlier
"0 webhooks" error. Surfaced as its own ticket; deliberately not modified here.

## Actions taken by this session
Read-only verification only. No Shopify write, no email, no env change, no
deploy, no code minted. Zero blast radius. Cost: $0 local + one codex
sanity-check (~$0.03).

---

## Independent re-verification — 2026-09-10, second session (claude-run-10836, board RUN-NOW)

Two sessions worked TK-10836 concurrently. This section is the second one's
independent pass. It **reached the same verdict without seeing the above**, and
it **could not reproduce one finding**. Recorded here so a future reader does
not act on an unconfirmed claim.

### Confirmed independently (live read-only, Shopify Admin GraphQL 2024-10)
- Customer `gid://shopify/Customer/8388564123699` — Kelly Paradis,
  `kcyounge@gmail.com`, tags `[tk-10830, verified-sample, zopim-referral]`,
  `numberOfOrders: 0`. ✅ matches
- `codeDiscountNodeByCode(code:"3FREE")` → `DiscountCodeNode/591554773043`,
  ACTIVE, `endsAt: null`, **$15.00 off AllDiscountItems**, once-per-customer,
  no minimum, `asyncUsageCount: 2071`. Covers 3 × $4.25 = $12.75. ✅ matches
- `GET /healthz` → `{ok:true, service:dw-signup-fulfillment, dry_run:false}`. ✅
- TK-11114 `[done]`, win logged: George send path restored end-to-end. ✅
- Approval memo `_done/2026-08-25-ARM-retail-free-samples-shared-code.md`
  already stamped by approval-agent-cycle5 (2026-09-03T00:07Z) as
  *"Superseded: checkout discount mechanism moved to Path B"*. The gated arm
  this ticket waited on was formally retired — nothing is left to approve. ✅

### Free-shipping promise — challenged, then upheld on harder evidence
The 2026-09-02 reply promised *"sample shipping is on us too, so you'll pay
nothing."* First look suggested this was **false**: order `#32937` (sample-only,
3FREE applied, subtotal $2.00) was charged **$24.95** shipping, and 3FREE has
`combinesWith.shippingDiscounts: false`, so no free-shipping code can stack.

That alarm was **retracted** on a wider read. Of **66 US-domestic sample-only
orders since 2026-05-01**, **21 (32%) shipped $0.00** via a
**"Free Shipping (No Tracking)"** method. The paid lines are customer-*selected*
upgrades — `UPS® Ground` ($16–23) and `Priority Sample Only` ($24.95). The $0
method is offered on Kelly-shaped 2–4 item sample carts across CA/TX/UT/OH/FL/KS
and — closing the geography gap — **in Michigan specifically**: order `#32954`
(Grand Haven, MI, sample-only) shipped *Free Shipping (No Tracking)* at $0.00.

**Conclusion:** the promise is achievable as written in Kelly's own state and
cart shape, contingent only on her picking the free method over an upgrade.

### ⚠️ NOT REPRODUCIBLE — the spun-off "two ACTIVE app discounts" finding
The section above reports two ACTIVE `DiscountAutomaticApp` nodes
(`1464777277491`, `1465258770483`) bound to DW Free Samples function
`01a0475d-d202-743e-bdc8-7a659f6ff512`.

A live `automaticDiscountNodes(first: 30)` read on 2026-09-10 returns **exactly
one node and zero app discounts**:

```
gid://shopify/DiscountAutomaticNode/1250600943667 | DiscountAutomaticBasic | "15 test discount" | EXPIRED
```

The token demonstrably has discount read access (`codeDiscountNodes` returned
full results in the same session). Possible explanations, none verified: the
nodes were deleted between the two reads; app-owned discounts are not visible
outside the owning app's context; or the original read was stale — the same
error class as the *"0 webhooks"* and *"no customer"* misreads earlier on this
trail. **Re-verify before acting on it.** Either way it is **not load-bearing**:
the closure rests on code 3FREE, not on the function-discount path.

### Verdict
**CLOSE AS SUPERSEDED** — unchanged. Read-only throughout: no Shopify write, no
email, no env change, no deploy, no code minted. $0 local + one codex
sanity-check (~$0.03).

Repro scripts for every claim above: `verify-kelly.js`, `verify-3free.js`,
`verify-kelly-orders.js`, `verify-sample-ship.js`, `verify-ship-geo.js`,
`verify-auto-discounts.js` (all read-only, `node verification/tk10836/<f>`).

---

## Adversarial gate — Cody the Contrarian, and why its blocking hole was overturned

A separate contrarian red-team was run against the CLOSE verdict (never grade
your own homework). It returned **"do not close as DONE"**, on one blocking
hole:

> the closure's central customer-facing claim ("you'll pay nothing on shipping")
> is contradicted by the two most comparable real orders in the shop's own
> history

Its two orders are real: `#32937` (NY) and `#32914` (MA) — both sample-only,
both with **3FREE applied**, both charged **$24.95** shipping.

### The decisive test
The implied causal claim is that applying 3FREE *suppresses* the $0.00
"Free Shipping (No Tracking)" method — plausible, since 3FREE carries
`combinesWith.shippingDiscounts: false`. That is falsifiable: find a sample-only
order with **3FREE applied AND $0.00 shipping**.

Scanned **459 orders** since 2025-01-01 → **338 sample-only** → isolated **every**
sample-only order with 3FREE actually applied (**n = 10**):

| order | subtotal | shipping line | charged | state |
|---|---|---|---|---|
| #32937 | $2.00 | Priority Sample Only | **$24.95** | NY |
| #32914 | $2.00 | Priority Sample Only | **$24.95** | MA |
| #32884 | $0.00 | Free Shipping (No Tracking) | **$0.00** | MN |
| #32871 | $0.00 | Free Shipping (No Tracking) | **$0.00** | IN |
| #32862 | $0.00 | Free Shipping (No Tracking) | **$0.00** | NY |
| #32690 | $0.00 | Free Shipping (No Tracking) | **$0.00** | CA |
| #32663 | $0.00 | Free Shipping (No Tracking) | **$0.00** | GA |
| #32638 | $0.00 | Free Shipping (No Tracking) | **$0.00** | TN |
| #32620 | $0.00 | Free Shipping (No Tracking) | **$0.00** | TN |
| #32593 | $0.00 | Free Shipping (No Tracking) | **$0.00** | FL |

**8 of 10 — including #32862 in New York, the same state as one of Cody's two —
got 3FREE *and* $0.00 shipping.** The hole is falsified: 3FREE does not suppress
the free method, because the free option is a shipping **rate**, not a stacked
shipping **discount**, so `combinesWith.shippingDiscounts: false` never bites.
Control cohort agrees: sample-only *without* 3FREE = 238/328 shipped free.

Cody selected 2 of 10 and described them as "the two most comparable"; the other
8 are equally comparable and point the other way. The two paid orders both chose
the **"Priority Sample Only"** expedited line — a customer upgrade, not a
forced rate.

**Gate outcome: hole #1 overturned on evidence. CLOSE verdict stands.**

Repro: `node verification/tk10836/verify-3free-shipping-crosstab.js` (read-only).

---

# ⛔ VERDICT REVERSED — 2026-09-10. DO NOT CLOSE THIS TICKET.

**Everything above this line concluded "close as superseded — Kelly was honored."
That conclusion is WRONG and is retained only as a record of the reasoning.**

The contrarian gate's core objection was correct: nobody had checked Kelly's
*actual* cart. That record exists, it is hers, and it contradicts the promise.

## The measurement

`AbandonedCheckout/34015098110003` — 2026-08-24T03:36:31Z — `kyounge@umich.edu`
— ship-to **Ann Arbor, MI**:

| field | value |
|---|---|
| line items | 3 samples — Brushed Finesse Pewter, Shimmer Polar White, Finesse Metallic Rose |
| items subtotal | **$0.00** |
| total discount | **$12.75** — the 3 samples were *already* discounted to free |
| tax | $0.00 |
| **TOTAL** | **$24.95** |
| **⇒ implied shipping** (total − items − tax) | **$24.95, pure shipping** |
| outcome | **abandoned** |

Second, same day: `AbandonedCheckout/34017552728115`, `kcyounge@gmail.com`,
7 samples, items $29.75 + shipping $30.15 = **$59.90** — also abandoned.

## Why the earlier "the promise holds" evidence was insufficient
The survey above proved the $0.00 *"Free Shipping (No Tracking)"* method **exists**
and is commonly chosen (238/328 sample-only orders; MI order #32954). That is
**availability in general — not proof it was offered on Kelly's cart.** Her own
checkout is the direct measurement, and it says $24.95.

## The failure mode is not the one that was chased
Both the 3FREE-suppression theory and the rebuttal to it were beside the point:

- Kelly's sample items were **already $0.00 before any code was applied**.
- **3FREE discounts ITEMS only** ($15 off `AllDiscountItems`). Applied to a $0.00
  item subtotal it changes nothing, and it **cannot reduce a $24.95 shipping line.**
- So handing her code 3FREE — the entire content of the 2026-09-02 reply — does
  **not** address the thing that actually stopped her.

## The reassurance we sent her was factually wrong
The 2026-09-02 email (sent **4×**) said:

> "…**sample shipping is on us too**, so you'll pay nothing."
> "(That **$25** you saw earlier was a shipping estimate — **it won't apply** to
> these complimentary samples.)"

Her recorded checkout says the $25 **was** the shipping, on a cart whose samples
were already free. She has **0 orders**, **2 abandoned carts**, and has not
returned in the 8 days since.

## Corrected status
- TK-10836's *literal* blocker (`RETAIL_SHARED_CODE` unset) **is** genuinely dead —
  that path is retired and the approval memo was stamped "Superseded" on 2026-09-03.
  That much of the analysis above stands.
- But the ticket's **purpose** — Kelly actually receives 3 free samples — is
  **not achieved**. Blocker re-pointed, not cleared.

## Not fired (all gated)
No email to Kelly, no discount change, no shipping-rate change, no Shopify write.
Decision memo drafted for Steve instead.

Repro: `node verification/tk10836/verify-abandonment.js`,
`node verification/tk10836/verify-kelly-checkout-breakdown.js` (read-only).

---

## CORRECTION to the "NOT REPRODUCIBLE" note above — 2026-09-10, claude-run-10836

The retraction of the two-ACTIVE-app-discounts finding is itself **withdrawn**.
Both nodes exist and are ACTIVE right now; the "zero app discounts" read used
the **legacy `automaticDiscountNodes` connection, which does not return
app/function-backed discounts**. Same token, same session:

```
automaticDiscountNodes(first:50) -> 1 node  (the EXPIRED basic)   <- source of the false negative
discountNodes(first:100)         -> 5 DiscountAutomaticApp, incl. BOTH DW Free Samples
discountNode(id:1464777277491)   -> "DW Free Samples (auto)"  ACTIVE
discountNode(id:1465258770483)   -> "DW Free Samples"         ACTIVE
```

Full write-up, risk analysis, and gated next steps:
`verification/tk11361/FINDING.md` (ticket TK-11361).

Unchanged: this does **not** affect TK-10836's closure — Kelly was honored via
code `3FREE`, a separate mechanism from this function.