Opus finding
Notify-on-empty-readiness contradicts the dry-run-empty path
- skills/v4-readiness/SKILL.md:184-189
- skills/v4-readiness/SKILL.md:237-239
Step 7 ordering means dry-run short-circuits notify before the READY-empty single-line rule is evaluated, which is fine. But the Edge case 'Empty aeon.yml skills block' unconditionally states notification fires, ignoring that the operator may have also passed dry-run. A reader applying the edge case verbatim could send a notification in dry-run mode, which violates the dry-run contract.
Recommendation
Qualify the empty-fork edge case with 'unless MODE==dry-run, in which case notify is still skipped per Step 7'.