← back to Secrets Manager
Coordonné Cotswolds (Coco Dávez): settlement post-gen-vision gate — 47 rows, 37 OK / 10 BLOCK (5 Royal-Oak + 5 Mallard-Duck, all Part-B bird catches; gemini-2.5-flash)
e908b8f8f714119df679687e5fbd35a30156cc0c · 2026-07-22 09:29:22 -0700 · Steve Abrams
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
A coordonne-collab-audit/cotswolds-rows.jsonA coordonne-collab-audit/cotswolds-settlement-result.jsonA coordonne-collab-audit/settlement-gate.js
Diff
commit e908b8f8f714119df679687e5fbd35a30156cc0c
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Jul 22 09:29:22 2026 -0700
Coordonné Cotswolds (Coco Dávez): settlement post-gen-vision gate — 47 rows, 37 OK / 10 BLOCK (5 Royal-Oak + 5 Mallard-Duck, all Part-B bird catches; gemini-2.5-flash)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
coordonne-collab-audit/cotswolds-rows.json | 1 +
.../cotswolds-settlement-result.json | 666 +++++++++++++++++++++
coordonne-collab-audit/settlement-gate.js | 71 +++
3 files changed, 738 insertions(+)
diff --git a/coordonne-collab-audit/cotswolds-rows.json b/coordonne-collab-audit/cotswolds-rows.json
new file mode 100644
index 0000000..eaf9308
--- /dev/null
+++ b/coordonne-collab-audit/cotswolds-rows.json
@@ -0,0 +1 @@
+[{"dw_sku" : "DWCO2-672813", "mfr_sku" : "COORD-96903", "pattern_name" : "Field-Maple Sage", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/field-maple-sage-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/field-maple-sage/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672814", "mfr_sku" : "COORD-96905", "pattern_name" : "Field-Maple Mint", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/field-maple-mint-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/field-maple-mint/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672815", "mfr_sku" : "COORD-96907", "pattern_name" : "Field-Maple Aqua", "color_name" : "Blue/Navy", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/field-maple-aqua-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/field-maple-aqua/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672816", "mfr_sku" : "COORD-96909", "pattern_name" : "Field-Maple Sunny", "color_name" : "Yellow/Orange", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/field-maple-sunny-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/field-maple-sunny/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672817", "mfr_sku" : "COORD-96911", "pattern_name" : "Field-Maple Bone", "color_name" : "Beige/Nude", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/field-maple-bone-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/field-maple-bone/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672818", "mfr_sku" : "COORD-96913", "pattern_name" : "Field-Maple Zaphire", "color_name" : "Blue/Navy", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/field-maple-zaphire-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/field-maple-zaphire/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672819", "mfr_sku" : "COORD-96915", "pattern_name" : "Clans-Check Zaphire", "color_name" : "Blue/Navy", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/clans-check-zaphire-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/clans-check-zaphire/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672820", "mfr_sku" : "COORD-96917", "pattern_name" : "Clans-Check Mint", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/clans-check-mint-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/clans-check-mint/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672821", "mfr_sku" : "COORD-96919", "pattern_name" : "Clan-s-Check Sunny", "color_name" : "Black", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/clan-s-check-sunny-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/clan-s-check-sunny/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672822", "mfr_sku" : "COORD-96921", "pattern_name" : "Clan-s-Check Black", "color_name" : "White/Grey", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/clan-s-check-black-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/clan-s-check-black/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672823", "mfr_sku" : "COORD-96923", "pattern_name" : "Clan-s-Check Bone", "color_name" : "Beige/Nude", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/clan-s-check-bone-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/clan-s-check-bone/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672824", "mfr_sku" : "COORD-96925", "pattern_name" : "Royal-Oak Mint", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/royal-oak-mint-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/royal-oak-mint/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672825", "mfr_sku" : "COORD-96927", "pattern_name" : "Royal-Oak Aqua", "color_name" : "Blue/Navy", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/royal-oak-aqua-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/royal-oak-aqua/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672826", "mfr_sku" : "COORD-96929", "pattern_name" : "Royal-Oak Black", "color_name" : "Black", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/royal-oak-black-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/royal-oak-black/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672827", "mfr_sku" : "COORD-96931", "pattern_name" : "Royal-Oak Sunny", "color_name" : "Beige/Nude", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/royal-oak-sunny-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/royal-oak-sunny/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672828", "mfr_sku" : "COORD-96933", "pattern_name" : "Royal-Oak Vermillion", "color_name" : "Red/Wine", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/royal-oak-vermillion-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/royal-oak-vermillion/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672829", "mfr_sku" : "COORD-96935", "pattern_name" : "Ivy-Garland Bone", "color_name" : "Beige/Nude", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/ivy-garland-bone-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/ivy-garland-bone/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672830", "mfr_sku" : "COORD-96937", "pattern_name" : "Ivy-Garland Sage", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/ivy-garland-sage-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/ivy-garland-sage/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672831", "mfr_sku" : "COORD-96939", "pattern_name" : "Ivy-Garland Zaphire", "color_name" : "Blue/Navy", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/ivy-garland-zaphire-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/ivy-garland-zaphire/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672832", "mfr_sku" : "COORD-96941", "pattern_name" : "Ivy-Garland Aqua", "color_name" : "White/Grey", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/ivy-garland-aqua-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/ivy-garland-aqua/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672833", "mfr_sku" : "COORD-96943", "pattern_name" : "Ivy-Garland Prune", "color_name" : "Beige/Nude", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/ivy-garland-prune-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/ivy-garland-prune/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672834", "mfr_sku" : "COORD-96945", "pattern_name" : "Ivy-Garland Sky", "color_name" : "White/Grey", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/ivy-garland-sky-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/ivy-garland-sky/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672835", "mfr_sku" : "COORD-96947", "pattern_name" : "Wild-Blackthorn Sunny", "color_name" : "Yellow/Orange", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/wild-blackthorn-sunny-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/wild-blackthorn-sunny/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672836", "mfr_sku" : "COORD-96949", "pattern_name" : "Wild-Blackthorn Prune", "color_name" : "White/Grey", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/wild-blackthorn-prune-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/wild-blackthorn-prune/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672837", "mfr_sku" : "COORD-96951", "pattern_name" : "Wild-Blackthorn Lagoon", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/wild-blackthorn-lagoon-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/wild-blackthorn-lagoon/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672838", "mfr_sku" : "COORD-96953", "pattern_name" : "Wild-Blackthorn Zaphire", "color_name" : "Blue/Navy", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/wild-blackthorn-zaphire-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/wild-blackthorn-zaphire/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672839", "mfr_sku" : "COORD-96955", "pattern_name" : "Wild-Blackthorn Silver", "color_name" : "White/Grey", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/wild-blackthorn-silver-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/wild-blackthorn-silver/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672840", "mfr_sku" : "COORD-96957", "pattern_name" : "Wild-Blackthorn Vermillion", "color_name" : "White/Grey", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/wild-blackthorn-vermillion-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/wild-blackthorn-vermillion/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672841", "mfr_sku" : "COORD-96959", "pattern_name" : "Rolling-Stripes Black", "color_name" : "Black", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/rolling-stripes-black-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/rolling-stripes-black/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672842", "mfr_sku" : "COORD-96961", "pattern_name" : "Rolling-Stripes Aqua", "color_name" : "Blue/Navy", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/rolling-stripes-aqua-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/rolling-stripes-aqua/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672843", "mfr_sku" : "COORD-96963", "pattern_name" : "Rolling-Stripes Zaphire", "color_name" : "Blue/Navy", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/rolling-stripes-zaphire-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/rolling-stripes-zaphire/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672844", "mfr_sku" : "COORD-96965", "pattern_name" : "Rolling-Stripes Mint", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/rolling-stripes-mint-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/rolling-stripes-mint/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672845", "mfr_sku" : "COORD-96967", "pattern_name" : "Rolling-Stripes Sage", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/rolling-stripes-sage-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/rolling-stripes-sage/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672846", "mfr_sku" : "COORD-96969", "pattern_name" : "Rolling-Stripes Bone", "color_name" : "Beige/Nude", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/rolling-stripes-bone-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/rolling-stripes-bone/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672847", "mfr_sku" : "COORD-96971", "pattern_name" : "Mallard-Duck Mint", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/mallard-duck-mint-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/mallard-duck-mint/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672848", "mfr_sku" : "COORD-96973", "pattern_name" : "Mallard-Duck Sunny", "color_name" : "Beige/Nude", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/mallard-duck-sunny-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/mallard-duck-sunny/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672849", "mfr_sku" : "COORD-96975", "pattern_name" : "Mallard-Duck Sage", "color_name" : "Green", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/mallard-duck-sage-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/mallard-duck-sage/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672850", "mfr_sku" : "COORD-96977", "pattern_name" : "Mallard-Duck Aqua", "color_name" : "Blue/Navy", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/mallard-duck-aqua-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/mallard-duck-aqua/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672851", "mfr_sku" : "COORD-96979", "pattern_name" : "Mallard-Duck Silver", "color_name" : "White/Grey", "product_type" : "wallcovering", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/mallard-duck-silver-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/repeated-atterns/mallard-duck-silver/", "width" : "19.7\" (50 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672852", "mfr_sku" : "COORD-96981", "pattern_name" : "Limestone-View Spring", "color_name" : "Green", "product_type" : "mural", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/limestone-view-spring-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/murals/limestone-view-spring/", "width" : "157.5\" (400 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672853", "mfr_sku" : "COORD-96983", "pattern_name" : "Limestone-View Summer", "color_name" : "Green", "product_type" : "mural", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/limestone-view-summer-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/murals/limestone-view-summer/", "width" : "157.5\" (400 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672854", "mfr_sku" : "COORD-96985", "pattern_name" : "Limestone-View Autumn", "color_name" : "Red/Wine", "product_type" : "mural", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/limestone-view-autumn-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/murals/limestone-view-autumn/", "width" : "157.5\" (400 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672855", "mfr_sku" : "COORD-96987", "pattern_name" : "Limestone-View Winter", "color_name" : "Blue/Navy", "product_type" : "mural", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/limestone-view-winter-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/murals/limestone-view-winter/", "width" : "157.5\" (400 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672856", "mfr_sku" : "COORD-96989", "pattern_name" : "Manor-Gardens Spring", "color_name" : "Green", "product_type" : "mural", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/manor-gardens-spring-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/murals/manor-gardens-spring/", "width" : "157.5\" (400 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672857", "mfr_sku" : "COORD-96991", "pattern_name" : "Manor-Gardens Summer", "color_name" : "Green", "product_type" : "mural", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/manor-gardens-summer-coordonne.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/murals/manor-gardens-summer/", "width" : "157.5\" (400 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672858", "mfr_sku" : "COORD-96993", "pattern_name" : "Manor-Gardens Autumn", "color_name" : "Beige/Nude", "product_type" : "mural", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/YSP0545_01.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/murals/manor-gardens-autumn/", "width" : "157.5\" (400 cm)", "description" : "", "about_vendor" : ""}, {"dw_sku" : "DWCO2-672859", "mfr_sku" : "COORD-96994", "pattern_name" : "Manor-Gardens Winter", "color_name" : "White/Grey", "product_type" : "mural", "material" : null, "image_url" : "https://coordonne.com/wp-content/uploads/2025/01/YSP0546_01.jpg", "product_url" : "https://coordonne.com/shop/wallpapers/murals/manor-gardens-winter/", "width" : "157.5\" (400 cm)", "description" : "", "about_vendor" : ""}]
diff --git a/coordonne-collab-audit/cotswolds-settlement-result.json b/coordonne-collab-audit/cotswolds-settlement-result.json
new file mode 100644
index 0000000..09e5fd3
--- /dev/null
+++ b/coordonne-collab-audit/cotswolds-settlement-result.json
@@ -0,0 +1,666 @@
+{
+ "total": 47,
+ "ok": 37,
+ "block": 10,
+ "gemini_calls": 47,
+ "results": [
+ {
+ "dw_sku": "DWCO2-672813",
+ "pattern": "Field-Maple Sage",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672814",
+ "pattern": "Field-Maple Mint",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672815",
+ "pattern": "Field-Maple Aqua",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672816",
+ "pattern": "Field-Maple Sunny",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672817",
+ "pattern": "Field-Maple Bone",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672818",
+ "pattern": "Field-Maple Zaphire",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672819",
+ "pattern": "Clans-Check Zaphire",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672820",
+ "pattern": "Clans-Check Mint",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672821",
+ "pattern": "Clan-s-Check Sunny",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672822",
+ "pattern": "Clan-s-Check Black",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672823",
+ "pattern": "Clan-s-Check Bone",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672824",
+ "pattern": "Royal-Oak Mint",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672825",
+ "pattern": "Royal-Oak Aqua",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672826",
+ "pattern": "Royal-Oak Black",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672827",
+ "pattern": "Royal-Oak Sunny",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672828",
+ "pattern": "Royal-Oak Vermillion",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672829",
+ "pattern": "Ivy-Garland Bone",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672830",
+ "pattern": "Ivy-Garland Sage",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672831",
+ "pattern": "Ivy-Garland Zaphire",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672832",
+ "pattern": "Ivy-Garland Aqua",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672833",
+ "pattern": "Ivy-Garland Prune",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672834",
+ "pattern": "Ivy-Garland Sky",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672835",
+ "pattern": "Wild-Blackthorn Sunny",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672836",
+ "pattern": "Wild-Blackthorn Prune",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672837",
+ "pattern": "Wild-Blackthorn Lagoon",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672838",
+ "pattern": "Wild-Blackthorn Zaphire",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672839",
+ "pattern": "Wild-Blackthorn Silver",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672840",
+ "pattern": "Wild-Blackthorn Vermillion",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672841",
+ "pattern": "Rolling-Stripes Black",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672842",
+ "pattern": "Rolling-Stripes Aqua",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672843",
+ "pattern": "Rolling-Stripes Zaphire",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672844",
+ "pattern": "Rolling-Stripes Mint",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672845",
+ "pattern": "Rolling-Stripes Sage",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672846",
+ "pattern": "Rolling-Stripes Bone",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": false,
+ "a2_open_space": false,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672847",
+ "pattern": "Mallard-Duck Mint",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672848",
+ "pattern": "Mallard-Duck Sunny",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672849",
+ "pattern": "Mallard-Duck Sage",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672850",
+ "pattern": "Mallard-Duck Aqua",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672851",
+ "pattern": "Mallard-Duck Silver",
+ "verdict": "BLOCK",
+ "reason": "Part A fully satisfied AND Part B present",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": true,
+ "acceptable": false
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672852",
+ "pattern": "Limestone-View Spring",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672853",
+ "pattern": "Limestone-View Summer",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672854",
+ "pattern": "Limestone-View Autumn",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672855",
+ "pattern": "Limestone-View Winter",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672856",
+ "pattern": "Manor-Gardens Spring",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672857",
+ "pattern": "Manor-Gardens Summer",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672858",
+ "pattern": "Manor-Gardens Autumn",
+ "verdict": "OK",
+ "reason": "Part A only, no prohibited element",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": true,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ },
+ {
+ "dw_sku": "DWCO2-672859",
+ "pattern": "Manor-Gardens Winter",
+ "verdict": "OK",
+ "reason": "Part A not fully satisfied",
+ "detectors": {
+ "a1_directional_leaves": true,
+ "a2_open_space": true,
+ "a3_multiple_colors": false,
+ "b_prohibited": false,
+ "acceptable": true
+ },
+ "error": null
+ }
+ ]
+}
\ No newline at end of file
diff --git a/coordonne-collab-audit/settlement-gate.js b/coordonne-collab-audit/settlement-gate.js
new file mode 100644
index 0000000..0e3d14d
--- /dev/null
+++ b/coordonne-collab-audit/settlement-gate.js
@@ -0,0 +1,71 @@
+#!/usr/bin/env node
+// Settlement post-gen-vision gate for the 54 Coco Dávez Colortherapills images.
+// Runs the 5 detectors as ONE structured Gemini 2.0-flash vision call per image,
+// then applies the settlement-verdict combinator (BLOCK iff A1&A2&A3&B, else OK;
+// any "unknown" fails closed to BLOCK).
+// Gemini vision only (Anthropic vision API is banned, per CLAUDE.md 2026-06-10).
+const fs = require('fs');
+const path = require('path');
+const { execSync } = require('child_process');
+
+const ENV = fs.readFileSync(path.join(__dirname, '..', '.env'), 'utf8');
+const GKEY = (ENV.match(/^GEMINI_API_KEY=(.+)$/m) || [])[1];
+if (!GKEY) { console.error('no GEMINI_API_KEY'); process.exit(1); }
+
+const rows = JSON.parse(fs.readFileSync(path.join(__dirname, process.env.INFILE || 'cotswolds-rows.json'), 'utf8'));
+
+const PROMPT = `You are a strict legal image-compliance detector for a wallpaper settlement gate. Look ONLY at the pixels in this image. Answer these 5 questions about the artwork as a JSON object with boolean values (use "unknown" only if the image is unreadable):
+- a1_directional_leaves: Does the design contain repeating leaves / palm fronds / similar FOLIAGE with directional variation (leaves pointing in more than one orientation across the repeat)? true/false
+- a2_open_space: Is there visible open negative space BETWEEN foliage/leaf motifs (as opposed to edge-to-edge coverage, OR the design simply has no foliage)? Answer true ONLY if there IS foliage AND there is open space between the leaves; if there is no foliage at all, answer false.
+- a3_multiple_colors: Does the LEAF/FOLIAGE layer specifically use more than one ink color? If there is no foliage, answer false.
+- b_prohibited: Does the artwork depict any of these SPECIFIC elements: a banana, banana pod, grapes, a BIRD, or a BUTTERFLY? true/false
+- acceptable: Does it contain tree trunks, clearly-represented branches, or a fruit/animal element OTHER than banana/grape/bird/butterfly? true/false
+Respond with ONLY the JSON object, no prose. Example: {"a1_directional_leaves":false,"a2_open_space":false,"a3_multiple_colors":false,"b_prohibited":false,"acceptable":false}`;
+
+function verdict(d) {
+ const vals = [d.a1_directional_leaves, d.a2_open_space, d.a3_multiple_colors, d.b_prohibited];
+ if (vals.some(v => v === 'unknown' || v === null || v === undefined)) return { v: 'BLOCK', reason: 'unknown detector input — fail closed' };
+ const partA = d.a1_directional_leaves === true && d.a2_open_space === true && d.a3_multiple_colors === true;
+ if (partA && d.b_prohibited === true) return { v: 'BLOCK', reason: 'Part A fully satisfied AND Part B present' };
+ return { v: 'OK', reason: partA ? 'Part A only, no prohibited element' : 'Part A not fully satisfied' };
+}
+
+async function gemini(imgB64, mime) {
+ const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=${GKEY}`;
+ const body = {
+ contents: [{ parts: [{ text: PROMPT }, { inline_data: { mime_type: mime, data: imgB64 } }] }],
+ generationConfig: { temperature: 0, response_mime_type: 'application/json' },
+ };
+ const r = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) });
+ const j = await r.json();
+ const txt = j?.candidates?.[0]?.content?.parts?.[0]?.text;
+ if (!txt) throw new Error('no gemini text: ' + JSON.stringify(j).slice(0, 300));
+ return JSON.parse(txt);
+}
+
+(async () => {
+ const out = [];
+ let calls = 0;
+ for (const row of rows) {
+ let det, verd, err = null;
+ try {
+ // fetch image bytes
+ const ir = await fetch(row.image_url);
+ if (!ir.ok) throw new Error('img fetch ' + ir.status);
+ const buf = Buffer.from(await ir.arrayBuffer());
+ const mime = ir.headers.get('content-type') || 'image/jpeg';
+ det = await gemini(buf.toString('base64'), mime);
+ calls++;
+ verd = verdict(det);
+ } catch (e) {
+ det = null; verd = { v: 'BLOCK', reason: 'error: ' + e.message }; err = e.message;
+ }
+ out.push({ dw_sku: row.dw_sku, pattern: row.pattern_name, verdict: verd.v, reason: verd.reason, detectors: det, error: err });
+ process.stderr.write(`${row.dw_sku} ${row.pattern_name} -> ${verd.v}\n`);
+ await new Promise(r => setTimeout(r, 300));
+ }
+ const blocks = out.filter(o => o.verdict === 'BLOCK');
+ const summary = { total: out.length, ok: out.filter(o => o.verdict === 'OK').length, block: blocks.length, gemini_calls: calls, results: out };
+ fs.writeFileSync(path.join(__dirname, process.env.OUTFILE || 'cotswolds-settlement-result.json'), JSON.stringify(summary, null, 2));
+ console.log(JSON.stringify({ total: summary.total, ok: summary.ok, block: summary.block, gemini_calls: calls, blocked: blocks.map(b => ({ sku: b.dw_sku, pattern: b.pattern, reason: b.reason })) }, null, 2));
+})();
← 2930b39 Coordonné Coco Dávez: create 16 held murals @ $113.62 (DTD O
·
back to Secrets Manager
·
Coordonné Cotswolds (Ybarra & Serret): create 37 settlement- ffff533 →