# Generated Scene Runtime URL Classification Hardening Report - Date: `2026-04-21` - Route: `runtime_url_classification_hardening` - Status: `completed` ## Outcome This route implemented the first reusable URL-classification slice in the generated-scene pipeline. Generated metadata can now distinguish: - runtime/app-entry URL - module-route URL - target URL kind The first bounded slice was propagated through: - analyzer bootstrap classification - `SceneIr.bootstrap` - rendered `scene.toml` - structured evidence payload - generation report markdown ## Evidence Two route-local examples now carry differentiated URL roles: 1. `report_collection` fixture - `target_url = http://20.76.57.61:18080/gsllys` - `app_entry_url = http://20.76.57.61:18080/gsllys` - `module_route_url = http://20.76.57.61:18080/gsllys/tqLinelossStatis/tqQualifyRateMonitor` - `target_url_kind = runtime_context` 2. `multi_mode` package fixture - `target_url = http://20.76.57.61:18080/gsllys` - `app_entry_url = http://20.76.57.61:18080/gsllys` - `module_route_url = http://20.76.57.61:18080/gsllys/monthReport` - `target_url_kind = runtime_context` This is the intended first route-local correction for scenes like `sweep-030-scene`, where runtime page binding semantics diverge from deeper module-route evidence. ## Verification Passed: ```powershell cargo test --test scene_generator_test analyzer_classifies_supported_report_collection_source -- --nocapture cargo test --test scene_generator_test generator_writes_multi_mode_package_with_generation_report -- --nocapture cargo test --test scene_generator_test generator_writes_multi_mode_package_from_deterministic_analysis -- --nocapture cargo test --test scene_generator_modes_test -- --nocapture ``` Residual warnings remained outside this route scope: - existing `dead_code` warnings in callback-host/openxml/generator helpers - existing `unreachable_code` warning in `tests/scene_generator_test.rs` ## Stop Statement This route stopped after the first reusable URL-classification slice was implemented and verified. It did not: - rematerialize all `102` scenes - refresh validation assets - change runtime/callback-host behavior - edit generated skills directly