← back to Gated Queue Runner

tasks/TASK-B-osborne-prices.md

34 lines

# TASK B — Apply the 5 Osborne CHANGED price patterns (map Cobra colorways first) — Steve APPROVED

You are a dedicated Claude session. Steve selected this gated item to RUN. This is a CANONICAL
dw_unified write — reversible, bounded, internal (no externality). Snapshot old values BEFORE writing,
ledger it. HOLD Shopify publish (that stays a separate gate). Work under ticket TK-10514.

## Context (verified 2026-08-18)
- Table `dw_unified.osborne_catalog` (Mac2 socket `-h /tmp`). Convention: `price_trade` = NET COST,
  `price_retail` = round(cost/0.65/0.85, 2) = 1.81×cost. BASIS CONFIRMED (272 exact matches).
- Source: `~/Projects/eur-recrawl/osborne-pricelists-2026-08/osborne_wallpapers_2026-08.csv`
  (columns: base `W####`, pattern, cost/yd USD). Colorway rows in the table are `W####-##`.
- Full finding: `~/.claude/yolo-queue/pending-approval/2026-08-18-TK-10514-osborne-STAGE-VERIFIED-publish-held.md`

## The 5 CHANGED patterns (Apr-2026 list vs existing)
| base | pattern | new cost | old trade | note |
|---|---|---|---|---|
| W7902 | Mayani | 216 | 333 | SINGLE cost → apply to all W7902-* colorways |
| W7903 | Shalimar | 216 | 333 | SINGLE → apply to all W7903-* |
| W7907 | Chellah | 326 | 435 | SINGLE → apply to all W7907-* |
| W6302 | Cobra | **132 AND 242** | 233 | AMBIGUOUS → map colorways first |

## Steps
1. **Clean 3 (Mayani, Shalimar, Chellah):** snapshot current (id, mfr_sku, price_trade, price_retail)
   for all `W7902-*`, `W7903-*`, `W7907-*` rows to `/tmp/osborne-rollback-B.csv`. Then UPDATE
   `price_trade = <new cost>`, `price_retail = round(<new cost>/0.65/0.85, 2)`, `updated_at = now()`.
2. **Cobra (W6302):** the Apr list has two costs — 132 (standard) and 242 (likely a wide-width / panel /
   grasscloth variant). Read the source PDF text (`~/Projects/eur-recrawl/osborne-pricelists-2026-08/full.txt`)
   around "Cobra" to see which colorway/width maps to 132 vs 242, and inspect the existing `W6302-*` rows
   (color_name / width / material) to match. Apply per-colorway. If the mapping is NOT unambiguous from the
   PDF + row attributes, DO NOT guess — leave Cobra unchanged and note it as still-needs-mapping in the memo.
3. Ledger via `node ~/.claude/yolo-queue/executed-reversible/log-exec.mjs --agent osborne-prices --ticket TK-10514 --action "updated N Osborne colorway rows to Apr-2026 net cost (Mayani/Shalimar/Chellah [+Cobra if mapped])" --undo "restore from /tmp/osborne-rollback-B.csv" --blast <n> --verify "price_retail = 1.81x price_trade on updated rows" --apply`
4. Update `...osborne-STAGE-VERIFIED-publish-held.md` with what was applied vs still-held. HOLD Shopify publish.
Show costs ($0 local psql). Report back a table (pattern | rows updated | old→new trade | retail) in this window.