{"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":0,"commercial_card_missing_count":0,"commercial_card_status":"complete","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.69,"plugin_name":"Multiple Featured Images","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":0,"row_is_build_worthy":false,"row_is_opportunity":false,"row_role":"supporting_evidence","row_role_label":"Supporting evidence","sentiment":"complaint","severity":"medium","slug":"multiple-featured-images","source":"review","source_link_count":2,"url":"https://wordpress.org/support/topic/saved-me-hours/","worth_validating":false,"source_count":0,"source_evidence_summary":{"total":33,"source_evidence_rows":4,"source_link_rows":4,"source_count_only_rows":0,"missing_source_evidence_rows":29,"source_evidence_not_applicable_rows":0,"source_link_coverage_percent":12.1,"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":33,"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":33}],"blocker_count":64,"caution_count":0,"status_counts":[{"status":"needs_external_proof","label":"Needs outside proof","count":32},{"status":"needs_family_proof","label":"Needs family proof","count":1}],"blocker_counts":[{"label":"Outside proof needed: not validated","count":32},{"label":"Commercial gate not complete: proof blocked","count":32}],"caution_counts":[],"ready_for_buyer_validation":0,"needs_external_proof":32,"needs_family_proof":1,"needs_report":0,"needs_thesis_detail":0,"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_family_proof","label":"Needs family proof","validation_ready":false,"family_key":"developer-change-ops","family_name":"developer change safety and site customization","decision_bucket":"proof_blocked","decision_bucket_label":"Proof Blocked","proof_status":"validated_core","proof_status_label":"Validated core","commercial_gate_status":"complete","commercial_gate_label":"Gate complete","commercial_gate_passed":7,"commercial_gate_total":7,"commercial_card_status":"complete","commercial_card_complete":true,"commercial_card_missing_count":0,"blockers":[],"blocker_count":0,"cautions":[],"caution_count":0,"next_action":"Finish the missing outside proof, then test buyer urgency with developers: preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence.","dossier_url":"/opportunities/families/developer-change-ops/dossier","dossier_api_url":"/api/opportunities/families/developer-change-ops/dossier"},"readiness_summary":{"status":"needs_family_proof","label":"Needs family proof","validation_ready":false,"family_key":"developer-change-ops","family_name":"developer change safety and site customization","decision_bucket":"proof_blocked","decision_bucket_label":"Proof Blocked","proof_status":"validated_core","proof_status_label":"Validated core","commercial_gate_status":"complete","commercial_gate_label":"Gate complete","commercial_gate_passed":7,"commercial_gate_total":7,"commercial_card_status":"complete","commercial_card_complete":true,"commercial_card_missing_count":0,"blockers":[],"blocker_count":0,"cautions":[],"caution_count":0,"next_action":"Finish the missing outside proof, then test buyer urgency with developers: preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence.","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":27369,"payload_mode":"compact","full_payload_url":"/api/evidence/source?full=true&compact_schema=evidence-source-v2&url=https%3A//wordpress.org/support/topic/saved-me-hours/&comment_limit=80&text_limit=12000","row_key":"rows","source_row_key":"rows","rows_shown":1,"comments_shown":0,"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/saved-me-hours/","slug":"multiple-featured-images","plugin_name":"Multiple Featured Images","source":"review","sentiment":"complaint","severity":"medium","opportunity_relevance":0.69,"reply_count":0,"comments_returned":0,"analyzed":true,"source_link_count":2,"title":"Saved me hours…","author":"Ben Hutchings","published_at":"2012-10-31T12:57:00+00:00","resolved":false,"collected_at":"2026-05-28T21:23:19+00:00","intent":"feature_request","affected_feature":"missing feature","summary":"Saved me hours…: users show missing feature pain that may indicate a product gap.","evidence_quote":"Saved me hours… Love this.","confidence":0.68,"analyzed_at":"2026-05-29T01:38:49+00:00","market_key":"custom post type","market_name":"Custom Post Type","market_url":"/markets/custom%20post%20type","opportunity_url":"/opportunities/custom%20post%20type","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":"Custom Post Type 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 custom post type code changes, compatibility risks, rollback paths, and debug evidence before custom-code breakage and rollback risk. pain: custom-code or snippet breakage risk (17 signals). weak-incumbent evidence gives 170 teardown...","proof_support":"Proof base: outside proof that buyers already pay around the workflow, 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":"finish the missing outside proof, then test buyer urgency with developers: preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence.","what_still_needs_validation":"finish the missing outside proof, then test buyer urgency with developers: preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence.","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 custom post type code changes, compatibility risks, rollback paths, and debug evidence....","first_validation_wedge":"preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence","mvp_wedge":"preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence","decision_bucket":"proof_blocked","decision_bucket_label":"Proof Blocked","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":"Love this. I was messing about with adding wp_editor areas to add images, but its so messy. This perfectly emulates the featured image look&feel. The backend functions are easy enough to use too.","issue_labels":["missing feature","easy","value","quality"],"source_links":[{"source_url":"https://wordpress.org/support/topic/saved-me-hours/","url":"https://wordpress.org/support/topic/saved-me-hours/","original_url":"https://wordpress.org/support/topic/saved-me-hours/","source_page_url":"/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsaved-me-hours%2F","source_api_url":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsaved-me-hours%2F"}]}],"plugin":{"active_installs":5000,"api_url":"/api/plugins/multiple-featured-images","downloaded":106796,"name":"Multiple Featured Images","rating":94.0,"slug":"multiple-featured-images","tags":["custom post type","featured image","multiple featured image","multiple featured images","post thumbnail"],"url":"/plugin/multiple-featured-images"},"conversation":{"url":"https://wordpress.org/support/topic/saved-me-hours/","slug":"multiple-featured-images","source":"review","title":"Saved me hours…","author":"Ben Hutchings","published_at":"2012-10-31T12:57:00+00:00","resolved":false,"reply_count":0,"collected_at":"2026-05-28T21:23:19+00:00","body_summary":"Love this. I was messing about with adding wp_editor areas to add images, but its so messy. This perfectly emulates the featured image look&feel. The backend functions are easy enough to use too."},"analysis":{"affected_feature":"missing feature","analyzed_at":"2026-05-29T01:38:49+00:00","complaint_types":["missing_feature"],"confidence":0.68,"conversation_url":"https://wordpress.org/support/topic/saved-me-hours/","evidence_quote":"Saved me hours… Love this.","intent":"feature_request","issue_labels":["missing feature","easy","value","quality"],"model":"heuristic-v1","opportunity_relevance":0.69,"praise_types":["easy","value","quality"],"sentiment":"complaint","severity":"medium","slug":"multiple-featured-images","source":"review","summary":"Saved me hours…: users show missing feature pain that may indicate a product gap."},"source_links":[{"source_url":"https://wordpress.org/support/topic/saved-me-hours/","url":"https://wordpress.org/support/topic/saved-me-hours/","original_url":"https://wordpress.org/support/topic/saved-me-hours/","source_page_url":"/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsaved-me-hours%2F","source_api_url":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsaved-me-hours%2F"},{"source_url":"https://wordpress.org/plugins/multiple-featured-images/","url":"https://wordpress.org/plugins/multiple-featured-images/","original_url":"https://wordpress.org/plugins/multiple-featured-images/","source_page_url":"/plugin/multiple-featured-images","source_api_url":"/api/plugins/multiple-featured-images"}],"source_link_count":2,"market_key":"custom post type","market_name":"Custom Post Type","market_url":"/markets/custom%20post%20type","opportunity_url":"/opportunities/custom%20post%20type","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":"Custom Post Type change-safety workflow","opportunity_name":"Custom Post Type change-safety workflow","opportunity_label":"Custom Post Type change-safety workflow","decision_bucket":"proof_blocked","commercial_readiness_status":"needs_family_proof","commercial_readiness_label":"Needs family proof","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":"Custom Post Type change-safety workflow for shipping custom code and site changes without breaking production","first_validation_wedge":"preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence","mvp_wedge":"preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence","wedge":"preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence","source_count":6,"source_link_count":6,"next_action":"Finish the missing outside proof, then test buyer urgency with developers: preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence.","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":"complete","commercial_gate_label":"Gate complete","commercial_card_status":"complete","commercial_card_missing_count":0},"commercial_card_summary":{"status":"complete","status_label":"complete","missing_count":0,"passed":9,"required":9,"summary":{}},"commercial_card_checklist":[{"key":"what_to_build","label":"What to build","passed":true,"status":"pass","detail":"Custom Post Type 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 custom post type code changes, compatibility risks, rollback paths, and debug evidence before custom-code breakage and rollback risk. pain: custom-code or snippet breakage risk (17 signa"}],"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":"Custom Post Type 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 custom post type code changes, compatibility risks, rollback paths, and debug evidence before custom-code breakage and rollback risk. pain: custom-code or snippet breakage risk (17 signals). weak-incumbent evidence gives 170 teardown signal(s). Entry wedge: preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence.","proof_support":"Proof base: outside proof that buyers already pay around the workflow, 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":"finish the missing outside proof, then test buyer urgency with developers: preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence.","what_still_needs_validation":"finish the missing outside proof, then test buyer urgency with developers: preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence.","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 custom post type 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 custom post type code changes, compatibility risks, rollback paths, and debug evidence","mvp_wedge":"preflight custom post type code changes, compatibility risks, rollback paths, and debug evidence","decision_bucket":"proof_blocked","decision_bucket_label":"Proof Blocked","api_urls":{"evidence":"/api/evidence?slug=multiple-featured-images","market":"/markets/custom%20post%20type","opportunity":"/opportunities/custom%20post%20type","plugin":"/api/plugins/multiple-featured-images","source":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsaved-me-hours%2F","wordpress":"https://wordpress.org/support/topic/saved-me-hours/","family":"/api/opportunities/families?family=developer-change-ops","dossier":"/api/opportunities/families/developer-change-ops/dossier"},"commercial_readiness":{"total":33,"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":33}],"blocker_count":64,"caution_count":0,"status_counts":[{"status":"needs_external_proof","label":"Needs outside proof","count":32},{"status":"needs_family_proof","label":"Needs family proof","count":1}],"blocker_counts":[{"label":"Outside proof needed: not validated","count":32},{"label":"Commercial gate not complete: proof blocked","count":32}],"caution_counts":[],"ready_for_buyer_validation":0,"needs_external_proof":32,"needs_family_proof":1,"needs_report":0,"needs_thesis_detail":0,"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":33,"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":33}],"blocker_count":64,"caution_count":0,"status_counts":[{"status":"needs_external_proof","label":"Needs outside proof","count":32},{"status":"needs_family_proof","label":"Needs family proof","count":1}],"blocker_counts":[{"label":"Outside proof needed: not validated","count":32},{"label":"Commercial gate not complete: proof blocked","count":32}],"caution_counts":[],"ready_for_buyer_validation":0,"needs_external_proof":32,"needs_family_proof":1,"needs_report":0,"needs_thesis_detail":0,"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-05T19:47:56+00:00","age_seconds":27369},"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"}