{
  "generation_id": "2026-06-23_20260623T163127Z_latest_001",
  "model": "text:gpt-4.1-mini;image:gpt-image-1",
  "seed_theme": "hypnotic and energetic",
  "title": "Roll of Fate",
  "slogan": "Chance in Every Cube",
  "prompt": "Create a square t-shirt graphic design with the following concept:\n\nTitle: Roll of Fate\nVisual style: woodcut vintage comic with pastel and moss tones\nMood: hypnotic and energetic\nCore concept prompt: An oversized grid layout of detailed woodcut style dice arranged in a hypnotic repeating pattern, rendered with vintage comic line work in pastel dream and forest moss colors, featuring UV reactive highlights that create a glowing effect on edges and corners, composition balanced with strong silhouettes and a clear emblematic feel, no visible text or numbers on dice faces\nTypography density rule: CRITICAL: This design must contain absolutely zero text, letters, numbers, words, labels, fake brand marks, typography-like glyph clusters, title text, or slogan text. It is a purely visual illustration.\n\nHard constraints:\n- Keep composition centered and shirt-print friendly.\n- Use high-contrast, clear forms suitable for print.\n- Keep the final artwork icon-led or illustration-led, not poster-led or typography-led.\n- Follow the typography density rule exactly. If text is not explicitly allowed, include no letters, words, numbers, labels, title text, slogan text, fake brand marks, or typography-like glyph clusters.\n- If text is explicitly allowed, it must be sparse, intentional, and easily readable.\n- Exclude all forbidden elements: text, brands, celebrities, political content, tiny text\n- Do not include real brand names/logos, celebrity likenesses, copyrighted characters, political campaign slogans, hateful content, or explicit content.\n\nOutput a clean standalone design graphic, no mockup, no watermark, no background scene.",
  "genome": {
    "motifs": [
      "dice"
    ],
    "style": [
      "woodcut",
      "vintage_comic"
    ],
    "effects": [
      "UV_reactive"
    ],
    "palette": [
      "pastel_dream",
      "forest_moss"
    ],
    "mood": [
      "hypnotic"
    ],
    "composition": [
      "grid_layout",
      "oversized_graphic"
    ],
    "typography": [
      "glitch_text",
      "cyber_terminal"
    ],
    "typography_density": "pure_graphic",
    "energy": "high",
    "complexity": "medium"
  },
  "genome_version": "v1",
  "collection": "latest",
  "text_policy": "no_text",
  "text_policy_source": "default",
  "wearability_intent": "graphic-led wearable shirt design with controlled text",
  "evolution": {
    "generation_mode_id": "latest-canvas-weighted-heritage-v1",
    "generation_mode_name": "Latest Canvas + Weighted Heritage Traits",
    "generation_mode_version": "v1",
    "generation_mode_steps": [
      "collect_latest_canvas",
      "collect_feedback",
      "score_weighted_candidates",
      "select_trait_parents",
      "build_child_genome",
      "apply_mutation",
      "analyze_canvas_improvement",
      "build_prompt_context",
      "select_concept",
      "enforce_typography_policy",
      "generate_image",
      "persist_publish"
    ],
    "pipeline_trace": [
      {
        "stage_id": "collect_latest_canvas",
        "label": "Collect latest canvas",
        "status": "completed",
        "input_summary": "Newest non-archived generated design.",
        "output_summary": "Canvas parent 2026-06-22_20260622T163119Z_latest_001 from design_url.",
        "details": {
          "canvas_parent_generation_id": "2026-06-22_20260622T163119Z_latest_001"
        }
      },
      {
        "stage_id": "collect_feedback",
        "label": "Collect feedback",
        "status": "completed",
        "input_summary": "weighted feedback history.",
        "output_summary": "28 weighted signals available.",
        "details": {
          "feedback_rating": "up"
        }
      },
      {
        "stage_id": "score_weighted_candidates",
        "label": "Score weighted candidates",
        "status": "completed",
        "input_summary": "Last 25 relevant rated designs.",
        "output_summary": "25 candidates scored.",
        "details": {
          "candidate_scores": [
            {
              "generation_id": "2026-06-21_20260621T163123Z_latest_001",
              "heritage_score": -3.0,
              "ticket_weight": 5.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-20_20260620T163125Z_latest_001",
              "heritage_score": -25.0,
              "ticket_weight": 5.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-16_20260616T160144Z_latest_001",
              "heritage_score": -39.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-16_20260616T120142Z_latest_001",
              "heritage_score": -36.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-16_20260616T080129Z_latest_001",
              "heritage_score": -21.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-15_20260615T200141Z_latest_001",
              "heritage_score": -24.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-12_20260612T160125Z_latest_001",
              "heritage_score": -35.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-07_20260607T160116Z_latest_001",
              "heritage_score": -23.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-06_20260606T200115Z_latest_001",
              "heritage_score": -14.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-06_20260606T120117Z_latest_001",
              "heritage_score": -11.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-05_20260605T120122Z_latest_001",
              "heritage_score": -42.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-05_20260605T080122Z_latest_001",
              "heritage_score": -17.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-04_20260604T091701Z_latest_001",
              "heritage_score": -37.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-06-03_20260603T210150Z_latest_001",
              "heritage_score": -51.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-30_20260530T202118Z_latest_001",
              "heritage_score": -70.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-29_20260529T204612Z_latest_001",
              "heritage_score": -42.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-29_20260529T090605Z_latest_001",
              "heritage_score": -49.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-27_20260527T204140Z_latest_001",
              "heritage_score": -16.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-27_20260527T163846Z_latest_001",
              "heritage_score": -36.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-27_20260527T155914Z_latest_001",
              "heritage_score": -30.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-27_20260527T090535Z_latest_001",
              "heritage_score": -44.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-27_20260527T065702Z_latest_001",
              "heritage_score": -33.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-27_20260527T064947Z_latest_001",
              "heritage_score": -15.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-26_20260526T204711Z_latest_001",
              "heritage_score": 0.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            },
            {
              "generation_id": "2026-05-26_20260526T090552Z_latest_001",
              "heritage_score": -4.0,
              "ticket_weight": 1.0,
              "base_ticket_weight": 1.0,
              "new_trait_multiplier": null,
              "new_trait_count": null
            }
          ]
        }
      },
      {
        "stage_id": "select_trait_parents",
        "label": "Select trait parents",
        "status": "completed",
        "input_summary": "Strategy weighted-heritage-lottery-50-50.",
        "output_summary": "Trait parents: 2026-06-21_20260621T163123Z_latest_001, 2026-06-20_20260620T163125Z_latest_001",
        "details": {
          "trait_parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001",
            "2026-06-20_20260620T163125Z_latest_001"
          ]
        }
      },
      {
        "stage_id": "build_child_genome",
        "label": "Build child genome",
        "status": "completed",
        "input_summary": "50/50 locked genome crossover.",
        "output_summary": "Locked child genome created."
      },
      {
        "stage_id": "apply_mutation",
        "label": "Apply mutation",
        "status": "completed",
        "input_summary": "Mutation chance roll 79.",
        "output_summary": "motifs: totem_mask -> dice"
      },
      {
        "stage_id": "build_prompt_context",
        "label": "Build prompt context",
        "status": "completed",
        "input_summary": "Locked genome, canvas reference, and intentional inheritance metadata.",
        "output_summary": "Prompt variation mode latest_canvas_weighted_trait."
      },
      {
        "stage_id": "analyze_canvas_improvement",
        "label": "Analyze canvas improvement",
        "status": "completed",
        "input_summary": "Latest canvas reference image and trait parent summary.",
        "output_summary": "Visual improvement guidance created.",
        "model": "gpt-4.1-mini",
        "details": {
          "prompt_version": "latest-canvas-improvement-analysis-v1",
          "reference_image_source": "design_url"
        }
      },
      {
        "stage_id": "select_concept",
        "label": "Select concept",
        "status": "completed",
        "input_summary": "System prompt, concept prompt, and locked genome when available.",
        "output_summary": "Selected concept 'Roll of Fate'.",
        "model": "gpt-4.1-mini",
        "details": {
          "prompt_selection_mode": "single_call_candidates"
        }
      },
      {
        "stage_id": "enforce_typography_policy",
        "label": "Enforce typography policy",
        "status": "completed",
        "input_summary": "Policy no_text from default.",
        "output_summary": "Typography density pure_graphic.",
        "details": {
          "records": []
        }
      },
      {
        "stage_id": "generate_image",
        "label": "Generate image",
        "status": "completed",
        "input_summary": "Prompt plus reference image canvas.",
        "output_summary": "Generated image with latest_canvas_weighted_trait.",
        "model": "gpt-image-2",
        "details": {
          "reference_generation_id": "2026-06-22_20260622T163119Z_latest_001",
          "reference_image_source": "design_url"
        }
      },
      {
        "stage_id": "persist_publish",
        "label": "Persist and publish",
        "status": "completed",
        "input_summary": "Generated concept, prompt, image outputs, metadata, and commerce settings.",
        "output_summary": "Metadata prepared for local output, Supabase persistence, and configured commerce publish steps."
      }
    ],
    "parent_generation_id": "2026-06-21_20260621T163123Z_latest_001",
    "parent_generation_ids": [
      "2026-06-21_20260621T163123Z_latest_001",
      "2026-06-20_20260620T163125Z_latest_001"
    ],
    "parent_source": "feedback_events.weighted_heritage",
    "parent_selection_strategy": "weighted-heritage-lottery-50-50",
    "parent_selection_pool_size": 2,
    "parent_selection_seed": "20260623T163127Z-latest-successor-crossover-001",
    "historical_window": 2,
    "feedback_rating": "up",
    "feedback_label": "weighted",
    "preserved_traits": [
      "style.woodcut",
      "mood.hypnotic",
      "composition.grid_layout",
      "style.vintage_comic",
      "palette.pastel_dream",
      "effects.uv_reactive",
      "energy.high",
      "typography.glitch_text",
      "palette.forest_moss",
      "complexity.medium",
      "composition.oversized_graphic",
      "typography.cyber_terminal",
      "typography_density.pure_graphic"
    ],
    "inherited_trait_sources": [
      {
        "trait": "style.woodcut",
        "category": "style",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "mood.hypnotic",
        "category": "mood",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001",
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "composition.grid_layout",
        "category": "composition",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "style.vintage_comic",
        "category": "style",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "palette.pastel_dream",
        "category": "palette",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "effects.uv_reactive",
        "category": "effects",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "energy.high",
        "category": "energy",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001",
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "typography.glitch_text",
        "category": "typography",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "palette.forest_moss",
        "category": "palette",
        "parent_generation_ids": [
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "complexity.medium",
        "category": "complexity",
        "parent_generation_ids": [
          "2026-06-20_20260620T163125Z_latest_001",
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "composition.oversized_graphic",
        "category": "composition",
        "parent_generation_ids": [
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "typography.cyber_terminal",
        "category": "typography",
        "parent_generation_ids": [
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "typography_density.pure_graphic",
        "category": "typography_density",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      }
    ],
    "mutation_instruction": "Combine the inherited traits into one coherent standard t-shirt design; do not mutate away the core inherited identity unless required for safety.",
    "novelty_instruction": "Add only enough connective creative tissue to make the two-parent crossover feel intentional and printable.",
    "taste_profile": {
      "style.woodcut": 1.0,
      "mood.hypnotic": 1.0,
      "composition.grid_layout": 1.0,
      "style.vintage_comic": 1.0,
      "palette.pastel_dream": 1.0,
      "effects.uv_reactive": 1.0,
      "energy.high": 1.0,
      "typography.glitch_text": 1.0,
      "palette.forest_moss": 1.0,
      "complexity.medium": 1.0,
      "composition.oversized_graphic": 1.0,
      "typography.cyber_terminal": 1.0,
      "typography_density.pure_graphic": 1.0
    },
    "recent_motifs": [
      "cityscape",
      "skull",
      "totem_mask"
    ],
    "child_genome": {
      "motifs": [
        "dice"
      ],
      "style": [
        "woodcut",
        "vintage_comic"
      ],
      "effects": [
        "UV_reactive"
      ],
      "palette": [
        "pastel_dream",
        "forest_moss"
      ],
      "mood": [
        "hypnotic"
      ],
      "composition": [
        "grid_layout",
        "oversized_graphic"
      ],
      "typography": [
        "glitch_text",
        "cyber_terminal"
      ],
      "typography_density": "pure_graphic",
      "energy": "high",
      "complexity": "medium"
    },
    "mutation_applied": true,
    "mutation_roll": 79,
    "mutation_source": "data/genome-trait-pool.json",
    "mutation_category": "motifs",
    "mutation_replaced_trait": "totem_mask",
    "mutation_inserted_trait": "dice",
    "mutation_records": [],
    "genome_floor_fills": [
      {
        "category": "motifs",
        "inserted_trait": "totem_mask",
        "source": "parents"
      }
    ],
    "parent_heritage_scores": [
      {
        "generation_id": "2026-06-21_20260621T163123Z_latest_001",
        "heritage_score": -3.0,
        "base_ticket_weight": 1.0,
        "active_new_traits": [
          "effects.uv_reactive"
        ],
        "ticket_weight": 5.0
      },
      {
        "generation_id": "2026-06-20_20260620T163125Z_latest_001",
        "heritage_score": -25.0,
        "base_ticket_weight": 1.0,
        "active_new_traits": [
          "palette.forest_moss"
        ],
        "ticket_weight": 5.0
      }
    ],
    "parent_candidate_scores": [
      {
        "generation_id": "2026-06-21_20260621T163123Z_latest_001",
        "heritage_score": -3.0,
        "ticket_weight": 5.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-20_20260620T163125Z_latest_001",
        "heritage_score": -25.0,
        "ticket_weight": 5.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-16_20260616T160144Z_latest_001",
        "heritage_score": -39.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-16_20260616T120142Z_latest_001",
        "heritage_score": -36.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-16_20260616T080129Z_latest_001",
        "heritage_score": -21.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-15_20260615T200141Z_latest_001",
        "heritage_score": -24.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-12_20260612T160125Z_latest_001",
        "heritage_score": -35.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-07_20260607T160116Z_latest_001",
        "heritage_score": -23.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-06_20260606T200115Z_latest_001",
        "heritage_score": -14.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-06_20260606T120117Z_latest_001",
        "heritage_score": -11.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-05_20260605T120122Z_latest_001",
        "heritage_score": -42.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-05_20260605T080122Z_latest_001",
        "heritage_score": -17.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-04_20260604T091701Z_latest_001",
        "heritage_score": -37.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-03_20260603T210150Z_latest_001",
        "heritage_score": -51.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-30_20260530T202118Z_latest_001",
        "heritage_score": -70.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-29_20260529T204612Z_latest_001",
        "heritage_score": -42.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-29_20260529T090605Z_latest_001",
        "heritage_score": -49.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T204140Z_latest_001",
        "heritage_score": -16.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T163846Z_latest_001",
        "heritage_score": -36.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T155914Z_latest_001",
        "heritage_score": -30.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T090535Z_latest_001",
        "heritage_score": -44.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T065702Z_latest_001",
        "heritage_score": -33.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T064947Z_latest_001",
        "heritage_score": -15.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-26_20260526T204711Z_latest_001",
        "heritage_score": 0.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-26_20260526T090552Z_latest_001",
        "heritage_score": -4.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      }
    ],
    "child_creation_score": -5.0,
    "prompt_variation_mode": "latest_canvas_weighted_trait",
    "founder_prompt": null,
    "founder_title": null,
    "founder_slogan": null,
    "reference_canvas_role": "latest_generated_canvas_parent",
    "reference_variation_strength": "preserve broad composition from the latest generated design while introducing weighted heritage traits",
    "canvas_parent_generation_id": "2026-06-22_20260622T163119Z_latest_001",
    "trait_parent_generation_id": "2026-06-21_20260621T163123Z_latest_001",
    "trait_parent_generation_ids": [
      "2026-06-21_20260621T163123Z_latest_001",
      "2026-06-20_20260620T163125Z_latest_001"
    ],
    "vlm_analysis": {
      "status": "succeeded",
      "model": "gpt-4.1-mini",
      "prompt_version": "latest-canvas-improvement-analysis-v1",
      "canvas_strengths": [
        "Strong, clear central subject with distinctive geometric cityscape.",
        "Vibrant and coherent color palette blending pinks and blues effectively.",
        "High-contrast silhouette that reads well from a distance.",
        "Dynamic and hypnotic mood created by cosmic and nebula elements.",
        "Medium complexity maintains detail without overwhelming the design.",
        "Composition with upward vertical emphasis adds visual interest."
      ],
      "canvas_weaknesses": [
        "No clear woodcut or vintage comic style effect present.",
        "Lacks any grid layout or oversized graphic composition elements.",
        "No UV reactive effects indicated in the current design.",
        "No dice motif or related thematic elements to enhance motif distinctiveness.",
        "No evident secondary composition or layering to improve print-friendliness.",
        "No apparent visual noise reduction beyond existing dots and stars."
      ],
      "recommended_trait_applications": [
        "Apply subtle woodcut style textures to the building surfaces to enhance vintage comic feel while preserving readability.",
        "Incorporate a soft pastel dream palette filter overlay that blends forest moss greens more harmoniously with existing colors.",
        "Add UV reactive ink highlights selectively on nebula and star areas to increase visual impact under blacklight without adding clutter.",
        "Introduce faint grid line elements in background to reinforce grid layout composition subtly, enhancing structure without detracting from primary subject.",
        "Slightly enlarge the graphic overall to approach oversized graphic composition for stronger shirt presence."
      ],
      "traits_to_avoid": [
        "Complexity increase beyond medium to maintain print-friendliness.",
        "Glitch typography as the design is pure graphic without text.",
        "Dice motifs as they would confuse the cosmic cityscape theme.",
        "Overloading the composition with additional small elements that reduce silhouette clarity."
      ],
      "composition_instruction": "Enhance the existing geometric cityscape with woodcut-style texture details and pastel dream palette tones, subtly incorporate grid layout lines in the background, and increase graphic size to oversized scale. Add selective UV reactive highlights on cosmic effects for dynamic wearability while keeping the overall design clean, bold, and print-friendly on a shirt.",
      "sellability_rationale": "This design combines a striking, wearable cosmic cityscape with stylish vintage comic and woodcut influences, enhanced by UV reactive effects that add novelty and appeal. The refined palette and subtle grid layout improve coherence and modern streetwear aesthetics, making it distinctive and attractive to customers. Maintaining medium complexity ensures the graphic prints well on fabric, retaining clarity and boldness at typical viewing distances.",
      "reference_image_source": "design_url"
    },
    "weighted_selection_metadata": {
      "selection_strategy": "weighted-heritage-lottery-50-50",
      "selection_seed": "20260623T163127Z-latest-weighted-parent-lottery-001",
      "crossover_seed": "20260623T163127Z-latest-successor-crossover-001",
      "candidate_pool_size": 25,
      "weighted_signal_count": 28,
      "feedback_rating": "up",
      "feedback_label": "weighted",
      "parent_source": "feedback_events.weighted_heritage",
      "candidate_scores": [
        {
          "generation_id": "2026-06-21_20260621T163123Z_latest_001",
          "heritage_score": -3.0,
          "ticket_weight": 5.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-20_20260620T163125Z_latest_001",
          "heritage_score": -25.0,
          "ticket_weight": 5.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-16_20260616T160144Z_latest_001",
          "heritage_score": -39.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-16_20260616T120142Z_latest_001",
          "heritage_score": -36.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-16_20260616T080129Z_latest_001",
          "heritage_score": -21.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-15_20260615T200141Z_latest_001",
          "heritage_score": -24.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-12_20260612T160125Z_latest_001",
          "heritage_score": -35.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-07_20260607T160116Z_latest_001",
          "heritage_score": -23.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-06_20260606T200115Z_latest_001",
          "heritage_score": -14.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-06_20260606T120117Z_latest_001",
          "heritage_score": -11.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-05_20260605T120122Z_latest_001",
          "heritage_score": -42.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-05_20260605T080122Z_latest_001",
          "heritage_score": -17.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-04_20260604T091701Z_latest_001",
          "heritage_score": -37.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-06-03_20260603T210150Z_latest_001",
          "heritage_score": -51.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-30_20260530T202118Z_latest_001",
          "heritage_score": -70.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-29_20260529T204612Z_latest_001",
          "heritage_score": -42.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-29_20260529T090605Z_latest_001",
          "heritage_score": -49.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-27_20260527T204140Z_latest_001",
          "heritage_score": -16.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-27_20260527T163846Z_latest_001",
          "heritage_score": -36.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-27_20260527T155914Z_latest_001",
          "heritage_score": -30.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-27_20260527T090535Z_latest_001",
          "heritage_score": -44.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-27_20260527T065702Z_latest_001",
          "heritage_score": -33.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-27_20260527T064947Z_latest_001",
          "heritage_score": -15.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-26_20260526T204711Z_latest_001",
          "heritage_score": 0.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        },
        {
          "generation_id": "2026-05-26_20260526T090552Z_latest_001",
          "heritage_score": -4.0,
          "ticket_weight": 1.0,
          "base_ticket_weight": 1.0,
          "new_trait_multiplier": null,
          "new_trait_count": null
        }
      ],
      "selected_parent_generation_ids": [
        "2026-06-21_20260621T163123Z_latest_001",
        "2026-06-20_20260620T163125Z_latest_001"
      ],
      "canvas_parent_generation_id": "2026-06-22_20260622T163119Z_latest_001",
      "trait_parent_generation_id": "2026-06-21_20260621T163123Z_latest_001",
      "trait_parent_generation_ids": [
        "2026-06-21_20260621T163123Z_latest_001",
        "2026-06-20_20260620T163125Z_latest_001"
      ],
      "canvas_parent_image_source": "design_url",
      "canvas_parent_design_url": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-22_20260622T163119Z_latest_001/design_001.png",
      "canvas_parent_design_storage_key": "generations/2026-06-22_20260622T163119Z_latest_001/design_001.png",
      "mutation_applied": true,
      "mutation_roll": 79,
      "mutation_category": "motifs",
      "mutation_replaced_trait": "totem_mask",
      "mutation_inserted_trait": "dice",
      "inherited_trait_sources": [
        {
          "trait": "style.woodcut",
          "category": "style",
          "parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001"
          ]
        },
        {
          "trait": "mood.hypnotic",
          "category": "mood",
          "parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001",
            "2026-06-20_20260620T163125Z_latest_001"
          ]
        },
        {
          "trait": "composition.grid_layout",
          "category": "composition",
          "parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001"
          ]
        },
        {
          "trait": "style.vintage_comic",
          "category": "style",
          "parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001"
          ]
        },
        {
          "trait": "palette.pastel_dream",
          "category": "palette",
          "parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001"
          ]
        },
        {
          "trait": "effects.uv_reactive",
          "category": "effects",
          "parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001"
          ]
        },
        {
          "trait": "energy.high",
          "category": "energy",
          "parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001",
            "2026-06-20_20260620T163125Z_latest_001"
          ]
        },
        {
          "trait": "typography.glitch_text",
          "category": "typography",
          "parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001"
          ]
        },
        {
          "trait": "palette.forest_moss",
          "category": "palette",
          "parent_generation_ids": [
            "2026-06-20_20260620T163125Z_latest_001"
          ]
        },
        {
          "trait": "complexity.medium",
          "category": "complexity",
          "parent_generation_ids": [
            "2026-06-20_20260620T163125Z_latest_001",
            "2026-06-21_20260621T163123Z_latest_001"
          ]
        },
        {
          "trait": "composition.oversized_graphic",
          "category": "composition",
          "parent_generation_ids": [
            "2026-06-20_20260620T163125Z_latest_001"
          ]
        },
        {
          "trait": "typography.cyber_terminal",
          "category": "typography",
          "parent_generation_ids": [
            "2026-06-20_20260620T163125Z_latest_001"
          ]
        },
        {
          "trait": "typography_density.pure_graphic",
          "category": "typography_density",
          "parent_generation_ids": [
            "2026-06-21_20260621T163123Z_latest_001"
          ]
        }
      ],
      "child_creation_score": -5.0,
      "parent_heritage_scores": [
        {
          "generation_id": "2026-06-21_20260621T163123Z_latest_001",
          "heritage_score": -3.0,
          "base_ticket_weight": 1.0,
          "active_new_traits": [
            "effects.uv_reactive"
          ],
          "ticket_weight": 5.0
        },
        {
          "generation_id": "2026-06-20_20260620T163125Z_latest_001",
          "heritage_score": -25.0,
          "base_ticket_weight": 1.0,
          "active_new_traits": [
            "palette.forest_moss"
          ],
          "ticket_weight": 5.0
        }
      ]
    },
    "typography_policy_records": [],
    "image_generation_mode": "latest_canvas_weighted_trait",
    "reference_generation_id": "2026-06-22_20260622T163119Z_latest_001",
    "reference_design_url": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-22_20260622T163119Z_latest_001/design_001.png",
    "reference_design_storage_key": "generations/2026-06-22_20260622T163119Z_latest_001/design_001.png",
    "reference_image_source": "design_url",
    "reference_image_error": null
  },
  "timestamp": "2026-06-23T16:33:37Z",
  "mockup_source": "generated_pillow_blank_tshirt",
  "mockup_output": "shirt_001.png",
  "design_output": "design_001.png",
  "mockup_print_area": {
    "left": 364,
    "top": 532,
    "right": 660,
    "bottom": 828
  },
  "prompt_selection_mode": "single_call_candidates",
  "prompt_candidate_count": 3,
  "prompt_candidates": [
    {
      "index": 0,
      "score": 89.0,
      "rationale": "Strong and clear concept centered on dice motif, fully faithful to woodcut vintage style and hypnotic mood. Composition fits oversized grid layout well with print-friendly colors and UV effects. No text keeps it print suitable. Distinct from typical dice designs by emphasizing hypnotic grid and pastel-moss palette.",
      "concept": {
        "title": "Roll of Fate",
        "slogan": "Chance in Every Cube",
        "visual_style": "woodcut vintage comic with pastel and moss tones",
        "mood": "hypnotic and energetic",
        "forbidden_elements": [
          "text",
          "brands",
          "celebrities",
          "political content",
          "tiny text"
        ],
        "image_prompt": "An oversized grid layout of detailed woodcut style dice arranged in a hypnotic repeating pattern, rendered with vintage comic line work in pastel dream and forest moss colors, featuring UV reactive highlights that create a glowing effect on edges and corners, composition balanced with strong silhouettes and a clear emblematic feel, no visible text or numbers on dice faces",
        "product_description": "This t-shirt features a mesmerizing grid of vintage woodcut dice, glowing subtly with UV reactive inks in soothing pastel and forest tones. Its hypnotic pattern creates a striking oversized graphic that commands attention without words, perfect for those who like a blend of classic style and modern print effects.",
        "genome": {
          "motifs": [
            "dice"
          ],
          "style": [
            "woodcut",
            "vintage_comic"
          ],
          "effects": [
            "UV_reactive"
          ],
          "palette": [
            "pastel_dream",
            "forest_moss"
          ],
          "mood": [
            "hypnotic"
          ],
          "composition": [
            "grid_layout",
            "oversized_graphic"
          ],
          "typography": [
            "glitch_text",
            "cyber_terminal"
          ],
          "typography_density": "pure_graphic",
          "energy": "high",
          "complexity": "medium"
        }
      }
    },
    {
      "index": 1,
      "score": 85.0,
      "rationale": "Concept delivers strong motif and style fidelity with a slight cyber/glitch flair as indicated by typography traits, but keeps to pure graphic text policy. The energetic mood and oversized layout are well balanced. Slightly more complex visual rhythm but still print-suitable and unique in grid dice arrangement.",
      "concept": {
        "title": "Hypnotic Dice Matrix",
        "slogan": "Unlock the Grid",
        "visual_style": "vintage comic woodcut with pastel and moss hues and UV reactive effects",
        "mood": "energetic and mesmerizing",
        "forbidden_elements": [
          "branding",
          "letters",
          "political messages",
          "explicit content",
          "tiny text"
        ],
        "image_prompt": "A highly detailed vintage comic woodcut style depiction of dice arranged perfectly in a grid matrix, each die shaded with pastel dream and forest moss palette, enhanced with UV reactive accents for depth and glow, composition oversized and centralized with a strong silhouette, no text, purely graphic abstract glitch and cyber-inspired shapes subtly integrated around dice for hypnotic rhythm",
        "product_description": "Dive into the grid with this oversized graphic tee portraying a hypnotic woodcut array of dice in calming pastel and forest moss colors. UV reactive elements give it an electrifying glow under blacklight, blending vintage comic flair with modern glitch aesthetics for an energetic wearable design.",
        "genome": {
          "motifs": [
            "dice"
          ],
          "style": [
            "woodcut",
            "vintage_comic"
          ],
          "effects": [
            "UV_reactive"
          ],
          "palette": [
            "pastel_dream",
            "forest_moss"
          ],
          "mood": [
            "hypnotic"
          ],
          "composition": [
            "grid_layout",
            "oversized_graphic"
          ],
          "typography": [
            "glitch_text",
            "cyber_terminal"
          ],
          "typography_density": "pure_graphic",
          "energy": "high",
          "complexity": "medium"
        }
      }
    },
    {
      "index": 2,
      "score": 83.0,
      "rationale": "Focuses on a single oversized die with strong silhouette, combining woodcut vintage comic style and hypnotic mood well. Uses UV reactive accents and abstract glitch-inspired patterns to respect typography traits without text. Slightly simpler than grid but less visually complex. Very wearable and distinctive.",
      "concept": {
        "title": "Forest Dice Reverie",
        "slogan": "Roll Into the Dream",
        "visual_style": "woodcut vintage comic style with pastel and forest moss palette accented UV reactive",
        "mood": "hypnotic, dreamy, and dynamic",
        "forbidden_elements": [
          "brands",
          "texts",
          "celebrity likenesses",
          "political slogans",
          "small unreadable text"
        ],
        "image_prompt": "A centered oversized illustration of a single detailed woodcut style die floating with hypnotic aura effects in pastel dream and forest moss tones, subtle UV reactive highlights on edges, surrounded by abstract vintage comic style patterns reminiscent of glitch and cyber terminal motifs but without letters or words, composition balanced with bold silhouette and clear emblematic presence",
        "product_description": "Experience the hypnotic energy of chance with this tee spotlighting a vintage woodcut die embraced by dreamy pastel and moss hues. Enhanced with UV reactive details, it captures a serene yet dynamic essence drawing you into a whimsical dice dreamscape without distractions.",
        "genome": {
          "motifs": [
            "dice"
          ],
          "style": [
            "woodcut",
            "vintage_comic"
          ],
          "effects": [
            "UV_reactive"
          ],
          "palette": [
            "pastel_dream",
            "forest_moss"
          ],
          "mood": [
            "hypnotic"
          ],
          "composition": [
            "grid_layout",
            "oversized_graphic"
          ],
          "typography": [
            "glitch_text",
            "cyber_terminal"
          ],
          "typography_density": "pure_graphic",
          "energy": "high",
          "complexity": "medium"
        }
      }
    }
  ],
  "selected_prompt_index": 0,
  "selected_prompt_rationale": "Candidate 0 \"Roll of Fate\" provides strongest visual cohesion and fidelity to the locked genome's dice motif, woodcut vintage comic style, pastel and forest moss palette, UV reactive effect, and hypnotic mood. The grid layout and oversized composition create a bold, print-friendly silhouette with high energy and medium complexity—ideal for a striking, wearable tee without text or clutter.",
  "creative_memory": {
    "note_ids": [
      6,
      5,
      4,
      3,
      2,
      1
    ],
    "notes": [
      {
        "id": 6,
        "note_type": "try",
        "note": "Daily market analytics: sessions=0, design_views=0, buy_clicks=0, instagram_reach=0. Do not judge design appeal yet; focus on distribution and making the product path obvious.",
        "collection": null,
        "priority": 20
      },
      {
        "id": 5,
        "note_type": "try",
        "note": "Daily market analytics: sessions=0, design_views=0, buy_clicks=0, instagram_reach=0. Do not judge design appeal yet; focus on distribution and making the product path obvious.",
        "collection": null,
        "priority": 20
      },
      {
        "id": 4,
        "note_type": "try",
        "note": "Daily market analytics: sessions=0, design_views=0, buy_clicks=0, instagram_reach=0. Do not judge design appeal yet; focus on distribution and making the product path obvious.",
        "collection": null,
        "priority": 20
      },
      {
        "id": 3,
        "note_type": "try",
        "note": "Daily market analytics: sessions=0, design_views=0, buy_clicks=0, instagram_reach=0. Do not judge design appeal yet; focus on distribution and making the product path obvious.",
        "collection": null,
        "priority": 20
      },
      {
        "id": 2,
        "note_type": "try",
        "note": "Daily market analytics: sessions=0, design_views=0, buy_clicks=0, instagram_reach=0. Do not judge design appeal yet; focus on distribution and making the product path obvious.",
        "collection": null,
        "priority": 20
      },
      {
        "id": 1,
        "note_type": "try",
        "note": "Daily market analytics: sessions=0, design_views=0, buy_clicks=0, instagram_reach=0. Do not judge design appeal yet; focus on distribution and making the product path obvious.",
        "collection": null,
        "priority": 20
      }
    ]
  },
  "generation_mode_id": "latest-canvas-weighted-heritage-v1",
  "generation_mode_name": "Latest Canvas + Weighted Heritage Traits",
  "generation_mode_version": "v1",
  "generation_mode_steps": [
    "collect_latest_canvas",
    "collect_feedback",
    "score_weighted_candidates",
    "select_trait_parents",
    "build_child_genome",
    "apply_mutation",
    "analyze_canvas_improvement",
    "build_prompt_context",
    "select_concept",
    "enforce_typography_policy",
    "generate_image",
    "persist_publish"
  ],
  "pipeline_trace": [
    {
      "stage_id": "collect_latest_canvas",
      "label": "Collect latest canvas",
      "status": "completed",
      "input_summary": "Newest non-archived generated design.",
      "output_summary": "Canvas parent 2026-06-22_20260622T163119Z_latest_001 from design_url.",
      "details": {
        "canvas_parent_generation_id": "2026-06-22_20260622T163119Z_latest_001"
      }
    },
    {
      "stage_id": "collect_feedback",
      "label": "Collect feedback",
      "status": "completed",
      "input_summary": "weighted feedback history.",
      "output_summary": "28 weighted signals available.",
      "details": {
        "feedback_rating": "up"
      }
    },
    {
      "stage_id": "score_weighted_candidates",
      "label": "Score weighted candidates",
      "status": "completed",
      "input_summary": "Last 25 relevant rated designs.",
      "output_summary": "25 candidates scored.",
      "details": {
        "candidate_scores": [
          {
            "generation_id": "2026-06-21_20260621T163123Z_latest_001",
            "heritage_score": -3.0,
            "ticket_weight": 5.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-20_20260620T163125Z_latest_001",
            "heritage_score": -25.0,
            "ticket_weight": 5.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-16_20260616T160144Z_latest_001",
            "heritage_score": -39.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-16_20260616T120142Z_latest_001",
            "heritage_score": -36.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-16_20260616T080129Z_latest_001",
            "heritage_score": -21.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-15_20260615T200141Z_latest_001",
            "heritage_score": -24.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-12_20260612T160125Z_latest_001",
            "heritage_score": -35.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-07_20260607T160116Z_latest_001",
            "heritage_score": -23.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-06_20260606T200115Z_latest_001",
            "heritage_score": -14.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-06_20260606T120117Z_latest_001",
            "heritage_score": -11.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-05_20260605T120122Z_latest_001",
            "heritage_score": -42.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-05_20260605T080122Z_latest_001",
            "heritage_score": -17.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-04_20260604T091701Z_latest_001",
            "heritage_score": -37.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-06-03_20260603T210150Z_latest_001",
            "heritage_score": -51.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-30_20260530T202118Z_latest_001",
            "heritage_score": -70.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-29_20260529T204612Z_latest_001",
            "heritage_score": -42.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-29_20260529T090605Z_latest_001",
            "heritage_score": -49.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-27_20260527T204140Z_latest_001",
            "heritage_score": -16.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-27_20260527T163846Z_latest_001",
            "heritage_score": -36.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-27_20260527T155914Z_latest_001",
            "heritage_score": -30.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-27_20260527T090535Z_latest_001",
            "heritage_score": -44.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-27_20260527T065702Z_latest_001",
            "heritage_score": -33.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-27_20260527T064947Z_latest_001",
            "heritage_score": -15.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-26_20260526T204711Z_latest_001",
            "heritage_score": 0.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          },
          {
            "generation_id": "2026-05-26_20260526T090552Z_latest_001",
            "heritage_score": -4.0,
            "ticket_weight": 1.0,
            "base_ticket_weight": 1.0,
            "new_trait_multiplier": null,
            "new_trait_count": null
          }
        ]
      }
    },
    {
      "stage_id": "select_trait_parents",
      "label": "Select trait parents",
      "status": "completed",
      "input_summary": "Strategy weighted-heritage-lottery-50-50.",
      "output_summary": "Trait parents: 2026-06-21_20260621T163123Z_latest_001, 2026-06-20_20260620T163125Z_latest_001",
      "details": {
        "trait_parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001",
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      }
    },
    {
      "stage_id": "build_child_genome",
      "label": "Build child genome",
      "status": "completed",
      "input_summary": "50/50 locked genome crossover.",
      "output_summary": "Locked child genome created."
    },
    {
      "stage_id": "apply_mutation",
      "label": "Apply mutation",
      "status": "completed",
      "input_summary": "Mutation chance roll 79.",
      "output_summary": "motifs: totem_mask -> dice"
    },
    {
      "stage_id": "build_prompt_context",
      "label": "Build prompt context",
      "status": "completed",
      "input_summary": "Locked genome, canvas reference, and intentional inheritance metadata.",
      "output_summary": "Prompt variation mode latest_canvas_weighted_trait."
    },
    {
      "stage_id": "analyze_canvas_improvement",
      "label": "Analyze canvas improvement",
      "status": "completed",
      "input_summary": "Latest canvas reference image and trait parent summary.",
      "output_summary": "Visual improvement guidance created.",
      "model": "gpt-4.1-mini",
      "details": {
        "prompt_version": "latest-canvas-improvement-analysis-v1",
        "reference_image_source": "design_url"
      }
    },
    {
      "stage_id": "select_concept",
      "label": "Select concept",
      "status": "completed",
      "input_summary": "System prompt, concept prompt, and locked genome when available.",
      "output_summary": "Selected concept 'Roll of Fate'.",
      "model": "gpt-4.1-mini",
      "details": {
        "prompt_selection_mode": "single_call_candidates"
      }
    },
    {
      "stage_id": "enforce_typography_policy",
      "label": "Enforce typography policy",
      "status": "completed",
      "input_summary": "Policy no_text from default.",
      "output_summary": "Typography density pure_graphic.",
      "details": {
        "records": []
      }
    },
    {
      "stage_id": "generate_image",
      "label": "Generate image",
      "status": "completed",
      "input_summary": "Prompt plus reference image canvas.",
      "output_summary": "Generated image with latest_canvas_weighted_trait.",
      "model": "gpt-image-2",
      "details": {
        "reference_generation_id": "2026-06-22_20260622T163119Z_latest_001",
        "reference_image_source": "design_url"
      }
    },
    {
      "stage_id": "persist_publish",
      "label": "Persist and publish",
      "status": "completed",
      "input_summary": "Generated concept, prompt, image outputs, metadata, and commerce settings.",
      "output_summary": "Metadata prepared for local output, Supabase persistence, and configured commerce publish steps."
    }
  ],
  "image_generation_mode": "latest_canvas_weighted_trait",
  "reference_generation_id": "2026-06-22_20260622T163119Z_latest_001",
  "reference_design_url": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-22_20260622T163119Z_latest_001/design_001.png",
  "reference_image_source": "design_url",
  "reference_image_error": null,
  "reference_canvas_role": "latest_generated_canvas_parent",
  "reference_variation_strength": "preserve broad composition from the latest generated design while introducing weighted heritage traits",
  "canvas_parent_generation_id": "2026-06-22_20260622T163119Z_latest_001",
  "trait_parent_generation_id": "2026-06-21_20260621T163123Z_latest_001",
  "trait_parent_generation_ids": [
    "2026-06-21_20260621T163123Z_latest_001",
    "2026-06-20_20260620T163125Z_latest_001"
  ],
  "vlm_analysis": {
    "status": "succeeded",
    "model": "gpt-4.1-mini",
    "prompt_version": "latest-canvas-improvement-analysis-v1",
    "canvas_strengths": [
      "Strong, clear central subject with distinctive geometric cityscape.",
      "Vibrant and coherent color palette blending pinks and blues effectively.",
      "High-contrast silhouette that reads well from a distance.",
      "Dynamic and hypnotic mood created by cosmic and nebula elements.",
      "Medium complexity maintains detail without overwhelming the design.",
      "Composition with upward vertical emphasis adds visual interest."
    ],
    "canvas_weaknesses": [
      "No clear woodcut or vintage comic style effect present.",
      "Lacks any grid layout or oversized graphic composition elements.",
      "No UV reactive effects indicated in the current design.",
      "No dice motif or related thematic elements to enhance motif distinctiveness.",
      "No evident secondary composition or layering to improve print-friendliness.",
      "No apparent visual noise reduction beyond existing dots and stars."
    ],
    "recommended_trait_applications": [
      "Apply subtle woodcut style textures to the building surfaces to enhance vintage comic feel while preserving readability.",
      "Incorporate a soft pastel dream palette filter overlay that blends forest moss greens more harmoniously with existing colors.",
      "Add UV reactive ink highlights selectively on nebula and star areas to increase visual impact under blacklight without adding clutter.",
      "Introduce faint grid line elements in background to reinforce grid layout composition subtly, enhancing structure without detracting from primary subject.",
      "Slightly enlarge the graphic overall to approach oversized graphic composition for stronger shirt presence."
    ],
    "traits_to_avoid": [
      "Complexity increase beyond medium to maintain print-friendliness.",
      "Glitch typography as the design is pure graphic without text.",
      "Dice motifs as they would confuse the cosmic cityscape theme.",
      "Overloading the composition with additional small elements that reduce silhouette clarity."
    ],
    "composition_instruction": "Enhance the existing geometric cityscape with woodcut-style texture details and pastel dream palette tones, subtly incorporate grid layout lines in the background, and increase graphic size to oversized scale. Add selective UV reactive highlights on cosmic effects for dynamic wearability while keeping the overall design clean, bold, and print-friendly on a shirt.",
    "sellability_rationale": "This design combines a striking, wearable cosmic cityscape with stylish vintage comic and woodcut influences, enhanced by UV reactive effects that add novelty and appeal. The refined palette and subtle grid layout improve coherence and modern streetwear aesthetics, making it distinctive and attractive to customers. Maintaining medium complexity ensures the graphic prints well on fabric, retaining clarity and boldness at typical viewing distances.",
    "reference_image_source": "design_url"
  },
  "weighted_selection": {
    "selection_strategy": "weighted-heritage-lottery-50-50",
    "selection_seed": "20260623T163127Z-latest-weighted-parent-lottery-001",
    "crossover_seed": "20260623T163127Z-latest-successor-crossover-001",
    "candidate_pool_size": 25,
    "weighted_signal_count": 28,
    "feedback_rating": "up",
    "feedback_label": "weighted",
    "parent_source": "feedback_events.weighted_heritage",
    "candidate_scores": [
      {
        "generation_id": "2026-06-21_20260621T163123Z_latest_001",
        "heritage_score": -3.0,
        "ticket_weight": 5.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-20_20260620T163125Z_latest_001",
        "heritage_score": -25.0,
        "ticket_weight": 5.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-16_20260616T160144Z_latest_001",
        "heritage_score": -39.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-16_20260616T120142Z_latest_001",
        "heritage_score": -36.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-16_20260616T080129Z_latest_001",
        "heritage_score": -21.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-15_20260615T200141Z_latest_001",
        "heritage_score": -24.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-12_20260612T160125Z_latest_001",
        "heritage_score": -35.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-07_20260607T160116Z_latest_001",
        "heritage_score": -23.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-06_20260606T200115Z_latest_001",
        "heritage_score": -14.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-06_20260606T120117Z_latest_001",
        "heritage_score": -11.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-05_20260605T120122Z_latest_001",
        "heritage_score": -42.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-05_20260605T080122Z_latest_001",
        "heritage_score": -17.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-04_20260604T091701Z_latest_001",
        "heritage_score": -37.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-06-03_20260603T210150Z_latest_001",
        "heritage_score": -51.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-30_20260530T202118Z_latest_001",
        "heritage_score": -70.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-29_20260529T204612Z_latest_001",
        "heritage_score": -42.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-29_20260529T090605Z_latest_001",
        "heritage_score": -49.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T204140Z_latest_001",
        "heritage_score": -16.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T163846Z_latest_001",
        "heritage_score": -36.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T155914Z_latest_001",
        "heritage_score": -30.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T090535Z_latest_001",
        "heritage_score": -44.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T065702Z_latest_001",
        "heritage_score": -33.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-27_20260527T064947Z_latest_001",
        "heritage_score": -15.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-26_20260526T204711Z_latest_001",
        "heritage_score": 0.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      },
      {
        "generation_id": "2026-05-26_20260526T090552Z_latest_001",
        "heritage_score": -4.0,
        "ticket_weight": 1.0,
        "base_ticket_weight": 1.0,
        "new_trait_multiplier": null,
        "new_trait_count": null
      }
    ],
    "selected_parent_generation_ids": [
      "2026-06-21_20260621T163123Z_latest_001",
      "2026-06-20_20260620T163125Z_latest_001"
    ],
    "canvas_parent_generation_id": "2026-06-22_20260622T163119Z_latest_001",
    "trait_parent_generation_id": "2026-06-21_20260621T163123Z_latest_001",
    "trait_parent_generation_ids": [
      "2026-06-21_20260621T163123Z_latest_001",
      "2026-06-20_20260620T163125Z_latest_001"
    ],
    "canvas_parent_image_source": "design_url",
    "canvas_parent_design_url": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-22_20260622T163119Z_latest_001/design_001.png",
    "canvas_parent_design_storage_key": "generations/2026-06-22_20260622T163119Z_latest_001/design_001.png",
    "mutation_applied": true,
    "mutation_roll": 79,
    "mutation_category": "motifs",
    "mutation_replaced_trait": "totem_mask",
    "mutation_inserted_trait": "dice",
    "inherited_trait_sources": [
      {
        "trait": "style.woodcut",
        "category": "style",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "mood.hypnotic",
        "category": "mood",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001",
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "composition.grid_layout",
        "category": "composition",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "style.vintage_comic",
        "category": "style",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "palette.pastel_dream",
        "category": "palette",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "effects.uv_reactive",
        "category": "effects",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "energy.high",
        "category": "energy",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001",
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "typography.glitch_text",
        "category": "typography",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "palette.forest_moss",
        "category": "palette",
        "parent_generation_ids": [
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "complexity.medium",
        "category": "complexity",
        "parent_generation_ids": [
          "2026-06-20_20260620T163125Z_latest_001",
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      },
      {
        "trait": "composition.oversized_graphic",
        "category": "composition",
        "parent_generation_ids": [
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "typography.cyber_terminal",
        "category": "typography",
        "parent_generation_ids": [
          "2026-06-20_20260620T163125Z_latest_001"
        ]
      },
      {
        "trait": "typography_density.pure_graphic",
        "category": "typography_density",
        "parent_generation_ids": [
          "2026-06-21_20260621T163123Z_latest_001"
        ]
      }
    ],
    "child_creation_score": -5.0,
    "parent_heritage_scores": [
      {
        "generation_id": "2026-06-21_20260621T163123Z_latest_001",
        "heritage_score": -3.0,
        "base_ticket_weight": 1.0,
        "active_new_traits": [
          "effects.uv_reactive"
        ],
        "ticket_weight": 5.0
      },
      {
        "generation_id": "2026-06-20_20260620T163125Z_latest_001",
        "heritage_score": -25.0,
        "base_ticket_weight": 1.0,
        "active_new_traits": [
          "palette.forest_moss"
        ],
        "ticket_weight": 5.0
      }
    ]
  },
  "generation_source": "github_actions",
  "printify_product_id": null,
  "printify_upload_id": null,
  "printify_product_url": null,
  "printify_mockup_url": null,
  "shopify_product_id": null,
  "shopify_product_handle": null,
  "shopify_product_url": null,
  "commerce_status": null,
  "commerce_error": null,
  "commerce_synced_at": null,
  "printful_product_id": null,
  "printful_product_url": null,
  "printful_mockup_url": null,
  "printful_external_id": null,
  "printful_store_id": null,
  "shopify_publication_id": null,
  "shopify_publication_status": null,
  "shopify_publication_error": null,
  "shopify_published_at": null,
  "design_storage_key": "generations/2026-06-23_20260623T163127Z_latest_001/design_001.png",
  "design_url": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-23_20260623T163127Z_latest_001/design_001.png",
  "mockup_storage_key": "generations/2026-06-23_20260623T163127Z_latest_001/shirt_001.png",
  "mockup_url": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-23_20260623T163127Z_latest_001/shirt_001.png",
  "artifact_urls": {
    "metadata": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-23_20260623T163127Z_latest_001/metadata_001.json",
    "concept": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-23_20260623T163127Z_latest_001/concept_001.json",
    "prompt": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-23_20260623T163127Z_latest_001/design_prompt_001.txt",
    "readme": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-23_20260623T163127Z_latest_001/README_001.md",
    "rating": "https://pub-ba22defe826e49c8be53dce2ada7ab89.r2.dev/generations/2026-06-23_20260623T163127Z_latest_001/rating_001.txt"
  },
  "artifact_storage_keys": {
    "metadata": "generations/2026-06-23_20260623T163127Z_latest_001/metadata_001.json",
    "concept": "generations/2026-06-23_20260623T163127Z_latest_001/concept_001.json",
    "prompt": "generations/2026-06-23_20260623T163127Z_latest_001/design_prompt_001.txt",
    "readme": "generations/2026-06-23_20260623T163127Z_latest_001/README_001.md",
    "rating": "generations/2026-06-23_20260623T163127Z_latest_001/rating_001.txt"
  }
}
