{"summary":{"analyzed":true,"build_worthy":false,"build_worthy_family_key":"trust-security","build_worthy_family_name":"trust and abuse-prevention operations","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.91,"plugin_name":"NinjaScanner – Virus & Malware scan","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":"high","slug":"ninjascanner","source":"support","source_link_count":2,"url":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","worth_validating":false,"source_count":0,"source_evidence_summary":{"total":32,"source_evidence_rows":6,"source_link_rows":6,"source_count_only_rows":0,"missing_source_evidence_rows":26,"source_evidence_not_applicable_rows":0,"source_link_coverage_percent":18.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":32,"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":32}],"blocker_count":62,"caution_count":0,"status_counts":[{"status":"needs_external_proof","label":"Needs outside proof","count":31},{"status":"needs_family_proof","label":"Needs family proof","count":1}],"blocker_counts":[{"label":"Outside proof needed: not validated","count":31},{"label":"Commercial gate not complete: proof blocked","count":31}],"caution_counts":[],"ready_for_buyer_validation":0,"needs_external_proof":31,"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":"trust-security","family_name":"trust and abuse-prevention operations","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 maintenance teams managing security-sensitive sites: test security lockouts, bot/spam defenses, risky access changes, and incident alerts.","dossier_url":"/opportunities/families/trust-security/dossier","dossier_api_url":"/api/opportunities/families/trust-security/dossier"},"readiness_summary":{"status":"needs_family_proof","label":"Needs family proof","validation_ready":false,"family_key":"trust-security","family_name":"trust and abuse-prevention operations","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 maintenance teams managing security-sensitive sites: test security lockouts, bot/spam defenses, risky access changes, and incident alerts.","dossier_url":"/opportunities/families/trust-security/dossier","dossier_api_url":"/api/opportunities/families/trust-security/dossier"},"cache_source":"durable_stale","cache_age_seconds":9568,"payload_mode":"compact","full_payload_url":"/api/evidence/source?full=true&compact_schema=evidence-source-v2&url=https%3A//wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/&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/forking-process-failed-connection-refused-ajax-api/","slug":"ninjascanner","plugin_name":"NinjaScanner – Virus & Malware scan","source":"support","sentiment":"complaint","severity":"high","opportunity_relevance":0.91,"reply_count":0,"comments_returned":0,"analyzed":true,"source_link_count":2,"title":"forking process failed (Connection refused: AJAX API)","author":"joshmacd","published_at":"2023-10-30T04:31:00+00:00","resolved":false,"collected_at":"2026-05-29T01:11:50+00:00","intent":"feature_request","affected_feature":"api","summary":"forking process failed (Connection refused: AJAX API): users show bugs, missing feature, support pain that may indicate a product gap.","evidence_quote":"forking process failed (Connection refused: AJAX API) Trying to start a scan.","confidence":0.68,"analyzed_at":"2026-05-29T01:12:53+00:00","market_key":"security","market_name":"Security","market_url":"/markets/security","opportunity_url":"/opportunities/security","family_key":"trust-security","family_name":"trust and abuse-prevention operations","opportunity_family_key":"trust-security","opportunity_family_name":"trust and abuse-prevention operations","buyer":"site owners, agencies, and maintenance teams","what_to_build":"Security abuse-prevention assurance for keeping sites trusted, protected, and recoverable","urgent_problem":"Security, spam, and trust failures create business risk that owners struggle to triage.","problem":"Security, spam, and trust failures create business risk that owners struggle to triage.","competitor_gap":"Gap to test: can buyers test security lockouts, bot/spam defenses, risky access changes, and incident alerts before trust, abuse, and access-control risk. pain: trust, abuse, or access-control risk (8 signals). weak-incumbent evidence gives 462 teardown signal(s). Entry...","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 keeping sites trusted, protected, and recoverable.","needs_validation":"finish the missing outside proof, then test buyer urgency with maintenance teams managing security-sensitive sites: test security lockouts, bot/spam defenses, risky access changes, and incident alerts.","what_still_needs_validation":"finish the missing outside proof, then test buyer urgency with maintenance teams managing security-sensitive sites: test security lockouts, bot/spam defenses, risky access changes, and incident alerts.","commercial_attractiveness":"Commercial pull comes from maintenance teams managing security-sensitive sites: security, spam, and trust failures create business risk that owners struggle to triage. The first paid wedge is to test security lockouts, bot/spam defenses, risky access changes, and incident...","first_validation_wedge":"test security lockouts, bot/spam defenses, risky access changes, and incident alerts","mvp_wedge":"test security lockouts, bot/spam defenses, risky access changes, and incident alerts","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":"trust-security","opportunity_decision_status":"supporting_evidence","body_summary":"Trying to start a scan. Immediately after trying to start, the error message “Missing lock file.” appears. Of course, the troubleshooting page they have has nothing about this error, but if you search this forum,...","issue_labels":["bugs","missing feature","support","api"],"source_links":[{"source_url":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","url":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","original_url":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","source_page_url":"/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fforking-process-failed-connection-refused-ajax-api%2F","source_api_url":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fforking-process-failed-connection-refused-ajax-api%2F"}]}],"plugin":{"active_installs":30000,"api_url":"/api/plugins/ninjascanner","downloaded":989698,"name":"NinjaScanner – Virus & Malware scan","rating":82.0,"slug":"ninjascanner","tags":["malware","protection","scanner","security","virus"],"url":"/plugin/ninjascanner"},"conversation":{"url":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","slug":"ninjascanner","source":"support","title":"forking process failed (Connection refused: AJAX API)","author":"joshmacd","published_at":"2023-10-30T04:31:00+00:00","resolved":false,"reply_count":0,"collected_at":"2026-05-29T01:11:50+00:00","body_summary":"Trying to start a scan. Immediately after trying to start, the error message “Missing lock file.” appears. Of course, the troubleshooting page they have has nothing about this error, but if you search this forum, the error is widespread. No idea why it wouldn’t be included..."},"analysis":{"affected_feature":"api","analyzed_at":"2026-05-29T01:12:53+00:00","complaint_types":["bugs","missing_feature","support"],"confidence":0.68,"conversation_url":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","evidence_quote":"forking process failed (Connection refused: AJAX API) Trying to start a scan.","intent":"feature_request","issue_labels":["bugs","missing feature","support","api"],"model":"heuristic-v1","opportunity_relevance":0.91,"praise_types":[],"sentiment":"complaint","severity":"high","slug":"ninjascanner","source":"support","summary":"forking process failed (Connection refused: AJAX API): users show bugs, missing feature, support pain that may indicate a product gap."},"source_links":[{"source_url":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","url":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","original_url":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","source_page_url":"/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fforking-process-failed-connection-refused-ajax-api%2F","source_api_url":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fforking-process-failed-connection-refused-ajax-api%2F"},{"source_url":"https://wordpress.org/plugins/ninjascanner/","url":"https://wordpress.org/plugins/ninjascanner/","original_url":"https://wordpress.org/plugins/ninjascanner/","source_page_url":"/plugin/ninjascanner","source_api_url":"/api/plugins/ninjascanner"}],"source_link_count":2,"market_key":"security","market_name":"Security","market_url":"/markets/security","opportunity_url":"/opportunities/security","opportunity_card":{"key":"trust-security","name":"trust and abuse-prevention operations","family_key":"trust-security","family_name":"trust and abuse-prevention operations","family_label":"trust and abuse-prevention operations","display_name":"Security abuse-prevention assurance","opportunity_name":"Security abuse-prevention assurance","opportunity_label":"Security abuse-prevention assurance","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":"site owners, agencies, and maintenance teams","who_buys":"site owners, agencies, and maintenance teams","primary_buyer_segment":"maintenance teams managing security-sensitive sites","urgent_problem":"Security, spam, and trust failures create business risk that owners struggle to triage.","problem":"Security, spam, and trust failures create business risk that owners struggle to triage.","pain":"Security, spam, and trust failures create business risk that owners struggle to triage.","what_to_build":"Security abuse-prevention assurance for keeping sites trusted, protected, and recoverable","first_validation_wedge":"test security lockouts, bot/spam defenses, risky access changes, and incident alerts","mvp_wedge":"test security lockouts, bot/spam defenses, risky access changes, and incident alerts","wedge":"test security lockouts, bot/spam defenses, risky access changes, and incident alerts","source_count":12,"source_link_count":12,"next_action":"Finish the missing outside proof, then test buyer urgency with maintenance teams managing security-sensitive sites: test security lockouts, bot/spam defenses, risky access changes, and incident alerts.","family_dossier_url":"/opportunities/families/trust-security/dossier","opportunity_family_dossier_url":"/opportunities/families/trust-security/dossier","family_dossier_api_url":"/api/opportunities/families/trust-security/dossier","opportunity_family_dossier_api_url":"/api/opportunities/families/trust-security/dossier","urls":{"dossier":"/opportunities/families/trust-security/dossier","family":"/opportunities?family=trust-security"},"api_urls":{"dossier":"/api/opportunities/families/trust-security/dossier","family":"/api/opportunities/families?family=trust-security"},"family_url":"/opportunities?family=trust-security","opportunity_family_url":"/opportunities?family=trust-security","opportunity_family_api_url":"/api/opportunities/families?family=trust-security","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":"Security abuse-prevention assurance for keeping sites trusted, protected, and recoverable"},{"key":"specific_buyer","label":"Specific buyer","passed":true,"status":"pass","detail":"site owners, agencies, and maintenance teams"},{"key":"urgent_problem","label":"Urgent problem","passed":true,"status":"pass","detail":"Security, spam, and trust failures create business risk that owners struggle to triage."},{"key":"competitor_gap","label":"Competitor gap","passed":true,"status":"pass","detail":"Gap to test: can buyers test security lockouts, bot/spam defenses, risky access changes, and incident alerts before trust, abuse, and access-control risk. pain: trust, abuse, or access-control risk (8 signals). weak-incu"}],"family_key":"trust-security","family_name":"trust and abuse-prevention operations","opportunity_family_key":"trust-security","opportunity_family_name":"trust and abuse-prevention operations","buyer":"site owners, agencies, and maintenance teams","what_to_build":"Security abuse-prevention assurance for keeping sites trusted, protected, and recoverable","urgent_problem":"Security, spam, and trust failures create business risk that owners struggle to triage.","problem":"Security, spam, and trust failures create business risk that owners struggle to triage.","competitor_gap":"Gap to test: can buyers test security lockouts, bot/spam defenses, risky access changes, and incident alerts before trust, abuse, and access-control risk. pain: trust, abuse, or access-control risk (8 signals). weak-incumbent evidence gives 462 teardown signal(s). Entry wedge: test security lockouts, bot/spam defenses, risky access changes, and incident alerts.","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 keeping sites trusted, protected, and recoverable.","needs_validation":"finish the missing outside proof, then test buyer urgency with maintenance teams managing security-sensitive sites: test security lockouts, bot/spam defenses, risky access changes, and incident alerts.","what_still_needs_validation":"finish the missing outside proof, then test buyer urgency with maintenance teams managing security-sensitive sites: test security lockouts, bot/spam defenses, risky access changes, and incident alerts.","commercial_attractiveness":"Commercial pull comes from maintenance teams managing security-sensitive sites: security, spam, and trust failures create business risk that owners struggle to triage. The first paid wedge is to test security lockouts, bot/spam defenses, risky access changes, and incident alerts. Revenue can come from continuous monitoring, incident reports, audit trails, hardening policies, and agency controls.","first_validation_wedge":"test security lockouts, bot/spam defenses, risky access changes, and incident alerts","mvp_wedge":"test security lockouts, bot/spam defenses, risky access changes, and incident alerts","decision_bucket":"proof_blocked","decision_bucket_label":"Proof Blocked","api_urls":{"evidence":"/api/evidence?slug=ninjascanner","market":"/markets/security","opportunity":"/opportunities/security","plugin":"/api/plugins/ninjascanner","source":"/api/evidence/source?url=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fforking-process-failed-connection-refused-ajax-api%2F","wordpress":"https://wordpress.org/support/topic/forking-process-failed-connection-refused-ajax-api/","family":"/api/opportunities/families?family=trust-security","dossier":"/api/opportunities/families/trust-security/dossier"},"commercial_readiness":{"total":32,"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":32}],"blocker_count":62,"caution_count":0,"status_counts":[{"status":"needs_external_proof","label":"Needs outside proof","count":31},{"status":"needs_family_proof","label":"Needs family proof","count":1}],"blocker_counts":[{"label":"Outside proof needed: not validated","count":31},{"label":"Commercial gate not complete: proof blocked","count":31}],"caution_counts":[],"ready_for_buyer_validation":0,"needs_external_proof":31,"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":32,"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":32}],"blocker_count":62,"caution_count":0,"status_counts":[{"status":"needs_external_proof","label":"Needs outside proof","count":31},{"status":"needs_family_proof","label":"Needs family proof","count":1}],"blocker_counts":[{"label":"Outside proof needed: not validated","count":31},{"label":"Commercial gate not complete: proof blocked","count":31}],"caution_counts":[],"ready_for_buyer_validation":0,"needs_external_proof":31,"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-05T10:18:14+00:00","age_seconds":9568},"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":"trust-security","opportunity_decision_status":"supporting_evidence"}