| region | No | | |
| success | Yes | | |
| economics | No | Price and margin context. Contains no revenue or GMV figure. | |
| fetched_at | No | | |
| product_id | No | | |
| provenance | No | Endpoints called, provider call count, staleness, and which fields the model wrote. | |
| buyer_voice | No | Review sample summary including rating histogram and sampled count. | |
| competition | No | Percentile placement against the peer set, when one was resolvable. | |
| analyst_read | No | Model-written operator summary grounded in the sections above. Falls back to a deterministic version if the model call fails. | |
| market_proof | No | Demand evidence section. Carries available / headline / data / evidence / risks / unknowns / confidence. | |
| buyer_pain_map | No | Themes shared across this product and its competitors, with differentiation candidates. Rates are per-product, so a deeply sampled product does not outweigh a shallowly sampled rival. | |
| analyst_verdict | No | Deterministic verdict and confidence. | |
| creator_content | No | | |
| source_coverage | No | Which sections resolved and which did not. | |
| validation_read | No | Extended validation narrative. Null when include_competitors was false. | |
| content_patterns | No | | |
| current_evidence | No | Composite score from currently observable evidence, with what was unavailable. | |
| evidence_classes | No | Explicit map so the host never has to guess provenance: fact[] came from the provider, analysis[] was derived by HookLayer, unavailable[] had insufficient evidence. | |
| product_identity | No | title, shopName, category, productUrl, imageUrl. | |
| credits_remaining | No | | |
| recommended_chain | No | Suggested next calls, chosen from the evidence this analysis actually found. SUGGESTIONS ONLY - present them and let the user pick. Do not call them automatically; each one costs the user credits. | |
| competitor_landscape | No | Comparable products and where they are weak. available:false when competitor discovery did not resolve. | |
| evidence_interpretation | No | Why Now plus risks split into product / market / data_confidence, each citing the observation that triggered it. Only claims what is observable now; never asserts a trend it has no history for. | |
| buyer_voice_intelligence | No | Opportunity-grade review read: sampleComposition, love, painPoints, unmetNeeds, purchaseObjections, returnSignal, fulfilmentComplaints (kept separate from product faults), contradictions, and howToBeatThis. Null when reviews did not resolve - null means no evidence, not 'no complaints'. | |