fix(engines): the Full Sweep and Passive Recon presets named a hidden stage

preset_stages walked every stage in the registry, asset_seed included.
That stage is the focused-rescan seed and is deliberately catalog_hidden,
so any preset that flipped it off its default emitted
{"asset_seed": {"enabled": …}} and _validate_stages refused the create
with "Unknown stage 'asset_seed'".

Full Sweep and Passive Recon both flip it; Standard sends {} and Blank
agrees with its default, which is why only those two failed.

Apply the filter the catalog and the YAML export already use.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ASYBQe7daGgrKcYCav6rP
This commit is contained in:
Yogesh Ojha
2026-09-07 20:36:30 +05:30
co-authored by Claude Opus 5
parent ba05c393e0
commit 4600a4c8e3
+1 -1
View File
@@ -50,7 +50,7 @@ def preset_stages(name: str) -> dict[str, dict]:
return {
spec.name: {"enabled": _enabled(name, spec)}
for spec in stages()
if _enabled(name, spec) != spec.defaults["enabled"]
if not spec.catalog_hidden and _enabled(name, spec) != spec.defaults["enabled"]
}