Commit 3ce8314
Make the no-mutation leak tests self-maintaining; document the invariant
Replace the hand-enumerated _WATCHED_ATTRS list with a structural
snapshot derived from Constants.__getstate__(), the canonical listing
of an instance's own config. A collection added to Constants later is
watched automatically — there is no list to remember to update (unlike
conftest's _COLLECTION_CONFIG_ATTRS, which remains the only manual
one). A sanity assert fails loud if the discovery ever stops covering
the five historically-mutated sets, and the snapshot now also covers
TupleManager collections and scalar overrides.
Update AGENTS.md: fix the two Architecture lines that still described
parse_pieces()/join_on_conjunctions() as writing into the constants,
and add a gotcha documenting the parsing-never-writes-config invariant
and the _derived_* overlay recipe for future derived categories.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 268b192 commit 3ce8314
2 files changed
Lines changed: 45 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
98 | 98 | | |
99 | | - | |
| 99 | + | |
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
115 | | - | |
| 115 | + | |
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
| 132 | + | |
131 | 133 | | |
132 | 134 | | |
133 | 135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
499 | 499 | | |
500 | 500 | | |
501 | 501 | | |
502 | | - | |
503 | | - | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
504 | 538 | | |
505 | 539 | | |
506 | 540 | | |
507 | | - | |
| 541 | + | |
508 | 542 | | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
| 543 | + | |
513 | 544 | | |
514 | 545 | | |
515 | 546 | | |
| |||
542 | 573 | | |
543 | 574 | | |
544 | 575 | | |
545 | | - | |
| 576 | + | |
546 | 577 | | |
547 | | - | |
548 | | - | |
549 | | - | |
550 | | - | |
| 578 | + | |
551 | 579 | | |
552 | 580 | | |
553 | 581 | | |
| |||
0 commit comments