Context and Problem Statement
Mission discovery and loading behavior is currently split between resolver code and legacy mission listing/loading code paths. This creates precedence inconsistencies and non-deterministic mission selection behavior for custom mission packs.
Decision
- Mission discovery/loading logic is owned by
spec-kitty-runtime. spec-kittyCLI consumes runtime discovery APIs and does not maintain parallel precedence logic.- Mission definition format for V1 is YAML-only.
- Discovery precedence follows canonical runtime order.
Decision Drivers
- Deterministic mission selection.
- Single source of truth for discovery precedence.
- Better author experience for mission packs.
- Reduced maintenance burden from duplicated logic.
Consequences
Positive
- No resolver drift between command paths.
- Easier documentation and support.
- Better portability to other execution hosts.
Negative
- Runtime package dependency introduced into CLI mission-loading code path.
- Migration effort for existing mission helper functions.
Neutral
- Legacy mission locations stay temporarily supported with deprecation warnings.
Migration
- Route mission listing/info commands through runtime discovery API.
- Keep existing CLI UX while changing backend resolution source.
- Remove duplicated resolver code after migration window.