chaffjs 0.27.1 → 0.29.0

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 (923) hide show
  1. package/README.md +2 -1
  2. package/dist/ai-score/of-document.d.ts.map +1 -1
  3. package/dist/ai-score/of-document.js +23 -14
  4. package/dist/ai-score/of-document.js.map +1 -1
  5. package/dist/ai-score/render.d.ts.map +1 -1
  6. package/dist/ai-score/render.js +13 -4
  7. package/dist/ai-score/render.js.map +1 -1
  8. package/dist/ai-score/score.d.ts +16 -1
  9. package/dist/ai-score/score.d.ts.map +1 -1
  10. package/dist/ai-score/score.js +15 -3
  11. package/dist/ai-score/score.js.map +1 -1
  12. package/dist/ai-score/signals.d.ts +2 -4
  13. package/dist/ai-score/signals.d.ts.map +1 -1
  14. package/dist/ai-score/signals.js +11 -2
  15. package/dist/ai-score/signals.js.map +1 -1
  16. package/dist/ai-score/text.d.ts +2 -0
  17. package/dist/ai-score/text.d.ts.map +1 -1
  18. package/dist/ai-score/text.js +4 -2
  19. package/dist/ai-score/text.js.map +1 -1
  20. package/dist/announced-count.d.ts +2 -0
  21. package/dist/announced-count.d.ts.map +1 -1
  22. package/dist/announced-count.js +14 -7
  23. package/dist/announced-count.js.map +1 -1
  24. package/dist/check-source.d.ts +3 -1
  25. package/dist/check-source.d.ts.map +1 -1
  26. package/dist/check-source.js +3 -1
  27. package/dist/check-source.js.map +1 -1
  28. package/dist/cli-text.d.ts.map +1 -1
  29. package/dist/cli-text.js +42 -18
  30. package/dist/cli-text.js.map +1 -1
  31. package/dist/cli.d.ts.map +1 -1
  32. package/dist/cli.js +2 -1
  33. package/dist/cli.js.map +1 -1
  34. package/dist/commands/cite-claims.d.ts +36 -0
  35. package/dist/commands/cite-claims.d.ts.map +1 -0
  36. package/dist/commands/cite-claims.js +81 -0
  37. package/dist/commands/cite-claims.js.map +1 -0
  38. package/dist/commands/cite-page.d.ts +14 -0
  39. package/dist/commands/cite-page.d.ts.map +1 -0
  40. package/dist/commands/cite-page.js +47 -0
  41. package/dist/commands/cite-page.js.map +1 -0
  42. package/dist/commands/cite-scaffold.d.ts +16 -0
  43. package/dist/commands/cite-scaffold.d.ts.map +1 -0
  44. package/dist/commands/cite-scaffold.js +21 -0
  45. package/dist/commands/cite-scaffold.js.map +1 -0
  46. package/dist/commands/cite.d.ts +3 -12
  47. package/dist/commands/cite.d.ts.map +1 -1
  48. package/dist/commands/cite.js +110 -51
  49. package/dist/commands/cite.js.map +1 -1
  50. package/dist/company-names.d.ts +34 -0
  51. package/dist/company-names.d.ts.map +1 -0
  52. package/dist/company-names.js +158 -0
  53. package/dist/company-names.js.map +1 -0
  54. package/dist/default-values.d.ts +17 -0
  55. package/dist/default-values.d.ts.map +1 -0
  56. package/dist/default-values.js +134 -0
  57. package/dist/default-values.js.map +1 -0
  58. package/dist/deprecated-use.d.ts +17 -0
  59. package/dist/deprecated-use.d.ts.map +1 -0
  60. package/dist/deprecated-use.js +95 -0
  61. package/dist/deprecated-use.js.map +1 -0
  62. package/dist/derived/number-word-counts.d.ts +10 -0
  63. package/dist/derived/number-word-counts.d.ts.map +1 -0
  64. package/dist/derived/number-word-counts.js +21 -0
  65. package/dist/derived/number-word-counts.js.map +1 -0
  66. package/dist/derived/stays.d.ts +43 -0
  67. package/dist/derived/stays.d.ts.map +1 -0
  68. package/dist/derived/stays.js +105 -0
  69. package/dist/derived/stays.js.map +1 -0
  70. package/dist/detectors/acronym-context.d.ts +2 -2
  71. package/dist/detectors/acronym-context.d.ts.map +1 -1
  72. package/dist/detectors/acronym-context.js +6 -0
  73. package/dist/detectors/acronym-context.js.map +1 -1
  74. package/dist/detectors/address-word.d.ts +3 -0
  75. package/dist/detectors/address-word.d.ts.map +1 -0
  76. package/dist/detectors/address-word.js +7 -0
  77. package/dist/detectors/address-word.js.map +1 -0
  78. package/dist/detectors/agreement-slip.d.ts.map +1 -1
  79. package/dist/detectors/agreement-slip.js +4 -1
  80. package/dist/detectors/agreement-slip.js.map +1 -1
  81. package/dist/detectors/ai-phrasing.d.ts +0 -4
  82. package/dist/detectors/ai-phrasing.d.ts.map +1 -1
  83. package/dist/detectors/ai-phrasing.js +5 -1
  84. package/dist/detectors/ai-phrasing.js.map +1 -1
  85. package/dist/detectors/amount-range.d.ts +3 -0
  86. package/dist/detectors/amount-range.d.ts.map +1 -0
  87. package/dist/detectors/amount-range.js +38 -0
  88. package/dist/detectors/amount-range.js.map +1 -0
  89. package/dist/detectors/amount-scale.d.ts +8 -0
  90. package/dist/detectors/amount-scale.d.ts.map +1 -0
  91. package/dist/detectors/amount-scale.js +74 -0
  92. package/dist/detectors/amount-scale.js.map +1 -0
  93. package/dist/detectors/announced-count.d.ts +1 -1
  94. package/dist/detectors/announced-count.d.ts.map +1 -1
  95. package/dist/detectors/announced-count.js +18 -3
  96. package/dist/detectors/announced-count.js.map +1 -1
  97. package/dist/detectors/bare-comparative.d.ts.map +1 -1
  98. package/dist/detectors/bare-comparative.js +4 -1
  99. package/dist/detectors/bare-comparative.js.map +1 -1
  100. package/dist/detectors/block-quotation.d.ts +13 -0
  101. package/dist/detectors/block-quotation.d.ts.map +1 -0
  102. package/dist/detectors/block-quotation.js +86 -0
  103. package/dist/detectors/block-quotation.js.map +1 -0
  104. package/dist/detectors/bracket-label.d.ts +10 -0
  105. package/dist/detectors/bracket-label.d.ts.map +1 -0
  106. package/dist/detectors/bracket-label.js +51 -0
  107. package/dist/detectors/bracket-label.js.map +1 -0
  108. package/dist/detectors/change-rate.d.ts.map +1 -1
  109. package/dist/detectors/change-rate.js +12 -1
  110. package/dist/detectors/change-rate.js.map +1 -1
  111. package/dist/detectors/citation-entry.d.ts +5 -0
  112. package/dist/detectors/citation-entry.d.ts.map +1 -1
  113. package/dist/detectors/citation-entry.js +19 -5
  114. package/dist/detectors/citation-entry.js.map +1 -1
  115. package/dist/detectors/code-before.d.ts +6 -0
  116. package/dist/detectors/code-before.d.ts.map +1 -0
  117. package/dist/detectors/code-before.js +15 -0
  118. package/dist/detectors/code-before.js.map +1 -0
  119. package/dist/detectors/connective-hierarchy.d.ts +11 -1
  120. package/dist/detectors/connective-hierarchy.d.ts.map +1 -1
  121. package/dist/detectors/connective-hierarchy.js +26 -6
  122. package/dist/detectors/connective-hierarchy.js.map +1 -1
  123. package/dist/detectors/currency-notation.d.ts +3 -1
  124. package/dist/detectors/currency-notation.d.ts.map +1 -1
  125. package/dist/detectors/currency-notation.js +4 -3
  126. package/dist/detectors/currency-notation.js.map +1 -1
  127. package/dist/detectors/date-outside-period.d.ts +4 -0
  128. package/dist/detectors/date-outside-period.d.ts.map +1 -0
  129. package/dist/detectors/date-outside-period.js +34 -0
  130. package/dist/detectors/date-outside-period.js.map +1 -0
  131. package/dist/detectors/default-values.d.ts +3 -0
  132. package/dist/detectors/default-values.d.ts.map +1 -0
  133. package/dist/detectors/default-values.js +14 -0
  134. package/dist/detectors/default-values.js.map +1 -0
  135. package/dist/detectors/defined-term-form.d.ts +6 -2
  136. package/dist/detectors/defined-term-form.d.ts.map +1 -1
  137. package/dist/detectors/defined-term-form.js +72 -12
  138. package/dist/detectors/defined-term-form.js.map +1 -1
  139. package/dist/detectors/definition-use.d.ts.map +1 -1
  140. package/dist/detectors/definition-use.js +8 -1
  141. package/dist/detectors/definition-use.js.map +1 -1
  142. package/dist/detectors/deprecated-use.d.ts +3 -0
  143. package/dist/detectors/deprecated-use.d.ts.map +1 -0
  144. package/dist/detectors/deprecated-use.js +14 -0
  145. package/dist/detectors/deprecated-use.js.map +1 -0
  146. package/dist/detectors/derived-numbers.d.ts +1 -1
  147. package/dist/detectors/derived-numbers.d.ts.map +1 -1
  148. package/dist/detectors/derived-numbers.js +79 -16
  149. package/dist/detectors/derived-numbers.js.map +1 -1
  150. package/dist/detectors/document-shape.d.ts +1 -0
  151. package/dist/detectors/document-shape.d.ts.map +1 -1
  152. package/dist/detectors/document-shape.js +4 -1
  153. package/dist/detectors/document-shape.js.map +1 -1
  154. package/dist/detectors/due-date.d.ts +3 -0
  155. package/dist/detectors/due-date.d.ts.map +1 -0
  156. package/dist/detectors/due-date.js +38 -0
  157. package/dist/detectors/due-date.js.map +1 -0
  158. package/dist/detectors/en-shape.d.ts.map +1 -1
  159. package/dist/detectors/en-shape.js +17 -9
  160. package/dist/detectors/en-shape.js.map +1 -1
  161. package/dist/detectors/fact-consistency.d.ts.map +1 -1
  162. package/dist/detectors/fact-consistency.js +89 -2
  163. package/dist/detectors/fact-consistency.js.map +1 -1
  164. package/dist/detectors/heading-echo.d.ts.map +1 -1
  165. package/dist/detectors/heading-echo.js +10 -1
  166. package/dist/detectors/heading-echo.js.map +1 -1
  167. package/dist/detectors/kana-function-word.d.ts +12 -0
  168. package/dist/detectors/kana-function-word.d.ts.map +1 -0
  169. package/dist/detectors/kana-function-word.js +59 -0
  170. package/dist/detectors/kana-function-word.js.map +1 -0
  171. package/dist/detectors/line-amount.d.ts +3 -0
  172. package/dist/detectors/line-amount.d.ts.map +1 -0
  173. package/dist/detectors/line-amount.js +22 -0
  174. package/dist/detectors/line-amount.js.map +1 -0
  175. package/dist/detectors/location-pointer.d.ts +6 -0
  176. package/dist/detectors/location-pointer.d.ts.map +1 -0
  177. package/dist/detectors/location-pointer.js +22 -0
  178. package/dist/detectors/location-pointer.js.map +1 -0
  179. package/dist/detectors/mark-shape.d.ts.map +1 -1
  180. package/dist/detectors/mark-shape.js +13 -1
  181. package/dist/detectors/mark-shape.js.map +1 -1
  182. package/dist/detectors/nado-closed-list.d.ts +3 -0
  183. package/dist/detectors/nado-closed-list.d.ts.map +1 -0
  184. package/dist/detectors/nado-closed-list.js +21 -0
  185. package/dist/detectors/nado-closed-list.js.map +1 -0
  186. package/dist/detectors/name-variant.d.ts.map +1 -1
  187. package/dist/detectors/name-variant.js +92 -10
  188. package/dist/detectors/name-variant.js.map +1 -1
  189. package/dist/detectors/next-word.d.ts.map +1 -1
  190. package/dist/detectors/next-word.js +41 -8
  191. package/dist/detectors/next-word.js.map +1 -1
  192. package/dist/detectors/number-word-figure.d.ts +5 -0
  193. package/dist/detectors/number-word-figure.d.ts.map +1 -0
  194. package/dist/detectors/number-word-figure.js +32 -0
  195. package/dist/detectors/number-word-figure.js.map +1 -0
  196. package/dist/detectors/obligation-without-deadline.d.ts +39 -0
  197. package/dist/detectors/obligation-without-deadline.d.ts.map +1 -0
  198. package/dist/detectors/obligation-without-deadline.js +148 -0
  199. package/dist/detectors/obligation-without-deadline.js.map +1 -0
  200. package/dist/detectors/open-end-names.d.ts +23 -0
  201. package/dist/detectors/open-end-names.d.ts.map +1 -0
  202. package/dist/detectors/open-end-names.js +95 -0
  203. package/dist/detectors/open-end-names.js.map +1 -0
  204. package/dist/detectors/ordinal-run-gaps.d.ts +8 -0
  205. package/dist/detectors/ordinal-run-gaps.d.ts.map +1 -0
  206. package/dist/detectors/ordinal-run-gaps.js +80 -0
  207. package/dist/detectors/ordinal-run-gaps.js.map +1 -0
  208. package/dist/detectors/orthographic-variant.d.ts.map +1 -1
  209. package/dist/detectors/orthographic-variant.js +26 -9
  210. package/dist/detectors/orthographic-variant.js.map +1 -1
  211. package/dist/detectors/orthography.d.ts.map +1 -1
  212. package/dist/detectors/orthography.js +5 -0
  213. package/dist/detectors/orthography.js.map +1 -1
  214. package/dist/detectors/parameter-table.d.ts +3 -0
  215. package/dist/detectors/parameter-table.d.ts.map +1 -0
  216. package/dist/detectors/parameter-table.js +16 -0
  217. package/dist/detectors/parameter-table.js.map +1 -0
  218. package/dist/detectors/phone-number-variant.d.ts +3 -0
  219. package/dist/detectors/phone-number-variant.d.ts.map +1 -0
  220. package/dist/detectors/phone-number-variant.js +18 -0
  221. package/dist/detectors/phone-number-variant.js.map +1 -0
  222. package/dist/detectors/prerequisite-order.d.ts +3 -0
  223. package/dist/detectors/prerequisite-order.d.ts.map +1 -0
  224. package/dist/detectors/prerequisite-order.js +30 -0
  225. package/dist/detectors/prerequisite-order.js.map +1 -0
  226. package/dist/detectors/quote-unnamed-speaker.d.ts +3 -0
  227. package/dist/detectors/quote-unnamed-speaker.d.ts.map +1 -0
  228. package/dist/detectors/quote-unnamed-speaker.js +18 -0
  229. package/dist/detectors/quote-unnamed-speaker.js.map +1 -0
  230. package/dist/detectors/quote-without-source.d.ts +12 -2
  231. package/dist/detectors/quote-without-source.d.ts.map +1 -1
  232. package/dist/detectors/quote-without-source.js +45 -11
  233. package/dist/detectors/quote-without-source.js.map +1 -1
  234. package/dist/detectors/registry/amount-range.d.ts +3 -0
  235. package/dist/detectors/registry/amount-range.d.ts.map +1 -0
  236. package/dist/detectors/registry/amount-range.js +3 -0
  237. package/dist/detectors/registry/amount-range.js.map +1 -0
  238. package/dist/detectors/registry/amount-scale.d.ts +3 -0
  239. package/dist/detectors/registry/amount-scale.d.ts.map +1 -0
  240. package/dist/detectors/registry/amount-scale.js +3 -0
  241. package/dist/detectors/registry/amount-scale.js.map +1 -0
  242. package/dist/detectors/registry/arrival-before-departure.d.ts +3 -0
  243. package/dist/detectors/registry/arrival-before-departure.d.ts.map +1 -0
  244. package/dist/detectors/registry/arrival-before-departure.js +3 -0
  245. package/dist/detectors/registry/arrival-before-departure.js.map +1 -0
  246. package/dist/detectors/registry/date-outside-period.d.ts +3 -0
  247. package/dist/detectors/registry/date-outside-period.d.ts.map +1 -0
  248. package/dist/detectors/registry/date-outside-period.js +3 -0
  249. package/dist/detectors/registry/date-outside-period.js.map +1 -0
  250. package/dist/detectors/registry/default-values.d.ts +3 -0
  251. package/dist/detectors/registry/default-values.d.ts.map +1 -0
  252. package/dist/detectors/registry/default-values.js +3 -0
  253. package/dist/detectors/registry/default-values.js.map +1 -0
  254. package/dist/detectors/registry/deprecated-use.d.ts +3 -0
  255. package/dist/detectors/registry/deprecated-use.d.ts.map +1 -0
  256. package/dist/detectors/registry/deprecated-use.js +3 -0
  257. package/dist/detectors/registry/deprecated-use.js.map +1 -0
  258. package/dist/detectors/registry/due-date.d.ts +3 -0
  259. package/dist/detectors/registry/due-date.d.ts.map +1 -0
  260. package/dist/detectors/registry/due-date.js +3 -0
  261. package/dist/detectors/registry/due-date.js.map +1 -0
  262. package/dist/detectors/registry/kana-function-word.d.ts +3 -0
  263. package/dist/detectors/registry/kana-function-word.d.ts.map +1 -0
  264. package/dist/detectors/registry/kana-function-word.js +3 -0
  265. package/dist/detectors/registry/kana-function-word.js.map +1 -0
  266. package/dist/detectors/registry/line-amount.d.ts +3 -0
  267. package/dist/detectors/registry/line-amount.d.ts.map +1 -0
  268. package/dist/detectors/registry/line-amount.js +3 -0
  269. package/dist/detectors/registry/line-amount.js.map +1 -0
  270. package/dist/detectors/registry/nado-closed-list.d.ts +3 -0
  271. package/dist/detectors/registry/nado-closed-list.d.ts.map +1 -0
  272. package/dist/detectors/registry/nado-closed-list.js +3 -0
  273. package/dist/detectors/registry/nado-closed-list.js.map +1 -0
  274. package/dist/detectors/registry/number-word-figure.d.ts +3 -0
  275. package/dist/detectors/registry/number-word-figure.d.ts.map +1 -0
  276. package/dist/detectors/registry/number-word-figure.js +3 -0
  277. package/dist/detectors/registry/number-word-figure.js.map +1 -0
  278. package/dist/detectors/registry/obligation-without-deadline.d.ts +3 -0
  279. package/dist/detectors/registry/obligation-without-deadline.d.ts.map +1 -0
  280. package/dist/detectors/registry/obligation-without-deadline.js +3 -0
  281. package/dist/detectors/registry/obligation-without-deadline.js.map +1 -0
  282. package/dist/detectors/registry/parameter-table.d.ts +3 -0
  283. package/dist/detectors/registry/parameter-table.d.ts.map +1 -0
  284. package/dist/detectors/registry/parameter-table.js +3 -0
  285. package/dist/detectors/registry/parameter-table.js.map +1 -0
  286. package/dist/detectors/registry/phone-number-variant.d.ts +3 -0
  287. package/dist/detectors/registry/phone-number-variant.d.ts.map +1 -0
  288. package/dist/detectors/registry/phone-number-variant.js +3 -0
  289. package/dist/detectors/registry/phone-number-variant.js.map +1 -0
  290. package/dist/detectors/registry/prerequisite-order.d.ts +3 -0
  291. package/dist/detectors/registry/prerequisite-order.d.ts.map +1 -0
  292. package/dist/detectors/registry/prerequisite-order.js +3 -0
  293. package/dist/detectors/registry/prerequisite-order.js.map +1 -0
  294. package/dist/detectors/registry/quote-unnamed-speaker.d.ts +3 -0
  295. package/dist/detectors/registry/quote-unnamed-speaker.d.ts.map +1 -0
  296. package/dist/detectors/registry/quote-unnamed-speaker.js +3 -0
  297. package/dist/detectors/registry/quote-unnamed-speaker.js.map +1 -0
  298. package/dist/detectors/registry/tax-amount.d.ts +3 -0
  299. package/dist/detectors/registry/tax-amount.d.ts.map +1 -0
  300. package/dist/detectors/registry/tax-amount.js +3 -0
  301. package/dist/detectors/registry/tax-amount.js.map +1 -0
  302. package/dist/detectors/registry/time-order.d.ts +3 -0
  303. package/dist/detectors/registry/time-order.d.ts.map +1 -0
  304. package/dist/detectors/registry/time-order.js +3 -0
  305. package/dist/detectors/registry/time-order.js.map +1 -0
  306. package/dist/detectors/registry/ui-label.d.ts +3 -0
  307. package/dist/detectors/registry/ui-label.d.ts.map +1 -0
  308. package/dist/detectors/registry/ui-label.js +3 -0
  309. package/dist/detectors/registry/ui-label.js.map +1 -0
  310. package/dist/detectors/registry/undefined-call.d.ts +3 -0
  311. package/dist/detectors/registry/undefined-call.d.ts.map +1 -0
  312. package/dist/detectors/registry/undefined-call.js +3 -0
  313. package/dist/detectors/registry/undefined-call.js.map +1 -0
  314. package/dist/detectors/registry/undefined-term.d.ts +3 -0
  315. package/dist/detectors/registry/undefined-term.d.ts.map +1 -0
  316. package/dist/detectors/registry/undefined-term.js +3 -0
  317. package/dist/detectors/registry/undefined-term.js.map +1 -0
  318. package/dist/detectors/registry/version-order.d.ts +3 -0
  319. package/dist/detectors/registry/version-order.d.ts.map +1 -0
  320. package/dist/detectors/registry/version-order.js +3 -0
  321. package/dist/detectors/registry/version-order.js.map +1 -0
  322. package/dist/detectors/registry/warning-action.d.ts +3 -0
  323. package/dist/detectors/registry/warning-action.d.ts.map +1 -0
  324. package/dist/detectors/registry/warning-action.js +3 -0
  325. package/dist/detectors/registry/warning-action.js.map +1 -0
  326. package/dist/detectors/requirement-smell.d.ts.map +1 -1
  327. package/dist/detectors/requirement-smell.js +25 -8
  328. package/dist/detectors/requirement-smell.js.map +1 -1
  329. package/dist/detectors/structure-tree.d.ts +12 -4
  330. package/dist/detectors/structure-tree.d.ts.map +1 -1
  331. package/dist/detectors/structure-tree.js +31 -14
  332. package/dist/detectors/structure-tree.js.map +1 -1
  333. package/dist/detectors/superlative-scope.d.ts.map +1 -1
  334. package/dist/detectors/superlative-scope.js +11 -1
  335. package/dist/detectors/superlative-scope.js.map +1 -1
  336. package/dist/detectors/tax-amount.d.ts +3 -0
  337. package/dist/detectors/tax-amount.d.ts.map +1 -0
  338. package/dist/detectors/tax-amount.js +19 -0
  339. package/dist/detectors/tax-amount.js.map +1 -0
  340. package/dist/detectors/technical-docs.d.ts.map +1 -1
  341. package/dist/detectors/technical-docs.js +5 -1
  342. package/dist/detectors/technical-docs.js.map +1 -1
  343. package/dist/detectors/term-extension.d.ts +14 -0
  344. package/dist/detectors/term-extension.d.ts.map +1 -0
  345. package/dist/detectors/term-extension.js +67 -0
  346. package/dist/detectors/term-extension.js.map +1 -0
  347. package/dist/detectors/time-order.d.ts +4 -0
  348. package/dist/detectors/time-order.d.ts.map +1 -0
  349. package/dist/detectors/time-order.js +32 -0
  350. package/dist/detectors/time-order.js.map +1 -0
  351. package/dist/detectors/ui-label.d.ts +3 -0
  352. package/dist/detectors/ui-label.d.ts.map +1 -0
  353. package/dist/detectors/ui-label.js +16 -0
  354. package/dist/detectors/ui-label.js.map +1 -0
  355. package/dist/detectors/unbalanced-bracket.d.ts.map +1 -1
  356. package/dist/detectors/unbalanced-bracket.js +8 -13
  357. package/dist/detectors/unbalanced-bracket.js.map +1 -1
  358. package/dist/detectors/undefined-call.d.ts +3 -0
  359. package/dist/detectors/undefined-call.d.ts.map +1 -0
  360. package/dist/detectors/undefined-call.js +18 -0
  361. package/dist/detectors/undefined-call.js.map +1 -0
  362. package/dist/detectors/undefined-term.d.ts +22 -0
  363. package/dist/detectors/undefined-term.d.ts.map +1 -0
  364. package/dist/detectors/undefined-term.js +85 -0
  365. package/dist/detectors/undefined-term.js.map +1 -0
  366. package/dist/detectors/unknown-word.d.ts +1 -1
  367. package/dist/detectors/unknown-word.js +3 -3
  368. package/dist/detectors/unknown-word.js.map +1 -1
  369. package/dist/detectors/vague-deadline.d.ts +4 -0
  370. package/dist/detectors/vague-deadline.d.ts.map +1 -1
  371. package/dist/detectors/vague-deadline.js +3 -3
  372. package/dist/detectors/vague-deadline.js.map +1 -1
  373. package/dist/detectors/version-mismatch.d.ts.map +1 -1
  374. package/dist/detectors/version-mismatch.js +18 -1
  375. package/dist/detectors/version-mismatch.js.map +1 -1
  376. package/dist/detectors/version-order.d.ts +3 -0
  377. package/dist/detectors/version-order.d.ts.map +1 -0
  378. package/dist/detectors/version-order.js +43 -0
  379. package/dist/detectors/version-order.js.map +1 -0
  380. package/dist/detectors/warning-action.d.ts +3 -0
  381. package/dist/detectors/warning-action.d.ts.map +1 -0
  382. package/dist/detectors/warning-action.js +48 -0
  383. package/dist/detectors/warning-action.js.map +1 -0
  384. package/dist/facts/condition-pairs.d.ts +51 -0
  385. package/dist/facts/condition-pairs.d.ts.map +1 -0
  386. package/dist/facts/condition-pairs.js +203 -0
  387. package/dist/facts/condition-pairs.js.map +1 -0
  388. package/dist/facts/counted-facts.d.ts +16 -0
  389. package/dist/facts/counted-facts.d.ts.map +1 -0
  390. package/dist/facts/counted-facts.js +45 -0
  391. package/dist/facts/counted-facts.js.map +1 -0
  392. package/dist/facts/event-dates.d.ts +26 -0
  393. package/dist/facts/event-dates.d.ts.map +1 -0
  394. package/dist/facts/event-dates.js +38 -0
  395. package/dist/facts/event-dates.js.map +1 -0
  396. package/dist/facts/fact-scope.d.ts +2 -0
  397. package/dist/facts/fact-scope.d.ts.map +1 -1
  398. package/dist/facts/fact-scope.js +5 -0
  399. package/dist/facts/fact-scope.js.map +1 -1
  400. package/dist/facts/labelled-facts.d.ts +2 -0
  401. package/dist/facts/labelled-facts.d.ts.map +1 -1
  402. package/dist/facts/labelled-facts.js +9 -1
  403. package/dist/facts/labelled-facts.js.map +1 -1
  404. package/dist/facts/table-facts.d.ts +16 -0
  405. package/dist/facts/table-facts.d.ts.map +1 -1
  406. package/dist/facts/table-facts.js +2 -2
  407. package/dist/facts/table-facts.js.map +1 -1
  408. package/dist/grade/ai-score.d.ts +1 -1
  409. package/dist/grade/ai-score.d.ts.map +1 -1
  410. package/dist/grade/text.js +2 -2
  411. package/dist/grade/text.js.map +1 -1
  412. package/dist/heading-numbering.js +2 -2
  413. package/dist/heading-numbering.js.map +1 -1
  414. package/dist/html/fetch-page.d.ts +20 -0
  415. package/dist/html/fetch-page.d.ts.map +1 -0
  416. package/dist/html/fetch-page.js +51 -0
  417. package/dist/html/fetch-page.js.map +1 -0
  418. package/dist/html/fetched-text.d.ts +5 -0
  419. package/dist/html/fetched-text.d.ts.map +1 -0
  420. package/dist/html/fetched-text.js +25 -0
  421. package/dist/html/fetched-text.js.map +1 -0
  422. package/dist/html/html-content-block.d.ts +6 -0
  423. package/dist/html/html-content-block.d.ts.map +1 -0
  424. package/dist/html/html-content-block.js +86 -0
  425. package/dist/html/html-content-block.js.map +1 -0
  426. package/dist/html/html-elements.d.ts +41 -0
  427. package/dist/html/html-elements.d.ts.map +1 -0
  428. package/dist/html/html-elements.js +91 -0
  429. package/dist/html/html-elements.js.map +1 -0
  430. package/dist/html/html-footnote-marks.d.ts +2 -0
  431. package/dist/html/html-footnote-marks.d.ts.map +1 -0
  432. package/dist/html/html-footnote-marks.js +15 -0
  433. package/dist/html/html-footnote-marks.js.map +1 -0
  434. package/dist/html/html-heading-links.d.ts +6 -0
  435. package/dist/html/html-heading-links.d.ts.map +1 -0
  436. package/dist/html/html-heading-links.js +71 -0
  437. package/dist/html/html-heading-links.js.map +1 -0
  438. package/dist/html/html-lost-tags.d.ts +3 -0
  439. package/dist/html/html-lost-tags.d.ts.map +1 -0
  440. package/dist/html/html-lost-tags.js +11 -0
  441. package/dist/html/html-lost-tags.js.map +1 -0
  442. package/dist/html/html-markdown.d.ts +2 -0
  443. package/dist/html/html-markdown.d.ts.map +1 -0
  444. package/dist/html/html-markdown.js +347 -0
  445. package/dist/html/html-markdown.js.map +1 -0
  446. package/dist/html/html-preformatted.d.ts +17 -0
  447. package/dist/html/html-preformatted.d.ts.map +1 -0
  448. package/dist/html/html-preformatted.js +82 -0
  449. package/dist/html/html-preformatted.js.map +1 -0
  450. package/dist/html/html-reader-only.d.ts +6 -0
  451. package/dist/html/html-reader-only.d.ts.map +1 -0
  452. package/dist/html/html-reader-only.js +63 -0
  453. package/dist/html/html-reader-only.js.map +1 -0
  454. package/dist/html/html-run-in-headings.d.ts +2 -0
  455. package/dist/html/html-run-in-headings.d.ts.map +1 -0
  456. package/dist/html/html-run-in-headings.js +36 -0
  457. package/dist/html/html-run-in-headings.js.map +1 -0
  458. package/dist/html/html-tables.d.ts +3 -0
  459. package/dist/html/html-tables.d.ts.map +1 -0
  460. package/dist/html/html-tables.js +58 -0
  461. package/dist/html/html-tables.js.map +1 -0
  462. package/dist/html/html-widgets.d.ts +3 -0
  463. package/dist/html/html-widgets.d.ts.map +1 -0
  464. package/dist/html/html-widgets.js +71 -0
  465. package/dist/html/html-widgets.js.map +1 -0
  466. package/dist/html/markup-text.d.ts +5 -0
  467. package/dist/html/markup-text.d.ts.map +1 -0
  468. package/dist/html/markup-text.js +32 -0
  469. package/dist/html/markup-text.js.map +1 -0
  470. package/dist/html/page-document.d.ts +9 -0
  471. package/dist/html/page-document.d.ts.map +1 -0
  472. package/dist/html/page-document.js +19 -0
  473. package/dist/html/page-document.js.map +1 -0
  474. package/dist/inline-count.d.ts +19 -0
  475. package/dist/inline-count.d.ts.map +1 -0
  476. package/dist/inline-count.js +109 -0
  477. package/dist/inline-count.js.map +1 -0
  478. package/dist/kana-spelling.d.ts +5 -0
  479. package/dist/kana-spelling.d.ts.map +1 -1
  480. package/dist/kana-spelling.js +5 -0
  481. package/dist/kana-spelling.js.map +1 -1
  482. package/dist/location-part.d.ts +13 -0
  483. package/dist/location-part.d.ts.map +1 -0
  484. package/dist/location-part.js +24 -0
  485. package/dist/location-part.js.map +1 -0
  486. package/dist/nado-closed-list.d.ts +20 -0
  487. package/dist/nado-closed-list.d.ts.map +1 -0
  488. package/dist/nado-closed-list.js +72 -0
  489. package/dist/nado-closed-list.js.map +1 -0
  490. package/dist/name-cue.d.ts +17 -0
  491. package/dist/name-cue.d.ts.map +1 -0
  492. package/dist/name-cue.js +29 -0
  493. package/dist/name-cue.js.map +1 -0
  494. package/dist/name-variants.d.ts +41 -5
  495. package/dist/name-variants.d.ts.map +1 -1
  496. package/dist/name-variants.js +93 -8
  497. package/dist/name-variants.js.map +1 -1
  498. package/dist/paragraph-runs.d.ts +6 -1
  499. package/dist/paragraph-runs.d.ts.map +1 -1
  500. package/dist/paragraph-runs.js +9 -2
  501. package/dist/paragraph-runs.js.map +1 -1
  502. package/dist/parameter-table.d.ts +19 -0
  503. package/dist/parameter-table.d.ts.map +1 -0
  504. package/dist/parameter-table.js +191 -0
  505. package/dist/parameter-table.js.map +1 -0
  506. package/dist/phone-numbers.d.ts +23 -0
  507. package/dist/phone-numbers.d.ts.map +1 -0
  508. package/dist/phone-numbers.js +83 -0
  509. package/dist/phone-numbers.js.map +1 -0
  510. package/dist/place-names.d.ts +55 -0
  511. package/dist/place-names.d.ts.map +1 -0
  512. package/dist/place-names.js +196 -0
  513. package/dist/place-names.js.map +1 -0
  514. package/dist/plugin.d.ts +4 -0
  515. package/dist/plugin.d.ts.map +1 -1
  516. package/dist/prerequisite-order.d.ts +16 -0
  517. package/dist/prerequisite-order.d.ts.map +1 -0
  518. package/dist/prerequisite-order.js +29 -0
  519. package/dist/prerequisite-order.js.map +1 -0
  520. package/dist/profile/parse.d.ts.map +1 -1
  521. package/dist/profile/parse.js +10 -1
  522. package/dist/profile/parse.js.map +1 -1
  523. package/dist/reasons.d.ts +2 -0
  524. package/dist/reasons.d.ts.map +1 -1
  525. package/dist/reasons.js +2 -0
  526. package/dist/reasons.js.map +1 -1
  527. package/dist/render/rules-json.d.ts.map +1 -1
  528. package/dist/render/rules-json.js +4 -0
  529. package/dist/render/rules-json.js.map +1 -1
  530. package/dist/render/rules-table.d.ts.map +1 -1
  531. package/dist/render/rules-table.js +6 -2
  532. package/dist/render/rules-table.js.map +1 -1
  533. package/dist/rule-genres.d.ts +5 -2
  534. package/dist/rule-genres.d.ts.map +1 -1
  535. package/dist/rule-genres.js +2 -0
  536. package/dist/rule-genres.js.map +1 -1
  537. package/dist/rule-load.d.ts.map +1 -1
  538. package/dist/rule-load.js +2 -1
  539. package/dist/rule-load.js.map +1 -1
  540. package/dist/run.d.ts.map +1 -1
  541. package/dist/run.js +5 -1
  542. package/dist/run.js.map +1 -1
  543. package/dist/spelling.d.ts +2 -0
  544. package/dist/spelling.d.ts.map +1 -1
  545. package/dist/spelling.js +6 -0
  546. package/dist/spelling.js.map +1 -1
  547. package/dist/structure/action-due.d.ts +21 -0
  548. package/dist/structure/action-due.d.ts.map +1 -0
  549. package/dist/structure/action-due.js +126 -0
  550. package/dist/structure/action-due.js.map +1 -0
  551. package/dist/structure/amount-range.d.ts +30 -0
  552. package/dist/structure/amount-range.d.ts.map +1 -0
  553. package/dist/structure/amount-range.js +153 -0
  554. package/dist/structure/amount-range.js.map +1 -0
  555. package/dist/structure/amount-scale.d.ts +35 -0
  556. package/dist/structure/amount-scale.d.ts.map +1 -0
  557. package/dist/structure/amount-scale.js +83 -0
  558. package/dist/structure/amount-scale.js.map +1 -0
  559. package/dist/structure/cite.d.ts +5 -2
  560. package/dist/structure/cite.d.ts.map +1 -1
  561. package/dist/structure/cite.js +20 -1
  562. package/dist/structure/cite.js.map +1 -1
  563. package/dist/structure/counted-amounts.d.ts +12 -0
  564. package/dist/structure/counted-amounts.d.ts.map +1 -0
  565. package/dist/structure/counted-amounts.js +30 -0
  566. package/dist/structure/counted-amounts.js.map +1 -0
  567. package/dist/structure/date-order.d.ts +24 -3
  568. package/dist/structure/date-order.d.ts.map +1 -1
  569. package/dist/structure/date-order.js +49 -17
  570. package/dist/structure/date-order.js.map +1 -1
  571. package/dist/structure/date-outside-period.d.ts +27 -0
  572. package/dist/structure/date-outside-period.d.ts.map +1 -0
  573. package/dist/structure/date-outside-period.js +86 -0
  574. package/dist/structure/date-outside-period.js.map +1 -0
  575. package/dist/structure/definition-use.d.ts +5 -2
  576. package/dist/structure/definition-use.d.ts.map +1 -1
  577. package/dist/structure/definition-use.js +11 -3
  578. package/dist/structure/definition-use.js.map +1 -1
  579. package/dist/structure/due-date.d.ts +19 -0
  580. package/dist/structure/due-date.d.ts.map +1 -0
  581. package/dist/structure/due-date.js +30 -0
  582. package/dist/structure/due-date.js.map +1 -0
  583. package/dist/structure/heading-runs.d.ts +9 -0
  584. package/dist/structure/heading-runs.d.ts.map +1 -0
  585. package/dist/structure/heading-runs.js +23 -0
  586. package/dist/structure/heading-runs.js.map +1 -0
  587. package/dist/structure/install-pin.d.ts +46 -0
  588. package/dist/structure/install-pin.d.ts.map +1 -0
  589. package/dist/structure/install-pin.js +85 -0
  590. package/dist/structure/install-pin.js.map +1 -0
  591. package/dist/structure/leg-times.d.ts +34 -0
  592. package/dist/structure/leg-times.d.ts.map +1 -0
  593. package/dist/structure/leg-times.js +135 -0
  594. package/dist/structure/leg-times.js.map +1 -0
  595. package/dist/structure/line-amount-unit.d.ts +24 -0
  596. package/dist/structure/line-amount-unit.d.ts.map +1 -0
  597. package/dist/structure/line-amount-unit.js +24 -0
  598. package/dist/structure/line-amount-unit.js.map +1 -0
  599. package/dist/structure/line-amount.d.ts +40 -0
  600. package/dist/structure/line-amount.d.ts.map +1 -0
  601. package/dist/structure/line-amount.js +118 -0
  602. package/dist/structure/line-amount.js.map +1 -0
  603. package/dist/structure/number-word-figure.d.ts +37 -0
  604. package/dist/structure/number-word-figure.d.ts.map +1 -0
  605. package/dist/structure/number-word-figure.js +151 -0
  606. package/dist/structure/number-word-figure.js.map +1 -0
  607. package/dist/structure/numbering.d.ts +1 -0
  608. package/dist/structure/numbering.d.ts.map +1 -1
  609. package/dist/structure/numbering.js +3 -0
  610. package/dist/structure/numbering.js.map +1 -1
  611. package/dist/structure/ordinal-runs.d.ts +45 -0
  612. package/dist/structure/ordinal-runs.d.ts.map +1 -0
  613. package/dist/structure/ordinal-runs.js +78 -0
  614. package/dist/structure/ordinal-runs.js.map +1 -0
  615. package/dist/structure/percent-sum-prose.d.ts +1 -1
  616. package/dist/structure/percent-sum-prose.d.ts.map +1 -1
  617. package/dist/structure/percent-sum-prose.js +45 -3
  618. package/dist/structure/percent-sum-prose.js.map +1 -1
  619. package/dist/structure/percent-sum.d.ts +8 -0
  620. package/dist/structure/percent-sum.d.ts.map +1 -1
  621. package/dist/structure/percent-sum.js +8 -1
  622. package/dist/structure/percent-sum.js.map +1 -1
  623. package/dist/structure/release-list.d.ts +9 -0
  624. package/dist/structure/release-list.d.ts.map +1 -0
  625. package/dist/structure/release-list.js +46 -0
  626. package/dist/structure/release-list.js.map +1 -0
  627. package/dist/structure/share-column.d.ts +7 -0
  628. package/dist/structure/share-column.d.ts.map +1 -0
  629. package/dist/structure/share-column.js +22 -0
  630. package/dist/structure/share-column.js.map +1 -0
  631. package/dist/structure/stated-period.d.ts +31 -0
  632. package/dist/structure/stated-period.d.ts.map +1 -0
  633. package/dist/structure/stated-period.js +127 -0
  634. package/dist/structure/stated-period.js.map +1 -0
  635. package/dist/structure/subject-change.d.ts +8 -0
  636. package/dist/structure/subject-change.d.ts.map +1 -0
  637. package/dist/structure/subject-change.js +31 -0
  638. package/dist/structure/subject-change.js.map +1 -0
  639. package/dist/structure/tax.d.ts +25 -0
  640. package/dist/structure/tax.d.ts.map +1 -0
  641. package/dist/structure/tax.js +86 -0
  642. package/dist/structure/tax.js.map +1 -0
  643. package/dist/structure/time-marks.d.ts +58 -0
  644. package/dist/structure/time-marks.d.ts.map +1 -0
  645. package/dist/structure/time-marks.js +74 -0
  646. package/dist/structure/time-marks.js.map +1 -0
  647. package/dist/structure/time-order.d.ts +21 -0
  648. package/dist/structure/time-order.d.ts.map +1 -0
  649. package/dist/structure/time-order.js +108 -0
  650. package/dist/structure/time-order.js.map +1 -0
  651. package/dist/structure/title-lines.d.ts +8 -0
  652. package/dist/structure/title-lines.d.ts.map +1 -0
  653. package/dist/structure/title-lines.js +27 -0
  654. package/dist/structure/title-lines.js.map +1 -0
  655. package/dist/structure/total.d.ts.map +1 -1
  656. package/dist/structure/total.js +3 -1
  657. package/dist/structure/total.js.map +1 -1
  658. package/dist/structure/version-mismatch.d.ts +1 -5
  659. package/dist/structure/version-mismatch.d.ts.map +1 -1
  660. package/dist/structure/version-mismatch.js +65 -12
  661. package/dist/structure/version-mismatch.js.map +1 -1
  662. package/dist/structure/version-order.d.ts +23 -0
  663. package/dist/structure/version-order.d.ts.map +1 -0
  664. package/dist/structure/version-order.js +67 -0
  665. package/dist/structure/version-order.js.map +1 -0
  666. package/dist/table-text.d.ts +9 -0
  667. package/dist/table-text.d.ts.map +1 -0
  668. package/dist/table-text.js +36 -0
  669. package/dist/table-text.js.map +1 -0
  670. package/dist/ui-labels.d.ts +16 -0
  671. package/dist/ui-labels.d.ts.map +1 -0
  672. package/dist/ui-labels.js +42 -0
  673. package/dist/ui-labels.js.map +1 -0
  674. package/dist/undefined-call.d.ts +13 -0
  675. package/dist/undefined-call.d.ts.map +1 -0
  676. package/dist/undefined-call.js +55 -0
  677. package/dist/undefined-call.js.map +1 -0
  678. package/dist/unnamed-speaker.d.ts +23 -0
  679. package/dist/unnamed-speaker.d.ts.map +1 -0
  680. package/dist/unnamed-speaker.js +176 -0
  681. package/dist/unnamed-speaker.js.map +1 -0
  682. package/dist/warning-action.d.ts +22 -0
  683. package/dist/warning-action.d.ts.map +1 -0
  684. package/dist/warning-action.js +58 -0
  685. package/dist/warning-action.js.map +1 -0
  686. package/genres.yaml +2 -0
  687. package/package.json +4 -3
  688. package/profiles/statute.yaml +8 -0
  689. package/rules/agreement-slip.yaml +2 -2
  690. package/rules/amount-range-reversed.yaml +52 -0
  691. package/rules/amount-scale-consistency.yaml +74 -0
  692. package/rules/announced-count-mismatch.yaml +9 -4
  693. package/rules/arrival-before-departure.yaml +48 -0
  694. package/rules/change-rate-mismatch.yaml +5 -4
  695. package/rules/connective-hierarchy.yaml +3 -3
  696. package/rules/currency-notation-consistency.yaml +2 -2
  697. package/rules/date-order.yaml +9 -4
  698. package/rules/date-outside-period.yaml +64 -0
  699. package/rules/default-value-mismatch.yaml +79 -0
  700. package/rules/defined-term-form.yaml +9 -7
  701. package/rules/deprecated-option-used.yaml +78 -0
  702. package/rules/doubled-nado.yaml +28 -12
  703. package/rules/due-before-issue.yaml +68 -0
  704. package/rules/duplicate-definition.yaml +2 -2
  705. package/rules/duration-mismatch.yaml +12 -4
  706. package/rules/elapsed-years-mismatch.yaml +2 -2
  707. package/rules/heading-echo.yaml +2 -2
  708. package/rules/hyphen-as-dash.yaml +2 -2
  709. package/rules/kana-function-word.yaml +58 -0
  710. package/rules/latin-spacing.yaml +6 -5
  711. package/rules/line-amount-mismatch.yaml +58 -0
  712. package/rules/nado-closed-list.yaml +77 -0
  713. package/rules/name-variant.yaml +17 -2
  714. package/rules/number-word-figure-mismatch.yaml +76 -0
  715. package/rules/numbering-gap.yaml +2 -2
  716. package/rules/obligation-without-deadline.yaml +95 -0
  717. package/rules/one-sentence-paragraph-run.yaml +2 -3
  718. package/rules/parameter-table-mismatch.yaml +90 -0
  719. package/rules/percent-sum-mismatch.yaml +2 -2
  720. package/rules/phone-number-variant.yaml +68 -0
  721. package/rules/prerequisite-after-step.yaml +78 -0
  722. package/rules/quote-unnamed-speaker.yaml +67 -0
  723. package/rules/quote-without-source.yaml +6 -6
  724. package/rules/requirement-smell.yaml +3 -3
  725. package/rules/sentence-initial-conjunction-run.yaml +13 -7
  726. package/rules/summary-fact-mismatch.yaml +4 -4
  727. package/rules/tax-mismatch.yaml +71 -0
  728. package/rules/time-order.yaml +65 -0
  729. package/rules/title-length.yaml +2 -2
  730. package/rules/ui-label-variant.yaml +70 -0
  731. package/rules/unbalanced-bracket.yaml +4 -4
  732. package/rules/uncomparable-graded.yaml +29 -10
  733. package/rules/undefined-function-call.yaml +77 -0
  734. package/rules/undefined-term.yaml +72 -0
  735. package/rules/unknown-word.yaml +2 -2
  736. package/rules/unqualified-superlative.yaml +2 -2
  737. package/rules/use-before-definition.yaml +2 -2
  738. package/rules/version-mismatch.yaml +12 -4
  739. package/rules/version-order.yaml +85 -0
  740. package/rules/very-adjective.yaml +31 -13
  741. package/rules/warning-without-action.yaml +64 -0
  742. package/rules/wordy-phrase.yaml +27 -9
  743. package/src/ai-score/of-document.ts +19 -9
  744. package/src/ai-score/render.ts +24 -4
  745. package/src/ai-score/score.ts +24 -3
  746. package/src/ai-score/signals.ts +12 -2
  747. package/src/ai-score/text.ts +7 -2
  748. package/src/announced-count.ts +19 -12
  749. package/src/check-source.ts +11 -2
  750. package/src/cli-text.ts +42 -18
  751. package/src/cli.ts +2 -1
  752. package/src/commands/cite-claims.ts +103 -0
  753. package/src/commands/cite-page.ts +61 -0
  754. package/src/commands/cite-scaffold.ts +27 -0
  755. package/src/commands/cite.ts +127 -58
  756. package/src/company-names.ts +202 -0
  757. package/src/default-values.ts +158 -0
  758. package/src/deprecated-use.ts +122 -0
  759. package/src/derived/number-word-counts.ts +28 -0
  760. package/src/derived/stays.ts +145 -0
  761. package/src/detectors/acronym-context.ts +10 -2
  762. package/src/detectors/address-word.ts +9 -0
  763. package/src/detectors/agreement-slip.ts +7 -1
  764. package/src/detectors/ai-phrasing.ts +6 -1
  765. package/src/detectors/amount-range.ts +54 -0
  766. package/src/detectors/amount-scale.ts +96 -0
  767. package/src/detectors/announced-count.ts +29 -11
  768. package/src/detectors/bare-comparative.ts +7 -2
  769. package/src/detectors/block-quotation.ts +95 -0
  770. package/src/detectors/bracket-label.ts +58 -0
  771. package/src/detectors/change-rate.ts +15 -2
  772. package/src/detectors/citation-entry.ts +20 -5
  773. package/src/detectors/code-before.ts +14 -0
  774. package/src/detectors/connective-hierarchy.ts +39 -11
  775. package/src/detectors/currency-notation.ts +4 -3
  776. package/src/detectors/date-outside-period.ts +38 -0
  777. package/src/detectors/default-values.ts +17 -0
  778. package/src/detectors/defined-term-form.ts +84 -15
  779. package/src/detectors/definition-use.ts +10 -2
  780. package/src/detectors/deprecated-use.ts +17 -0
  781. package/src/detectors/derived-numbers.ts +115 -17
  782. package/src/detectors/document-shape.ts +6 -1
  783. package/src/detectors/due-date.ts +47 -0
  784. package/src/detectors/en-shape.ts +27 -11
  785. package/src/detectors/fact-consistency.ts +110 -2
  786. package/src/detectors/heading-echo.ts +11 -1
  787. package/src/detectors/kana-function-word.ts +71 -0
  788. package/src/detectors/line-amount.ts +33 -0
  789. package/src/detectors/location-pointer.ts +30 -0
  790. package/src/detectors/mark-shape.ts +18 -1
  791. package/src/detectors/nado-closed-list.ts +25 -0
  792. package/src/detectors/name-variant.ts +114 -11
  793. package/src/detectors/next-word.ts +56 -9
  794. package/src/detectors/number-word-figure.ts +43 -0
  795. package/src/detectors/obligation-without-deadline.ts +192 -0
  796. package/src/detectors/open-end-names.ts +140 -0
  797. package/src/detectors/ordinal-run-gaps.ts +101 -0
  798. package/src/detectors/orthographic-variant.ts +39 -14
  799. package/src/detectors/orthography.ts +6 -1
  800. package/src/detectors/parameter-table.ts +17 -0
  801. package/src/detectors/phone-number-variant.ts +18 -0
  802. package/src/detectors/prerequisite-order.ts +35 -0
  803. package/src/detectors/quote-unnamed-speaker.ts +19 -0
  804. package/src/detectors/quote-without-source.ts +57 -10
  805. package/src/detectors/registry/amount-range.ts +4 -0
  806. package/src/detectors/registry/amount-scale.ts +4 -0
  807. package/src/detectors/registry/arrival-before-departure.ts +4 -0
  808. package/src/detectors/registry/date-outside-period.ts +4 -0
  809. package/src/detectors/registry/default-values.ts +4 -0
  810. package/src/detectors/registry/deprecated-use.ts +4 -0
  811. package/src/detectors/registry/due-date.ts +4 -0
  812. package/src/detectors/registry/kana-function-word.ts +4 -0
  813. package/src/detectors/registry/line-amount.ts +4 -0
  814. package/src/detectors/registry/nado-closed-list.ts +4 -0
  815. package/src/detectors/registry/number-word-figure.ts +4 -0
  816. package/src/detectors/registry/obligation-without-deadline.ts +4 -0
  817. package/src/detectors/registry/parameter-table.ts +4 -0
  818. package/src/detectors/registry/phone-number-variant.ts +4 -0
  819. package/src/detectors/registry/prerequisite-order.ts +4 -0
  820. package/src/detectors/registry/quote-unnamed-speaker.ts +4 -0
  821. package/src/detectors/registry/tax-amount.ts +4 -0
  822. package/src/detectors/registry/time-order.ts +4 -0
  823. package/src/detectors/registry/ui-label.ts +4 -0
  824. package/src/detectors/registry/undefined-call.ts +4 -0
  825. package/src/detectors/registry/undefined-term.ts +4 -0
  826. package/src/detectors/registry/version-order.ts +4 -0
  827. package/src/detectors/registry/warning-action.ts +4 -0
  828. package/src/detectors/requirement-smell.ts +29 -9
  829. package/src/detectors/structure-tree.ts +43 -21
  830. package/src/detectors/superlative-scope.ts +13 -1
  831. package/src/detectors/tax-amount.ts +25 -0
  832. package/src/detectors/technical-docs.ts +7 -1
  833. package/src/detectors/term-extension.ts +67 -0
  834. package/src/detectors/time-order.ts +49 -0
  835. package/src/detectors/ui-label.ts +17 -0
  836. package/src/detectors/unbalanced-bracket.ts +7 -14
  837. package/src/detectors/undefined-call.ts +19 -0
  838. package/src/detectors/undefined-term.ts +103 -0
  839. package/src/detectors/unknown-word.ts +3 -3
  840. package/src/detectors/vague-deadline.ts +3 -3
  841. package/src/detectors/version-mismatch.ts +26 -5
  842. package/src/detectors/version-order.ts +50 -0
  843. package/src/detectors/warning-action.ts +49 -0
  844. package/src/facts/condition-pairs.ts +289 -0
  845. package/src/facts/counted-facts.ts +59 -0
  846. package/src/facts/event-dates.ts +63 -0
  847. package/src/facts/fact-scope.ts +6 -0
  848. package/src/facts/labelled-facts.ts +13 -1
  849. package/src/facts/table-facts.ts +3 -3
  850. package/src/grade/ai-score.ts +1 -1
  851. package/src/grade/text.ts +2 -2
  852. package/src/heading-numbering.ts +2 -2
  853. package/src/html/fetch-page.ts +64 -0
  854. package/src/html/fetched-text.ts +32 -0
  855. package/src/html/html-content-block.ts +107 -0
  856. package/src/html/html-elements.ts +127 -0
  857. package/src/html/html-footnote-marks.ts +20 -0
  858. package/src/html/html-heading-links.ts +93 -0
  859. package/src/html/html-lost-tags.ts +14 -0
  860. package/src/html/html-markdown.ts +481 -0
  861. package/src/html/html-preformatted.ts +110 -0
  862. package/src/html/html-reader-only.ts +82 -0
  863. package/src/html/html-run-in-headings.ts +43 -0
  864. package/src/html/html-tables.ts +76 -0
  865. package/src/html/html-widgets.ts +114 -0
  866. package/src/html/markup-text.ts +35 -0
  867. package/src/html/page-document.ts +22 -0
  868. package/src/inline-count.ts +146 -0
  869. package/src/kana-spelling.ts +7 -0
  870. package/src/location-part.ts +30 -0
  871. package/src/nado-closed-list.ts +106 -0
  872. package/src/name-cue.ts +35 -0
  873. package/src/name-variants.ts +152 -11
  874. package/src/paragraph-runs.ts +12 -2
  875. package/src/parameter-table.ts +208 -0
  876. package/src/phone-numbers.ts +98 -0
  877. package/src/place-names.ts +248 -0
  878. package/src/plugin.ts +4 -0
  879. package/src/prerequisite-order.ts +39 -0
  880. package/src/profile/parse.ts +10 -1
  881. package/src/reasons.ts +4 -0
  882. package/src/render/rules-json.ts +4 -0
  883. package/src/render/rules-table.ts +6 -3
  884. package/src/rule-genres.ts +5 -2
  885. package/src/rule-load.ts +3 -2
  886. package/src/run.ts +3 -1
  887. package/src/spelling.ts +8 -0
  888. package/src/structure/action-due.ts +179 -0
  889. package/src/structure/amount-range.ts +219 -0
  890. package/src/structure/amount-scale.ts +115 -0
  891. package/src/structure/cite.ts +21 -2
  892. package/src/structure/counted-amounts.ts +42 -0
  893. package/src/structure/date-order.ts +72 -22
  894. package/src/structure/date-outside-period.ts +127 -0
  895. package/src/structure/definition-use.ts +24 -3
  896. package/src/structure/due-date.ts +46 -0
  897. package/src/structure/heading-runs.ts +24 -0
  898. package/src/structure/install-pin.ts +115 -0
  899. package/src/structure/leg-times.ts +198 -0
  900. package/src/structure/line-amount-unit.ts +35 -0
  901. package/src/structure/line-amount.ts +162 -0
  902. package/src/structure/number-word-figure.ts +199 -0
  903. package/src/structure/numbering.ts +3 -0
  904. package/src/structure/ordinal-runs.ts +107 -0
  905. package/src/structure/percent-sum-prose.ts +46 -3
  906. package/src/structure/percent-sum.ts +16 -2
  907. package/src/structure/release-list.ts +69 -0
  908. package/src/structure/share-column.ts +25 -0
  909. package/src/structure/stated-period.ts +161 -0
  910. package/src/structure/subject-change.ts +35 -0
  911. package/src/structure/tax.ts +114 -0
  912. package/src/structure/time-marks.ts +127 -0
  913. package/src/structure/time-order.ts +140 -0
  914. package/src/structure/title-lines.ts +33 -0
  915. package/src/structure/total.ts +5 -1
  916. package/src/structure/version-mismatch.ts +67 -13
  917. package/src/structure/version-order.ts +84 -0
  918. package/src/table-text.ts +39 -0
  919. package/src/ui-labels.ts +55 -0
  920. package/src/undefined-call.ts +65 -0
  921. package/src/unnamed-speaker.ts +224 -0
  922. package/src/warning-action.ts +73 -0
  923. package/styles/koyobun.yaml +7 -4
@@ -0,0 +1,95 @@
1
+ id: obligation-without-deadline
2
+ layer: L2
3
+ status: stable
4
+ how_to_find: obligation-without-deadline
5
+ severity: info
6
+
7
+ name:
8
+ ja: 時を決めてする義務に、期限が無い
9
+ en: A duty to act with no deadline (shall pay, shall return)
10
+
11
+ why:
12
+ ja: 支払う、引き渡す、返還する、通知するといった義務は、いつまでにするかが決まって初めて、守ったか破ったかを決められます。期限の無い「甲は、委託料を支払う」では、一年後に払っても違反と言えません。期限をどう書くかは書き手が決めることなので、chaff は、ほかの義務の多くに期限(7日以内に、毎月末日までに)を書いた文書の中で、期限を一つも書いていない義務(語の一覧は言語ごとの語彙表にあります)を少ないほうとして指します。期限を書いた文が、期限の無い義務の文より多いときだけです。
13
+ en: 'A duty to pay, deliver, return or notify can be met or missed only once it has a time. "The Customer shall pay the fees" with no time is not breached by paying a year later. How to write limits is the drafter''s choice, so chaff points only at the minority: in a document where more sentences state a limit (within seven days, by the fifth business day) than hold a duty with none, it points at those duties (each language''s word list has the acts read).'
14
+
15
+ message:
16
+ ja: 「{word}」義務に期限がありません。いつまでにするかを書くと、守ったかどうかを決められます
17
+ en: '"{word}" is a duty with no deadline; a time makes it one that can be met or missed'
18
+
19
+ how_to_fix:
20
+ ja: 「解除の日から30日以内に」「毎月末日までに」のように、起点と日数か日付で期限を書いてください。
21
+ en: 'State when the act is due: a start and a number of days ("within thirty days of termination") or a date ("by the fifth business day of each month").'
22
+
23
+ levels: { strict: warning, normal: info, relaxed: info }
24
+
25
+ use_for: [legal, docs, academic, literature, speech]
26
+ off_for:
27
+ docs: "A deadline is a contract's obligation: the contract genre checks it."
28
+ academic: "A deadline is a contract's obligation: the contract genre checks it."
29
+ literature: "A deadline is a contract's obligation: the contract genre checks it."
30
+ speech: "A deadline is a contract's obligation: the contract genre checks it."
31
+ legal/statute: "A statute sets duties whose time other provisions or regulations fix; a bare 支払う there is not a missing term."
32
+ legal/judgment: "A court decision quotes the statutes and contracts it reads; their duties are not the decision's own."
33
+ legal/patent: "A patent sets no deadlines: return and deliver describe steps of a process."
34
+
35
+ group: wording
36
+ summary:
37
+ ja: ほかの義務に期限を書いた契約で、支払う・引き渡す・返還する・通知する義務に期限を書いていない所
38
+ en: A duty to pay, deliver, return or notify with no deadline, in a contract that gives its other duties one
39
+ example:
40
+ ja:
41
+ config: { genre: legal/contract }
42
+ before: |
43
+ 第1条 乙は、毎月5日までに、前月の業務を甲に報告する。
44
+
45
+ 第2条 甲は、報告を受けた日から10日以内に、結果を乙に通知する。
46
+
47
+ 第3条 甲は、本契約が解除されたときは、解除の日までの委託料を乙に支払う。
48
+ after: |
49
+ 第1条 乙は、毎月5日までに、前月の業務を甲に報告する。
50
+
51
+ 第2条 甲は、報告を受けた日から10日以内に、結果を乙に通知する。
52
+
53
+ 第3条 甲は、本契約が解除されたときは、解除の日から30日以内に、解除の日までの委託料を乙に支払う。
54
+ en:
55
+ config: { genre: legal/contract }
56
+ before: |
57
+ 1. The Supplier shall deliver each report by the fifth business day of the month.
58
+
59
+ 2. The Customer shall pay each invoice within thirty days of receiving it.
60
+
61
+ 3. On termination, the Supplier shall return all Confidential Information to the Customer.
62
+ after: |
63
+ 1. The Supplier shall deliver each report by the fifth business day of the month.
64
+
65
+ 2. The Customer shall pay each invoice within thirty days of receiving it.
66
+
67
+ 3. On termination, the Supplier shall return all Confidential Information to the Customer within ten days.
68
+
69
+ not_flagged:
70
+ ja: 期限を書いた文が、期限の無い義務の文より多くない文書では、書き手がそう書くと決めたとみなして指しません。同じ文に期限(7日以内、毎月末日までに、直ちに)があれば指しません。「速やかに」「遅滞なく」だけの期限は vague-deadline が見ます。権利を定める文(「返還を請求することができる」)と、金額を書いた文(「月額150,000円を支払う」は値段を決める文で、いつ払うかは別の条が決めます)は見ません。義務は文の終わりの述語で読み、条件の中の語(「通知したときは」)は見ません。法令・判決・特許は見ません。契約書・規約のジャンルで見ます。
71
+ en: 'A document where sentences stating a limit are not more than those holding a duty with none is taken to write its duties that way on purpose, and is not reported. A sentence that states a limit (within seven days, by the fifth business day, immediately) is not reported; one with "promptly" alone is vague-deadline''s. A sentence that grants a right (may) or states an amount (shall pay a monthly fee of $9,000, which sets the price; another clause says when) is not read. "by email" says how, not when, and is not a limit. Statutes, court decisions and patents are not read; the contract genre runs this rule.'
72
+ rewrite:
73
+ depth: light
74
+ ja:
75
+ direction: 義務の文に、起点と日数か日付で期限を加えます。日数は書き手が決めることなので、決まっていなければ書き手に確かめます。
76
+ pairs:
77
+ - before: 甲は、解除の日までの委託料を日割りで計算して支払う。
78
+ after: 甲は、解除の日までの委託料を日割りで計算し、解除の日から30日以内に支払う。
79
+ - before: 乙は、納入を受けたときは、検査を行い、その結果を甲に通知する。
80
+ after: 乙は、納入を受けた日から7日以内に検査を行い、その結果を甲に通知する。
81
+ keep:
82
+ - 義務を負う当事者と、すること
83
+ avoid:
84
+ - 日数を書き手に確かめずに決める
85
+ en:
86
+ direction: Add a time to the duty, as a start and a number of days or a date. The number is the writer's decision; if it is not known, ask.
87
+ pairs:
88
+ - before: On a written request, each Party shall return the other Party's Confidential Information.
89
+ after: Within fifteen days of a written request, each Party shall return the other Party's Confidential Information.
90
+ - before: The Company will notify you of any change to these Terms by email.
91
+ after: The Company will notify you of any change to these Terms by email at least thirty days before it takes effect.
92
+ keep:
93
+ - the party bound and what it must do
94
+ avoid:
95
+ - choosing the number of days without asking the writer
@@ -26,7 +26,6 @@ use_for: [business, technical, blog, legal, docs, academic, literature, speech]
26
26
  off_for:
27
27
  legal: "A clause, a definition or a claim is a paragraph of one sentence by form."
28
28
  literature: "Dialogue and verse set each line apart."
29
- academic: measured by yarn rules:measure
30
29
 
31
30
  group: readability
32
31
  summary:
@@ -65,8 +64,8 @@ example:
65
64
  In the room, no food or drink is allowed. Put the desks back when you leave.
66
65
 
67
66
  not_flagged:
68
- ja: 上限までの一文の段落、見出し・箇条書き・表・コードを挟んだ段落、改行一つでつないだ行は数えません。法務と文学のジャンルでは既定で止めています(条項や定義、台詞や詩の行は、一文ずつ立てるのが形のため)。
69
- en: One-sentence paragraphs up to the limit, paragraphs separated by a heading, a list, a table or code, and lines joined by a single line break are not counted together. The legal and literature presets turn it off, since a clause, a definition, a line of dialogue or of verse stands alone by form.
67
+ ja: 上限までの一文の段落、見出し・箇条書き・表・コードを挟んだ段落、改行一つでつないだ行、文の終わりの印(。..!?)で終わらない段落(「日時:」のような札、項目、平文にした表の欄)は数えません。法務と文学のジャンルでは既定で止めています(条項や定義、台詞や詩の行は、一文ずつ立てるのが形のため)。
68
+ en: One-sentence paragraphs up to the limit, paragraphs separated by a heading, a list, a table or code, lines joined by a single line break, and paragraphs that do not end with a sentence mark (a label such as Date:, a field, a cell of a table written as plain text) are not counted together. The legal and literature presets turn it off, since a clause, a definition, a line of dialogue or of verse stands alone by form.
70
69
  level_meaning:
71
70
  ja: 一文だけの段落の連続 {limit} 個まで
72
71
  en: up to {limit} one-sentence paragraphs in a row
@@ -0,0 +1,90 @@
1
+ id: parameter-table-mismatch
2
+ layer: L1
3
+ status: stable
4
+ how_to_find: parameter-table
5
+ # The header words of a parameter table (Parameter, 引数) come from the parameter-header lexicon.
6
+ requires: [markdown]
7
+ severity: warning
8
+
9
+ name:
10
+ ja: 引数の表とシグネチャが合わない
11
+ en: Parameter table that does not match the signature
12
+
13
+ why:
14
+ ja: API リファレンスで、関数のシグネチャと、その下の引数の表が違う引数を並べていると、読み手はどちらが正しいか分からず、無い引数を渡したり、必要な引数を知らずに終わったりします。引数を足したり名前を変えたりしたときに、片方だけを直すと起きます。コードブロックがちょうど一つの関数を宣言し(function や def、または戻り値の型が付いたもの)、次の見出しかコードブロックより前に、最初の列の見出しが「引数」や「Parameter」の表があるとき、両者を比べます。表にだけある引数は表の行を、シグネチャにだけある引数はシグネチャを指します。
15
+ en: When an API reference's signature and the parameter table under it list different parameters, the reader cannot tell which is right, and passes a parameter that does not exist or never learns of one that does. It happens when a parameter is added or renamed in one place only. When a code block declares exactly one function (with function or def, or with a return type) and a table whose first header is Parameter or Argument follows it before the next heading or code block, the two are compared. A parameter only in the table is pointed out on its row, and one only in the signature on the signature.
16
+
17
+ message:
18
+ ja: 「{function}」の引数の表とシグネチャで、「{name}」が片方にしかありません
19
+ en: "`{name}` is in only one of the signature of `{function}` and its parameter table"
20
+
21
+ how_to_fix:
22
+ ja: 実際の関数の引数を確かめて、表かシグネチャのどちらかを直してください。
23
+ en: Check the function's real parameters, and correct the table or the signature.
24
+
25
+ levels: { strict: error, normal: warning, relaxed: info }
26
+
27
+ use_for: [technical, docs, blog, legal, academic, literature, speech]
28
+ off_for:
29
+ legal: "Signatures and parameter tables belong to technical writing."
30
+ academic: "Signatures and parameter tables belong to technical writing."
31
+ literature: "Signatures and parameter tables belong to technical writing."
32
+ speech: "Signatures and parameter tables belong to technical writing."
33
+
34
+ group: facts
35
+ summary:
36
+ ja: API リファレンスで、引数の表とシグネチャの引数が食い違う所
37
+ en: A parameter in only one of a signature and the parameter table under it
38
+ example:
39
+ ja:
40
+ config: { genre: technical/readme }
41
+ before: |
42
+ ## measure
43
+
44
+ ```ts
45
+ measure(text: string, tabSize = 4): number
46
+ ```
47
+
48
+ | 引数 | 型 | 説明 |
49
+ | --- | --- | --- |
50
+ | `text` | string | 幅を測る行 |
51
+ | `tabWidth` | number | タブ1つの幅 |
52
+ after: |
53
+ ## measure
54
+
55
+ ```ts
56
+ measure(text: string, tabSize = 4): number
57
+ ```
58
+
59
+ | 引数 | 型 | 説明 |
60
+ | --- | --- | --- |
61
+ | `text` | string | 幅を測る行 |
62
+ | `tabSize` | number | タブ1つの幅 |
63
+ en:
64
+ config: { genre: technical/readme }
65
+ before: |
66
+ ## measure
67
+
68
+ ```ts
69
+ measure(text: string, tabSize = 4): number
70
+ ```
71
+
72
+ | Parameter | Type | Description |
73
+ | --- | --- | --- |
74
+ | `text` | string | The line to measure |
75
+ | `tabWidth` | number | The width of one tab |
76
+ after: |
77
+ ## measure
78
+
79
+ ```ts
80
+ measure(text: string, tabSize = 4): number
81
+ ```
82
+
83
+ | Parameter | Type | Description |
84
+ | --- | --- | --- |
85
+ | `text` | string | The line to measure |
86
+ | `tabSize` | number | The width of one tab |
87
+
88
+ not_flagged:
89
+ ja: 関数の呼び出し(wrap(text, 10);)、二つ以上の関数を宣言したコードブロック、分割代入の引数({ a, b })、self や this、最初の列の見出しが引数でない表(オプション、項目)、見出しやほかのコードブロックを挟んだ表、行の頭に | の無い表は比べません。型を名前の前に書く宣言(Java の String wrap(String text))は読みません。表の「options.prefix」は options の項目として読みます。
90
+ en: "A call (wrap(text, 10);), a code block that declares two or more functions, a destructured parameter ({ a, b }), self and this, a table whose first header is not a parameter word (Option, Field), a table after another heading or code block, and a table whose rows do not start with | are not compared. A declaration with its types before the names (Java's String wrap(String text)) is not read. options.prefix in a table is read as a field of options."
@@ -10,8 +10,8 @@ name:
10
10
  en: Shares of a whole that do not add up to 100%
11
11
 
12
12
  why:
13
- ja: 構成比や内訳の百分率を足して 100% にならないと、読み手はどの数字が違うのか、項目が抜けたのかを確かめることになります。項目を足したり消したり、数字を一つだけ直したりしたときに起きます。表のその列の見出しか、箇条書きや表のすぐ上の文・見出しに、全体を分けた割合の語(構成比、内訳、シェア)があるときだけ足します。一つの文に並べた内訳(「構成比は、Aが50%、Bが30%、Cが25%」)も、その文に割合の語があり百分率が三つ以上あれば足します。丸めの誤差は、項目ごとに最後の桁の半分まで(少なくとも 1 ポイント)認めます。
14
- en: When the shares of a whole do not add up to 100%, the reader has to work out which figure is wrong or which item is missing. It happens when an item is added or removed, or when one figure is changed. The percentages are added only when the column's header, or the sentence or heading right above the list or the table, names the parts of a whole (breakdown, market share, composition). A breakdown written in one sentence ("software made up 50% of sales, maintenance 30% and training 25%") is added too, when the sentence has such a word and three or more percentages. Rounding is allowed, up to half the last digit per item (at least one point).
13
+ ja: 構成比や内訳の百分率を足して 100% にならないと、読み手はどの数字が違うのか、項目が抜けたのかを確かめることになります。項目を足したり消したり、数字を一つだけ直したりしたときに起きます。表のその列の見出しか、箇条書きや表のすぐ上の文・見出しに、全体を分けた割合の語(構成比、内訳、シェア)があるときだけ足します。表の列の見出しが「割合」「配点」「比率」「ウェイト」だけ(単位の括弧は除く)の列も、全体を分けた割合として足します。ただし表のすぐ上の文や見出し、または表の行が率(前年比、達成率、金利)を名指していれば足しません。一つの文に並べた内訳(「構成比は、Aが50%、Bが30%、Cが25%」)も、その文に割合の語があり百分率が三つ以上あれば足します。割合の語が無くても、最後の百分率が全体の残り(「その他が 5%」)なら、その文は一つの全体を分けたものとして足します。ただし、百分率のすぐ前後に値の動いた向きの語(伸びた、増加)がある文は変化を並べたものなので足しません。丸めの誤差は、項目ごとに最後の桁の半分まで(少なくとも 1 ポイント)認めます。
14
+ en: When the shares of a whole do not add up to 100%, the reader has to work out which figure is wrong or which item is missing. It happens when an item is added or removed, or when one figure is changed. The percentages are added only when the column's header, or the sentence or heading right above the list or the table, names the parts of a whole (breakdown, market share, composition). A column whose header is only "Weight", "Share", "Percentage" or "Proportion" (a unit in brackets aside) is added too, unless the sentence or heading right above the table, or one of its rows, names a rate (growth, interest rate, year over year). A breakdown written in one sentence ("software made up 50% of sales, maintenance 30% and training 25%") is added too, when the sentence has such a word and three or more percentages, or when its last percentage is the rest of the whole ("other 5%"), which only the parts of one whole have, unless a word for which way values moved stands right next to a percentage (grew 45%). Rounding is allowed, up to half the last digit per item (at least one point).
15
15
 
16
16
  message:
17
17
  ja: 内訳の割合の和が {sum} で、100% になりません
@@ -0,0 +1,68 @@
1
+ id: phone-number-variant
2
+ layer: L3
3
+ status: stable
4
+ how_to_find: phone-number-variant
5
+ word_list: phone-label
6
+ # The labels (電話, Phone, FAX) and what each labels come from the language's phone-label lexicon; numbers after labels of
7
+ # different kinds (a phone and a fax number) are never compared.
8
+ languages: [ja, en]
9
+ severity: warning
10
+
11
+ name:
12
+ ja: 電話番号の数字の入れ違い
13
+ en: Phone number with two digits swapped
14
+
15
+ why:
16
+ ja: 問合せ先の電話番号は、本文の上と下、申込先と問合せ先のように何度も書かれます。一か所だけ「0120-123-456」が「0120-123-465」になっていると、読み手はどちらが正しいか分からず、間違った方にかけることもあります。隣り合う二つの数字の入れ違いは、打ち間違いで最も多い形です。「電話」「TEL」のような同じ種類の語の後ろに書いた番号どうしを比べ、隣り合う二つの数字だけが入れ違った番号を指します。
17
+ en: 'A contact number is written more than once: at the top and the bottom, under "How to apply" and under "Contact". When one place reads 0120-123-465 for 0120-123-456, the reader cannot tell which is right and may call the wrong one. Two neighbouring digits swapped is the commonest slip in typing a number. chaff compares the numbers written after labels of the same kind (Phone, Tel, call) and reports one that is another with two neighbouring digits swapped.'
18
+
19
+ message:
20
+ ja: 電話番号「{written}」は、「{other}」の隣り合う数字が入れ違っています
21
+ en: "The phone number {written} is {other} with two neighbouring digits swapped"
22
+
23
+ how_to_fix:
24
+ ja: 正しい番号を確かめて、もう一方を直してください。
25
+ en: Check which number is right and correct the other.
26
+
27
+ levels: { strict: error, normal: warning, relaxed: warning }
28
+
29
+ use_for: [business, technical, blog, legal, docs, academic, literature, speech]
30
+ off_for:
31
+ literature: A story's phone numbers are made up and need not agree; one may differ on purpose.
32
+ speech: A transcript writes what was said, numbers misspoken and corrected included.
33
+
34
+ group: facts
35
+ summary:
36
+ ja: 同じ文書で、電話番号の隣り合う数字が一か所だけ入れ違っている所(0120-123-456 と 0120-123-465)
37
+ en: One phone number written elsewhere with two neighbouring digits swapped (0120-123-456 and 0120-123-465)
38
+ example:
39
+ ja:
40
+ before: |
41
+ # お知らせ
42
+
43
+ 申込先 電話:0120-123-456
44
+
45
+ 問合せ先 電話:0120-123-465
46
+ after: |
47
+ # お知らせ
48
+
49
+ 申込先 電話:0120-123-456
50
+
51
+ 問合せ先 電話:0120-123-456
52
+ en:
53
+ before: |
54
+ # Notice
55
+
56
+ To apply, phone: 0120-123-456
57
+
58
+ Contact, phone: 0120-123-465
59
+ after: |
60
+ # Notice
61
+
62
+ To apply, phone: 0120-123-456
63
+
64
+ Contact, phone: 0120-123-456
65
+
66
+ not_flagged:
67
+ ja: 番号と同じ行で、前に「電話」「TEL」「お問合せ」のような語がある番号だけを読みます。語の無い数字の並び、種類の違う番号(電話とFAX)、数字が一つだけ違う番号(代表と直通、本店と支店の番号はよくそうなります)、離れた数字の入れ違いは指しません。数字が9桁から13桁で、ハイフンか括弧で区切ったものだけを番号と見ます。
68
+ en: "Only numbers with a label (phone, tel, call) before them on their line are read. Unlabelled runs of digits, numbers of different kinds (a phone and a fax number), numbers that differ in one digit (a main line and a direct line often do) and swaps of digits that are not neighbours are not reported. A number is 9 to 13 digits, grouped by hyphens or brackets."
@@ -0,0 +1,78 @@
1
+ id: prerequisite-after-step
2
+ layer: L3
3
+ status: stable
4
+ how_to_find: prerequisite-order
5
+ # The openers come from the language's prerequisite-opener lexicon; a procedure is a numbered list of three or more items.
6
+ languages: [ja, en]
7
+ severity: info
8
+
9
+ name:
10
+ ja: 手順の後に書いた前提
11
+ en: Prerequisite written after the steps
12
+
13
+ why:
14
+ ja: 「作業を始める前に、注文サービスを止めておきます。」が番号付きの手順の後にあると、読み手はそれを読む時には手順を終えています。前提・必要な権限・準備は、手順の前に書くものです。文を足したり節を並べ替えたりしたときに起きます。節の中で、番号付きの手順(三つ以上)より後に「作業を始める前に」「始める前に」で始まる文があるとき指します。
15
+ en: 'When "Before you begin, stop the order service." comes after the numbered steps, the reader has done the steps by the time they read it. Prerequisites, permissions and preparation go before the steps. It happens when a sentence is added at the end or sections are reordered. A sentence opening with "Before you begin" or "Before you start" after a numbered procedure (three steps or more) in the same section is reported.'
16
+
17
+ message:
18
+ ja: 手順の前にするべきことを、手順の後に書いています
19
+ en: This prerequisite comes after the steps it applies to
20
+
21
+ how_to_fix:
22
+ ja: この文を、手順の前(「始める前に」の節か、手順のすぐ上)に移してください。
23
+ en: Move the sentence before the steps, into a "Before you begin" section or right above the list.
24
+
25
+ levels: { strict: warning, normal: info, relaxed: info }
26
+
27
+ use_for: [technical, docs, blog, legal, academic, literature, speech]
28
+ off_for:
29
+ legal: "Code blocks, shell prompts, command headings and numbered steps belong to technical writing."
30
+ academic: "Code blocks, shell prompts, command headings and numbered steps belong to technical writing."
31
+ literature: "Code blocks, shell prompts, command headings and numbered steps belong to technical writing."
32
+ speech: "Code blocks, shell prompts, command headings and numbered steps belong to technical writing."
33
+
34
+ group: structure
35
+ summary:
36
+ ja: 節の番号付きの手順より後にある、「作業を始める前に」「始める前に」で始まる文
37
+ en: A sentence opening with "Before you begin" after the numbered steps of its section
38
+ example:
39
+ ja:
40
+ config: { genre: docs/manual }
41
+ before: |
42
+ # 復元する
43
+
44
+ 1. コンソールを開きます。
45
+ 2. バックアップを選びます。
46
+ 3. [復元を開始]を押します。
47
+
48
+ 作業を始める前に、注文サービスを止めておきます。
49
+ after: |
50
+ # 復元する
51
+
52
+ 作業を始める前に、注文サービスを止めておきます。
53
+
54
+ 1. コンソールを開きます。
55
+ 2. バックアップを選びます。
56
+ 3. [復元を開始]を押します。
57
+ en:
58
+ config: { genre: docs/manual }
59
+ before: |
60
+ # Restore
61
+
62
+ 1. Open the console.
63
+ 2. Select the backup.
64
+ 3. Click **Start Restore**.
65
+
66
+ Before you begin, stop the order service.
67
+ after: |
68
+ # Restore
69
+
70
+ Before you begin, stop the order service.
71
+
72
+ 1. Open the console.
73
+ 2. Select the backup.
74
+ 3. Click **Start Restore**.
75
+
76
+ not_flagged:
77
+ ja: 番号付きの手順が三つ以上ある節の、その手順より後の文だけを読みます。手順の前にある前提、後の節の手順のための前提(その節の手順より前にあるもの)、「手順 4 の前に」のように一つの手順を名指す文、読点の続かない「始める前に戻すには」、引用やコードの中の手順は指しません。技術文書・手順書・ブログでだけ動きます。
78
+ en: 'Only sentences after a numbered procedure of three or more steps in the same section are read. A prerequisite before its steps, one for a later section''s steps (written before those steps), a sentence naming one step ("Before step 4, split the file" or "Before you begin step 3"), and a procedure in a block quote or a code block are not reported. Technical documents, manuals and blogs only.'
@@ -0,0 +1,67 @@
1
+ id: quote-unnamed-speaker
2
+ layer: L2
3
+ status: stable
4
+ how_to_find: quote-unnamed-speaker
5
+ word_list: unnamed-speaker
6
+ # The roles (アナリスト, an analyst), the words that may follow a role at the head of the speaker's phrase, titles and the
7
+ # words pointing back come from the language's unnamed-speaker word list; the words that give a quotation to someone from
8
+ # quote-attribution.
9
+ extra_word_lists: [quote-attribution]
10
+ languages: [ja, en]
11
+ severity: info
12
+
13
+ name:
14
+ ja: 名前の無い話し手の言葉を引いている
15
+ en: A quotation given to a speaker with no name
16
+
17
+ why:
18
+ ja: プレスリリースや報告書は、引いた言葉で主張を支えます。「業界のアナリストは『…』と述べています」の話し手が誰なのかが書かれていないと、読み手はその人に確かめることも、その人の立場を量ることもできません。書き手が自分の言いたいことを名前の無い誰かに言わせている、と読まれることもあります。chaff はその人が本当に言ったかを知りませんが、確かめる相手が書かれていないことは言えます。鉤括弧や引用符で引いた言葉のすぐ前かすぐ後ろに話し手が書かれていて、その話し手が「アナリスト」「関係者」のような役の語だけで、名前が無いときに指します(役の語の一覧は言語ごとの語彙表 unnamed-speaker にあります)。
19
+ en: 'Press releases and reports back their claims with quotations. When the speaker of "Few products do this," said an analyst is not named, the reader can neither check with that person nor weigh where they stand, and may read it as the writer''s own claim put in an unnamed mouth. chaff cannot know who said what, but it can say that nobody to check with is named. It points at a quotation in quotation marks whose speaker, right before or right after it, is only a role ("an analyst", "a source", "officials"; the roles are in each language''s unnamed-speaker word list) with no name.'
20
+
21
+ message:
22
+ ja: 「{quote}」の話し手が「{speaker}」とだけ書かれていて、名前がありません
23
+ en: '"{quote}" is given to "{speaker}", who is not named'
24
+
25
+ how_to_fix:
26
+ ja: 話し手の名前と所属を書いてください(「ミナトリサーチのアナリスト、森花子氏は」)。名前を出せない相手なら、その言葉に頼らない書き方にするか、調査報告のような題名のある文書を出典にしてください。
27
+ en: 'Name the speaker and where they work ("said Hanako Mori, an analyst at Minato Research"). If the person cannot be named, do not lean on the quotation: say it without it, or cite a document named by its title.'
28
+
29
+ levels: { strict: warning, normal: info, relaxed: info }
30
+
31
+ use_for: [business/press-release, business/report, legal, docs, academic, literature, speech]
32
+ off_for:
33
+ legal: "A quotation given to an unnamed role: only press releases and reports turn this on; quote-without-source reads quotations elsewhere."
34
+ docs: "A quotation given to an unnamed role: only press releases and reports turn this on; quote-without-source reads quotations elsewhere."
35
+ academic: "A quotation given to an unnamed role: only press releases and reports turn this on; quote-without-source reads quotations elsewhere."
36
+ literature: "A quotation given to an unnamed role: only press releases and reports turn this on; quote-without-source reads quotations elsewhere."
37
+ speech: "A quotation given to an unnamed role: only press releases and reports turn this on; quote-without-source reads quotations elsewhere."
38
+
39
+ group: facts
40
+ summary:
41
+ ja: 「業界のアナリストは『…』と述べています」のように、名前の無い話し手の言葉を引いた所
42
+ en: A quotation given to a speaker named only by a role ("…," said an analyst)
43
+ example:
44
+ ja:
45
+ config: { genre: business/press-release }
46
+ before: |
47
+ # 新版の提供について
48
+
49
+ 業界のアナリストは「在庫を一画面で見られる製品は、中小企業ではまだ少ない」と述べています。
50
+ after: |
51
+ # 新版の提供について
52
+
53
+ ミナトリサーチのアナリストの森花子氏は「在庫を一画面で見られる製品は、中小企業ではまだ少ない」と述べています。
54
+ en:
55
+ config: { genre: business/press-release }
56
+ before: |
57
+ # The new version
58
+
59
+ "Few products for small businesses show all their stock on one screen," said an analyst.
60
+ after: |
61
+ # The new version
62
+
63
+ "Few products for small businesses show all their stock on one screen," said Hanako Mori, an analyst at Minato Research.
64
+
65
+ not_flagged:
66
+ ja: 話し手に名前があれば見ません。役の語の後ろに名前が続くもの(アナリストの森花子氏)、話し手の句に「氏」「さん」「様」「教授」のような名前に付く語があるものは、名前を出したと見ます。一人に決まる役(代表取締役社長、当社CEO)は役の語の一覧に無いので見ません。「同アナリスト」「このアナリスト」のように前に名前を出した人を指し直すもの、題名を示した文書(『2026年版在庫白書』によれば)、役の語が話し手でないもの(専門家会議の報告書)も見ません。10字に満たない短い引用は語や名前を引いたものと見て読みません。プレスリリースと報告書だけで見ます。ほかの文書で人の言葉に出典が無いことは quote-without-source が見ます。
67
+ en: 'A speaker with a name is not reported: a name after the role ("analyst Hanako Mori"), a name before it ("Hanako Mori, an analyst"), or a title (Ms, Dr). A role that is one person (the CEO of Acme) is not in the word list. A role that points back at someone named before ("the analyst", "our spokesperson"), a document named by its title, and a role that is not the speaker ("an official statement") are not reported. A quotation shorter than ten characters names a word or a thing and is not read. Only press releases and reports are read; elsewhere, quote-without-source looks for a quotation with no source.'
@@ -9,16 +9,16 @@ name:
9
9
  en: A quotation given to someone, with no source
10
10
 
11
11
  why:
12
- ja: 「〜は『…』と述べている」のように人の言葉として引いた文は、読み手がその人の言葉だと信じて読みます。出典が無いと、本当にその人がそう言ったのか、言い回しが正しいのかを誰も確かめられません。人から人へ伝わるうちに言葉が変わったり、言った人が入れ替わったりするのは、引用でいちばんよく起きる誤りです。chaff はその人が本当に言ったかを知りませんが、確かめる手がかりが無いことは言えます。鉤括弧や引用符で引いた文の直後か少し前に、誰かに帰する言い回し(「と述べ」「によれば」。語の一覧は言語ごとの語彙表にあります)があり、同じ段落にリンクも脚注も番号の引用も括弧の中の年も無いときに指します。
13
- en: 'A quotation given to someone ("X once said …", "according to X") is read as that person''s words. With no source, nobody can check that the person said it, or said it that way; words change and speakers swap as a quotation is passed along, which is the commonest error in quoting. chaff cannot know who said what, but it can say there is nothing to check the quotation against. It points at a quotation in quotation marks given to someone by the words right after it or shortly before it ("said", "according to"; the words are in each language''s word list), in a paragraph with no link, no footnote, no numbered citation and no year in brackets.'
12
+ ja: 「〜は『…』と述べている」のように人の言葉として引いた文は、読み手がその人の言葉だと信じて読みます。出典が無いと、本当にその人がそう言ったのか、言い回しが正しいのかを誰も確かめられません。人から人へ伝わるうちに言葉が変わったり、言った人が入れ替わったりするのは、引用でいちばんよく起きる誤りです。chaff はその人が本当に言ったかを知りませんが、確かめる手がかりが無いことは言えます。鉤括弧や引用符で引いた文の直後か少し前に、誰かに帰する言い回し(「と述べ」「によれば」。語の一覧は言語ごとの語彙表にあります)があり、同じ段落にリンクも脚注も番号の引用も括弧の中の年も無いときに指します。Markdown の引用(`>`)の終わりかすぐ次の行に「— 名前」と書いた引用も、名前の行と引用の中に出典が無ければ指します。
13
+ en: 'A quotation given to someone ("X once said …", "according to X") is read as that person''s words. With no source, nobody can check that the person said it, or said it that way; words change and speakers swap as a quotation is passed along, which is the commonest error in quoting. chaff cannot know who said what, but it can say there is nothing to check the quotation against. It points at a quotation in quotation marks given to someone by the words right after it or shortly before it ("said", "according to"; the words are in each language''s word list), in a paragraph with no link, no footnote, no numbered citation and no year in brackets. A Markdown block quotation (`>`) with a dash line ("— Name") as its last line or right after it is given to someone too, and is pointed at when neither the quotation nor that line gives a source.'
14
14
 
15
15
  message:
16
16
  ja: 「{quote}」を人の言葉として引いていますが、出典(リンク、脚注、書誌)がありません
17
17
  en: '"{quote}" is given to someone, but no source (a link, a footnote, a reference) is given'
18
18
 
19
19
  how_to_fix:
20
- ja: 同じ段落に出典を書いてください。Web で読めるならリンクを、本や論文なら「(著者, 書名, 年)」か脚注を付けます。出典が見つからないなら、言い回しを確かめられるまで人の言葉としては引かないでください。出典を書いたら、`chaff cite <出典> <引用.json>` で、その言葉が出典に本当にあるかを照らせます(chaff --format json の quote がそのまま使えます)。
21
- en: 'Name the source in the same paragraph: a link when it can be read online, or "(Author, Title, year)" or a footnote for a book or a paper. If no source can be found, do not give the words to the person until they can be checked. With the source in hand, `chaff cite <source> <quotes.json>` checks that the words are really there (each finding''s quote in chaff --format json is the text to check).'
20
+ ja: 同じ段落に出典を書いてください。Web で読めるならリンクを、本や論文なら「(著者, 書名, 年)」か脚注を付けます。出典が見つからないなら、言い回しを確かめられるまで人の言葉としては引かないでください。`chaff cite --scaffold <文書>` がこうした引用を引用.json のひな形にするので、source に出典のファイルを書いて `chaff cite <引用.json>` を動かせば、その言葉が出典に本当にあるかを照らせます。
21
+ en: 'Name the source in the same paragraph: a link when it can be read online, or "(Author, Title, year)" or a footnote for a book or a paper. If no source can be found, do not give the words to the person until they can be checked. `chaff cite --scaffold <document>` writes these quotations as a quotes.json to fill in: put the source''s file in each `source`, and `chaff cite <quotes.json>` checks that the words are really there.'
22
22
 
23
23
  levels: { strict: warning, normal: info, relaxed: info }
24
24
 
@@ -57,5 +57,5 @@ example:
57
57
  As one engineer put it, "adding people to a late project only makes it later" ([source](https://example.com/essay)). Before adding people, ask whether the work can be split.
58
58
 
59
59
  not_flagged:
60
- ja: 短い鉤括弧(「保存」ボタン、「出典」という語)は語や名前を引いたもので、人の言葉ではないので見ません。誰かに帰する言い回しが引用のすぐ後ろ(「…」と述べた)か少し前(によれば「…」)に無い引用は、書き手自身の言葉か、題名や言い換えなので見ません。同じ段落にリンク、URL、脚注([^1])、番号の引用([3])、括弧の中の年((1975)、(1999年))があれば、出典を書いたと見ます。出典が正しいかは見ません。それは `chaff cite` が照らします。記事(ブログ、エッセイ)と論文で見ます。組織の記事は取材した人の言葉を、プレスリリースや報告書は自分たちの言葉や題名で示した文書を引くので、手順書、仕様、契約や法令、小説、話し言葉とあわせて既定で止めています。
61
- en: 'A short quotation (the "Save" button, the word "source") names a word or a thing, not someone''s words, and is not read. A quotation with no such words right after it or shortly before it is the writer''s own words, a title or a paraphrase. A link, a URL, a footnote ([^1]), a numbered citation ([3]) or a year in brackets ((1975)) in the same paragraph counts as a source. Whether the source is right is not checked here: `chaff cite` checks that. Blog posts, essays and papers are read. An organisation''s articles quote the people they interviewed, and press releases and reports quote their own people or documents named by title, so they are left out by default, with manuals, specifications, contracts and statutes, fiction and speech.'
60
+ ja: 短い鉤括弧(「保存」ボタン、「出典」という語)は語や名前を引いたもので、人の言葉ではないので見ません。誰かに帰する言い回しが引用のすぐ後ろ(「…」と述べた)か少し前(によれば「…」)に無い引用は、書き手自身の言葉か、題名や言い換えなので見ません。「…」と述べる方が適切です、「…」と書くべきです、のように言い方を勧める続きは、人の言葉を引いていないので見ません(続きの一覧は語彙表 quote-advice にあります)。引用の前に誰かに帰する言い回しがあれば(山田氏によれば「…」と言う方が適切だ)、勧めでも人の言葉として見ます。同じ段落にリンク、URL、脚注([^1])、番号の引用([3])、括弧の中の年((1975)、(1999年))があれば、出典を書いたと見ます。「— 名前」の行が無い `>` の引用は、誰の言葉かを示していないので見ません。「— 名前、書名(1975)」のように名前の行に年やリンクがあれば、出典を書いたと見ます。出典が正しいかは見ません。それは `chaff cite` が照らします。記事(ブログ、エッセイ)と論文で見ます。組織の記事は取材した人の言葉を、プレスリリースや報告書は自分たちの言葉や題名で示した文書を引くので、手順書、仕様、契約や法令、小説、話し言葉とあわせて既定で止めています。
61
+ en: 'A short quotation (the "Save" button, the word "source") names a word or a thing, not someone''s words, and is not read. A quotation with no such words right after it or shortly before it is the writer''s own words, a title or a paraphrase. In Japanese, words right after the quotation that suggest a wording rather than quote it (「…」と述べる方が適切です) are not read either, unless a word before the quotation gives it to someone; the word list quote-advice holds them. English has no such list yet. A link, a URL, a footnote ([^1]), a numbered citation ([3]) or a year in brackets ((1975)) in the same paragraph counts as a source. A `>` block quotation with no dash line ("— Name") does not say whose words it holds and is not read; a dash line with a year or a link ("— Name, Title (1975)") counts as a source. Whether the source is right is not checked here: `chaff cite` checks that. Blog posts, essays and papers are read. An organisation''s articles quote the people they interviewed, and press releases and reports quote their own people or documents named by title, so they are left out by default, with manuals, specifications, contracts and statutes, fiction and speech.'
@@ -4,7 +4,7 @@ status: stable
4
4
  how_to_find: requirement-smell
5
5
  # 要求の文の目印と、三つの見つけ方の語。語はすべて言語ごとの語彙表にある。
6
6
  word_list: requirement-marker
7
- extra_word_lists: [requirement-loophole, requirement-open-end, requirement-either]
7
+ extra_word_lists: [requirement-loophole, requirement-open-end, requirement-either, definition-statement]
8
8
  uses: [pos]
9
9
  severity: info
10
10
 
@@ -74,5 +74,5 @@ example:
74
74
  config: { genre: technical/spec }
75
75
 
76
76
  not_flagged:
77
- ja: 要求の文でない文(説明や背景)、法令、ブログやビジネス文書は見ません。語彙表にない言い方は指しません。
78
- en: Sentences that state no requirement (background, explanation), statutes, and blogs and business documents are not checked. Phrases not on chaff's lists are not reported.
77
+ ja: 要求の文でない文(説明や背景)、法令、ブログやビジネス文書は見ません。語彙表にない言い方は指しません。文書が定めた名前の「等」(以下「委託先等」という、銀行等(…をいう。)、定義の号の頭の語)と、監査等委員会のように後ろへ語が続く「等」は、列挙を閉じているので指しません。
78
+ en: Sentences that state no requirement (background, explanation), statutes, and blogs and business documents are not checked. Phrases not on chaff's lists are not reported. An open-ended word inside a name the document defines (a quoted term, or one defined in the brackets after it) is not reported.
@@ -3,7 +3,8 @@ layer: L3
3
3
  status: stable
4
4
  how_to_find: conjunction-run
5
5
  word_list: sentence-opener
6
- languages: [en]
6
+ languages: [ja, en]
7
+ uses: [pos]
7
8
  severity: info
8
9
 
9
10
  name:
@@ -11,8 +12,8 @@ name:
11
12
  en: Run of sentences opening with a conjunction
12
13
 
13
14
  why:
14
- ja: 接続詞で始まる文は 1 つなら効きますが、続くとどの文も前の文の付け足しに見えて、何が主張なのかが分からなくなります。
15
- en: One sentence opening with "And" or "But" lands. A run of them makes every sentence read as an afterthought.
15
+ ja: 「そして」「しかし」「また」(英語の And、But)で始まる文は 1 つなら効きますが、続くとどの文も前の文の付け足しに見えて、何が主張なのかが分からなくなります。語の一覧は言語ごとの語彙表にあります。
16
+ en: One sentence opening with "And" or "But" (そして, しかし) lands. A run of them makes every sentence read as an afterthought. The words are listed in the lexicon.
16
17
 
17
18
  message:
18
19
  ja: 接続詞で始まる文が {count} 文続いています({limit} 文まで)
@@ -32,9 +33,14 @@ off_for:
32
33
 
33
34
  group: readability
34
35
  summary:
35
- ja: 英語で、And や But で始まる文が続く所
36
- en: A run of sentences that open with "And", "But" or "So"
36
+ ja: 「そして」「しかし」(And、But)で始まる文が続く所
37
+ en: A run of sentences that open with "And", "But" or "So" (そして, しかし)
37
38
  example:
39
+ ja:
40
+ before: |
41
+ 月曜に更新を出しました。しかし、ログイン画面が壊れました。そして、直すのに二日かかりました。また、その間は一部の人が入れませんでした。
42
+ after: |
43
+ 月曜に出した更新で、ログイン画面が壊れました。直すのに二日かかり、その間は一部の人が入れませんでした。
38
44
  en:
39
45
  before: |
40
46
  We shipped the update on Monday. But the login page broke. And the fix took two days. So some customers could not sign in.
@@ -42,8 +48,8 @@ example:
42
48
  We shipped the update on Monday, and the login page broke. The fix took two days, during which some customers could not sign in.
43
49
 
44
50
  not_flagged:
45
- ja: And や But で始まる文が一つだけなら指しません。
46
- en: One sentence opening with "And" or "But" is not reported.
51
+ ja: 接続詞で始まる文が一つだけなら指しません。日本語では、話し言葉の文頭(でも、だから、なので)は colloquial-opener が、「さらに」「加えて」は stock-transition が見るので数えません。
52
+ en: One sentence opening with "And" or "But" is not reported. In Japanese, spoken openers (でも, だから, なので) are colloquial-opener's and さらに, 加えて are stock-transition's, so they are not counted.
47
53
  level_meaning:
48
54
  ja: 接続詞で始まる文の連続 {limit} 文まで
49
55
  en: up to {limit} sentences in a row opening with a conjunction
@@ -11,8 +11,8 @@ name:
11
11
  en: A summary value that differs from the body
12
12
 
13
13
  why:
14
- ja: 冒頭や「概要」の節は、本文を読まない人も読みます。そこに書いた値が本文と違うと、要約だけを読んだ人が間違った値を持ち帰ります。本文を直したあとに、要約を直し忘れると起きます。最初の見出しより前の文と、概要・要約・まとめの節の「項目:値」「項目は値です」を、本文の同じ項目の値と比べます。本文の値が一通りに揃っていて、要約の値がそれと違うときだけ指します。
15
- en: 'The opening and the summary are read by people who never read the body. A value there that differs from the body sends them away with the wrong one. It happens when the body is corrected and the summary is not. Values written as "Item: value" or "The item is value" before the first heading, or in a section headed Summary, Abstract or Overview, are compared with the body''s values for the same item; it is pointed out only when the body gives one value throughout and the summary gives another.'
14
+ ja: 冒頭や「概要」の節は、本文を読まない人も読みます。そこに書いた値が本文と違うと、要約だけを読んだ人が間違った値を持ち帰ります。本文を直したあとに、要約を直し忘れると起きます。最初の見出しより前の文と、概要・要約・まとめの節の「項目:値」「項目は値です」を、本文の同じ項目の値と比べます。英語の文書では、名前の無い数も、数える動詞と数えるもの(We gained 52 new customers)が同じ本文の数と比べます。要約の「誤りの率は 2.4% から 1.6% に」は、本文が同じ項目を二つの条件(導入前と導入後、無いときとあるとき、2025年と2026年)で書いた二つの値と組にして比べます。冒頭の「11月9日から提供します」のような出来事の日付は、本文で同じ出来事の語(提供、発売、開催)と日付を一つずつ持つ文の日付と比べます。本文の値が一通りに揃っていて、要約の値がそれと違うときだけ指します。
15
+ en: 'The opening and the summary are read by people who never read the body. A value there that differs from the body sends them away with the wrong one. It happens when the body is corrected and the summary is not. Values written as "Item: value" or "The item is value" before the first heading, or in a section headed Summary, Abstract or Overview, are compared with the body''s values for the same item, and so is a count with no label, by the verb and the words of what it counts ("We gained 52 new customers"). A summary''s "lowered the error rate from 2.4% to 1.6%" is paired with the two values the body gives the same item under two conditions (before and after, without and with, 2025 and 2026). The date of an event in the opening ("will release it on November 9, 2026") is compared with a body sentence that has a word for the same event (release, launch, held) and one date. It is pointed out only when the body gives one value throughout and the summary gives another.'
16
16
 
17
17
  message:
18
18
  ja: 冒頭・要約の「{label}」 {value} が、本文の {other} と違います
@@ -69,8 +69,8 @@ example:
69
69
  The fee is $350.
70
70
 
71
71
  not_flagged:
72
- ja: 本文に同じ項目の値が二通り以上あるとき(回ごと、対象ごとの値)は、要約がどれと合うべきか決まらないので言いません。単位の違う値、条件の付いた値(「3,000円から」)も比べません。
73
- en: When the body gives the item more than one value (per session, per group), which one the summary should match is not settled, so nothing is said. Values in different units and values with a condition ("from $300") are not compared.
72
+ ja: 本文に同じ項目の値が二通り以上あるとき(回ごと、対象ごとの値)は、要約がどれと合うべきか決まらないので言いません。単位の違う値、条件の付いた値(「3,000円から」)も比べません。「XからYに」は、本文の文に同じ項目の名前があり、二つの値のどちらの条件も読めたときだけ比べます。幅(ranging from 10 to 20)は変化ではないので比べません。出来事の日付は、年月日まで書いた日付どうしだけを比べます。日付が二つある文(期間)や、別の出来事の語も持つ文(発表した日と提供する日)、冒頭の文に無い名前(別の製品)を持つ本文の文は比べません。
73
+ en: When the body gives the item more than one value (per session, per group), which one the summary should match is not settled, so nothing is said. Values in different units and values with a condition ("from $300") are not compared. A "from X to Y" is compared only when a body sentence names the same item and the condition of each of its two values can be read; a range ("ranging from 10 to 20") is not a change and is left alone. An event's date is compared only when both dates give the year, month and day; a sentence with two dates (a period) or with the words of another event (the day it was announced and the day of the release) is not read, nor is a body sentence that names something the opening sentence does not (another product).
74
74
  rewrite:
75
75
  depth: light
76
76
  ja: