# Sweep-030 Deterministic Keyword / Alias Normalization Design ## Intent Provide a bounded fix so `sweep-030-scene` can be deterministically matched from the service console input form used in the inner-network environment, without changing sgClaw runtime, callback-host behavior, or resolver logic. This design only targets the deterministic manifest surface of: - `examples/scene_skill_102_final_materialization_2026-04-19/skills/sweep-030-scene/scene.toml` ## Problem The current `sweep-030-scene` deterministic manifest only exposes one `include_keywords` entry: - `台区线损大数据-月_周累计线损率统计分析` But the real operator input uses a more natural phrase: - `兰州公司 台区线损大数据 月累计线损率统计分析。。。` Current deterministic dispatch requires `instruction.contains(keyword)`. Because the manifest keyword is too narrow and punctuation-sensitive, `include_hits = 0`, and dispatch returns the unsupported-scene prompt before the skill is selected. ## Scope ### In Scope - Update deterministic keyword / alias coverage for `sweep-030-scene` - Preserve current suffix `。。。` - Preserve current param declarations (`org`, `period`) - Publish a route-local verification asset and report ### Out Of Scope - Any change to `src/compat/scene_platform/dispatch.rs` - Any change to resolver implementation - Any change to callback-host, browser runtime, or helper-page lifecycle - Any change to `bootstrap.target_url` - Any change to official board or final materialization status - Any broader `G2` family normalization outside `sweep-030-scene` ## Design Normalize `sweep-030-scene` deterministic aliases so the scene can be matched by the natural phrases already used in inner-network testing. The deterministic alias set should cover at least: - `台区线损大数据-月_周累计线损率统计分析` - `台区线损大数据 月累计线损率统计分析` - `台区线损大数据 周累计线损率统计分析` - `台区线损大数据 月累计` - `台区线损大数据 周累计` - `台区线损率统计分析` The alias set should remain specific enough not to collide with unrelated `G2` scenes. ## Expected Result This fix should let the following type of input clear deterministic dispatch: - `兰州公司 台区线损大数据 月累计线损率统计分析 2026-03。。。` This design does not claim to fix helper bootstrap or callback-host startup. It only ensures that `sweep-030-scene` is selected first, so the next layer can be tested correctly. ## Allowed Files - `examples/scene_skill_102_final_materialization_2026-04-19/skills/sweep-030-scene/scene.toml` - `tests/fixtures/generated_scene/sweep_030_deterministic_keyword_alias_normalization_2026-04-20.json` - `docs/superpowers/reports/2026-04-20-sweep-030-deterministic-keyword-alias-normalization-report.md` ## Forbidden Files - `src/compat/scene_platform/dispatch.rs` - `src/browser/callback_host.rs` - `src/service/server.rs` - `src/generated_scene/*` - `resources/rules.json` ## Stop Rule Stop after: 1. `sweep-030-scene` deterministic aliases are normalized 2. A route-local verification record is written 3. A report is published Do not proceed into helper-page / requesturl debugging within this plan.