{
  "report": {
    "id": 98,
    "period": "[styled] Jun 29 - Jul 13, 2026 (Part 3 of 4)",
    "created_at": "2026-07-13T20:22:23.442221+00:00"
  },
  "ai_audit": {
    "available": false,
    "exchange_count": 0,
    "exchanges": [],
    "note": "This report was generated before exact AI request and response capture was enabled. The final saved report payload is still included."
  },
  "saved_report_payload": {
    "reasoning_scratchpad": "We validated and expanded key summer transitions including coastal blue pinstripes, classic preppy tenniscore uniforms, textured crochet knit sets, and maritime canvas totes. These trends capture an aspirational, sun-soaked lifestyle that bridges urban daywear with seaside resort lounging.",
    "content_ideas": [
      {
        "blog_title": "The Coastal Classic: Blue & White Pinstripes for High Summer",
        "trend_name": "Coastal Grandmother Blue & White Pinstripes",
        "trend_type": "styling_formula",
        "trend_trajectory": "net_new",
        "historical_note": "This is a net-new trend capitalizing on the transition from maritime leisure to daily city classics.",
        "description": "Crisp light blue and white pinstriped shirts, button-downs, and lightweight jackets styled in relaxed coastal formats.",
        "visual_similarity_reason": "Repeated use of light blue pinstripes, classic button-down silhouettes, and relaxed layouts photographed in airy outdoor or maritime settings.",
        "instagram_caption": "Blowing in with the sea breeze: classic blue pinstripes that make every day feel like coastal Friday. 🐬✨\n\nStyle it oversized or layered over your favorite summer neutrals.\n\n#coastalgrandmother #preppystyle #yaitte #classicstripes",
        "trend_signal_strength": "strong",
        "confidence_score": 0.95,
        "keywords": [
          "light blue pinstripe",
          "classic button down",
          "coastal grandmother",
          "summer layering"
        ],
        "example_media_refs": [
          "160758:1",
          "161322:1",
          "161522:1",
          "161636:1"
        ],
        "example_post_ids": [
          160758,
          161322,
          161522,
          161636
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      },
      {
        "blog_title": "Textured Ease: Matching Crochet and Knit Sets",
        "trend_name": "The Knit & Crochet Co-ord Set",
        "trend_type": "texture",
        "trend_trajectory": "net_new",
        "historical_note": "A net-new textural baseline replacing flat lightweight cottons with rich, open-weave and ribbed structures.",
        "description": "Cream, beige, and warm neutral knitwear twin sets, crochet coordinates, and cozy summer resort loungewear pieces worn together.",
        "visual_similarity_reason": "Consistency in open-stitch crochet patterns, neutral knit fabric coordinates, and cozy matching textures styled for high-end resort leisure.",
        "instagram_caption": "Meet the summer uniform where premium comfort meets high-end texture. 🐚🧶\n\nEffortless, beach-to-street monochromatic sets that do all the talking for you.\n\n#crochetoutfit #knitset #resortwear #neutralstyle",
        "trend_signal_strength": "strong",
        "confidence_score": 0.92,
        "keywords": [
          "crochet set",
          "cream knitwear",
          "ribbed co-ord",
          "resort lifestyle"
        ],
        "example_media_refs": [
          "160936:1",
          "161349:1",
          "160385:1",
          "160936:5"
        ],
        "example_post_ids": [
          160936,
          161349,
          160385
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 3,
        "matching_author_count": 3
      },
      {
        "blog_title": "Tenniscore Evolution: Court Dresses as the Ultimate Daywear",
        "trend_name": "Preppy Athletic Court Dresses",
        "trend_type": "outfit",
        "trend_trajectory": "net_new",
        "historical_note": "Evolving from direct sportswear to general lifestyle daywear, blending tennis aesthetics with daily leisure.",
        "description": "White and navy court dresses, athletic polo dresses with contrast trim details, and preppy tennis silhouettes.",
        "visual_similarity_reason": "Consistent athletic dresses, white contrast piping, preppy collar designs, and structured sporty silhouettes framed in casual lifestyle setups.",
        "instagram_caption": "From the court to morning brunch. 🎾💚\n\nServe up effortless summer style with high-contrast piping and preppy polo dresses that never miss.\n\n#tenniscore #athleticdress #sportychic #preppystyle",
        "trend_signal_strength": "strong",
        "confidence_score": 0.9,
        "keywords": [
          "tennis dress",
          "contrast trim",
          "preppy athletic",
          "court style"
        ],
        "example_media_refs": [
          "160819:1",
          "161207:1",
          "161209:1",
          "161108:1"
        ],
        "example_post_ids": [
          160819,
          161207,
          161209,
          161108
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 3
      },
      {
        "blog_title": "Heirloom Nautical: Heavyweight Canvas Seaside Totes",
        "trend_name": "Maritime & Nautical Canvas Totes",
        "trend_type": "accessory",
        "trend_trajectory": "net_new",
        "historical_note": "Net-new entry of heavyweight canvas bags replacing delicate open-weave straw bags for transit and daily errands.",
        "description": "Structured heavyweight cotton canvas tote bags featuring nautical themes, screen-printed illustrations, and maritime custom embroidery.",
        "visual_similarity_reason": "Repeated focus on heavy cotton canvas, embroidered marine designs, classic red or navy borders, and practical seaside styling.",
        "instagram_caption": "A city-to-beach classic that actually holds it all. 🐳⚓\n\nNautical emblems and heavyweight canvas meet your new weekend companion.\n\n#canvasbag #maritimestyle #boatbag #prepstyle",
        "trend_signal_strength": "medium",
        "confidence_score": 0.88,
        "keywords": [
          "canvas tote",
          "nautical aesthetic",
          "whale motif",
          "beach bag"
        ],
        "example_media_refs": [
          "161723:1",
          "161564:1",
          "161725:1",
          "161108:1"
        ],
        "example_post_ids": [
          161723,
          161564,
          161725,
          161108
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 3
      },
      {
        "blog_title": "Summer Uniform: Off-White Linen Drawstring Trousers",
        "trend_name": "Linen Drawstring Trousers",
        "trend_type": "outfit",
        "trend_trajectory": "net_new",
        "historical_note": "A sustained base staple that returns as the primary uniform for beachside getaways.",
        "description": "Relaxed wide-leg trousers and matching sets crafted from organic cream and beige linen, styled with minimal luxury accessories.",
        "visual_similarity_reason": "Matching lightweight linen fabrics, wide-leg utility silhouettes, cream palettes, and relaxed resort poses.",
        "instagram_caption": "Out of Office mode is officially on. 🌾☀️\n\nEasy, breezy linen coords designed to take you effortlessly from sand to garden dinner.\n\n#linenstyle #resortlook #neutraloutfit #apieceapart",
        "trend_signal_strength": "strong",
        "confidence_score": 0.94,
        "keywords": [
          "linen pants",
          "cream trouser",
          "matching set",
          "relaxed silhouette"
        ],
        "example_media_refs": [
          "161036:1",
          "161306:1",
          "161270:1",
          "161055:1"
        ],
        "example_post_ids": [
          161036,
          161306,
          161270,
          161055
        ],
        "matching_image_count": 4,
        "matching_parent_post_count": 4,
        "matching_author_count": 4
      }
    ],
    "overview_title": "Latest Trends",
    "overview_description": "This week’s shift toward effortless summer luxury centers on elevated coastal uniforms, defined by crisp blue-and-white pinstriped button-downs from rising labels like @yaitte_ and @chava_studio paired with fluid, wide-leg linen trousers from @apieceapart. The aesthetic is anchored by structured nautical canvas totes from @alexmillny and sporty, contrast-trimmed court dresses by @recreationalhabits that seamlessly bridge athletic function with preppy refinement. For transition hours, the look softens into cozy, color-coordinated knitwear from @skatiebrand and @splendidla, delivering a polished, resort-ready approach to warm-weather dressing.",
    "generation_diagnostics": {
      "available": true,
      "generated_at": "2026-07-13T20:23:05.812205Z",
      "tag": "styled",
      "media_scope": "all_media",
      "generation_strategy": "deep_chunked_two_pass_candidate_discovery_and_validation",
      "report_profile": "deep",
      "model": "~google/gemini-flash-latest",
      "previous_report_context": null,
      "vision_preflight": {
        "enabled": true,
        "since": "2026-06-29T19:56:46.754973Z",
        "media_scope": "all_media",
        "scoped_post_count": 0,
        "batch_size": 500,
        "max_batches": 20,
        "batch_count": 2,
        "images_requested": 391,
        "images_analyzed": 390,
        "posts_touched": 428,
        "reached_batch_cap": false,
        "batches": [
          {
            "batch_number": 1,
            "images_requested": 391,
            "images_analyzed": 390,
            "posts_touched": 428,
            "completion_reconciled": true
          },
          {
            "batch_number": 2,
            "images_requested": 0,
            "images_analyzed": 0,
            "posts_touched": 0,
            "completion_reconciled": false
          }
        ]
      },
      "chunking": {
        "enabled": true,
        "chunk_number": 3,
        "chunk_count": 4,
        "max_posts_per_chunk": 200,
        "max_media_per_chunk": 500,
        "chunk_post_count": 200,
        "chunk_media_count": 221,
        "full_source_post_count": 792,
        "full_eligible_post_count": 690,
        "full_source_media_count": 886
      },
      "criteria": {
        "time_window_days": 14,
        "window_start": "2026-06-29T19:56:46.754973Z",
        "minimum_confidence": 0.7,
        "minimum_matching_images": 4,
        "minimum_parent_posts": 3,
        "maximum_images_per_parent_post": 2,
        "preferred_matching_images": "6-12 when available; 4+ accepted for emerging micro-trends",
        "visual_similarity_is_primary": true,
        "caption_required": false,
        "captionless_posts_included": true,
        "engagement_included_in_prompt": true,
        "single_campaign_trends_excluded": true,
        "media_refs_can_support_multiple_trends": true,
        "deep_report_max_posts": 200,
        "deep_report_max_media": 500,
        "prompt_character_limit": 300000,
        "caption_character_limit": 600,
        "media_tag_limit": 14,
        "media_tag_character_limit": 0
      },
      "source_post_count": 792,
      "source_media_count": 886,
      "eligible_post_count": 690,
      "chunk_post_count": 200,
      "chunk_media_count": 221,
      "analyzed_post_count": 200,
      "analyzed_post_ids": [
        161336,
        160963,
        161445,
        161303,
        161274,
        161564,
        160931,
        161157,
        161207,
        160593,
        161723,
        161229,
        160473,
        150840,
        161266,
        161544,
        161788,
        161180,
        161348,
        161616,
        161601,
        160819,
        160750,
        160433,
        161055,
        160401,
        160807,
        160850,
        160682,
        160950,
        160902,
        161586,
        160869,
        161252,
        160569,
        160672,
        161158,
        161522,
        160456,
        161304,
        160751,
        160609,
        161012,
        161036,
        161013,
        160936,
        161108,
        161291,
        160758,
        160989,
        160777,
        161806,
        161230,
        161320,
        160594,
        161267,
        161545,
        160690,
        160903,
        161724,
        160728,
        150841,
        161446,
        161181,
        161275,
        160402,
        160314,
        161617,
        161208,
        161349,
        161418,
        160673,
        161436,
        160683,
        161117,
        161305,
        160999,
        160382,
        161037,
        161706,
        160508,
        160635,
        161161,
        160990,
        161808,
        160964,
        161357,
        160741,
        161725,
        161182,
        161691,
        160315,
        160752,
        160403,
        150842,
        161321,
        161209,
        161081,
        161768,
        160778,
        161447,
        161109,
        161622,
        160674,
        161337,
        161214,
        160870,
        161163,
        160474,
        161238,
        161565,
        161306,
        160753,
        160383,
        161038,
        160965,
        160879,
        161110,
        161618,
        160363,
        161160,
        160579,
        161588,
        161602,
        161809,
        160742,
        161810,
        160404,
        161636,
        161129,
        160691,
        161111,
        160373,
        161438,
        161490,
        150843,
        161322,
        160457,
        161183,
        161350,
        161056,
        161141,
        161566,
        161448,
        161164,
        161067,
        161191,
        160563,
        160966,
        161269,
        160871,
        161000,
        160384,
        161603,
        161048,
        160475,
        160991,
        161651,
        160754,
        160385,
        161039,
        160636,
        161098,
        161112,
        161292,
        161652,
        160808,
        161769,
        161777,
        160521,
        160643,
        161192,
        161338,
        161449,
        160386,
        160730,
        161546,
        161358,
        160881,
        161165,
        161637,
        160564,
        160820,
        161604,
        161184,
        150844,
        161239,
        161339,
        160951,
        161072,
        160644,
        160684,
        161001,
        161270,
        160364,
        161419,
        161253,
        160316,
        161506,
        161567
      ],
      "analyzed_media_count": 221,
      "analyzed_media_refs": [
        "161336:1",
        "160963:1",
        "161445:1",
        "161303:1",
        "161274:1",
        "161564:1",
        "160931:1",
        "161157:1",
        "161207:1",
        "160593:1",
        "161723:1",
        "161229:1",
        "160473:1",
        "150840:1",
        "161266:1",
        "161544:1",
        "161788:1",
        "161180:1",
        "161348:1",
        "161616:1",
        "161601:1",
        "160819:1",
        "160750:1",
        "160433:1",
        "161055:1",
        "161055:2",
        "160401:1",
        "160807:1",
        "160850:1",
        "160682:1",
        "160950:1",
        "160902:1",
        "161586:1",
        "160869:1",
        "161252:1",
        "160569:1",
        "160672:1",
        "161158:1",
        "161522:1",
        "160456:1",
        "161304:1",
        "160751:1",
        "160609:1",
        "161012:1",
        "161036:1",
        "161013:1",
        "160936:1",
        "160936:2",
        "160936:3",
        "160936:4",
        "160936:5",
        "160936:6",
        "161108:1",
        "161291:1",
        "160758:1",
        "160989:1",
        "160777:1",
        "161806:1",
        "161230:1",
        "161320:1",
        "161320:2",
        "161320:3",
        "160594:1",
        "161267:1",
        "161545:1",
        "160690:1",
        "160903:1",
        "161724:1",
        "160728:1",
        "150841:1",
        "161446:1",
        "161181:1",
        "161275:1",
        "160402:1",
        "160314:1",
        "161617:1",
        "161208:1",
        "161349:1",
        "161418:1",
        "160673:1",
        "161436:1",
        "160683:1",
        "161117:1",
        "161305:1",
        "160999:1",
        "160382:1",
        "160382:2",
        "161037:1",
        "161706:1",
        "160508:1",
        "160508:2",
        "160635:1",
        "161161:1",
        "160990:1",
        "161808:1",
        "160964:1",
        "161357:1",
        "160741:1",
        "161725:1",
        "161182:1",
        "161691:1",
        "161691:2",
        "161691:3",
        "160315:1",
        "160752:1",
        "160403:1",
        "150842:1",
        "161321:1",
        "161209:1",
        "161081:1",
        "161768:1",
        "160778:1",
        "161447:1",
        "161109:1",
        "161622:1",
        "160674:1",
        "161337:1",
        "161214:1",
        "160870:1",
        "161163:1",
        "161163:2",
        "161163:3",
        "160474:1",
        "161238:1",
        "161565:1",
        "161306:1",
        "160753:1",
        "160383:1",
        "161038:1",
        "160965:1",
        "160879:1",
        "161110:1",
        "161618:1",
        "160363:1",
        "161160:1",
        "160579:1",
        "160579:2",
        "160579:3",
        "161588:1",
        "161602:1",
        "161809:1",
        "160742:1",
        "161810:1",
        "160404:1",
        "161636:1",
        "161129:1",
        "160691:1",
        "161111:1",
        "160373:1",
        "161438:1",
        "161490:1",
        "150843:1",
        "161322:1",
        "160457:1",
        "161183:1",
        "161350:1",
        "161056:1",
        "161056:2",
        "161141:1",
        "161566:1",
        "161448:1",
        "161164:1",
        "161164:2",
        "161067:1",
        "161067:2",
        "161067:3",
        "161067:4",
        "161191:1",
        "160563:1",
        "160966:1",
        "161269:1",
        "160871:1",
        "161000:1",
        "160384:1",
        "161603:1",
        "161048:1",
        "160475:1",
        "160991:1",
        "161651:1",
        "160754:1",
        "160385:1",
        "161039:1",
        "160636:1",
        "161098:1",
        "161112:1",
        "161292:1",
        "161652:1",
        "160808:1",
        "161769:1",
        "161777:1",
        "160521:1",
        "160643:1",
        "161192:1",
        "161338:1",
        "161449:1",
        "160386:1",
        "160730:1",
        "161546:1",
        "161358:1",
        "160881:1",
        "161165:1",
        "161637:1",
        "160564:1",
        "160820:1",
        "161604:1",
        "161184:1",
        "150844:1",
        "161239:1",
        "161339:1",
        "160951:1",
        "161072:1",
        "160644:1",
        "160684:1",
        "161001:1",
        "161270:1",
        "160364:1",
        "161419:1",
        "161253:1",
        "160316:1",
        "161506:1",
        "161567:1"
      ],
      "full_source_prompt_character_count": 118208,
      "source_prompt_character_count": 118208,
      "prompt_character_count": 118208,
      "prompt_character_limit": 300000,
      "prompt_was_truncated": false,
      "candidate_prompt_character_count": 122367,
      "validation_prompt_character_count": 129681,
      "candidate_reasoning_scratchpad": "This period's landscape is heavily defined by high-summer escapism, displaying a distinct evolution into elevated coastal grandmother aesthetics, structured Americana dressing for holiday settings, and matching textured coordinates. We also see a clear push toward neutral athletic leisurewear that balances country club preppiness with functional, minimalist styling.",
      "validation_reasoning_scratchpad": "We validated and expanded key summer transitions including coastal blue pinstripes, classic preppy tenniscore uniforms, textured crochet knit sets, and maritime canvas totes. These trends capture an aspirational, sun-soaked lifestyle that bridges urban daywear with seaside resort lounging.",
      "ai_discovered_candidate_count": 10,
      "candidate_trends": [
        {
          "candidate_name": "Coastal Grandmother Blue & White Pinstripes",
          "trend_type": "outfit",
          "visual_axis": "styling_formula",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "160758:1",
            "161322:1",
            "161522:1",
            "161636:1"
          ],
          "visual_cues": [
            "light blue pinstripe",
            "classic button down shirt",
            "oversized striped shirt",
            "relaxed summer tailoring"
          ]
        },
        {
          "candidate_name": "The Knit & Crochet Co-ord Set",
          "trend_type": "outfit",
          "visual_axis": "texture",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "160936:1",
            "161349:1",
            "160385:1",
            "160936:5"
          ],
          "visual_cues": [
            "cream knit set",
            "crochet texture",
            "white crochet set",
            "ribbed co-ord"
          ]
        },
        {
          "candidate_name": "Chocolate Brown Ribbed Basics",
          "trend_type": "color",
          "visual_axis": "color",
          "historical_relationship": "net_new",
          "seed_media_count": 4,
          "seed_media_refs": [
            "160579:1",
            "160579:2",
            "160579:3",
            "160936:2"
          ],
          "visual_cues": [
            "chocolate brown top",
            "ribbed racerback tank top",
            "earthy tones",
            "sleeveless top"
          ]
        },
        {
          "candidate_name": "Preppy Athletic Court Dresses",
          "trend_type": "outfit",
          "visual_axis": "garment_type",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "160819:1",
            "161207:1",
            "161209:1"
          ],
          "visual_cues": [
            "tenniscore aesthetic",
            "court dress",
            "white contrast trim",
            "preppy athletic style"
          ]
        },
        {
          "candidate_name": "Maritime & Nautical Canvas Totes",
          "trend_type": "accessory",
          "visual_axis": "accessory",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "161723:1",
            "161564:1",
            "161725:1"
          ],
          "visual_cues": [
            "canvas tote bag",
            "nautical theme",
            "whale motif",
            "heavyweight cotton"
          ]
        },
        {
          "candidate_name": "Lace & Crochet Trimmed Loungewear",
          "trend_type": "outfit",
          "visual_axis": "texture",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "160433:1",
            "161230:1",
            "160402:1",
            "160636:1",
            "160644:1"
          ],
          "visual_cues": [
            "lace trim detail",
            "white cotton nightgown",
            "black lace blouse",
            "crochet trim"
          ]
        },
        {
          "candidate_name": "Asymmetrical Satin Halter Tops",
          "trend_type": "outfit",
          "visual_axis": "silhouette",
          "historical_relationship": "net_new",
          "seed_media_count": 5,
          "seed_media_refs": [
            "161163:1",
            "161163:2",
            "161163:3",
            "161164:1",
            "161164:2"
          ],
          "visual_cues": [
            "satin halter top",
            "draped silhouette",
            "asymmetrical",
            "backless silhouette"
          ]
        },
        {
          "candidate_name": "Patriotic Americana Red, White & Blue Knits",
          "trend_type": "outfit",
          "visual_axis": "styling_formula",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "160879:1",
            "160475:1",
            "161109:1"
          ],
          "visual_cues": [
            "american flag sweater",
            "nautical stripes",
            "fleece pullovers",
            "navy star motif"
          ]
        },
        {
          "candidate_name": "Linen Drawstring Trousers",
          "trend_type": "outfit",
          "visual_axis": "garment_type",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "161036:1",
            "161306:1",
            "161270:1"
          ],
          "visual_cues": [
            "linen trousers",
            "cream linen matching set",
            "wide leg pants",
            "relaxed silhouette"
          ]
        },
        {
          "candidate_name": "Retro Striped Parasols & Sun Loungers",
          "trend_type": "setting",
          "visual_axis": "setting",
          "historical_relationship": "net_new",
          "seed_media_count": 3,
          "seed_media_refs": [
            "161267:1",
            "161158:1",
            "161810:1"
          ],
          "visual_cues": [
            "yellow striped parasols",
            "beach club setting",
            "mediterranean style",
            "pebble beach"
          ]
        }
      ],
      "ai_candidate_trend_count": 6,
      "ai_validated_trend_count_before_filter": 6,
      "accepted_trend_count": 5,
      "rejected_trend_count": 1,
      "rejected_trends": [
        {
          "trend_name": "Asymmetrical Satin Halter Tops",
          "confidence_score": 0.85,
          "valid_matching_image_count": 4,
          "matching_parent_post_count": 2,
          "matching_author_count": 1,
          "invalid_or_out_of_scope_media_refs": [],
          "unparseable_media_refs": [],
          "excluded_same_post_media_refs": [],
          "reasons": [
            "Images came from only 2 parent posts; minimum is 3."
          ]
        }
      ]
    }
  }
}