diff --git a/src/generated_scene/analyzer.rs b/src/generated_scene/analyzer.rs index 32257c9..f694dbd 100644 --- a/src/generated_scene/analyzer.rs +++ b/src/generated_scene/analyzer.rs @@ -109,31 +109,8 @@ pub fn analyze_scene_source_with_hint( let expected_domain = meta_content(&html, "sgclaw-expected-domain"); let entry_script = meta_content(&html, "sgclaw-entry-script"); - // Validate required fields based on scene kind - match scene_kind { - SceneKind::ReportCollection => { - // ReportCollection requires target_url, expected_domain, and entry_script - if target_url.as_deref().unwrap_or_default().trim().is_empty() - || expected_domain - .as_deref() - .unwrap_or_default() - .trim() - .is_empty() - || entry_script - .as_deref() - .unwrap_or_default() - .trim() - .is_empty() - { - return Err(AnalyzeSceneError::new( - "report_collection scene requires target_url, expected_domain, and entry_script", - )); - } - } - SceneKind::Monitoring => { - // Monitoring type has optional fields - no validation needed - } - } + // All fields are optional - generator will use placeholders for missing values + // This allows third-party scenes without meta tags to be processed Ok(SceneSourceAnalysis { scene_kind,