← 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
A tk10096/created-ids.jsonA tk10096/rollback-values.jsonA tk10096/run-vahallan.mjs
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)