use sgclaw::generated_scene::lessons::{ load_generation_lessons, GenerationLessons, BUILTIN_REPORT_COLLECTION_LESSONS, }; #[test] fn builtin_report_collection_lessons_match_required_generator_rules() { let lessons = GenerationLessons::default_report_collection(); assert_eq!( BUILTIN_REPORT_COLLECTION_LESSONS, "builtin:report_collection_v1" ); assert!(lessons.routing.require_exact_suffix); assert!(lessons.routing.unsupported_scene_fail_closed); assert!(lessons.canonical_params.require_explicit_period); assert!(lessons.bootstrap.require_expected_domain); assert!(lessons.bootstrap.require_target_url); assert!(lessons.artifact.require_report_artifact); assert!(lessons.validation.require_pipe_and_ws_checks); assert!(lessons.validation.require_manual_service_console_smoke); } #[test] fn lineloss_lessons_toml_declares_required_generator_rules() { let lessons = load_generation_lessons("docs/superpowers/references/tq-lineloss-lessons-learned.toml") .unwrap(); assert!(lessons.routing.require_exact_suffix); assert!(lessons.routing.unsupported_scene_fail_closed); assert!(lessons.canonical_params.require_explicit_period); assert!(lessons.bootstrap.require_expected_domain); assert!(lessons.bootstrap.require_target_url); assert!(lessons.artifact.require_report_artifact); assert!(lessons.validation.require_pipe_and_ws_checks); assert!(lessons.validation.require_manual_service_console_smoke); }