← back to Carnegie Reprice
metafields: REST with proof-exact namespaces (preserve space-keys rendering); dedup pilot handling; pilot memo
0fc1df318c58b34aebe8c0971468ae88c3594e74 · 2026-08-18 13:48:36 -0700 · steve
Files touched
A .rebuild-gql.lockA pilot-ids.jsonA rebuild-gql-ledger.jsonlA rebuild-gql.mjsM rebuild-line.mjs
Diff
commit 0fc1df318c58b34aebe8c0971468ae88c3594e74
Author: steve <steve@designerwallcoverings.com>
Date: Tue Aug 18 13:48:36 2026 -0700
metafields: REST with proof-exact namespaces (preserve space-keys rendering); dedup pilot handling; pilot memo
---
.rebuild-gql.lock | 1 +
pilot-ids.json | 132 +++++++++++++++++++++++++++++++++++++++++++++++
rebuild-gql-ledger.jsonl | 37 +++++++++++++
rebuild-gql.mjs | Bin 0 -> 10697 bytes
rebuild-line.mjs | 8 +--
5 files changed, 175 insertions(+), 3 deletions(-)
diff --git a/.rebuild-gql.lock b/.rebuild-gql.lock
new file mode 100644
index 0000000..4ddd012
--- /dev/null
+++ b/.rebuild-gql.lock
@@ -0,0 +1 @@
+72493
\ No newline at end of file
diff --git a/pilot-ids.json b/pilot-ids.json
new file mode 100644
index 0000000..a47230e
--- /dev/null
+++ b/pilot-ids.json
@@ -0,0 +1,132 @@
+[
+ {
+ "sku": "DWAG-379296",
+ "id": 7923090030643,
+ "handle": "carnegie-siltech-grain-color-1"
+ },
+ {
+ "sku": "DWAG-379307",
+ "id": 7923090063411,
+ "handle": "carnegie-siltech-grain-color-2"
+ },
+ {
+ "sku": "DWAG-379315",
+ "id": 7923090096179,
+ "handle": "carnegie-siltech-grain-color-3"
+ },
+ {
+ "sku": "DWAG-379316",
+ "id": 7923090128947,
+ "handle": "carnegie-siltech-grain-color-4"
+ },
+ {
+ "sku": "DWAG-379317",
+ "id": 7923090161715,
+ "handle": "carnegie-siltech-grain-color-5"
+ },
+ {
+ "sku": "DWAG-379318",
+ "id": 7923090194483,
+ "handle": "carnegie-siltech-grain-color-6"
+ },
+ {
+ "sku": "DWAG-379319",
+ "id": 7923090260019,
+ "handle": "carnegie-siltech-grain-color-7"
+ },
+ {
+ "sku": "DWAG-379320",
+ "id": 7923090292787,
+ "handle": "carnegie-siltech-grain-color-8"
+ },
+ {
+ "sku": "DWAG-379321",
+ "id": 7923090391091,
+ "handle": "carnegie-siltech-grain-color-9"
+ },
+ {
+ "sku": "DWAG-379297",
+ "id": 7923090423859,
+ "handle": "carnegie-siltech-grain-color-10"
+ },
+ {
+ "sku": "DWAG-379298",
+ "id": 7923090456627,
+ "handle": "carnegie-siltech-grain-color-11"
+ },
+ {
+ "sku": "DWAG-379299",
+ "id": 7923090489395,
+ "handle": "carnegie-siltech-grain-color-12"
+ },
+ {
+ "sku": "DWAG-379300",
+ "id": 7923090522163,
+ "handle": "carnegie-siltech-grain-color-13"
+ },
+ {
+ "sku": "DWAG-379301",
+ "id": 7923090554931,
+ "handle": "carnegie-siltech-grain-color-14"
+ },
+ {
+ "sku": "DWAG-379302",
+ "id": 7923090587699,
+ "handle": "carnegie-siltech-grain-color-15"
+ },
+ {
+ "sku": "DWAG-379303",
+ "id": 7923090620467,
+ "handle": "carnegie-siltech-grain-color-16"
+ },
+ {
+ "sku": "DWAG-379304",
+ "id": 7923090653235,
+ "handle": "carnegie-siltech-grain-color-17"
+ },
+ {
+ "sku": "DWAG-379305",
+ "id": 7923090686003,
+ "handle": "carnegie-siltech-grain-color-18"
+ },
+ {
+ "sku": "DWAG-379306",
+ "id": 7923090718771,
+ "handle": "carnegie-siltech-grain-color-19"
+ },
+ {
+ "sku": "DWAG-379308",
+ "id": 7923090751539,
+ "handle": "carnegie-siltech-grain-color-20"
+ },
+ {
+ "sku": "DWAG-379309",
+ "id": 7923090784307,
+ "handle": "carnegie-siltech-grain-color-21"
+ },
+ {
+ "sku": "DWAG-379310",
+ "id": 7923090817075,
+ "handle": "carnegie-siltech-grain-color-22"
+ },
+ {
+ "sku": "DWAG-379311",
+ "id": 7923090849843,
+ "handle": "carnegie-siltech-grain-color-23"
+ },
+ {
+ "sku": "DWAG-379312",
+ "id": 7923090915379,
+ "handle": "carnegie-siltech-grain-color-24"
+ },
+ {
+ "sku": "DWAG-379313",
+ "id": 7923090948147,
+ "handle": "carnegie-siltech-grain-color-25"
+ },
+ {
+ "sku": "DWAG-379314",
+ "id": 7923090980915,
+ "handle": "carnegie-siltech-grain-color-26"
+ }
+]
\ No newline at end of file
diff --git a/rebuild-gql-ledger.jsonl b/rebuild-gql-ledger.jsonl
new file mode 100644
index 0000000..8ac5379
--- /dev/null
+++ b/rebuild-gql-ledger.jsonl
@@ -0,0 +1,37 @@
+{"dw_sku":"DWAG-379296","error":"[{\"field\":[\"input\",\"metafields\",\"22\",\"type\"],\"message\":\"Type 'single_line_text_field' must be consistent with the definition's type: 'product_reference'.\"},{\"field\":[\"input\",\"metafields\",\"23\",\"type\"],\"message\":\"Type 'single_line_text_field'","at":"2026-08-18T20:42:14.964Z"}
+{"dw_sku":"DWAG-379296","product_id":"gid://shopify/Product/7923117031475","handle":"carnegie-siltech-grain-ivory-dwag-379296","status":"ACTIVE","color":"Ivory","retail":136,"imgCount":4,"mfCount":125,"userErrors":0,"at":"2026-08-18T20:43:44.263Z"}
+{"dw_sku":"DWAG-381677","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-abbey-oatmeal-dwag-381677' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:47:27.220Z"}
+{"dw_sku":"DWAG-381678","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-abbey-blush-dwag-381678' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:47:27.569Z"}
+{"dw_sku":"DWAG-381679","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-abbey-greige-dwag-381679' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:47:27.894Z"}
+{"dw_sku":"DWAG-381680","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-abbey-oatmeal-dwag-381680' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:47:28.250Z"}
+{"dw_sku":"DWAG-381681","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-abbey-oatmeal-dwag-381681' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:47:28.565Z"}
+{"dw_sku":"DWAG-381682","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-abbey-oatmeal-dwag-381682' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:47:28.865Z"}
+{"dw_sku":"DWAG-381784","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-abyss-charcoal-dwag-381784' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:47:29.212Z"}
+{"dw_sku":"DWAG-381785","product_id":"gid://shopify/Product/7923118178355","handle":"carnegie-abyss-black-dwag-381785","status":"ACTIVE","color":"Black","retail":132,"imgCount":4,"mfCount":107,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:47:32.823Z"}
+{"dw_sku":"DWAG-378329","product_id":"gid://shopify/Product/7923118211123","handle":"carnegie-acapella-beige-dwag-378329","status":"ACTIVE","color":"Beige","retail":76,"imgCount":3,"mfCount":105,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:47:35.769Z"}
+{"dw_sku":"DWAG-378336","product_id":"gid://shopify/Product/7923118243891","handle":"carnegie-acapella-beige-dwag-378336","status":"ACTIVE","color":"Beige","retail":76,"imgCount":4,"mfCount":101,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:47:39.250Z"}
+{"dw_sku":"DWAG-378330","product_id":"gid://shopify/Product/7923118276659","handle":"carnegie-acapella-khaki-dwag-378330","status":"ACTIVE","color":"Khaki","retail":76,"imgCount":3,"mfCount":105,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:47:42.024Z"}
+{"dw_sku":"DWAG-378337","product_id":"gid://shopify/Product/7923118309427","handle":"carnegie-acapella-khaki-dwag-378337","status":"ACTIVE","color":"Khaki","retail":76,"imgCount":4,"mfCount":101,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:47:45.048Z"}
+{"dw_sku":"DWAG-378338","product_id":"gid://shopify/Product/7923118342195","handle":"carnegie-acapella-sage-dwag-378338","status":"ACTIVE","color":"Sage","retail":76,"imgCount":4,"mfCount":101,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:47:48.467Z"}
+{"dw_sku":"DWAG-378331","product_id":"gid://shopify/Product/7923118440499","handle":"carnegie-acapella-sage-dwag-378331","status":"ACTIVE","color":"Sage","retail":76,"imgCount":3,"mfCount":105,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:47:51.597Z"}
+{"dw_sku":"DWAG-378339","product_id":"gid://shopify/Product/7923118473267","handle":"carnegie-acapella-khaki-dwag-378339","status":"ACTIVE","color":"Khaki","retail":76,"imgCount":4,"mfCount":101,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:47:54.603Z"}
+{"dw_sku":"DWAG-378332","product_id":"gid://shopify/Product/7923118506035","handle":"carnegie-acapella-khaki-dwag-378332","status":"ACTIVE","color":"Khaki","retail":76,"imgCount":3,"mfCount":105,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:47:57.481Z"}
+{"dw_sku":"DWAG-378340","product_id":"gid://shopify/Product/7923118538803","handle":"carnegie-acapella-khaki-dwag-378340","status":"ACTIVE","color":"Khaki","retail":76,"imgCount":4,"mfCount":101,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:00.207Z"}
+{"dw_sku":"DWAG-378333","product_id":"gid://shopify/Product/7923118571571","handle":"carnegie-acapella-khaki-dwag-378333","status":"ACTIVE","color":"Khaki","retail":76,"imgCount":3,"mfCount":105,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:02.905Z"}
+{"dw_sku":"DWAG-378341","product_id":"gid://shopify/Product/7923118604339","handle":"carnegie-acapella-sage-dwag-378341","status":"ACTIVE","color":"Sage","retail":76,"imgCount":4,"mfCount":101,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:05.957Z"}
+{"dw_sku":"DWAG-378334","product_id":"gid://shopify/Product/7923118637107","handle":"carnegie-acapella-sage-dwag-378334","status":"ACTIVE","color":"Sage","retail":76,"imgCount":3,"mfCount":105,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:08.408Z"}
+{"dw_sku":"DWAG-378335","product_id":"gid://shopify/Product/7923118669875","handle":"carnegie-acapella-slate-dwag-378335","status":"ACTIVE","color":"Slate","retail":76,"imgCount":3,"mfCount":105,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:11.225Z"}
+{"dw_sku":"DWAG-378342","product_id":"gid://shopify/Product/7923118702643","handle":"carnegie-acapella-slate-dwag-378342","status":"ACTIVE","color":"Slate","retail":76,"imgCount":4,"mfCount":101,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:14.556Z"}
+{"dw_sku":"DWAG-381739","product_id":"gid://shopify/Product/7923118735411","handle":"carnegie-aerial-beige-dwag-381739","status":"ACTIVE","color":"Beige","retail":92,"imgCount":4,"mfCount":107,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:17.204Z"}
+{"dw_sku":"DWAG-381740","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-aerial-oatmeal-dwag-381740' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:48:17.515Z"}
+{"dw_sku":"DWAG-381741","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-aerial-silver-dwag-381741' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:48:17.846Z"}
+{"dw_sku":"DWAG-381742","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-aerial-slate-dwag-381742' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:48:18.249Z"}
+{"dw_sku":"DWAG-381743","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-aerial-slate-dwag-381743' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:48:18.550Z"}
+{"dw_sku":"DWAG-380997","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-alder-silver-dwag-380997' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:48:18.867Z"}
+{"dw_sku":"DWAG-380998","error":"[{\"field\":[\"input\",\"handle\"],\"message\":\"Handle 'carnegie-alder-taupe-dwag-380998' already in use. Please provide a new handle.\"}]","at":"2026-08-18T20:48:19.188Z"}
+{"dw_sku":"DWAG-380999","product_id":"gid://shopify/Product/7923118768179","handle":"carnegie-alder-khaki-dwag-380999","status":"ACTIVE","color":"Khaki","retail":81,"imgCount":3,"mfCount":106,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:21.754Z"}
+{"dw_sku":"DWAG-381000","product_id":"gid://shopify/Product/7923118833715","handle":"carnegie-alder-camel-dwag-381000","status":"ACTIVE","color":"Camel","retail":81,"imgCount":3,"mfCount":106,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:24.856Z"}
+{"dw_sku":"DWAG-381001","product_id":"gid://shopify/Product/7923118899251","handle":"carnegie-alder-chocolate-dwag-381001","status":"ACTIVE","color":"Chocolate","retail":81,"imgCount":3,"mfCount":106,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:27.342Z"}
+{"dw_sku":"DWAG-381002","product_id":"gid://shopify/Product/7923118964787","handle":"carnegie-alder-black-dwag-381002","status":"ACTIVE","color":"Black","retail":81,"imgCount":3,"mfCount":106,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:29.762Z"}
+{"dw_sku":"DWAG-381003","product_id":"gid://shopify/Product/7923118997555","handle":"carnegie-alder-graphite-dwag-381003","status":"ACTIVE","color":"Graphite","retail":81,"imgCount":3,"mfCount":106,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:32.522Z"}
+{"dw_sku":"DWAG-381004","product_id":"gid://shopify/Product/7923119063091","handle":"carnegie-alder-slate-dwag-381004","status":"ACTIVE","color":"Slate","retail":81,"imgCount":3,"mfCount":106,"userErrors":0,"pubErr":null,"at":"2026-08-18T20:48:35.521Z"}
diff --git a/rebuild-gql.mjs b/rebuild-gql.mjs
new file mode 100644
index 0000000..1fef9a7
Binary files /dev/null and b/rebuild-gql.mjs differ
diff --git a/rebuild-line.mjs b/rebuild-line.mjs
index 6a2a377..9ce791b 100644
--- a/rebuild-line.mjs
+++ b/rebuild-line.mjs
@@ -143,15 +143,17 @@ function buildPayload(row){
return { payload, spec, ident, colorName, retail, handle, imgCount: imgs.length, primary_hex: row.primary_hex };
}
+// REST metafields — preserves the EXACT space-containing keys the proof rendered with
+// (global/custom/specifications/specs for specs; global/custom for identity — matching proof-one).
async function setMetafields(pid, {spec, ident, primary_hex}){
const mfs=[];
- for(const ns of ['global','custom','specifications','specs','dwc'])
+ for(const ns of ['global','custom','specifications','specs'])
for(const [k,v] of Object.entries(spec)) if(v) mfs.push({namespace:ns,key:k,type:'single_line_text_field',value:String(v).slice(0,900)});
- for(const ns of ['global','custom','dwc'])
+ for(const ns of ['global','custom'])
for(const [k,v] of Object.entries(ident)) if(v) mfs.push({namespace:ns,key:k,type:'single_line_text_field',value:String(v)});
if(primary_hex) mfs.push({namespace:'custom',key:'color_hex',type:'single_line_text_field',value:primary_hex});
let ok=0,err=0;
- for(const m of mfs){ try{ await shop(`/products/${pid}/metafields.json`,{method:'POST',body:JSON.stringify({metafield:m})}); ok++; }catch{ err++; } await sleep(60); }
+ for(const m of mfs){ try{ await shop(`/products/${pid}/metafields.json`,{method:'POST',body:JSON.stringify({metafield:m})}); ok++; }catch{ err++; } await sleep(50); }
return {ok,err};
}
← 5cf2c4f incident recovery: reconstruct ledger from Shopify, dedup 5,
·
back to Carnegie Reprice
·
supervisor: 3 shards (429-retry makes it safe) f93c29d →