[object Object]

← back to Dw Add Sellable Variant Tk10902

TK-10096 Vahallan FM onboard: 386 create + 4 repair + 4 neutralize (combo sku is calc-field, omit on create)

aa959a923d309dabe8984bb3f9f9fd1109f3f63c · 2026-09-01 16:33:28 -0700 · Steve Abrams

Files touched

Diff

commit aa959a923d309dabe8984bb3f9f9fd1109f3f63c
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Sep 1 16:33:28 2026 -0700

    TK-10096 Vahallan FM onboard: 386 create + 4 repair + 4 neutralize (combo sku is calc-field, omit on create)
---
 tk10096/created-ids.json     | 1546 ++++++++++++++++++++++++++++++++++++++++++
 tk10096/rollback-values.json |  162 +++++
 tk10096/run-vahallan.mjs     |  113 +++
 3 files changed, 1821 insertions(+)

diff --git a/tk10096/created-ids.json b/tk10096/created-ids.json
new file mode 100644
index 0000000..ade8371
--- /dev/null
+++ b/tk10096/created-ids.json
@@ -0,0 +1,1546 @@
+[
+  {
+    "combo_sku": "DWYG292000",
+    "recordId": "540747"
+  },
+  {
+    "combo_sku": "DWYG292010",
+    "recordId": "540748"
+  },
+  {
+    "combo_sku": "DWYG292020",
+    "recordId": "540749"
+  },
+  {
+    "combo_sku": "DWYG292030",
+    "recordId": "540750"
+  },
+  {
+    "combo_sku": "DWYG292040",
+    "recordId": "540751"
+  },
+  {
+    "combo_sku": "DWYG292050",
+    "recordId": "540752"
+  },
+  {
+    "combo_sku": "DWYG292060",
+    "recordId": "540753"
+  },
+  {
+    "combo_sku": "DWYG292070",
+    "recordId": "540754"
+  },
+  {
+    "combo_sku": "DWYG292080",
+    "recordId": "540755"
+  },
+  {
+    "combo_sku": "DWYG292090",
+    "recordId": "540756"
+  },
+  {
+    "combo_sku": "DWYG292100",
+    "recordId": "540757"
+  },
+  {
+    "combo_sku": "DWYG292110",
+    "recordId": "540758"
+  },
+  {
+    "combo_sku": "DWYG292120",
+    "recordId": "540759"
+  },
+  {
+    "combo_sku": "DWYG292130",
+    "recordId": "540760"
+  },
+  {
+    "combo_sku": "DWYG292140",
+    "recordId": "540761"
+  },
+  {
+    "combo_sku": "DWYG292150",
+    "recordId": "540762"
+  },
+  {
+    "combo_sku": "DWYG292160",
+    "recordId": "540763"
+  },
+  {
+    "combo_sku": "DWYG292170",
+    "recordId": "540764"
+  },
+  {
+    "combo_sku": "DWYG292180",
+    "recordId": "540765"
+  },
+  {
+    "combo_sku": "DWYG292190",
+    "recordId": "540766"
+  },
+  {
+    "combo_sku": "DWYG292200",
+    "recordId": "540767"
+  },
+  {
+    "combo_sku": "DWYG292220",
+    "recordId": "540768"
+  },
+  {
+    "combo_sku": "DWYG292230",
+    "recordId": "540769"
+  },
+  {
+    "combo_sku": "DWYG292240",
+    "recordId": "540770"
+  },
+  {
+    "combo_sku": "DWYG292250",
+    "recordId": "540771"
+  },
+  {
+    "combo_sku": "DWYG292260",
+    "recordId": "540772"
+  },
+  {
+    "combo_sku": "DWYG292270",
+    "recordId": "540773"
+  },
+  {
+    "combo_sku": "DWYG292280",
+    "recordId": "540774"
+  },
+  {
+    "combo_sku": "DWYG292290",
+    "recordId": "540775"
+  },
+  {
+    "combo_sku": "DWYG292300",
+    "recordId": "540776"
+  },
+  {
+    "combo_sku": "DWYG292310",
+    "recordId": "540777"
+  },
+  {
+    "combo_sku": "DWYG292320",
+    "recordId": "540778"
+  },
+  {
+    "combo_sku": "DWYG292330",
+    "recordId": "540779"
+  },
+  {
+    "combo_sku": "DWYG292340",
+    "recordId": "540780"
+  },
+  {
+    "combo_sku": "DWYG292350",
+    "recordId": "540781"
+  },
+  {
+    "combo_sku": "DWYG292360",
+    "recordId": "540782"
+  },
+  {
+    "combo_sku": "DWYG292370",
+    "recordId": "540783"
+  },
+  {
+    "combo_sku": "DWYG292380",
+    "recordId": "540784"
+  },
+  {
+    "combo_sku": "DWYG292390",
+    "recordId": "540785"
+  },
+  {
+    "combo_sku": "DWYG292400",
+    "recordId": "540786"
+  },
+  {
+    "combo_sku": "DWYG292410",
+    "recordId": "540787"
+  },
+  {
+    "combo_sku": "DWYG292420",
+    "recordId": "540788"
+  },
+  {
+    "combo_sku": "DWYG292430",
+    "recordId": "540789"
+  },
+  {
+    "combo_sku": "DWYG292440",
+    "recordId": "540790"
+  },
+  {
+    "combo_sku": "DWYG292450",
+    "recordId": "540791"
+  },
+  {
+    "combo_sku": "DWYG292460",
+    "recordId": "540792"
+  },
+  {
+    "combo_sku": "DWYG292470",
+    "recordId": "540793"
+  },
+  {
+    "combo_sku": "DWYG292480",
+    "recordId": "540794"
+  },
+  {
+    "combo_sku": "DWYG292490",
+    "recordId": "540795"
+  },
+  {
+    "combo_sku": "DWYG292500",
+    "recordId": "540796"
+  },
+  {
+    "combo_sku": "DWYG292510",
+    "recordId": "540797"
+  },
+  {
+    "combo_sku": "DWYG292520",
+    "recordId": "540798"
+  },
+  {
+    "combo_sku": "DWYG292530",
+    "recordId": "540799"
+  },
+  {
+    "combo_sku": "DWYG292540",
+    "recordId": "540800"
+  },
+  {
+    "combo_sku": "DWYG292550",
+    "recordId": "540801"
+  },
+  {
+    "combo_sku": "DWYG292560",
+    "recordId": "540802"
+  },
+  {
+    "combo_sku": "DWYG292580",
+    "recordId": "540803"
+  },
+  {
+    "combo_sku": "DWYG292590",
+    "recordId": "540804"
+  },
+  {
+    "combo_sku": "DWYG292600",
+    "recordId": "540805"
+  },
+  {
+    "combo_sku": "DWYG292610",
+    "recordId": "540806"
+  },
+  {
+    "combo_sku": "DWYG292620",
+    "recordId": "540807"
+  },
+  {
+    "combo_sku": "DWYG292630",
+    "recordId": "540808"
+  },
+  {
+    "combo_sku": "DWYG292640",
+    "recordId": "540809"
+  },
+  {
+    "combo_sku": "DWYG292650",
+    "recordId": "540810"
+  },
+  {
+    "combo_sku": "DWYG292660",
+    "recordId": "540811"
+  },
+  {
+    "combo_sku": "DWYG292670",
+    "recordId": "540812"
+  },
+  {
+    "combo_sku": "DWYG292680",
+    "recordId": "540813"
+  },
+  {
+    "combo_sku": "DWYG292690",
+    "recordId": "540814"
+  },
+  {
+    "combo_sku": "DWYG292700",
+    "recordId": "540815"
+  },
+  {
+    "combo_sku": "DWYG292710",
+    "recordId": "540816"
+  },
+  {
+    "combo_sku": "DWYG292720",
+    "recordId": "540817"
+  },
+  {
+    "combo_sku": "DWYG292730",
+    "recordId": "540818"
+  },
+  {
+    "combo_sku": "DWYG292740",
+    "recordId": "540819"
+  },
+  {
+    "combo_sku": "DWYG292750",
+    "recordId": "540820"
+  },
+  {
+    "combo_sku": "DWYG292760",
+    "recordId": "540821"
+  },
+  {
+    "combo_sku": "DWYG292770",
+    "recordId": "540822"
+  },
+  {
+    "combo_sku": "DWYG292780",
+    "recordId": "540823"
+  },
+  {
+    "combo_sku": "DWYG292790",
+    "recordId": "540824"
+  },
+  {
+    "combo_sku": "DWYG292800",
+    "recordId": "540825"
+  },
+  {
+    "combo_sku": "DWYG292810",
+    "recordId": "540826"
+  },
+  {
+    "combo_sku": "DWYG292820",
+    "recordId": "540827"
+  },
+  {
+    "combo_sku": "DWYG292830",
+    "recordId": "540828"
+  },
+  {
+    "combo_sku": "DWYG292840",
+    "recordId": "540829"
+  },
+  {
+    "combo_sku": "DWYG292850",
+    "recordId": "540830"
+  },
+  {
+    "combo_sku": "DWYG292860",
+    "recordId": "540831"
+  },
+  {
+    "combo_sku": "DWYG292870",
+    "recordId": "540832"
+  },
+  {
+    "combo_sku": "DWYG292880",
+    "recordId": "540833"
+  },
+  {
+    "combo_sku": "DWYG292890",
+    "recordId": "540834"
+  },
+  {
+    "combo_sku": "DWYG292900",
+    "recordId": "540835"
+  },
+  {
+    "combo_sku": "DWYG292910",
+    "recordId": "540836"
+  },
+  {
+    "combo_sku": "DWYG292920",
+    "recordId": "540837"
+  },
+  {
+    "combo_sku": "DWYG292930",
+    "recordId": "540838"
+  },
+  {
+    "combo_sku": "DWYG292940",
+    "recordId": "540839"
+  },
+  {
+    "combo_sku": "DWYG292950",
+    "recordId": "540840"
+  },
+  {
+    "combo_sku": "DWYG292960",
+    "recordId": "540841"
+  },
+  {
+    "combo_sku": "DWYG292970",
+    "recordId": "540842"
+  },
+  {
+    "combo_sku": "DWYG292980",
+    "recordId": "540843"
+  },
+  {
+    "combo_sku": "DWYG292990",
+    "recordId": "540844"
+  },
+  {
+    "combo_sku": "DWYG293000",
+    "recordId": "540845"
+  },
+  {
+    "combo_sku": "DWYG293010",
+    "recordId": "540846"
+  },
+  {
+    "combo_sku": "DWYG293020",
+    "recordId": "540847"
+  },
+  {
+    "combo_sku": "DWYG293030",
+    "recordId": "540848"
+  },
+  {
+    "combo_sku": "DWYG293040",
+    "recordId": "540849"
+  },
+  {
+    "combo_sku": "DWYG293050",
+    "recordId": "540850"
+  },
+  {
+    "combo_sku": "DWYG293060",
+    "recordId": "540851"
+  },
+  {
+    "combo_sku": "DWYG293070",
+    "recordId": "540852"
+  },
+  {
+    "combo_sku": "DWYG293080",
+    "recordId": "540853"
+  },
+  {
+    "combo_sku": "DWYG293090",
+    "recordId": "540854"
+  },
+  {
+    "combo_sku": "DWYG293100",
+    "recordId": "540855"
+  },
+  {
+    "combo_sku": "DWYG293110",
+    "recordId": "540856"
+  },
+  {
+    "combo_sku": "DWYG293120",
+    "recordId": "540857"
+  },
+  {
+    "combo_sku": "DWYG293130",
+    "recordId": "540858"
+  },
+  {
+    "combo_sku": "DWYG293140",
+    "recordId": "540859"
+  },
+  {
+    "combo_sku": "DWYG293150",
+    "recordId": "540860"
+  },
+  {
+    "combo_sku": "DWYG293160",
+    "recordId": "540861"
+  },
+  {
+    "combo_sku": "DWYG293170",
+    "recordId": "540862"
+  },
+  {
+    "combo_sku": "DWYG293180",
+    "recordId": "540863"
+  },
+  {
+    "combo_sku": "DWYG293190",
+    "recordId": "540864"
+  },
+  {
+    "combo_sku": "DWYG293200",
+    "recordId": "540865"
+  },
+  {
+    "combo_sku": "DWYG293210",
+    "recordId": "540866"
+  },
+  {
+    "combo_sku": "DWYG293220",
+    "recordId": "540867"
+  },
+  {
+    "combo_sku": "DWYG293230",
+    "recordId": "540868"
+  },
+  {
+    "combo_sku": "DWYG293240",
+    "recordId": "540869"
+  },
+  {
+    "combo_sku": "DWYG293250",
+    "recordId": "540870"
+  },
+  {
+    "combo_sku": "DWYG293260",
+    "recordId": "540871"
+  },
+  {
+    "combo_sku": "DWYG293270",
+    "recordId": "540872"
+  },
+  {
+    "combo_sku": "DWYG293280",
+    "recordId": "540873"
+  },
+  {
+    "combo_sku": "DWYG293290",
+    "recordId": "540874"
+  },
+  {
+    "combo_sku": "DWYG293300",
+    "recordId": "540875"
+  },
+  {
+    "combo_sku": "DWYG293310",
+    "recordId": "540876"
+  },
+  {
+    "combo_sku": "DWYG293320",
+    "recordId": "540877"
+  },
+  {
+    "combo_sku": "DWYG293330",
+    "recordId": "540878"
+  },
+  {
+    "combo_sku": "DWYG293340",
+    "recordId": "540879"
+  },
+  {
+    "combo_sku": "DWYG293350",
+    "recordId": "540880"
+  },
+  {
+    "combo_sku": "DWYG293360",
+    "recordId": "540881"
+  },
+  {
+    "combo_sku": "DWYG293370",
+    "recordId": "540882"
+  },
+  {
+    "combo_sku": "DWYG293380",
+    "recordId": "540883"
+  },
+  {
+    "combo_sku": "DWYG293390",
+    "recordId": "540884"
+  },
+  {
+    "combo_sku": "DWYG293400",
+    "recordId": "540885"
+  },
+  {
+    "combo_sku": "DWYG293410",
+    "recordId": "540886"
+  },
+  {
+    "combo_sku": "DWYG293420",
+    "recordId": "540887"
+  },
+  {
+    "combo_sku": "DWYG293430",
+    "recordId": "540888"
+  },
+  {
+    "combo_sku": "DWYG293440",
+    "recordId": "540889"
+  },
+  {
+    "combo_sku": "DWYG293450",
+    "recordId": "540890"
+  },
+  {
+    "combo_sku": "DWYG293460",
+    "recordId": "540891"
+  },
+  {
+    "combo_sku": "DWYG293470",
+    "recordId": "540892"
+  },
+  {
+    "combo_sku": "DWYG293480",
+    "recordId": "540893"
+  },
+  {
+    "combo_sku": "DWYG293490",
+    "recordId": "540894"
+  },
+  {
+    "combo_sku": "DWYG293500",
+    "recordId": "540895"
+  },
+  {
+    "combo_sku": "DWYG293510",
+    "recordId": "540896"
+  },
+  {
+    "combo_sku": "DWYG293520",
+    "recordId": "540897"
+  },
+  {
+    "combo_sku": "DWYG293530",
+    "recordId": "540898"
+  },
+  {
+    "combo_sku": "DWYG293540",
+    "recordId": "540899"
+  },
+  {
+    "combo_sku": "DWYG293550",
+    "recordId": "540900"
+  },
+  {
+    "combo_sku": "DWYG293560",
+    "recordId": "540901"
+  },
+  {
+    "combo_sku": "DWYG293570",
+    "recordId": "540902"
+  },
+  {
+    "combo_sku": "DWYG293580",
+    "recordId": "540903"
+  },
+  {
+    "combo_sku": "DWYG293590",
+    "recordId": "540904"
+  },
+  {
+    "combo_sku": "DWYG293600",
+    "recordId": "540905"
+  },
+  {
+    "combo_sku": "DWYG293610",
+    "recordId": "540906"
+  },
+  {
+    "combo_sku": "DWYG293620",
+    "recordId": "540907"
+  },
+  {
+    "combo_sku": "DWYG293630",
+    "recordId": "540908"
+  },
+  {
+    "combo_sku": "DWYG293640",
+    "recordId": "540909"
+  },
+  {
+    "combo_sku": "DWYG293660",
+    "recordId": "540910"
+  },
+  {
+    "combo_sku": "DWYG293670",
+    "recordId": "540911"
+  },
+  {
+    "combo_sku": "DWYG293680",
+    "recordId": "540912"
+  },
+  {
+    "combo_sku": "DWYG293690",
+    "recordId": "540913"
+  },
+  {
+    "combo_sku": "DWYG293700",
+    "recordId": "540914"
+  },
+  {
+    "combo_sku": "DWYG293710",
+    "recordId": "540915"
+  },
+  {
+    "combo_sku": "DWYG293720",
+    "recordId": "540916"
+  },
+  {
+    "combo_sku": "DWYG293730",
+    "recordId": "540917"
+  },
+  {
+    "combo_sku": "DWYG293740",
+    "recordId": "540918"
+  },
+  {
+    "combo_sku": "DWYG293750",
+    "recordId": "540919"
+  },
+  {
+    "combo_sku": "DWYG293760",
+    "recordId": "540920"
+  },
+  {
+    "combo_sku": "DWYG293770",
+    "recordId": "540921"
+  },
+  {
+    "combo_sku": "DWYG293780",
+    "recordId": "540922"
+  },
+  {
+    "combo_sku": "DWYG293800",
+    "recordId": "540923"
+  },
+  {
+    "combo_sku": "DWYG293810",
+    "recordId": "540924"
+  },
+  {
+    "combo_sku": "DWYG293820",
+    "recordId": "540925"
+  },
+  {
+    "combo_sku": "DWYG293830",
+    "recordId": "540926"
+  },
+  {
+    "combo_sku": "DWYG293840",
+    "recordId": "540927"
+  },
+  {
+    "combo_sku": "DWYG293850",
+    "recordId": "540928"
+  },
+  {
+    "combo_sku": "DWYG293860",
+    "recordId": "540929"
+  },
+  {
+    "combo_sku": "DWYG293870",
+    "recordId": "540930"
+  },
+  {
+    "combo_sku": "DWYG293880",
+    "recordId": "540931"
+  },
+  {
+    "combo_sku": "DWYG293890",
+    "recordId": "540932"
+  },
+  {
+    "combo_sku": "DWYG293900",
+    "recordId": "540933"
+  },
+  {
+    "combo_sku": "DWYG293910",
+    "recordId": "540934"
+  },
+  {
+    "combo_sku": "DWYG293920",
+    "recordId": "540935"
+  },
+  {
+    "combo_sku": "DWYG293930",
+    "recordId": "540936"
+  },
+  {
+    "combo_sku": "DWYG293940",
+    "recordId": "540937"
+  },
+  {
+    "combo_sku": "DWYG293950",
+    "recordId": "540938"
+  },
+  {
+    "combo_sku": "DWYG293960",
+    "recordId": "540939"
+  },
+  {
+    "combo_sku": "DWYG293970",
+    "recordId": "540940"
+  },
+  {
+    "combo_sku": "DWYG293980",
+    "recordId": "540941"
+  },
+  {
+    "combo_sku": "DWYG293990",
+    "recordId": "540942"
+  },
+  {
+    "combo_sku": "DWYG294000",
+    "recordId": "540943"
+  },
+  {
+    "combo_sku": "DWYG294010",
+    "recordId": "540944"
+  },
+  {
+    "combo_sku": "DWYG294020",
+    "recordId": "540945"
+  },
+  {
+    "combo_sku": "DWYG294030",
+    "recordId": "540946"
+  },
+  {
+    "combo_sku": "DWYG294040",
+    "recordId": "540947"
+  },
+  {
+    "combo_sku": "DWYG294050",
+    "recordId": "540948"
+  },
+  {
+    "combo_sku": "DWYG294060",
+    "recordId": "540949"
+  },
+  {
+    "combo_sku": "DWYG294070",
+    "recordId": "540950"
+  },
+  {
+    "combo_sku": "DWYG294080",
+    "recordId": "540951"
+  },
+  {
+    "combo_sku": "DWYG294090",
+    "recordId": "540952"
+  },
+  {
+    "combo_sku": "DWYG294100",
+    "recordId": "540953"
+  },
+  {
+    "combo_sku": "DWYG294110",
+    "recordId": "540954"
+  },
+  {
+    "combo_sku": "DWYG294120",
+    "recordId": "540955"
+  },
+  {
+    "combo_sku": "DWYG294130",
+    "recordId": "540956"
+  },
+  {
+    "combo_sku": "DWYG294140",
+    "recordId": "540957"
+  },
+  {
+    "combo_sku": "DWYG294150",
+    "recordId": "540958"
+  },
+  {
+    "combo_sku": "DWYG294160",
+    "recordId": "540959"
+  },
+  {
+    "combo_sku": "DWYG294170",
+    "recordId": "540960"
+  },
+  {
+    "combo_sku": "DWYG294180",
+    "recordId": "540961"
+  },
+  {
+    "combo_sku": "DWYG294190",
+    "recordId": "540962"
+  },
+  {
+    "combo_sku": "DWYG294200",
+    "recordId": "540963"
+  },
+  {
+    "combo_sku": "DWYG294210",
+    "recordId": "540964"
+  },
+  {
+    "combo_sku": "DWYG294220",
+    "recordId": "540965"
+  },
+  {
+    "combo_sku": "DWYG294230",
+    "recordId": "540966"
+  },
+  {
+    "combo_sku": "DWYG294240",
+    "recordId": "540967"
+  },
+  {
+    "combo_sku": "DWYG294250",
+    "recordId": "540968"
+  },
+  {
+    "combo_sku": "DWYG294260",
+    "recordId": "540969"
+  },
+  {
+    "combo_sku": "DWYG294270",
+    "recordId": "540970"
+  },
+  {
+    "combo_sku": "DWYG294280",
+    "recordId": "540971"
+  },
+  {
+    "combo_sku": "DWYG294290",
+    "recordId": "540972"
+  },
+  {
+    "combo_sku": "DWYG294300",
+    "recordId": "540973"
+  },
+  {
+    "combo_sku": "DWYG294310",
+    "recordId": "540974"
+  },
+  {
+    "combo_sku": "DWYG294320",
+    "recordId": "540975"
+  },
+  {
+    "combo_sku": "DWYG294330",
+    "recordId": "540976"
+  },
+  {
+    "combo_sku": "DWYG294340",
+    "recordId": "540977"
+  },
+  {
+    "combo_sku": "DWYG294350",
+    "recordId": "540978"
+  },
+  {
+    "combo_sku": "DWYG294360",
+    "recordId": "540979"
+  },
+  {
+    "combo_sku": "DWYG294370",
+    "recordId": "540980"
+  },
+  {
+    "combo_sku": "DWYG294380",
+    "recordId": "540981"
+  },
+  {
+    "combo_sku": "DWYG294390",
+    "recordId": "540982"
+  },
+  {
+    "combo_sku": "DWYG294400",
+    "recordId": "540983"
+  },
+  {
+    "combo_sku": "DWYG294410",
+    "recordId": "540984"
+  },
+  {
+    "combo_sku": "DWYG294420",
+    "recordId": "540985"
+  },
+  {
+    "combo_sku": "DWYG294430",
+    "recordId": "540986"
+  },
+  {
+    "combo_sku": "DWYG294440",
+    "recordId": "540987"
+  },
+  {
+    "combo_sku": "DWYG294450",
+    "recordId": "540988"
+  },
+  {
+    "combo_sku": "DWYG294460",
+    "recordId": "540989"
+  },
+  {
+    "combo_sku": "DWYG294470",
+    "recordId": "540990"
+  },
+  {
+    "combo_sku": "DWYG294480",
+    "recordId": "540991"
+  },
+  {
+    "combo_sku": "DWYG294490",
+    "recordId": "540992"
+  },
+  {
+    "combo_sku": "DWYG294500",
+    "recordId": "540993"
+  },
+  {
+    "combo_sku": "DWYG294510",
+    "recordId": "540994"
+  },
+  {
+    "combo_sku": "DWYG294520",
+    "recordId": "540995"
+  },
+  {
+    "combo_sku": "DWYG294530",
+    "recordId": "540996"
+  },
+  {
+    "combo_sku": "DWYG294540",
+    "recordId": "540997"
+  },
+  {
+    "combo_sku": "DWYG294550",
+    "recordId": "540998"
+  },
+  {
+    "combo_sku": "DWYG294560",
+    "recordId": "540999"
+  },
+  {
+    "combo_sku": "DWYG294570",
+    "recordId": "541000"
+  },
+  {
+    "combo_sku": "DWYG294580",
+    "recordId": "541001"
+  },
+  {
+    "combo_sku": "DWYG294590",
+    "recordId": "541002"
+  },
+  {
+    "combo_sku": "DWYG294600",
+    "recordId": "541003"
+  },
+  {
+    "combo_sku": "DWYG294610",
+    "recordId": "541004"
+  },
+  {
+    "combo_sku": "DWYG294620",
+    "recordId": "541005"
+  },
+  {
+    "combo_sku": "DWYG294630",
+    "recordId": "541006"
+  },
+  {
+    "combo_sku": "DWYG294640",
+    "recordId": "541007"
+  },
+  {
+    "combo_sku": "DWYG294650",
+    "recordId": "541008"
+  },
+  {
+    "combo_sku": "DWYG294660",
+    "recordId": "541009"
+  },
+  {
+    "combo_sku": "DWYG294670",
+    "recordId": "541010"
+  },
+  {
+    "combo_sku": "DWYG294680",
+    "recordId": "541011"
+  },
+  {
+    "combo_sku": "DWYG294690",
+    "recordId": "541012"
+  },
+  {
+    "combo_sku": "DWYG294700",
+    "recordId": "541013"
+  },
+  {
+    "combo_sku": "DWYG294710",
+    "recordId": "541014"
+  },
+  {
+    "combo_sku": "DWYG294720",
+    "recordId": "541015"
+  },
+  {
+    "combo_sku": "DWYG294730",
+    "recordId": "541016"
+  },
+  {
+    "combo_sku": "DWYG294740",
+    "recordId": "541017"
+  },
+  {
+    "combo_sku": "DWYG294750",
+    "recordId": "541018"
+  },
+  {
+    "combo_sku": "DWYG294760",
+    "recordId": "541019"
+  },
+  {
+    "combo_sku": "DWYG294770",
+    "recordId": "541020"
+  },
+  {
+    "combo_sku": "DWYG294780",
+    "recordId": "541021"
+  },
+  {
+    "combo_sku": "DWYG294790",
+    "recordId": "541022"
+  },
+  {
+    "combo_sku": "DWYG294800",
+    "recordId": "541023"
+  },
+  {
+    "combo_sku": "DWYG294810",
+    "recordId": "541024"
+  },
+  {
+    "combo_sku": "DWYG294820",
+    "recordId": "541025"
+  },
+  {
+    "combo_sku": "DWYG294830",
+    "recordId": "541026"
+  },
+  {
+    "combo_sku": "DWYG294840",
+    "recordId": "541027"
+  },
+  {
+    "combo_sku": "DWYG294850",
+    "recordId": "541028"
+  },
+  {
+    "combo_sku": "DWYG294860",
+    "recordId": "541029"
+  },
+  {
+    "combo_sku": "DWYG294870",
+    "recordId": "541030"
+  },
+  {
+    "combo_sku": "DWYG294880",
+    "recordId": "541031"
+  },
+  {
+    "combo_sku": "DWYG294890",
+    "recordId": "541032"
+  },
+  {
+    "combo_sku": "DWYG294900",
+    "recordId": "541033"
+  },
+  {
+    "combo_sku": "DWYG294910",
+    "recordId": "541034"
+  },
+  {
+    "combo_sku": "DWYG294920",
+    "recordId": "541035"
+  },
+  {
+    "combo_sku": "DWYG294930",
+    "recordId": "541036"
+  },
+  {
+    "combo_sku": "DWYG294940",
+    "recordId": "541037"
+  },
+  {
+    "combo_sku": "DWYG294950",
+    "recordId": "541038"
+  },
+  {
+    "combo_sku": "DWYG294960",
+    "recordId": "541039"
+  },
+  {
+    "combo_sku": "DWYG294970",
+    "recordId": "541040"
+  },
+  {
+    "combo_sku": "DWYG294980",
+    "recordId": "541041"
+  },
+  {
+    "combo_sku": "DWYG294990",
+    "recordId": "541042"
+  },
+  {
+    "combo_sku": "DWYG295000",
+    "recordId": "541043"
+  },
+  {
+    "combo_sku": "DWYG295010",
+    "recordId": "541044"
+  },
+  {
+    "combo_sku": "DWYG295020",
+    "recordId": "541045"
+  },
+  {
+    "combo_sku": "DWYG295030",
+    "recordId": "541046"
+  },
+  {
+    "combo_sku": "DWYG295040",
+    "recordId": "541047"
+  },
+  {
+    "combo_sku": "DWYG295050",
+    "recordId": "541048"
+  },
+  {
+    "combo_sku": "DWYG295060",
+    "recordId": "541049"
+  },
+  {
+    "combo_sku": "DWYG295070",
+    "recordId": "541050"
+  },
+  {
+    "combo_sku": "DWYG295080",
+    "recordId": "541051"
+  },
+  {
+    "combo_sku": "DWYG295090",
+    "recordId": "541052"
+  },
+  {
+    "combo_sku": "DWYG295100",
+    "recordId": "541053"
+  },
+  {
+    "combo_sku": "DWYG295110",
+    "recordId": "541054"
+  },
+  {
+    "combo_sku": "DWYG295120",
+    "recordId": "541055"
+  },
+  {
+    "combo_sku": "DWYG295130",
+    "recordId": "541056"
+  },
+  {
+    "combo_sku": "DWYG295140",
+    "recordId": "541057"
+  },
+  {
+    "combo_sku": "DWYG295150",
+    "recordId": "541058"
+  },
+  {
+    "combo_sku": "DWYG295160",
+    "recordId": "541059"
+  },
+  {
+    "combo_sku": "DWYG295170",
+    "recordId": "541060"
+  },
+  {
+    "combo_sku": "DWYG295180",
+    "recordId": "541061"
+  },
+  {
+    "combo_sku": "DWYG295190",
+    "recordId": "541062"
+  },
+  {
+    "combo_sku": "DWYG295200",
+    "recordId": "541063"
+  },
+  {
+    "combo_sku": "DWYG295210",
+    "recordId": "541064"
+  },
+  {
+    "combo_sku": "DWYG295220",
+    "recordId": "541065"
+  },
+  {
+    "combo_sku": "DWYG295230",
+    "recordId": "541066"
+  },
+  {
+    "combo_sku": "DWYG295240",
+    "recordId": "541067"
+  },
+  {
+    "combo_sku": "DWYG295250",
+    "recordId": "541068"
+  },
+  {
+    "combo_sku": "DWYG295260",
+    "recordId": "541069"
+  },
+  {
+    "combo_sku": "DWYG295270",
+    "recordId": "541070"
+  },
+  {
+    "combo_sku": "DWYG295280",
+    "recordId": "541071"
+  },
+  {
+    "combo_sku": "DWYG295290",
+    "recordId": "541072"
+  },
+  {
+    "combo_sku": "DWYG295300",
+    "recordId": "541073"
+  },
+  {
+    "combo_sku": "DWYG295310",
+    "recordId": "541074"
+  },
+  {
+    "combo_sku": "DWYG295320",
+    "recordId": "541075"
+  },
+  {
+    "combo_sku": "DWYG295330",
+    "recordId": "541076"
+  },
+  {
+    "combo_sku": "DWYG295340",
+    "recordId": "541077"
+  },
+  {
+    "combo_sku": "DWYG295350",
+    "recordId": "541078"
+  },
+  {
+    "combo_sku": "DWYG295360",
+    "recordId": "541079"
+  },
+  {
+    "combo_sku": "DWYG295370",
+    "recordId": "541080"
+  },
+  {
+    "combo_sku": "DWYG295380",
+    "recordId": "541081"
+  },
+  {
+    "combo_sku": "DWYG295390",
+    "recordId": "541082"
+  },
+  {
+    "combo_sku": "DWYG295400",
+    "recordId": "541083"
+  },
+  {
+    "combo_sku": "DWYG295410",
+    "recordId": "541084"
+  },
+  {
+    "combo_sku": "DWYG295420",
+    "recordId": "541085"
+  },
+  {
+    "combo_sku": "DWYG295430",
+    "recordId": "541086"
+  },
+  {
+    "combo_sku": "DWYG295440",
+    "recordId": "541087"
+  },
+  {
+    "combo_sku": "DWYG295450",
+    "recordId": "541088"
+  },
+  {
+    "combo_sku": "DWYG295460",
+    "recordId": "541089"
+  },
+  {
+    "combo_sku": "DWYG295470",
+    "recordId": "541090"
+  },
+  {
+    "combo_sku": "DWYG295480",
+    "recordId": "541091"
+  },
+  {
+    "combo_sku": "DWYG295490",
+    "recordId": "541092"
+  },
+  {
+    "combo_sku": "DWYG295500",
+    "recordId": "541093"
+  },
+  {
+    "combo_sku": "DWYG295510",
+    "recordId": "541094"
+  },
+  {
+    "combo_sku": "DWYG295520",
+    "recordId": "541095"
+  },
+  {
+    "combo_sku": "DWYG295530",
+    "recordId": "541096"
+  },
+  {
+    "combo_sku": "DWYG295540",
+    "recordId": "541097"
+  },
+  {
+    "combo_sku": "DWYG295550",
+    "recordId": "541098"
+  },
+  {
+    "combo_sku": "DWYG295560",
+    "recordId": "541099"
+  },
+  {
+    "combo_sku": "DWYG295570",
+    "recordId": "541100"
+  },
+  {
+    "combo_sku": "DWYG295580",
+    "recordId": "541101"
+  },
+  {
+    "combo_sku": "DWYG295590",
+    "recordId": "541102"
+  },
+  {
+    "combo_sku": "DWYG295600",
+    "recordId": "541103"
+  },
+  {
+    "combo_sku": "DWYG295610",
+    "recordId": "541104"
+  },
+  {
+    "combo_sku": "DWYG295620",
+    "recordId": "541105"
+  },
+  {
+    "combo_sku": "DWYG295630",
+    "recordId": "541106"
+  },
+  {
+    "combo_sku": "DWYG295640",
+    "recordId": "541107"
+  },
+  {
+    "combo_sku": "DWYG295650",
+    "recordId": "541108"
+  },
+  {
+    "combo_sku": "DWYG295660",
+    "recordId": "541109"
+  },
+  {
+    "combo_sku": "DWYG295670",
+    "recordId": "541110"
+  },
+  {
+    "combo_sku": "DWYG295680",
+    "recordId": "541111"
+  },
+  {
+    "combo_sku": "DWYG295690",
+    "recordId": "541112"
+  },
+  {
+    "combo_sku": "DWYG295700",
+    "recordId": "541113"
+  },
+  {
+    "combo_sku": "DWYG295710",
+    "recordId": "541114"
+  },
+  {
+    "combo_sku": "DWYG295720",
+    "recordId": "541115"
+  },
+  {
+    "combo_sku": "DWYG295730",
+    "recordId": "541116"
+  },
+  {
+    "combo_sku": "DWYG295740",
+    "recordId": "541117"
+  },
+  {
+    "combo_sku": "DWYG295750",
+    "recordId": "541118"
+  },
+  {
+    "combo_sku": "DWYG295760",
+    "recordId": "541119"
+  },
+  {
+    "combo_sku": "DWYG295770",
+    "recordId": "541120"
+  },
+  {
+    "combo_sku": "DWYG295780",
+    "recordId": "541121"
+  },
+  {
+    "combo_sku": "DWYG295790",
+    "recordId": "541122"
+  },
+  {
+    "combo_sku": "DWYG295800",
+    "recordId": "541123"
+  },
+  {
+    "combo_sku": "DWYG295810",
+    "recordId": "541124"
+  },
+  {
+    "combo_sku": "DWYG295820",
+    "recordId": "541125"
+  },
+  {
+    "combo_sku": "DWYG295830",
+    "recordId": "541126"
+  },
+  {
+    "combo_sku": "DWYG295840",
+    "recordId": "541127"
+  },
+  {
+    "combo_sku": "DWYG295850",
+    "recordId": "541128"
+  },
+  {
+    "combo_sku": "DWYG295860",
+    "recordId": "541129"
+  },
+  {
+    "combo_sku": "DWYG295870",
+    "recordId": "541130"
+  },
+  {
+    "combo_sku": "DWYG295880",
+    "recordId": "541131"
+  },
+  {
+    "combo_sku": "DWYG295890",
+    "recordId": "541132"
+  }
+]
\ No newline at end of file
diff --git a/tk10096/rollback-values.json b/tk10096/rollback-values.json
new file mode 100644
index 0000000..1fe3bfd
--- /dev/null
+++ b/tk10096/rollback-values.json
@@ -0,0 +1,162 @@
+{
+  "538682": {
+    "combo sku": "DWYG292570",
+    "Retail Price": "",
+    "Net Price": "",
+    "Width": "297\"",
+    "Repeat": "",
+    "Minimum": "",
+    "Supplier": "",
+    "Mfr Pattern": "FDG2703-19",
+    "Account #": "",
+    "Line": "",
+    "Date Line Put Up:": "7/30/2026",
+    "Client Notes": "",
+    "Phone Number": "",
+    "Series": "DWYG",
+    "JS Pattern": "292570",
+    "account": "",
+    "company for client fileS": "",
+    "today for client": ""
+  },
+  "538683": {
+    "combo sku": "DWYG292570",
+    "Retail Price": "",
+    "Net Price": "",
+    "Width": "",
+    "Repeat": "",
+    "Minimum": "",
+    "Supplier": "",
+    "Mfr Pattern": "Cascada Chera\r",
+    "Account #": "",
+    "Line": "",
+    "Date Line Put Up:": "7/30/2026",
+    "Client Notes": "",
+    "Phone Number": "",
+    "Series": "DWYG",
+    "JS Pattern": "292570",
+    "account": "1062297",
+    "company for client fileS": "Quartersawn Design + Build",
+    "today for client": "07/30/2026"
+  },
+  "538738": {
+    "combo sku": "DWYG293650",
+    "Retail Price": "",
+    "Net Price": "",
+    "Width": "145\"",
+    "Repeat": "",
+    "Minimum": "",
+    "Supplier": "",
+    "Mfr Pattern": "F1872-27",
+    "Account #": "",
+    "Line": "",
+    "Date Line Put Up:": "",
+    "Client Notes": "",
+    "Phone Number": "",
+    "Series": "DWYG",
+    "JS Pattern": "293650",
+    "account": "",
+    "company for client fileS": "",
+    "today for client": ""
+  },
+  "538739": {
+    "combo sku": "DWYG293650",
+    "Retail Price": "",
+    "Net Price": "",
+    "Width": "",
+    "Repeat": "",
+    "Minimum": "",
+    "Supplier": "",
+    "Mfr Pattern": "HELICON KAALI wallcovering| VAHALLAN",
+    "Account #": "",
+    "Line": "",
+    "Date Line Put Up:": "",
+    "Client Notes": "",
+    "Phone Number": "",
+    "Series": "DWYG",
+    "JS Pattern": "293650",
+    "account": "1062318",
+    "company for client fileS": "Ryan Pamplin",
+    "today for client": "08/03/2026"
+  },
+  "540422": {
+    "combo sku": "DWYG293790",
+    "Retail Price": "",
+    "Net Price": "",
+    "Width": "142\"",
+    "Repeat": "",
+    "Minimum": "",
+    "Supplier": "",
+    "Mfr Pattern": "F1989-10",
+    "Account #": "",
+    "Line": "",
+    "Date Line Put Up:": "",
+    "Client Notes": "",
+    "Phone Number": "",
+    "Series": "DWYG",
+    "JS Pattern": "293790",
+    "account": "",
+    "company for client fileS": "",
+    "today for client": ""
+  },
+  "540423": {
+    "combo sku": "DWYG292210",
+    "Retail Price": "",
+    "Net Price": "",
+    "Width": "330\"",
+    "Repeat": "",
+    "Minimum": "",
+    "Supplier": "",
+    "Mfr Pattern": "FDG3071-10",
+    "Account #": "",
+    "Line": "",
+    "Date Line Put Up:": "",
+    "Client Notes": "",
+    "Phone Number": "",
+    "Series": "DWYG",
+    "JS Pattern": "292210",
+    "account": "",
+    "company for client fileS": "",
+    "today for client": ""
+  },
+  "540432": {
+    "combo sku": "DWYG293790",
+    "Retail Price": "",
+    "Net Price": "",
+    "Width": "142\"",
+    "Repeat": "",
+    "Minimum": "",
+    "Supplier": "",
+    "Mfr Pattern": "F1989-10",
+    "Account #": "",
+    "Line": "",
+    "Date Line Put Up:": "",
+    "Client Notes": "",
+    "Phone Number": "",
+    "Series": "DWYG",
+    "JS Pattern": "293790",
+    "account": "1062596",
+    "company for client fileS": "Shoppe NEAT",
+    "today for client": "08/26/2026"
+  },
+  "540433": {
+    "combo sku": "DWYG292210",
+    "Retail Price": "",
+    "Net Price": "",
+    "Width": "330\"",
+    "Repeat": "",
+    "Minimum": "",
+    "Supplier": "",
+    "Mfr Pattern": "FDG3071-10",
+    "Account #": "",
+    "Line": "",
+    "Date Line Put Up:": "",
+    "Client Notes": "",
+    "Phone Number": "",
+    "Series": "DWYG",
+    "JS Pattern": "292210",
+    "account": "1062596",
+    "company for client fileS": "Shoppe NEAT",
+    "today for client": "08/26/2026"
+  }
+}
\ No newline at end of file
diff --git a/tk10096/run-vahallan.mjs b/tk10096/run-vahallan.mjs
new file mode 100644
index 0000000..ae706bb
--- /dev/null
+++ b/tk10096/run-vahallan.mjs
@@ -0,0 +1,113 @@
+#!/usr/bin/env node
+// TK-10096 — Vahallan FileMaker WALLPAPER master onboarding.
+// Steve-approved 2026-09-01: 386 CREATE + 4 REPAIR + neutralize 4 dups (UPDATE, not delete).
+// VERIFY-BEFORE-ACT: reads the 8 repair/dup records first, captures before-values for rollback.
+// DRY by default; STEP=verify|repair|neutralize|create  APPLY=1 to commit.
+import fs from 'node:fs';
+import path from 'node:path';
+import * as fm from '/Users/macstudio3/Projects/filemaker-mcp/src/fm-client.js';
+
+const DIR = path.dirname(new URL(import.meta.url).pathname);
+const DB = 'WALLPAPER';
+const LAYOUT = 'Add wallcovering';
+const APPLY = process.env.APPLY === '1';
+const STEP = process.env.STEP || 'verify';
+const ROLLBACK = path.join(DIR, 'rollback-values.json');
+const LEDGER = `${process.env.HOME}/.claude/yolo-queue/executed-reversible/ledger.jsonl`;
+const log = (o) => fs.appendFileSync(LEDGER, JSON.stringify(o) + '\n');
+const now = () => new Date().toISOString();
+
+// The 4 REPAIR survivors (keep, fix mfr_pattern + supplier/line=Vahallan)
+const REPAIRS = [
+  { recordId: '538683', mfrPattern: 'Cascada Chera' },
+  { recordId: '538739', mfrPattern: 'Helicon Kaali' },
+  { recordId: '540423', mfrPattern: 'Arcturus Bajada' },
+  { recordId: '540422', mfrPattern: 'Impression Camille' },
+];
+// The 4 DUPS to NEUTRALIZE (blank Mfr Pattern + Width, stamp Internal Description)
+const DUPS = ['538682', '538738', '540433', '540432'];
+
+async function loadRecord(rid) {
+  const r = await fm.getRecord(DB, LAYOUT, rid);
+  return r ? { recordId: rid, fieldData: r.fieldData } : { recordId: rid, fieldData: null, missing: true };
+}
+
+async function verify() {
+  const ids = [...REPAIRS.map(r => r.recordId), ...DUPS];
+  const snap = {};
+  for (const rid of ids) {
+    const rec = await loadRecord(rid);
+    snap[rid] = rec.fieldData;
+    const fd = rec.fieldData || {};
+    console.log(`${rid}: MfrPattern=${JSON.stringify(fd['Mfr Pattern'])} Width=${JSON.stringify(fd['Width'])} Supplier=${JSON.stringify(fd['Supplier'])} Line=${JSON.stringify(fd['Line'])} IntDesc=${JSON.stringify(fd['Internal Description'])}`);
+  }
+  fs.writeFileSync(ROLLBACK, JSON.stringify(snap, null, 2));
+  console.log(`\nrollback-values.json written (${Object.keys(snap).length} records captured).`);
+}
+
+async function repair() {
+  if (!fs.existsSync(ROLLBACK)) { console.error('run STEP=verify first to capture rollback values'); process.exit(1); }
+  let ok = 0;
+  for (const r of REPAIRS) {
+    const res = await fm.updateRecord(DB, LAYOUT, r.recordId,
+      { 'Mfr Pattern': r.mfrPattern, 'Supplier': 'Vahallan', 'Line': 'Vahallan' },
+      { dryRun: !APPLY });
+    console.log(`REPAIR ${r.recordId} -> "${r.mfrPattern}" committed=${res.committed} changes=${JSON.stringify(res.changes || {})}`);
+    if (res.committed) ok++;
+    await new Promise(s => setTimeout(s, 300));
+  }
+  if (APPLY) log({ ts: now(), agent: 'vp-dw-commerce', ticket: 'TK-10096',
+    action: `REPAIR 4 Vahallan FM masters (538683 Cascada Chera / 538739 Helicon Kaali / 540423 Arcturus Bajada / 540422 Impression Camille; Supplier+Line=Vahallan)`,
+    blast_radius: 4, undo_cmd: `restore Mfr Pattern/Supplier/Line from ${ROLLBACK}`, verify: `getRecord each -> correct Mfr Pattern + Supplier/Line=Vahallan` });
+  console.log(`\nrepair ${APPLY ? 'COMMITTED' : 'DRY'}: ${ok}/${REPAIRS.length} committed`);
+}
+
+async function neutralize() {
+  if (!fs.existsSync(ROLLBACK)) { console.error('run STEP=verify first'); process.exit(1); }
+  let ok = 0;
+  for (const rid of DUPS) {
+    const res = await fm.updateRecord(DB, LAYOUT, rid,
+      { 'Mfr Pattern': '', 'Width': '', 'Internal Description': 'TK-10096 dup — delete' },
+      { dryRun: !APPLY });
+    console.log(`NEUTRALIZE ${rid} committed=${res.committed} changes=${JSON.stringify(res.changes || {})}`);
+    if (res.committed) ok++;
+    await new Promise(s => setTimeout(s, 300));
+  }
+  if (APPLY) log({ ts: now(), agent: 'vp-dw-commerce', ticket: 'TK-10096',
+    action: `NEUTRALIZE 4 Vahallan FM dup records (538682,538738,540433,540432): blank Mfr Pattern+Width, stamp Internal Description="TK-10096 dup — delete"`,
+    blast_radius: 4, undo_cmd: `restore Mfr Pattern/Width/Internal Description from ${ROLLBACK}`, verify: `getRecord each -> Internal Description stamped` });
+  console.log(`\nneutralize ${APPLY ? 'COMMITTED' : 'DRY'}: ${ok}/${DUPS.length} committed`);
+}
+
+async function create() {
+  const set = JSON.parse(fs.readFileSync(path.join(DIR, 'create-set-386.json'), 'utf8'));
+  let created = 0, skipped = 0, failed = 0, i = 0;
+  const createdIds = [];
+  const CREATED_LOG = path.join(DIR, 'created-ids.json');
+  for (const it of set) {
+    i++;
+    // NOTE: 'combo sku' is a CALCULATED/auto-enter field (= Series & JS Pattern) — it CANNOT be
+    // written on create (FileMaker [201] Field cannot be modified). Omit it; FM auto-computes it
+    // to exactly combo_sku (verified: Series 'DWYG' + JS '292000' -> 'DWYG292000').
+    const fieldData = {
+      'Series': it.series, 'JS Pattern': it.js_pattern,
+      'Mfr Pattern': it.mfr_pattern, 'Supplier': it.supplier, 'Line': it.line,
+    };
+    try {
+      const res = await fm.createRecord(DB, LAYOUT, fieldData, { dryRun: !APPLY });
+      if (res.committed) { created++; createdIds.push({ combo_sku: it.combo_sku, recordId: res.recordId }); }
+      else if (res.skipped === 'duplicate' || res.wouldSkipDuplicate) skipped++;
+      if (i % 25 === 0 || i === set.length) console.log(`[${i}/${set.length}] created=${created} skipped-dup=${skipped} failed=${failed}`);
+    } catch (e) { failed++; console.error(`FAIL ${it.combo_sku}: ${String(e.message).slice(0, 120)}`); }
+    if (APPLY) fs.writeFileSync(CREATED_LOG, JSON.stringify(createdIds, null, 2));
+    await new Promise(s => setTimeout(s, 250));
+  }
+  if (APPLY) log({ ts: now(), agent: 'vp-dw-commerce', ticket: 'TK-10096',
+    action: `CREATE ${created} Vahallan DWYG masters in FM WALLPAPER (of 386 in set; ${skipped} skipped as existing dups via Series+JS Pattern guard)`,
+    blast_radius: created, undo_cmd: `delete created recordIds in ${CREATED_LOG}`, verify: `${CREATED_LOG} lists ${created} recordIds` });
+  console.log(`\ncreate ${APPLY ? 'COMMITTED' : 'DRY'}: created=${created} skipped-dup=${skipped} failed=${failed} of ${set.length}`);
+}
+
+const steps = { verify, repair, neutralize, create };
+if (!steps[STEP]) { console.error(`unknown STEP=${STEP}`); process.exit(1); }
+await steps[STEP]();

← 7c4748b TK-10456: Palmeraie released — full 794/794 priced cohort li  ·  back to Dw Add Sellable Variant Tk10902  ·  (newest)