Marcel
366b484815
test(normalizer): real provisional-vs-register collision + override-hits coverage
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 14:25:49 +02:00
Marcel
88c8063227
feat(normalizer): person resolution context + to_canonical
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 14:18:09 +02:00
Marcel
3066d3d3ff
refactor(normalizer): harden triage index guard + index_file_mismatch tests
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 14:15:50 +02:00
Marcel
3e7ddea90a
feat(normalizer): row extraction, triage, canonical record
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 14:12:48 +02:00
Marcel
75b3ca8b9e
fix(normalizer): don't coerce boolean cells to 1/0
...
Add bool guard before the int branch in _cell_to_str so True/False
cells are preserved as "True"/"False" instead of "1"/"0". Add two
regression tests covering the fix and missing-sheet error.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 14:11:19 +02:00
Marcel
74c4c390fc
feat(normalizer): xlsx ingest + header mapping
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 14:08:30 +02:00
Marcel
29087319e6
test(normalizer): cover AliasIndex unambiguous first-name resolution
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 14:07:20 +02:00
Marcel
53457d9319
feat(normalizer): alias index with maiden/married/nickname resolution
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 14:04:11 +02:00
Marcel
2d97595e9c
fix(normalizer): split_receivers returns [] for a geb.-only cell
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 14:02:35 +02:00
Marcel
a177077b40
feat(normalizer): receiver splitting
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:59:51 +02:00
Marcel
b7a2332861
fix(normalizer): suffix all members of a colliding person-id group
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:58:35 +02:00
Marcel
1da1a8d223
feat(normalizer): person register parsing
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:54:37 +02:00
Marcel
59715bdccd
fix(normalizer): require day-dot in English month-first matcher (structural anti-shadow)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:53:05 +02:00
Marcel
53a661adb6
feat(normalizer): month/year, feast/season, range matchers + overrides
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:47:26 +02:00
Marcel
4942c0ea07
feat(normalizer): day-first month-name matcher
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:42:36 +02:00
Marcel
7edc002ebb
feat(normalizer): roman-numeral month matcher
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:38:32 +02:00
Marcel
b43dd6cdd4
fix(normalizer): keep Task 5 scoped — drop year-only matcher (belongs to Task 8)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:36:48 +02:00
Marcel
cff486dda7
fix(normalizer): treat leading date qualifiers (nach/vor/…) as APPROX
...
_preprocess now sets approx=True when a leading marker is stripped; add
_match_year_only so bare years (e.g. "nach 1900" -> "1900") resolve to
1900-01-01/YEAR before being upgraded to APPROX. Strengthen
test_parse_approx_marker_upgrades_precision and add
test_parse_leading_qualifier_is_approx (11 tests, all pass).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:35:19 +02:00
Marcel
df14e6b1ee
feat(normalizer): parse_date dispatch + iso/numeric matchers
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:30:07 +02:00
Marcel
1908dde859
feat(normalizer): year expansion century rule
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:27:26 +02:00
Marcel
4845e7a3c1
feat(normalizer): feast + season resolution
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:24:26 +02:00
Marcel
c6cceec6e9
feat(normalizer): Easter computus
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:21:39 +02:00
Marcel
8f6f4f2d62
feat(normalizer): scaffold tool + config tables
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 13:18:52 +02:00