{"summary":{"analyzed":true,"build_worthy":false,"build_worthy_family_key":"wordpress-operations","build_worthy_family_name":"WordPress operations workflow","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":1,"commercial_card_missing_count":2,"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.98,"plugin_name":"Favorites","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":1,"row_is_build_worthy":false,"row_is_opportunity":false,"row_role":"supporting_evidence","row_role_label":"Supporting evidence","sentiment":"complaint","severity":"high","slug":"favorites","source":"support","source_link_count":2,"url":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","worth_validating":false,"source_count":0,"source_evidence_summary":{"total":21,"source_evidence_rows":1,"source_link_rows":1,"source_count_only_rows":0,"missing_source_evidence_rows":20,"source_evidence_not_applicable_rows":0,"source_link_coverage_percent":4.8,"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":21,"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":21}],"blocker_count":91,"caution_count":0,"status_counts":[{"status":"hold","label":"Hold","count":21}],"blocker_counts":[{"label":"Decision bucket is Hold","count":21},{"label":"Commercial card missing: Specific buyer, Source evidence","count":21},{"label":"Outside proof needed: not validated","count":20},{"label":"Commercial gate not complete: hold","count":20},{"label":"Outside proof needed: Pricing pages","count":1},{"label":"Commercial gate not complete: Gate mostly supported","count":1},{"label":"Gate missing: buyer proof for site owners","count":1},{"label":"Gate 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":0,"needs_thesis_sharpening":0,"research_first":0,"research_only":0,"hold":21,"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":"hold","label":"Hold","validation_ready":false,"family_key":"wordpress-operations","family_name":"WordPress operations workflow","decision_bucket":"hold","decision_bucket_label":"Hold","proof_status":"missing","proof_status_label":"Missing outside proof","commercial_gate_status":"mostly_supported","commercial_gate_label":"Gate mostly supported","commercial_gate_passed":5,"commercial_gate_total":7,"commercial_card_status":"needs_detail","commercial_card_complete":false,"commercial_card_missing_count":2,"blockers":["Decision bucket is Hold","Outside proof needed: Pricing pages","Commercial card missing: Specific buyer, Source evidence","Commercial gate not complete: Gate mostly supported","Gate missing: buyer proof for site owners","Gate missing: Paid adjacent proof","Gate weak: buyer proof for site owners","Gate weak: Paid adjacent proof"],"blocker_count":11,"cautions":[],"caution_count":0,"next_action":"Keep this family on watch until detect failures around favorites before they cost the buyer time, revenue, or trust has stronger demand, pain, or paid proof.","dossier_url":"/opportunities/families/wordpress-operations/dossier","dossier_api_url":"/api/opportunities/families/wordpress-operations/dossier"},"readiness_summary":{"status":"hold","label":"Hold","validation_ready":false,"family_key":"wordpress-operations","family_name":"WordPress operations workflow","decision_bucket":"hold","decision_bucket_label":"Hold","proof_status":"missing","proof_status_label":"Missing outside proof","commercial_gate_status":"mostly_supported","commercial_gate_label":"Gate mostly supported","commercial_gate_passed":5,"commercial_gate_total":7,"commercial_card_status":"needs_detail","commercial_card_complete":false,"commercial_card_missing_count":2,"blockers":["Decision bucket is Hold","Outside proof needed: Pricing pages","Commercial card missing: Specific buyer, Source evidence","Commercial gate not complete: Gate mostly supported","Gate missing: buyer proof for site owners","Gate missing: Paid adjacent proof","Gate weak: buyer proof for site owners","Gate weak: Paid adjacent proof"],"blocker_count":11,"cautions":[],"caution_count":0,"next_action":"Keep this family on watch until detect failures around favorites before they cost the buyer time, revenue, or trust has stronger demand, pain, or paid proof.","dossier_url":"/opportunities/families/wordpress-operations/dossier","dossier_api_url":"/api/opportunities/families/wordpress-operations/dossier"},"cache_source":"durable_research_stale","cache_age_seconds":8189,"payload_mode":"compact","full_payload_url":"/api/evidence/source?full=true&compact_schema=evidence-source-v2&url=https%3A//wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/&comment_limit=80&text_limit=12000","row_key":"rows","source_row_key":"rows","rows_shown":1,"comments_shown":1,"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/session_start-should-not-be-called-during-wp-cron/","slug":"favorites","plugin_name":"Favorites","source":"support","sentiment":"complaint","severity":"high","opportunity_relevance":0.98,"reply_count":1,"comments_returned":1,"analyzed":true,"source_link_count":2,"title":"session_start should not be called during WP Cron","author":"Earthman Media","published_at":"2025-11-05T00:33:00+00:00","resolved":false,"collected_at":"2026-05-29T02:53:18+00:00","intent":"feature_request","affected_feature":"security","summary":"session_start should not be called during WP Cron: users show security, bugs, compatibility pain that may indicate a product gap.","evidence_quote":"session_start should not be called during WP Cron Error stack trace: session_start(): Session cannot be started after headers have already been sent in session_start called at /code/wp-content/plugins/favorites/app/Bootstrap.php (83) in Favorites\\Bootstrap::startSession...","confidence":0.68,"analyzed_at":"2026-05-29T02:54:39+00:00","market_key":"favorites","market_name":"Favorites","market_url":"/markets/favorites","opportunity_url":"/opportunities/favorites","family_key":"wordpress-operations","family_name":"WordPress operations workflow","opportunity_family_key":"wordpress-operations","opportunity_family_name":"WordPress operations workflow","buyer":"site owners and agencies","what_to_build":"Favorites workflow assurance for repeatable site operations","urgent_problem":"WordPress teams need fewer manual checks and clearer operational visibility.","problem":"WordPress teams need fewer manual checks and clearer operational visibility.","competitor_gap":"Gap to test: can buyers detect failures around favorites before they cost the buyer time, revenue, or trust before wordPress teams need fewer manual checks and clearer operational visibility. pain: trust, abuse, or access risk (6 signals), missing workflow coverage (8...","proof_support":"Proof base: paid-adjacent plugin or pricing signals, repeated WordPress pain, and weak incumbent coverage around repeatable site operations.","needs_validation":"Pricing pages; SEO demand; SERP competitors; Favorites is still a generic category, not a specific paid workflow.; Buyer segment selected (site owners); prove this buyer has the paid problem","what_still_needs_validation":"Pricing pages; SEO demand; SERP competitors; Favorites is still a generic category, not a specific paid workflow.; Buyer segment selected (site owners); prove this buyer has the paid problem","commercial_attractiveness":"Commercial pull comes from site owners: wordPress teams need fewer manual checks and clearer operational visibility. The first paid wedge is to detect failures around favorites before they cost the buyer time, revenue, or trust. Revenue can come from automation limits,...","first_validation_wedge":"detect failures around favorites before they cost the buyer time, revenue, or trust","mvp_wedge":"detect failures around favorites before they cost the buyer time, revenue, or trust","decision_bucket":"hold","decision_bucket_label":"Hold","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":"wordpress-operations","opportunity_decision_status":"supporting_evidence","body_summary":"Error stack trace: session_start(): Session cannot be started after headers have already been sent in session_start called at /code/wp-content/plugins/favorites/app/Bootstrap.php (83) in...","issue_labels":["security","bugs","compatibility","missing feature"],"source_links":[{"source_url":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","url":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","original_url":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","source_page_url":"/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsession_start-should-not-be-called-during-wp-cron%2F","source_api_url":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsession_start-should-not-be-called-during-wp-cron%2F"}]}],"plugin":{"active_installs":10000,"api_url":"/api/plugins/favorites","downloaded":296496,"name":"Favorites","rating":92.0,"slug":"favorites","tags":["bookmark","favorite","favorites","like","likes"],"url":"/plugin/favorites"},"conversation":{"url":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","slug":"favorites","source":"support","title":"session_start should not be called during WP Cron","author":"Earthman Media","published_at":"2025-11-05T00:33:00+00:00","resolved":false,"reply_count":1,"collected_at":"2026-05-29T02:53:18+00:00","body_summary":"Error stack trace: session_start(): Session cannot be started after headers have already been sent in session_start called at /code/wp-content/plugins/favorites/app/Bootstrap.php (83) in Favorites\\Bootstrap::startSession called at..."},"analysis":{"affected_feature":"security","analyzed_at":"2026-05-29T02:54:39+00:00","complaint_types":["security","bugs","compatibility","missing_feature","support"],"confidence":0.68,"conversation_url":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","evidence_quote":"session_start should not be called during WP Cron Error stack trace: session_start(): Session cannot be started after headers have already been sent in session_start called at /code/wp-content/plugins/favorites/app/Bootstrap.php (83) in Favorites\\Bootstrap::startSession called at /code/wp-content/plugins/favorites/app/Bootstrap.php (43) at /code/wp-includes/","intent":"feature_request","issue_labels":["security","bugs","compatibility","missing feature"],"model":"heuristic-v1","opportunity_relevance":0.98,"praise_types":["reliable"],"sentiment":"complaint","severity":"high","slug":"favorites","source":"support","summary":"session_start should not be called during WP Cron: users show security, bugs, compatibility pain that may indicate a product gap."},"comments":[{"position":1,"author":"clip1492","published_at":"2025-12-18T12:37:00+00:00","body_summary":"Thanks, it works well. Let’s hope the original developer updates de plugin ASAP and fixes this issue and the security issue urgently. This reply was modified 5 months, 1 week ago by clip1492 ."}],"source_links":[{"source_url":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","url":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","original_url":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","source_page_url":"/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsession_start-should-not-be-called-during-wp-cron%2F","source_api_url":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsession_start-should-not-be-called-during-wp-cron%2F"},{"source_url":"https://wordpress.org/plugins/favorites/","url":"https://wordpress.org/plugins/favorites/","original_url":"https://wordpress.org/plugins/favorites/","source_page_url":"/plugin/favorites","source_api_url":"/api/plugins/favorites"}],"source_link_count":2,"market_key":"favorites","market_name":"Favorites","market_url":"/markets/favorites","opportunity_url":"/opportunities/favorites","opportunity_card":{"key":"wordpress-operations","name":"WordPress operations workflow","family_key":"wordpress-operations","family_name":"WordPress operations workflow","family_label":"WordPress operations workflow","display_name":"WordPress operations workflow","opportunity_name":"WordPress operations workflow","opportunity_label":"WordPress operations workflow","decision_bucket":"hold","commercial_readiness_status":"hold","commercial_readiness_label":"Hold","validation_ready":false,"is_build_worthy":false,"row_role":"opportunity_family","recommendation_role":"commercial_opportunity_candidate","buyer":"site owners and agencies","who_buys":"site owners and agencies","primary_buyer_segment":"site owners","urgent_problem":"WordPress teams need fewer manual checks and clearer operational visibility.","problem":"WordPress teams need fewer manual checks and clearer operational visibility.","pain":"WordPress teams need fewer manual checks and clearer operational visibility.","what_to_build":"Favorites workflow assurance for repeatable site operations","weak_competitor_names":["WordPress operations workflow for that exact workflow for that"],"competitor_teardown_targets":["WordPress operations workflow for that exact workflow for that"],"competitor_targets":["WordPress operations workflow for that exact workflow for that"],"weak_competitor_summary":"Weak competitor(s) to inspect: WordPress operations workflow for that exact workflow for that.","competitor_target_summary":"Weak competitor(s) to inspect: WordPress operations workflow for that exact workflow for that.","first_validation_wedge":"detect failures around favorites before they cost the buyer time, revenue, or trust","mvp_wedge":"detect failures around favorites before they cost the buyer time, revenue, or trust","wedge":"detect failures around favorites before they cost the buyer time, revenue, or trust","source_count":0,"source_link_count":0,"next_action":"Keep this family on watch until detect failures around favorites before they cost the buyer time, revenue, or trust has stronger demand, pain, or paid proof.","family_dossier_url":"/opportunities/families/wordpress-operations/dossier","opportunity_family_dossier_url":"/opportunities/families/wordpress-operations/dossier","family_dossier_api_url":"/api/opportunities/families/wordpress-operations/dossier","opportunity_family_dossier_api_url":"/api/opportunities/families/wordpress-operations/dossier","urls":{"dossier":"/opportunities/families/wordpress-operations/dossier","family":"/opportunities?family=wordpress-operations"},"api_urls":{"dossier":"/api/opportunities/families/wordpress-operations/dossier","family":"/api/opportunities/families?family=wordpress-operations"},"family_url":"/opportunities?family=wordpress-operations","opportunity_family_url":"/opportunities?family=wordpress-operations","opportunity_family_api_url":"/api/opportunities/families?family=wordpress-operations","commercial_gate_status":"mostly_supported","commercial_gate_label":"Gate mostly supported","commercial_card_status":"needs_detail","commercial_card_missing_count":2},"commercial_card_summary":{"status":"needs_detail","status_label":"needs detail","missing":["Specific buyer","Source evidence"],"missing_count":2,"passed":7,"required":9,"summary":{}},"commercial_card_checklist":[{"key":"what_to_build","label":"What to build","passed":true,"status":"pass","detail":"Favorites workflow assurance for repeatable site operations"},{"key":"specific_buyer","label":"Specific buyer","passed":false,"status":"missing","detail":"site owners and agencies"},{"key":"urgent_problem","label":"Urgent problem","passed":true,"status":"pass","detail":"WordPress teams need fewer manual checks and clearer operational visibility."},{"key":"competitor_gap","label":"Competitor gap","passed":true,"status":"pass","detail":"Gap to test: can buyers detect failures around favorites before they cost the buyer time, revenue, or trust before wordPress teams need fewer manual checks and clearer operational visibility. pain: trust, abuse, or acces"}],"family_key":"wordpress-operations","family_name":"WordPress operations workflow","opportunity_family_key":"wordpress-operations","opportunity_family_name":"WordPress operations workflow","buyer":"site owners and agencies","what_to_build":"Favorites workflow assurance for repeatable site operations","urgent_problem":"WordPress teams need fewer manual checks and clearer operational visibility.","problem":"WordPress teams need fewer manual checks and clearer operational visibility.","competitor_gap":"Gap to test: can buyers detect failures around favorites before they cost the buyer time, revenue, or trust before wordPress teams need fewer manual checks and clearer operational visibility. pain: trust, abuse, or access risk (6 signals), missing workflow coverage (8 signals). weak-incumbent evidence gives 16 teardown signal(s). Entry wedge: detect failures around favorites before they cost the buyer time, revenue, or trust.","proof_support":"Proof base: paid-adjacent plugin or pricing signals, repeated WordPress pain, and weak incumbent coverage around repeatable site operations.","needs_validation":"Pricing pages; SEO demand; SERP competitors; Favorites is still a generic category, not a specific paid workflow.; Buyer segment selected (site owners); prove this buyer has the paid problem","what_still_needs_validation":"Pricing pages; SEO demand; SERP competitors; Favorites is still a generic category, not a specific paid workflow.; Buyer segment selected (site owners); prove this buyer has the paid problem","commercial_attractiveness":"Commercial pull comes from site owners: wordPress teams need fewer manual checks and clearer operational visibility. The first paid wedge is to detect failures around favorites before they cost the buyer time, revenue, or trust. Revenue can come from automation limits, reporting, team controls, multi-site monitoring, and integrations.","first_validation_wedge":"detect failures around favorites before they cost the buyer time, revenue, or trust","mvp_wedge":"detect failures around favorites before they cost the buyer time, revenue, or trust","decision_bucket":"hold","decision_bucket_label":"Hold","api_urls":{"evidence":"/api/evidence?slug=favorites","market":"/markets/favorites","opportunity":"/opportunities/favorites","plugin":"/api/plugins/favorites","source":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fsession_start-should-not-be-called-during-wp-cron%2F","wordpress":"https://wordpress.org/support/topic/session_start-should-not-be-called-during-wp-cron/","family":"/api/opportunities/families?family=wordpress-operations","dossier":"/api/opportunities/families/wordpress-operations/dossier"},"commercial_readiness":{"total":21,"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":21}],"blocker_count":91,"caution_count":0,"status_counts":[{"status":"hold","label":"Hold","count":21}],"blocker_counts":[{"label":"Decision bucket is Hold","count":21},{"label":"Commercial card missing: Specific buyer, Source evidence","count":21},{"label":"Outside proof needed: not validated","count":20},{"label":"Commercial gate not complete: hold","count":20},{"label":"Outside proof needed: Pricing pages","count":1},{"label":"Commercial gate not complete: Gate mostly supported","count":1},{"label":"Gate missing: buyer proof for site owners","count":1},{"label":"Gate 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":0,"needs_thesis_sharpening":0,"research_first":0,"research_only":0,"hold":21,"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":21,"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":21}],"blocker_count":91,"caution_count":0,"status_counts":[{"status":"hold","label":"Hold","count":21}],"blocker_counts":[{"label":"Decision bucket is Hold","count":21},{"label":"Commercial card missing: Specific buyer, Source evidence","count":21},{"label":"Outside proof needed: not validated","count":20},{"label":"Commercial gate not complete: hold","count":20},{"label":"Outside proof needed: Pricing pages","count":1},{"label":"Commercial gate not complete: Gate mostly supported","count":1},{"label":"Gate missing: buyer proof for site owners","count":1},{"label":"Gate 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":0,"needs_thesis_sharpening":0,"research_first":0,"research_only":0,"hold":21,"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_research_stale","generated_at":"2026-06-10T13:24:36+00:00","age_seconds":8189},"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":"wordpress-operations","opportunity_decision_status":"supporting_evidence"}