Commit dca7736
committed
fix: the corroboration guard is all-or-nothing, not lockstep
CI failed on this PR: `test_body_map_package_agrees_with_the_witness_map`
required `repos.yaml` to DECLARE `package:` for every witness row that names
one, and tests.yml pins the sibling Mind checkout to `main`, where the field
does not exist yet. The rest of the fix already tolerated that — `canonical_key`
falls back to the hand table, with a test pinning it — but this guard did not,
so the half that was designed to stand alone could not.
Absence of the field is an older body map, not a contradiction: a map declaring
NO package anywhere has nothing to corroborate, and the guard stands down. The
moment it declares even one, every witness row that names a package must have
one — so a PARTIALLY declared map still fails, which is what a new library added
without its `package:` would look like. That is a stronger guard than the one it
replaces, not a weakened one.
Verified against CI's exact condition — this branch's Brain against a PyAutoMind
checkout at origin/main, zero `package:` rows: 515 pass. Against the branch's
Mind, with all seven declared: 515 pass. Mutation: declaring one package and not
the rest fails the guard naming the other six.
Also fixes the DeprecationWarning this PR introduced (`maxsplit` passed
positionally in `unreachable_repos`). The identical warning from
`normalise_repo` is pre-existing and left alone.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nj7cTnL8Ke5WoNsdGVhCKn1 parent 6329db8 commit dca7736
2 files changed
Lines changed: 12 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
186 | | - | |
| 186 | + | |
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
273 | 273 | | |
274 | 274 | | |
275 | 275 | | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
276 | 284 | | |
277 | 285 | | |
278 | 286 | | |
279 | 287 | | |
280 | 288 | | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
281 | 292 | | |
282 | 293 | | |
283 | 294 | | |
| |||
0 commit comments