Files
claw/docs/superpowers/specs/2026-04-20-sweep-030-deterministic-keyword-alias-normalization-design.md

87 lines
3.2 KiB
Markdown

# 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.