WORDWARD POLISH VOCABULARY V1
Prepared and locally integrated 2026-10-25; native-speaker review remains pending.

SOURCE AND LICENSE
Słownik SJP.PL, https://sjp.pl/, release 2026-09-01.
Game lexicon: https://sjp.pl/sl/growy/sjp-20260901.zip
Lemma/inflection reference: https://sjp.pl/sl/odmiany/sjp-odm-20260901.zip
Publisher landing pages: https://sjp.pl/sl/growy/ and https://sjp.pl/sl/odmiany/

Both original archive READMEs explicitly offer Creative Commons Attribution
4.0 International. The game archive also offers GPL 2; the lemma archive also
offers GPL 2, LGPL 2.1 and Apache 2.0. CC BY 4.0 is the selected license for both.
Preserve SJP.PL attribution, these source links, the license and change notices.
No affiliation or endorsement is claimed. Wordward's vocabulary modifications
and explicit editorial selection are also CC BY 4.0; unrelated game-code terms
are unchanged. ../word-list-pl-license.txt is the public bundled notice.

RAW BYTES PRESERVED
sjp-20260901.zip: 8,515,982 bytes
SHA256 43796ccf34a8ba9b6e965588b842721056b5a89cad4c8c38e057f838d4eaa6a5
  slowa.txt: 45,650,247 bytes; 3,245,600 CRLF-delimited UTF-8 rows
  SHA256 f664217f9c7c384300cf885386ae107f11b61be2ea3b7e61aca5c9318ab0e518
  README.txt: 165 bytes; also retained verbatim as README-game.txt
  SHA256 73d3b1645a58bf1e3db55c9d9c89b82e94df8cd702543cd7e099b2c1788e5ae2

sjp-odm-20260901.zip: 12,696,496 bytes
SHA256 d8c2390462b81c6f4e4d80e5a379377b6099d01bd17e238ec2787a9638364bdc
  odm.txt: 71,543,987 bytes; 237,322 UTF-8 lemma rows
  SHA256 520d5e67640b89a0465ddda3907f56ec54740ec3b900158be141a504c63b77ac
  README.txt: 185 bytes; also retained verbatim as README-lemma.txt
  SHA256 b17ff27f662095cf6e34b91f97d006c061d4ee50ea9c24e91fa50fa5ffd4b018

CC-BY-4.0.txt: 18,657 bytes
SHA256 9ba9550ad48438d0836ddab3da480b3b69ffa0aac7b7878b5a0039e7ab429411
Legal-code text from Creative Commons' own repository:
https://raw.githubusercontent.com/creativecommons/creativecommons.org/main/docroot/legalcode/by_4.0.txt
Canonical legal code: https://creativecommons.org/licenses/by/4.0/legalcode.txt
The publisher's web tool returned the legal code; direct file downloading from
that host returned HTTP 403, so its official repository supplied the same text.

TRANSFORMATION AND BOARD POLICY
The game archive supplies the core accepted guesses. Select whole
lowercase source spellings of 3-7 letters using a-z plus ąćęłńóśźż. The pin's
complete game list contains only those characters, no duplicate lines, and NFC
spellings. Checks enforce its exact archive members, sizes, hashes, row count,
alphabet, normalization and measured per-length counts.

Puzzle normalization is NFC followed by an explicit native lowercase-to-uppercase
table. Ą Ć Ę Ł Ń Ó Ś Ź Ż stay distinct, including Ł, which is not decomposed by
ordinary accent removal. Unsupported foreign characters, spaces, apostrophes
and hyphens stay unsupported; no generic Unicode uppercase, NFKC, transliteration
or punctuation joining is used. Polish digraphs such as SZ and CZ remain two
letter cells. The upper bound is seven native letter cells, not seven phonemes.
The broad source contains A-Z loans as well as the nine marked letters; this
35-symbol board inventory is not a claim that the Polish alphabet has 35 letters.

accepted-forms-pl.tsv records every core canonical guess, original spelling and its
one-based slowa.txt line. Each answer additionally records its chosen lemma and
one-based odm.txt row. The lemma archive uses comma-space-separated forms and
contains 196 repeated rows and 107 rows with duplicate forms, with 4,786,309 form
occurrences. These source facts are recorded and asserted, not silently fixed.
The first attested matching row supplies a proof; semantic homonyms are not
claimed to have separate grammatical tags in this untagged source.

The lemma file is not a second independent language authority and is not
automatically unioned: it includes names, abbreviations and non-game forms.
A separate reviewed-additions-pl.tsv admits fifteen individually verified
ordinary spellings in the TAXI, VIDEO, MYŚMY, WYŚCIE and ŻEŚ families as guesses
only. Each has an exact licensed lemma row and primary entry link. No inferred
morphology is used; the selected answer module remains byte-for-byte unchanged.
See source-gap-audit.md for the source exclusions and explicit product decision.

MEASURED COUNTS
Length                 3       4       5       6        7      Total
Core game source    1,626   8,252  28,701  65,331  130,188    234,098
Final guesses       1,628   8,253  28,706  65,336  130,190    234,113
Selected answers      145     270     467     428      292      1,602

Answer counts are outcomes of explicit editorial selection, not quotas. The
manifest answers-pl.tsv contains original spellings, English editorial glosses,
categories, selected lemma anchors and review notes. The game module exports
POLISH_WORDS using native uppercase spellings. No game's daily answer schedule
or dictionary definitions were copied. See answer-selection-notes.md.

OFFLINE REPRODUCTION
From the root containing assets/, scripts/ and src/:
  python -B scripts/build-polish-words.py
  python -B assets/polish-source/verify-vocabulary.py
  node assets/polish-source/verify-module.mjs

The builder is standard-library-only and reads local pinned archives; no live
download or package installation occurs. Do not run with python -O: disabled
assertions are explicitly rejected. The optional corpus audit uses the existing
wordfreq 3.1.1 installation in .qa/simulation-python, found in an ancestor project.
The builder works without wordfreq. Corpus attribution is separate in QA-SOURCES.txt.

VERIFICATION SCOPE
Every core guess is checked against an independently read original game list.
All fifteen additions are independently proved against their exact lemma rows.
Every original-spelling line record and answer/lemma relationship is checked.
Ordinary irregular plurals, case forms, imperatives and conjugations are explicit
positive controls. Corrupted sources, wrong archive schemas, false lemma claims,
unattested answers, duplicates, empty decks, foreign-letter leaks, mark folding,
missing NFC and joined punctuation are demonstrated failures. Exact outcomes
and 50 detected source/supplement fault controls are in vocabulary-verification.json.

There are zero native canonical collisions. Deliberately folding marks would
collapse 22,962 source spelling families, proving that native marks carry real
word distinctions. Every marked native letter occurs in the chosen answer deck.

All 1,602 selected answers occur in independent wordfreq large_pl; this is corpus
evidence, not native approval. The lowest exact-lemma Zipf is 1.10 (solić), kept
after individual review as an ordinary cooking verb. large_pl has 453,320 entries;
160,493 fit the board alphabet and lengths, of which 77,468 occur in the game
dictionary. Its 83,025 outsiders include many names, English strings, missing
diacritics and typos, as well as genuine source-policy exclusions. They are not
all invalid Polish and are not silently imported.

The original core asset was 1,854,542 UTF-8 bytes; the fifteen reviewed additions
are separately identified in the final build report. All six generated outputs
rebuild byte-for-byte; .qa/language-expansion/polish-rebuild.json records hashes.
Integrated runtime, simulation and browser evidence is recorded in PLAN.md and
README.md. Native fluency, physical-device input and human prediction validation
remain pending; automated correctness is not native-speaker approval.
