BREAKING CHANGE: effect() in a skill .spec.ts is now a compile error; the skill PreToolUse effect-boundary gate is removed (the per-call purity floor remains).