Repository navigation
Commit 7bd7979
Only conflicts involving the changed rules fail the consistency check
The consistency judge reviews a whole owner directory and so reports every
conflict in it. The gate failed the change for any of them, including
conflicts between rules the change never touched. Refining cannot fix
those, so every change in such a directory was blocked for good and spent
two paid refine rounds on it.
The first live run hit exactly this. On main (48e8b4a), CONF-1a..4a are
duplicated across two configuration pages, and DIFF-2s/2t and SERV-4o/4r5
already conflict. Both intake batches ended refine_exhausted.
- check_consistency(changed=...) now takes the rule IDs the change adds,
edits, retires or supersedes.
- A conflict naming one of them is the change's.
- A conflict between untouched rules is kept as "preexisting" and does
not fail the change; the directory then counts as consistent.
- The changed IDs include the ### rules nested inside a changed rule.
- A conflict that names no rule, has null or non-string IDs, or is
malformed still counts against the change (fail closed).
- The judge's prompt now carries changed_rule_ids.
- Calibration passes no `changed`, so it keeps the strict whole-directory
verdict.
Tests: a conflict already on main passes; one involving the new rule
fails; an unnamed or null-ID conflict fails; a conflict naming a nested rule of the new rule fails; the judge is told the changed IDs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1 parent 48e8b4a commit 7bd7979
3 files changed
Lines changed: 91 additions & 4 deletions
File tree
- doc/architecture/SPEC
- src/infermatrix_copilot/kb_service
- test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
275 | 275 | | |
276 | 276 | | |
277 | 277 | | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
172 | | - | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
173 | 178 | | |
174 | 179 | | |
175 | 180 | | |
| |||
187 | 192 | | |
188 | 193 | | |
189 | 194 | | |
190 | | - | |
| 195 | + | |
| 196 | + | |
191 | 197 | | |
192 | 198 | | |
193 | 199 | | |
| |||
202 | 208 | | |
203 | 209 | | |
204 | 210 | | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
205 | 218 | | |
206 | | - | |
| 219 | + | |
207 | 220 | | |
208 | 221 | | |
209 | 222 | | |
210 | 223 | | |
211 | 224 | | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
212 | 252 | | |
213 | 253 | | |
214 | 254 | | |
| |||
255 | 295 | | |
256 | 296 | | |
257 | 297 | | |
258 | | - | |
| 298 | + | |
| 299 | + | |
259 | 300 | | |
260 | 301 | | |
261 | 302 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
559 | 559 | | |
560 | 560 | | |
561 | 561 | | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
0 commit comments