champollion 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/LICENSE +133 -0
  2. package/README.md +387 -0
  3. package/bin/cli.js +278 -0
  4. package/index.js +135 -0
  5. package/lib/api-key.js +127 -0
  6. package/lib/autofix.js +432 -0
  7. package/lib/bridge/method_bridge.py +430 -0
  8. package/lib/card-source-resolution.mjs +284 -0
  9. package/lib/cards/cache.js +169 -0
  10. package/lib/cards/env.js +82 -0
  11. package/lib/cards/fetch-card-child.js +38 -0
  12. package/lib/cards/reader.js +435 -0
  13. package/lib/cards/refresh.js +111 -0
  14. package/lib/cards/remote.js +387 -0
  15. package/lib/cldf-export.mjs +540 -0
  16. package/lib/cldf-terms.mjs +62 -0
  17. package/lib/command-help.js +790 -0
  18. package/lib/commands/audit.js +49 -0
  19. package/lib/commands/card.js +454 -0
  20. package/lib/commands/doctor.js +559 -0
  21. package/lib/commands/fonts.js +489 -0
  22. package/lib/commands/help.js +91 -0
  23. package/lib/commands/init.js +1259 -0
  24. package/lib/commands/integrity.js +148 -0
  25. package/lib/commands/leaderboard.js +478 -0
  26. package/lib/commands/lint.js +30 -0
  27. package/lib/commands/models.js +177 -0
  28. package/lib/commands/plugin.js +103 -0
  29. package/lib/commands/provenance.js +45 -0
  30. package/lib/commands/recommend.js +75 -0
  31. package/lib/commands/register-corpus.js +678 -0
  32. package/lib/commands/repair-script.js +42 -0
  33. package/lib/commands/seal-corpus.js +355 -0
  34. package/lib/commands/seo.js +72 -0
  35. package/lib/commands/serve.js +147 -0
  36. package/lib/commands/status.js +265 -0
  37. package/lib/commands/submit.js +332 -0
  38. package/lib/commands/sync.js +89 -0
  39. package/lib/commands/tm.js +573 -0
  40. package/lib/commands/verify.js +39 -0
  41. package/lib/commands/watch.js +20 -0
  42. package/lib/commands/wrap.js +138 -0
  43. package/lib/commands/xliff.js +327 -0
  44. package/lib/commercial-eligibility.js +235 -0
  45. package/lib/concurrent.js +87 -0
  46. package/lib/config.js +523 -0
  47. package/lib/contamination-lane.js +76 -0
  48. package/lib/content-sync.js +731 -0
  49. package/lib/content.js +733 -0
  50. package/lib/corpus-registration.mjs +608 -0
  51. package/lib/cost-report.js +346 -0
  52. package/lib/diff.js +155 -0
  53. package/lib/docusaurus-sync.js +1256 -0
  54. package/lib/flatten.js +55 -0
  55. package/lib/format.js +954 -0
  56. package/lib/hash.js +159 -0
  57. package/lib/icu.js +473 -0
  58. package/lib/integrity.js +689 -0
  59. package/lib/license-gate.mjs +478 -0
  60. package/lib/license-identify.mjs +229 -0
  61. package/lib/lint.js +629 -0
  62. package/lib/method-manifest.js +60 -0
  63. package/lib/methods/anthropic.js +140 -0
  64. package/lib/methods/apertium.js +163 -0
  65. package/lib/methods/api.js +316 -0
  66. package/lib/methods/base.js +184 -0
  67. package/lib/methods/content-separator.js +45 -0
  68. package/lib/methods/deepl.js +426 -0
  69. package/lib/methods/direct-llm.js +586 -0
  70. package/lib/methods/external.js +332 -0
  71. package/lib/methods/fetch-with-retry.js +124 -0
  72. package/lib/methods/gemini.js +147 -0
  73. package/lib/methods/google-translate.js +402 -0
  74. package/lib/methods/http-utils.js +122 -0
  75. package/lib/methods/libretranslate.js +314 -0
  76. package/lib/methods/llm-coached.js +670 -0
  77. package/lib/methods/llm.js +592 -0
  78. package/lib/methods/local.js +76 -0
  79. package/lib/methods/microsoft-translator.js +331 -0
  80. package/lib/methods/openai.js +131 -0
  81. package/lib/methods/openrouter-client.js +327 -0
  82. package/lib/methods/openrouter-pricing.js +156 -0
  83. package/lib/methods/provider-env.js +115 -0
  84. package/lib/methods/provider-pricing.js +310 -0
  85. package/lib/methods/tilde.js +150 -0
  86. package/lib/methods/translated.js +229 -0
  87. package/lib/methods/translation-error.js +80 -0
  88. package/lib/models.js +258 -0
  89. package/lib/no-translate.js +233 -0
  90. package/lib/output.js +238 -0
  91. package/lib/pairs.js +547 -0
  92. package/lib/plugins.js +447 -0
  93. package/lib/provenance.js +323 -0
  94. package/lib/recommend.js +648 -0
  95. package/lib/registers.js +1185 -0
  96. package/lib/repair-script.js +266 -0
  97. package/lib/scripts.js +994 -0
  98. package/lib/seal.mjs +464 -0
  99. package/lib/sealed-qualifier.mjs +211 -0
  100. package/lib/security.js +59 -0
  101. package/lib/segment.js +369 -0
  102. package/lib/seo.js +275 -0
  103. package/lib/serve.js +854 -0
  104. package/lib/string-classify.js +85 -0
  105. package/lib/submit.mjs +344 -0
  106. package/lib/sync.js +969 -0
  107. package/lib/tags/bcp47.js +202 -0
  108. package/lib/tags/resolve.js +314 -0
  109. package/lib/terminology.js +111 -0
  110. package/lib/tm-seed.js +294 -0
  111. package/lib/tm.js +515 -0
  112. package/lib/translate-pair.js +197 -0
  113. package/lib/translate.js +203 -0
  114. package/lib/types.js +230 -0
  115. package/lib/validate.js +510 -0
  116. package/lib/verify.js +451 -0
  117. package/lib/watch.js +145 -0
  118. package/lib/xliff.js +184 -0
  119. package/package.json +93 -0
  120. package/shared/ATTRIBUTION.md +145 -0
  121. package/shared/CORPORA-CARDS.md +288 -0
  122. package/shared/DATA-SOVEREIGNTY.md +500 -0
  123. package/shared/LANGUAGE-CARD-FIELDS.md +532 -0
  124. package/shared/card-lint-baseline.json +3189 -0
  125. package/shared/cards-fallback.json +1 -0
  126. package/shared/catalogue/card-config.json +6091 -0
  127. package/shared/catalogue/external-results.json +3888 -0
  128. package/shared/catalogue/gender-guidance.json +1038 -0
  129. package/shared/catalogue/method-coverage.json +1751 -0
  130. package/shared/catalogue/metric-coverage.json +170 -0
  131. package/shared/catalogue/metric-reliability.json +1 -0
  132. package/shared/catalogue/register-presets.json +3180 -0
  133. package/shared/catalogue/vitality-scales.json +55 -0
  134. package/shared/cldr-index.json +1115 -0
  135. package/shared/code-bridge.json +253 -0
  136. package/shared/corpora-cards-v1-reference.md +281 -0
  137. package/shared/curated-dictionary-flags.json +35 -0
  138. package/shared/curated-endonyms.json +35 -0
  139. package/shared/curated-fsts.json +51 -0
  140. package/shared/curated-orthography-conventions.json +26 -0
  141. package/shared/curated-sil-resources.json +374 -0
  142. package/shared/curated-tools.json +41 -0
  143. package/shared/docent/corpus.json +11333 -0
  144. package/shared/docent/faq.en.json +564 -0
  145. package/shared/docent/register-blocks.json +60 -0
  146. package/shared/docent/system-prompt.md +144 -0
  147. package/shared/domain-taxonomy.json +35 -0
  148. package/shared/explainers/glossary.json +2975 -0
  149. package/shared/explainers/tc-features.json +20112 -0
  150. package/shared/explainers/term-watchlist.json +147 -0
  151. package/shared/human-services.json +59 -0
  152. package/shared/license-corrections.json +261 -0
  153. package/shared/license-evidence.json +13452 -0
  154. package/shared/licenses.json +6781 -0
  155. package/shared/method-registry.json +236 -0
  156. package/shared/metric-registry.json +620 -0
  157. package/shared/model-aliases.json +7 -0
  158. package/shared/schemas/champollion-plugin.schema.json +206 -0
  159. package/shared/schemas/corpora-card.schema.json +957 -0
  160. package/shared/schemas/domain-taxonomy.schema.json +64 -0
  161. package/shared/schemas/external-results.schema.json +314 -0
  162. package/shared/schemas/human-services.schema.json +90 -0
  163. package/shared/schemas/language-card.schema.json +1308 -0
  164. package/shared/schemas/licenses.schema.json +155 -0
  165. package/shared/schemas/method-card.schema.json +412 -0
  166. package/shared/schemas/method-registry.schema.json +85 -0
  167. package/shared/schemas/metric-registry.schema.json +96 -0
  168. package/shared/schemas/metric-reliability.schema.json +178 -0
  169. package/shared/schemas/model-aliases.schema.json +27 -0
  170. package/shared/schemas/source-snapshot.schema.json +96 -0
@@ -0,0 +1,170 @@
1
+ {
2
+ "_doc": "Which evaluation METRIC MODELS cover which languages. Transcribed cite-only from each model's own published list, with the URL and the date read — the same discipline as method-coverage.json. This exists because the harness selects a specialised COMET model per language, and the previous source for that was two hardcoded ISO lists inside a script, one of which cited the wrong paper on all 109 cards it touched.",
3
+ "_boundary": "This is RESOURCE EXISTENCE — that a metric model claims to cover a language. It is never a score, and never a claim about how well anything evaluates. A measured metric value is a run result keyed by (method, dataset, metric) and belongs on the leaderboard.",
4
+ "version": 1,
5
+ "asOf": "2026-08-05",
6
+ "models": [
7
+ {
8
+ "key": "africomet",
9
+ "label": "AfriCOMET-MTL",
10
+ "model": "masakhane/africomet-mtl",
11
+ "purpose": "reference-based MT evaluation for African languages",
12
+ "source_url": "https://huggingface.co/masakhane/africomet-mtl",
13
+ "asOf": "2026-08-05",
14
+ "verified": "publisher-list",
15
+ "citation": "Wang et al. AfriMTE and AfriCOMET: Empowering COMET to Embrace Under-resourced African Languages. arXiv:2311.09828.",
16
+ "citationNote": "The previous corpus cited this as 'wan-2022' on all 109 cards carrying the field. The model card names arXiv:2311.09828; the work was subsequently published at NAACL 2024, so both a 2023 (preprint) and 2024 (proceedings) year are defensible and the arXiv identifier is the unambiguous reference.",
17
+ "coverageStatement": "This model builds on top of AfroXLMR which cover the following languages: [...]. Thus, results for language pairs containing uncovered languages are unreliable!",
18
+ "publishedLanguageNames": [
19
+ "Afrikaans",
20
+ "Arabic",
21
+ "Amharic",
22
+ "English",
23
+ "French",
24
+ "Hausa",
25
+ "Igbo",
26
+ "Malagasy",
27
+ "Chichewa",
28
+ "Oromo",
29
+ "Nigerian-Pidgin",
30
+ "Kinyarwanda",
31
+ "Kirundi",
32
+ "Shona",
33
+ "Somali",
34
+ "Sesotho",
35
+ "Swahili",
36
+ "isiXhosa",
37
+ "Yoruba",
38
+ "isiZulu"
39
+ ],
40
+ "isoMappingNote": "The publisher lists NAMES, not codes. The ISO 639-3 mapping below is OURS and is marked as such — it is a standard, checkable correspondence, but it is our step and not the publisher's. Four of the twenty resolve to MACROLANGUAGES (ara, mlg, orm, swa); whether coverage of a macrolanguage extends to its individual members is the same open question the atlas records for method coverage, and it is not answered here.",
41
+ "iso6393": [
42
+ "afr",
43
+ "ara",
44
+ "amh",
45
+ "eng",
46
+ "fra",
47
+ "hau",
48
+ "ibo",
49
+ "mlg",
50
+ "nya",
51
+ "orm",
52
+ "pcm",
53
+ "kin",
54
+ "run",
55
+ "sna",
56
+ "som",
57
+ "sot",
58
+ "swa",
59
+ "xho",
60
+ "yor",
61
+ "zul"
62
+ ],
63
+ "count": 20,
64
+ "pivots": [
65
+ "eng",
66
+ "fra"
67
+ ],
68
+ "pivotNote": "eng and fra appear in the publisher's language list as the evaluation PIVOTS its African-language pairs run through, not as African targets. Membership stays faithful to the publisher; the pivot marking is what keeps 'has AfriCOMET' meaning what the model is FOR — recommending africomet-mtl for French because French is a pivot would route a high-resource language away from the default COMET its own validation covers.",
69
+ "qeModel": "masakhane/africomet-qe-stl",
70
+ "qeNote": "Reference-free QE sibling (AfriCOMET-QE-STL), same publisher, same language list, same citation — relocated from the per-card `qe` variant every legacy card stamped with africomet-wan-2022."
71
+ },
72
+ {
73
+ "key": "xlmr",
74
+ "label": "XLM-R top-tier training languages",
75
+ "model": "xlm-roberta-large",
76
+ "purpose": "COMET reliability signal: languages with high XLM-R representation produce more reliable COMET scores",
77
+ "citation": "Conneau et al. 2020, Unsupervised Cross-lingual Representation Learning at Scale (XLM-R) — top-100 languages by CommonCrawl training volume",
78
+ "tierMeaning": "membership in this list IS the 'high' tier; the paper publishes the list, not per-language scores",
79
+ "relocationNote": "2026-08-11: transcribed cite-only onto cards long ago (source stamp 'xlmr-conneau-2020' on every entry) and relocated here, the register such transcriptions belong in — the same move as DeepL formality.",
80
+ "iso6393": [
81
+ "afr",
82
+ "als",
83
+ "arb",
84
+ "ast",
85
+ "aze",
86
+ "ben",
87
+ "bos",
88
+ "bul",
89
+ "cat",
90
+ "ces",
91
+ "cmn",
92
+ "cym",
93
+ "dan",
94
+ "deu",
95
+ "ell",
96
+ "eng",
97
+ "est",
98
+ "eus",
99
+ "fin",
100
+ "fra",
101
+ "gle",
102
+ "glg",
103
+ "guj",
104
+ "heb",
105
+ "hin",
106
+ "hrv",
107
+ "hun",
108
+ "hye",
109
+ "ind",
110
+ "isl",
111
+ "ita",
112
+ "jpn",
113
+ "kan",
114
+ "kat",
115
+ "kaz",
116
+ "khm",
117
+ "kir",
118
+ "kor",
119
+ "lao",
120
+ "lat",
121
+ "lav",
122
+ "lit",
123
+ "mal",
124
+ "mar",
125
+ "mkd",
126
+ "mlt",
127
+ "mon",
128
+ "mya",
129
+ "nep",
130
+ "nld",
131
+ "nno",
132
+ "nob",
133
+ "oci",
134
+ "pan",
135
+ "pes",
136
+ "pol",
137
+ "por",
138
+ "ron",
139
+ "rus",
140
+ "sin",
141
+ "slk",
142
+ "slv",
143
+ "spa",
144
+ "srp",
145
+ "swe",
146
+ "swh",
147
+ "tam",
148
+ "tel",
149
+ "tgl",
150
+ "tha",
151
+ "tur",
152
+ "ukr",
153
+ "urd",
154
+ "uzb",
155
+ "vie",
156
+ "zsm"
157
+ ],
158
+ "count": 76
159
+ }
160
+ ],
161
+ "unresolved": {
162
+ "xlmr": {
163
+ "whatItWasFor": "arena/mt_eval_harness/language_cards.py::is_xlmr_high_resource, read by metrics_comet.py and metrics_metricx.py to flag a score as potentially noisy because the underlying embeddings are weak for that language.",
164
+ "published": "XLM-RoBERTa's model card states it was pre-trained on 'filtered CommonCrawl data containing 100 languages' (Conneau et al., arXiv:1911.02116). Checked 2026-08-05.",
165
+ "whyUnresolved": "The model card gives the COUNT and not the LIST. The 100 language codes are in the paper's appendix, which is not a source that can be fetched and pinned the way a model card can. Transcribing them by hand is exactly how the previous register acquired a 'Top-100' note over a list of 77.",
166
+ "failSafe": "Until the list is pinned, is_xlmr_high_resource returns False for every language, so every score carries the low-resource caveat. That OVER-warns rather than under-warns, which is the only safe direction for a reliability flag: a caveat on a reliable score costs a reader nothing, and a missing caveat on an unreliable one costs them their conclusion.",
167
+ "theFix": "A fetcher against a citable enumeration of CC-100 / XLM-R's language set, pinned like any other source."
168
+ }
169
+ }
170
+ }