Commit d1487be
fix(cli): reject nested Vale fixture directories instead of skipping them
The two halves of verification disagreed about recursion. `fixtureFiles`
reads one directory deep, but Vale is invoked over the whole
`rule-tests/<rule>` tree and lints recursively, so a nested fixture was
linted while never being collected.
That fails in the dangerous direction. A nested `pass/` fixture that
wrongly fires produces a finding the expected-set never knew about, so
`unexpectedFindings` discards it; a nested `fail/` fixture is never
required to fire. Either way the rule reports `passed: true` with half
its fixtures unchecked -- the same "ships looking verified" failure
`ValeFixtureCoverage` was added to prevent, one directory deeper.
Flat and loud rather than recursive: one legal layout instead of two, and
the error names the offending path the moment someone creates it. Nothing
nests today, so this closes the gap before it can be hit rather than
fixing a live break.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jwc9FFroR3mTZ4hLiSkkX31 parent 99fca71 commit d1487be
2 files changed
Lines changed: 51 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
92 | 106 | | |
93 | 107 | | |
94 | 108 | | |
| |||
97 | 111 | | |
98 | 112 | | |
99 | 113 | | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
100 | 125 | | |
101 | 126 | | |
102 | 127 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
165 | 191 | | |
166 | 192 | | |
167 | 193 | | |
| |||
0 commit comments