Whole file
eyelevelai/groundx-python
The author described this change as “fix(extract): ambiguous relationship matches are warnings, not document failures”. It counts as a record because the check below fails on the code as it stood at 361fcf7bf and passes on 2a8420d3a, with nothing else changed between the two runs.
Projecteyelevelai/groundx-python
Fix saved2026-07-08
Sharing licenceMIT · LICENSE
Change size+7 −0
What the code was meant to do, written into the code itself as a save note
fix(extract): ambiguous relationship matches are warnings, not document failures
The change
| 834 | 834 | f"relationship {rel_name} child record {child_index} " | |
| 835 | 835 | "matches more than one parent" | |
| 836 | 836 | ), | |
| 837 | + | # Ambiguity is a HANDLED data condition: the child is | |
| 838 | + | # routed to the unmatched group (rendered account-level | |
| 839 | + | # per the relationship algorithm), so it must not fail | |
| 840 | + | # the document. Live prod 2026-07-08: a real utility | |
| 841 | + | # bill whose meters share match-attr values failed | |
| 842 | + | # entirely under the default severity="error". | |
| 843 | + | severity="warning", | |
| 837 | 844 | relationship=rel_name, | |
| 838 | 845 | child_record_index=child_index, | |
| 839 | 846 | ) |
The check that tells the two apart
fail→pass·tests/extract/test_custom_output_reassembly.py::test_ambiguous_relationship_match_is_warning_and_routes_unmatched
Check file tests/extract/test_custom_output_reassembly.py, taken without changes from the fix and copied onto the older code, so the exact same check runs against both versions.
Origin and history
The code before it361fcf7bf79c62f582a4c9d0852754fa6095fa68
Broken version dated2026-07-08
Modulegroundx.extract.custom_outputs
Units changed_apply_relationships
Fingerprint19b08c5c4f3b6f37
Checked2026-08-18 by goldset/0.1
Every field above is generated by our program. None of it is written by hand.