Skip to content

Add the Catalan particles de, del and la to ca.toml (strict-gap batch C) - #1032

Merged
derek73 merged 4 commits into
masterfrom
feat/ca-particles
Nov 3, 2026
Merged

derek73 merged 4 commits into
masterfrom
feat/ca-particles

Conversation

@derek73

@derek73 derek73 commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

What

Strict-gap batch C, decided on 2026-11-03: ca.toml takes de, del and la, the particles of Catalan names (de la Torre, del Castell). It held the conjunction i alone, so strict ca read the rest as name words. Each entry copies es.toml's kind and properties.

Measured

  • Strict losses (tools/differential/config_diff.py gaps on master f48c88a, over the records of Spain and Andorra).
    • Strict ca broke 626 records on de, 208 on del and 197 on la. The language's 1,032 broken records fall to 188 (simulated with all five batches).
    • It also loses fixes, 182 to 25: records, mostly Spanish names, where strict ca without the particles happened to agree with the filed boxes.
  • Default and plain choices. The compiled default is unchanged. Over a grid of 16 Catalan names under the three orders (each comma shape; cased, upper and lower spellings; i joining two surnames; a title and a credential beside them), the default, plain ca and strict ca + es move no cell.
  • Strict ca. It moves 35 cells, toward the default's reading, with the class batch B (Add the Spanish-derived particles of Filipino surnames to fil.toml (strict-gap batch B) #1031) met:
    • del and la hold a given reading in es.toml alone, so under strict ca they read as never-given particles.
    • Del Castell reads family 'Del Castell', where the default reads given 'Del' and reports particle-or-given.
    • _reading_index.strict_ungated's reviewed table gains ca: del, la.
  • Committed corpora. The snapshot matches. Reading.languages of de and la now names ca, so the release log, usage.rst, _types.py and two tests list it.

decisions/vocabulary-model gains the batch's entry.

Review round

An independent review found no defect. It reproduced the figures (198 broken and 26 fixed on this change alone, 188 and 25 with batch A), found plain ca byte-identical over 61,582 local names, and read the 160 lost fixes: nearly all Spanish names whose filer boxed del Carmen with the given name, now read as plain ca and the default read them, with no Catalan name worse. Fixed after it:

  • The decisions entry gives this batch's own figures and what the lost fixes are.
  • It states the comma form of the never-given class (Castell, Del → family 'Castell Del').
  • It notes dels, which no file holds, as left out.
  • It gains a recompute recipe.
  • STRICT_UNGATED's comment and the 3j entry date their counts.

Checks

  • uv run pytest -q: 35,787 passed. uv run mypy, uv run ruff check.
  • sphinx-build -b doctest and -W -b html; snapshot.py.
  • Not run: -n0 -m serial and Python 3.15.

Merge note: #1031 (fil) and #1033 (si) edit the same lists of files for de (and #1031 for la), and #1031 and #1034 the same reviewed table. Whichever merges later takes every entry (('ca', 'es', 'fil', 'fr', 'it', 'nl', 'pt', 'si') for de once all three land) and rebuilds nameparser/config/_index.py. This batch's entry points to batch A's entry (#1030): merge #1030 first.

🤖 Generated with Claude Code

ca.toml held the conjunction i alone, so strict ca read the particles of
Catalan names as name words: 626, 208 and 197 records broken. No default
or plain-choice parse moves; under strict ca, del and la read as
never-given particles, which the reviewed ungated table records.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73 derek73 added this to the 3.0 milestone Nov 3, 2026
@derek73 derek73 added the vocabulary Per-word vocabulary model and language packs label Nov 3, 2026
@derek73 derek73 self-assigned this Nov 3, 2026
derek73 and others added 3 commits November 3, 2026 11:59
…a cost, dels noted, recompute, counts dated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	docs/design/decisions/vocabulary-model.md
# Conflicts:
#	docs/design/decisions/vocabulary-model.md
#	docs/release_log.rst
#	docs/usage.rst
#	nameparser/_types.py
#	nameparser/config/_index.py
#	tests/v2/pipeline/test_assemble.py
#	tests/v2/test_parser.py
@derek73
derek73 merged commit b3081b7 into master Nov 3, 2026
13 checks passed
@derek73
derek73 deleted the feat/ca-particles branch November 3, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

vocabulary Per-word vocabulary model and language packs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant