{"summary":{"analyzed":true,"build_worthy":false,"build_worthy_family_key":"developer-change-ops","build_worthy_family_name":"developer change safety and site customization","build_worthy_reason":"This row is supporting evidence for the linked opportunity family; use the family card, not this row, for the build decision.","build_worthy_scope":"opportunity_family","comments_returned":5,"commercial_card_missing_count":1,"commercial_card_status":"needs_detail","commercial_context_status":"linked_opportunity","commercial_context_status_label":"Evidence linked to opportunity","evidence_context_status":"linked_opportunity","evidence_context_status_label":"Evidence linked to opportunity","evidence_role":"supports_opportunity_family","evidence_role_label":"Evidence supporting opportunity family","evidence_role_reason":"This row is supporting evidence for the linked opportunity family; use the family card, not this row, for the build decision.","intelligence_role":"supporting_evidence","intelligence_role_label":"Supporting evidence","is_build_worthy":false,"opportunity_context_status":"linked_opportunity","opportunity_context_status_label":"Evidence linked to opportunity","opportunity_decision_status":"supporting_evidence","opportunity_decision_status_label":"Supporting evidence","opportunity_relevance":0.74,"plugin_name":"Visual Link Preview","promotion_reason":"This row is supporting evidence linked to a commercial opportunity family, not the build-worthy opportunity itself.","promotion_status":"linked_opportunity","promotion_status_label":"Evidence linked to opportunity","recommendation_role":"evidence_input","recommendation_role_label":"Evidence input","reply_count":5,"row_is_build_worthy":false,"row_is_opportunity":false,"row_role":"supporting_evidence","row_role_label":"Supporting evidence","sentiment":"complaint","severity":"medium","slug":"visual-link-preview","source":"support","source_link_count":2,"url":"https://wordpress.org/support/topic/carousel-44/","worth_validating":false,"source_count":0,"source_evidence_summary":{"total":15,"source_evidence_rows":1,"source_link_rows":1,"source_count_only_rows":0,"missing_source_evidence_rows":14,"source_evidence_not_applicable_rows":0,"source_link_coverage_percent":6.7,"evidence_required_rows":0,"evidence_required_rows_missing_source_links":0,"build_worthy_rows_missing_source_links":0,"decision_rows_missing_source_links":0,"missing_source_examples":[]},"commercial_readiness":{"total":15,"validation_ready":0,"core_validation_ready_rows":0,"family_wide_validation_ready_rows":0,"core_only_validation_ready_rows":0,"validation_scope_status":"not_ready","validation_scope_label":"Not ready","validation_scope_warning":"","validation_scope_counts":[{"scope":"not_validation_ready","label":"Not validation-ready","count":15}],"blocker_count":34,"caution_count":0,"status_counts":[{"status":"needs_thesis_detail","label":"Needs thesis detail","count":15}],"blocker_counts":[{"label":"Commercial card missing: Source evidence","count":15},{"label":"Commercial gate not complete: investigate pain","count":14},{"label":"Commercial gate not complete: Gate mostly supported","count":1},{"label":"Gate missing: Paid adjacent proof","count":1},{"label":"Gate weak: Paid adjacent proof","count":1},{"label":"External proof gate is not strong enough for promotion.","count":1},{"label":"Missing paid adjacent proof.","count":1}],"caution_counts":[],"ready_for_buyer_validation":0,"needs_external_proof":0,"needs_family_proof":0,"needs_report":0,"needs_thesis_detail":15,"needs_thesis_sharpening":0,"research_first":0,"research_only":0,"hold":0,"unclassified":0,"core_wedge_validation_ready_rows":0,"full_family_validation_ready_rows":0,"scope_limited_validation_rows":0,"full_family_claim_ready_rows":0,"validation_claim_scope_policy":"Core-only validation rows are worth buyer testing, but they must not be presented as full-family commercial opportunities until family_wide_validation_ready is true."},"commercial_readiness_summary":{"status":"needs_thesis_detail","label":"Needs thesis detail","validation_ready":false,"family_key":"developer-change-ops","family_name":"developer change safety and site customization","decision_bucket":"investigate_pain","decision_bucket_label":"Investigate Pain","proof_status":"missing","proof_status_label":"Missing outside proof","commercial_gate_status":"mostly_supported","commercial_gate_label":"Gate mostly supported","commercial_gate_passed":6,"commercial_gate_total":7,"commercial_card_status":"needs_detail","commercial_card_complete":false,"commercial_card_missing_count":1,"blockers":["Commercial card missing: Source evidence","Commercial gate not complete: Gate mostly supported","Gate missing: Paid adjacent proof","Gate weak: Paid adjacent proof","External proof gate is not strong enough for promotion.","Missing paid adjacent proof."],"blocker_count":6,"cautions":[],"caution_count":0,"next_action":"Sharpen the buyer, pain, and paid workflow around preflight snippet code changes, compatibility risks, rollback paths, and debug evidence; interview developers before validation.","dossier_url":"/opportunities/families/developer-change-ops/dossier","dossier_api_url":"/api/opportunities/families/developer-change-ops/dossier"},"readiness_summary":{"status":"needs_thesis_detail","label":"Needs thesis detail","validation_ready":false,"family_key":"developer-change-ops","family_name":"developer change safety and site customization","decision_bucket":"investigate_pain","decision_bucket_label":"Investigate Pain","proof_status":"missing","proof_status_label":"Missing outside proof","commercial_gate_status":"mostly_supported","commercial_gate_label":"Gate mostly supported","commercial_gate_passed":6,"commercial_gate_total":7,"commercial_card_status":"needs_detail","commercial_card_complete":false,"commercial_card_missing_count":1,"blockers":["Commercial card missing: Source evidence","Commercial gate not complete: Gate mostly supported","Gate missing: Paid adjacent proof","Gate weak: Paid adjacent proof","External proof gate is not strong enough for promotion.","Missing paid adjacent proof."],"blocker_count":6,"cautions":[],"caution_count":0,"next_action":"Sharpen the buyer, pain, and paid workflow around preflight snippet code changes, compatibility risks, rollback paths, and debug evidence; interview developers before validation.","dossier_url":"/opportunities/families/developer-change-ops/dossier","dossier_api_url":"/api/opportunities/families/developer-change-ops/dossier"},"cache_source":"durable_stale","cache_age_seconds":36226,"payload_mode":"compact","full_payload_url":"/api/evidence/source?full=true&compact_schema=evidence-source-v2&url=https%3A//wordpress.org/support/topic/carousel-44/&comment_limit=80&text_limit=12000","row_key":"rows","source_row_key":"rows","rows_shown":1,"comments_shown":3,"evidence_summary":{"total":1,"source_evidence_rows":0,"source_link_rows":1,"source_count_only_rows":0,"missing_source_evidence_rows":0,"source_evidence_not_applicable_rows":0,"source_link_coverage_percent":100.0,"evidence_required_rows":0,"evidence_required_rows_missing_source_links":0,"build_worthy_rows_missing_source_links":0,"decision_rows_missing_source_links":0,"missing_source_examples":[]}},"rows":[{"section":"source","row_type":"source","url":"https://wordpress.org/support/topic/carousel-44/","slug":"visual-link-preview","plugin_name":"Visual Link Preview","source":"support","sentiment":"complaint","severity":"medium","opportunity_relevance":0.74,"reply_count":5,"comments_returned":5,"analyzed":true,"source_link_count":2,"title":"Carousel","author":"BlackBoXz","published_at":"2024-07-24T18:03:00+00:00","resolved":false,"collected_at":"2026-05-29T05:53:35+00:00","intent":"problem_report","affected_feature":"support","summary":"Carousel: users show support pain that may indicate a product gap.","evidence_quote":"This reply was modified 1 year, 10 months ago by BlackBoXz .","confidence":0.68,"analyzed_at":"2026-05-29T05:55:14+00:00","market_key":"snippet","market_name":"Snippet","market_url":"/markets/snippet","opportunity_url":"/opportunities/snippet","family_key":"developer-change-ops","family_name":"developer change safety and site customization","opportunity_family_key":"developer-change-ops","opportunity_family_name":"developer change safety and site customization","buyer":"developers, agencies, and technical site owners","what_to_build":"Snippet change-safety workflow for shipping custom code and site changes without breaking production","urgent_problem":"Custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs.","problem":"Custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs.","competitor_gap":"Gap to test: can buyers preflight snippet code changes, compatibility risks, rollback paths, and debug evidence before custom-code breakage and rollback risk. pain: custom-code or snippet breakage risk (1 signal). weak-incumbent evidence gives 20 teardown signal(s). Entry...","proof_support":"Proof base: paid-adjacent plugin or pricing signals, repeated WordPress pain, and weak incumbent coverage around shipping custom code and site changes without breaking production.","needs_validation":"External proof gate is not strong enough for promotion.; Missing paid adjacent proof.","what_still_needs_validation":"External proof gate is not strong enough for promotion.; Missing paid adjacent proof.","commercial_attractiveness":"Commercial pull comes from developers: custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs. The first paid wedge is to preflight snippet code changes, compatibility risks, rollback paths, and debug evidence. Revenue...","first_validation_wedge":"preflight snippet code changes, compatibility risks, rollback paths, and debug evidence","mvp_wedge":"preflight snippet code changes, compatibility risks, rollback paths, and debug evidence","decision_bucket":"investigate_pain","decision_bucket_label":"Investigate Pain","row_role":"supporting_evidence","recommendation_role":"evidence_input","evidence_role":"supports_opportunity_family","promotion_status":"linked_opportunity","promotion_status_label":"Evidence linked to opportunity","promotion_reason":"This row is supporting evidence linked to a commercial opportunity family, not the build-worthy opportunity itself.","is_build_worthy":false,"worth_validating":false,"build_worthy_scope":"opportunity_family","build_worthy_family_key":"developer-change-ops","opportunity_decision_status":"supporting_evidence","body_summary":"Hi, I have a suggestion, what do you think about adding a carousel to the plugin?","issue_labels":["support","value"],"source_links":[{"source_url":"https://wordpress.org/support/topic/carousel-44/","url":"https://wordpress.org/support/topic/carousel-44/","original_url":"https://wordpress.org/support/topic/carousel-44/","source_page_url":"/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fcarousel-44%2F","source_api_url":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fcarousel-44%2F"}]}],"plugin":{"active_installs":10000,"api_url":"/api/plugins/visual-link-preview","downloaded":190812,"name":"Visual Link Preview","rating":90.0,"slug":"visual-link-preview","tags":["link preview","snippet","summary","visual link"],"url":"/plugin/visual-link-preview"},"conversation":{"url":"https://wordpress.org/support/topic/carousel-44/","slug":"visual-link-preview","source":"support","title":"Carousel","author":"BlackBoXz","published_at":"2024-07-24T18:03:00+00:00","resolved":false,"reply_count":5,"collected_at":"2026-05-29T05:53:35+00:00","body_summary":"Hi, I have a suggestion, what do you think about adding a carousel to the plugin?","full_text_summary":"Hi, I have a suggestion, what do you think about adding a carousel to the plugin? Hi there, I’m not sure how that relates to the existing functionality. Do you have an example of what you’re looking for? Kind regards, Brecht What I’m actually looking for is a sidebar widget..."},"analysis":{"affected_feature":"support","analyzed_at":"2026-05-29T05:55:14+00:00","complaint_types":["support"],"confidence":0.68,"conversation_url":"https://wordpress.org/support/topic/carousel-44/","evidence_quote":"This reply was modified 1 year, 10 months ago by BlackBoXz .","intent":"problem_report","issue_labels":["support","value"],"model":"heuristic-v1","opportunity_relevance":0.74,"praise_types":["value"],"sentiment":"complaint","severity":"medium","slug":"visual-link-preview","source":"support","summary":"Carousel: users show support pain that may indicate a product gap."},"comments":[{"position":1,"author":"Brecht","published_at":"2024-07-24T18:06:00+00:00","body_summary":"Hi there, I’m not sure how that relates to the existing functionality. Do you have an example of what you’re looking for? Kind regards, Brecht"},{"position":2,"author":"BlackBoXz","published_at":"2024-07-24T19:53:00+00:00","body_summary":"What I’m actually looking for is a sidebar widget (compact-1 column) slider/carousel with visual links rotating in it? This reply was modified 1 year, 10 months ago by BlackBoXz ."},{"position":3,"author":"Brecht","published_at":"2024-07-24T20:19:00+00:00","body_summary":"I guess that could exist outside of our plugin, where you’d just add multiple VLP blocks to this widget? I’m not aware of a plugin that does this at the moment though. Brecht"}],"source_links":[{"source_url":"https://wordpress.org/support/topic/carousel-44/","url":"https://wordpress.org/support/topic/carousel-44/","original_url":"https://wordpress.org/support/topic/carousel-44/","source_page_url":"/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fcarousel-44%2F","source_api_url":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fcarousel-44%2F"},{"source_url":"https://wordpress.org/plugins/visual-link-preview/","url":"https://wordpress.org/plugins/visual-link-preview/","original_url":"https://wordpress.org/plugins/visual-link-preview/","source_page_url":"/plugin/visual-link-preview","source_api_url":"/api/plugins/visual-link-preview"}],"source_link_count":2,"market_key":"snippet","market_name":"Snippet","market_url":"/markets/snippet","opportunity_url":"/opportunities/snippet","opportunity_card":{"key":"developer-change-ops","name":"developer change safety and site customization","family_key":"developer-change-ops","family_name":"developer change safety and site customization","family_label":"developer change safety and site customization","display_name":"developer change safety and site customization","opportunity_name":"developer change safety and site customization","opportunity_label":"developer change safety and site customization","decision_bucket":"investigate_pain","commercial_readiness_status":"needs_thesis_detail","commercial_readiness_label":"Needs thesis detail","validation_ready":false,"is_build_worthy":false,"row_role":"opportunity_family","recommendation_role":"commercial_opportunity_candidate","buyer":"developers, agencies, and technical site owners","who_buys":"developers, agencies, and technical site owners","primary_buyer_segment":"developers","urgent_problem":"Custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs.","problem":"Custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs.","pain":"Custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs.","what_to_build":"Snippet change-safety workflow for shipping custom code and site changes without breaking production","first_validation_wedge":"preflight snippet code changes, compatibility risks, rollback paths, and debug evidence","mvp_wedge":"preflight snippet code changes, compatibility risks, rollback paths, and debug evidence","wedge":"preflight snippet code changes, compatibility risks, rollback paths, and debug evidence","source_count":0,"source_link_count":0,"next_action":"Sharpen the buyer, pain, and paid workflow around preflight snippet code changes, compatibility risks, rollback paths, and debug evidence; interview developers before validation.","family_dossier_url":"/opportunities/families/developer-change-ops/dossier","opportunity_family_dossier_url":"/opportunities/families/developer-change-ops/dossier","family_dossier_api_url":"/api/opportunities/families/developer-change-ops/dossier","opportunity_family_dossier_api_url":"/api/opportunities/families/developer-change-ops/dossier","urls":{"dossier":"/opportunities/families/developer-change-ops/dossier","family":"/opportunities?family=developer-change-ops"},"api_urls":{"dossier":"/api/opportunities/families/developer-change-ops/dossier","family":"/api/opportunities/families?family=developer-change-ops"},"family_url":"/opportunities?family=developer-change-ops","opportunity_family_url":"/opportunities?family=developer-change-ops","opportunity_family_api_url":"/api/opportunities/families?family=developer-change-ops","commercial_gate_status":"mostly_supported","commercial_gate_label":"Gate mostly supported","commercial_card_status":"needs_detail","commercial_card_missing_count":1},"commercial_card_summary":{"status":"needs_detail","status_label":"needs detail","missing":["Source evidence"],"missing_count":1,"passed":8,"required":9,"summary":{}},"commercial_card_checklist":[{"key":"what_to_build","label":"What to build","passed":true,"status":"pass","detail":"Snippet change-safety workflow for shipping custom code and site changes without breaking production"},{"key":"specific_buyer","label":"Specific buyer","passed":true,"status":"pass","detail":"developers, agencies, and technical site owners"},{"key":"urgent_problem","label":"Urgent problem","passed":true,"status":"pass","detail":"Custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs."},{"key":"competitor_gap","label":"Competitor gap","passed":true,"status":"pass","detail":"Gap to test: can buyers preflight snippet code changes, compatibility risks, rollback paths, and debug evidence before custom-code breakage and rollback risk. pain: custom-code or snippet breakage risk (1 signal). weak-i"}],"family_key":"developer-change-ops","family_name":"developer change safety and site customization","opportunity_family_key":"developer-change-ops","opportunity_family_name":"developer change safety and site customization","buyer":"developers, agencies, and technical site owners","what_to_build":"Snippet change-safety workflow for shipping custom code and site changes without breaking production","urgent_problem":"Custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs.","problem":"Custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs.","competitor_gap":"Gap to test: can buyers preflight snippet code changes, compatibility risks, rollback paths, and debug evidence before custom-code breakage and rollback risk. pain: custom-code or snippet breakage risk (1 signal). weak-incumbent evidence gives 20 teardown signal(s). Entry wedge: preflight snippet code changes, compatibility risks, rollback paths, and debug evidence.","proof_support":"Proof base: paid-adjacent plugin or pricing signals, repeated WordPress pain, and weak incumbent coverage around shipping custom code and site changes without breaking production.","needs_validation":"External proof gate is not strong enough for promotion.; Missing paid adjacent proof.","what_still_needs_validation":"External proof gate is not strong enough for promotion.; Missing paid adjacent proof.","commercial_attractiveness":"Commercial pull comes from developers: custom code, snippets, headers, and editor changes can silently break sites or create hard-to-debug handoffs. The first paid wedge is to preflight snippet code changes, compatibility risks, rollback paths, and debug evidence. Revenue can come from change history, staging checks, snippet governance, rollback guidance, and developer/team controls.","first_validation_wedge":"preflight snippet code changes, compatibility risks, rollback paths, and debug evidence","mvp_wedge":"preflight snippet code changes, compatibility risks, rollback paths, and debug evidence","decision_bucket":"investigate_pain","decision_bucket_label":"Investigate Pain","api_urls":{"evidence":"/api/evidence?slug=visual-link-preview","market":"/markets/snippet","opportunity":"/opportunities/snippet","plugin":"/api/plugins/visual-link-preview","source":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fcarousel-44%2F","wordpress":"https://wordpress.org/support/topic/carousel-44/","family":"/api/opportunities/families?family=developer-change-ops","dossier":"/api/opportunities/families/developer-change-ops/dossier"},"commercial_readiness":{"total":15,"validation_ready":0,"core_validation_ready_rows":0,"family_wide_validation_ready_rows":0,"core_only_validation_ready_rows":0,"validation_scope_status":"not_ready","validation_scope_label":"Not ready","validation_scope_warning":"","validation_scope_counts":[{"scope":"not_validation_ready","label":"Not validation-ready","count":15}],"blocker_count":34,"caution_count":0,"status_counts":[{"status":"needs_thesis_detail","label":"Needs thesis detail","count":15}],"blocker_counts":[{"label":"Commercial card missing: Source evidence","count":15},{"label":"Commercial gate not complete: investigate pain","count":14},{"label":"Commercial gate not complete: Gate mostly supported","count":1},{"label":"Gate missing: Paid adjacent proof","count":1},{"label":"Gate weak: Paid adjacent proof","count":1},{"label":"External proof gate is not strong enough for promotion.","count":1},{"label":"Missing paid adjacent proof.","count":1}],"caution_counts":[],"ready_for_buyer_validation":0,"needs_external_proof":0,"needs_family_proof":0,"needs_report":0,"needs_thesis_detail":15,"needs_thesis_sharpening":0,"research_first":0,"research_only":0,"hold":0,"unclassified":0,"core_wedge_validation_ready_rows":0,"full_family_validation_ready_rows":0,"scope_limited_validation_rows":0,"full_family_claim_ready_rows":0,"validation_claim_scope_policy":"Core-only validation rows are worth buyer testing, but they must not be presented as full-family commercial opportunities until family_wide_validation_ready is true."},"readiness_summary":{"total":15,"validation_ready":0,"core_validation_ready_rows":0,"family_wide_validation_ready_rows":0,"core_only_validation_ready_rows":0,"validation_scope_status":"not_ready","validation_scope_label":"Not ready","validation_scope_warning":"","validation_scope_counts":[{"scope":"not_validation_ready","label":"Not validation-ready","count":15}],"blocker_count":34,"caution_count":0,"status_counts":[{"status":"needs_thesis_detail","label":"Needs thesis detail","count":15}],"blocker_counts":[{"label":"Commercial card missing: Source evidence","count":15},{"label":"Commercial gate not complete: investigate pain","count":14},{"label":"Commercial gate not complete: Gate mostly supported","count":1},{"label":"Gate missing: Paid adjacent proof","count":1},{"label":"Gate weak: Paid adjacent proof","count":1},{"label":"External proof gate is not strong enough for promotion.","count":1},{"label":"Missing paid adjacent proof.","count":1}],"caution_counts":[],"ready_for_buyer_validation":0,"needs_external_proof":0,"needs_family_proof":0,"needs_report":0,"needs_thesis_detail":15,"needs_thesis_sharpening":0,"research_first":0,"research_only":0,"hold":0,"unclassified":0,"core_wedge_validation_ready_rows":0,"full_family_validation_ready_rows":0,"scope_limited_validation_rows":0,"full_family_claim_ready_rows":0,"validation_claim_scope_policy":"Core-only validation rows are worth buyer testing, but they must not be presented as full-family commercial opportunities until family_wide_validation_ready is true."},"evidence_summary":{"total":1,"source_evidence_rows":0,"source_link_rows":1,"source_count_only_rows":0,"missing_source_evidence_rows":0,"source_evidence_not_applicable_rows":0,"source_link_coverage_percent":100.0,"evidence_required_rows":0,"evidence_required_rows_missing_source_links":0,"build_worthy_rows_missing_source_links":0,"decision_rows_missing_source_links":0,"missing_source_examples":[]},"cache":{"source":"durable_stale","generated_at":"2026-08-06T00:37:11+00:00","age_seconds":36226},"row_role":"supporting_evidence","recommendation_role":"evidence_input","evidence_role":"supports_opportunity_family","promotion_status":"linked_opportunity","promotion_status_label":"Evidence linked to opportunity","promotion_reason":"This row is supporting evidence linked to a commercial opportunity family, not the build-worthy opportunity itself.","is_build_worthy":false,"worth_validating":false,"build_worthy_scope":"opportunity_family","build_worthy_family_key":"developer-change-ops","opportunity_decision_status":"supporting_evidence"}