optional-engine-feature-degrade-in-tiers
Installation
SKILL.md
Degrade an optional stage in tiers, and report what survived
Engines that take their processing graph as a string validate the whole string at once: one unknown stage name and nothing installs — not "that stage is skipped", the entire graph is rejected. So a chain mixing a stage that ships everywhere with one that is an optional build-time dependency has a failure mode where the mandatory half disappears because of the optional half. Attempt, fall back by tiers, and hand the caller a record rather than a boolean:
/** What the install actually got past the engine. Callers must not drive a stage that is false. */
data class Chain(val sweep: Boolean, val pitchShift: Boolean) {
companion object { val NONE = Chain(sweep = false, pitchShift = false) }
}