Commit e2d8d2a
committed
Fixed: unbridged_function recursion (namespace-aware — confirmed the StackOverflow is gone).
Remaining failures, all test-only, two kinds:
1. Hardcoded old negative values (e.g. test_FreeBridge:138 expecting [-1,-2]) — trivially update to the new positive values.
2. Cross-layer is_valid isolation (test_nesting lines 648, 664–666: !is_valid(model, x), !is_valid(b0, cnn), etc.). These assert that a
bridged entity from an upper layer is invalid in lower layers. With the old negatives this held for free; with positive translated indices
a bridged variable's value (x=1) coincides with an inner-model variable, so a direct is_valid(model, x) is a false positive. Real
operations are unaffected because they route through the proper layer — only these direct cross-namespace value comparisons see the
coincidence.
The new design's guarantee is "operations through the correct layer are correct," not "indices are globally unique across layers" (which
is what the old negative encoding incidentally provided).1 parent d407801 commit e2d8d2a
3 files changed
Lines changed: 202 additions & 125 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
59 | 57 | | |
60 | 58 | | |
61 | 59 | | |
| |||
118 | 116 | | |
119 | 117 | | |
120 | 118 | | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | 119 | | |
126 | 120 | | |
127 | 121 | | |
| |||
235 | 229 | | |
236 | 230 | | |
237 | 231 | | |
238 | | - | |
| 232 | + | |
239 | 233 | | |
240 | 234 | | |
241 | 235 | | |
| |||
284 | 278 | | |
285 | 279 | | |
286 | 280 | | |
287 | | - | |
| 281 | + | |
288 | 282 | | |
289 | 283 | | |
290 | 284 | | |
| |||
0 commit comments