chaffjs 0.17.0 → 0.18.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 (840) hide show
  1. package/dist/announced-count.d.ts +26 -0
  2. package/dist/announced-count.d.ts.map +1 -0
  3. package/dist/announced-count.js +104 -0
  4. package/dist/announced-count.js.map +1 -0
  5. package/dist/bare-url.d.ts +14 -0
  6. package/dist/bare-url.d.ts.map +1 -0
  7. package/dist/bare-url.js +28 -0
  8. package/dist/bare-url.js.map +1 -0
  9. package/dist/baseline.d.ts +5 -0
  10. package/dist/baseline.d.ts.map +1 -1
  11. package/dist/baseline.js +16 -1
  12. package/dist/baseline.js.map +1 -1
  13. package/dist/body-section.d.ts +7 -0
  14. package/dist/body-section.d.ts.map +1 -0
  15. package/dist/body-section.js +6 -0
  16. package/dist/body-section.js.map +1 -0
  17. package/dist/calendar-number.d.ts +2 -0
  18. package/dist/calendar-number.d.ts.map +1 -1
  19. package/dist/calendar-number.js +9 -2
  20. package/dist/calendar-number.js.map +1 -1
  21. package/dist/cli-args.d.ts +4 -0
  22. package/dist/cli-args.d.ts.map +1 -1
  23. package/dist/cli-args.js +5 -0
  24. package/dist/cli-args.js.map +1 -1
  25. package/dist/cli-text.d.ts.map +1 -1
  26. package/dist/cli-text.js +8 -4
  27. package/dist/cli-text.js.map +1 -1
  28. package/dist/cli.js +33 -30
  29. package/dist/cli.js.map +1 -1
  30. package/dist/commands/compare.d.ts +8 -0
  31. package/dist/commands/compare.d.ts.map +1 -0
  32. package/dist/commands/compare.js +72 -0
  33. package/dist/commands/compare.js.map +1 -0
  34. package/dist/commands/eval.d.ts.map +1 -1
  35. package/dist/commands/eval.js +17 -9
  36. package/dist/commands/eval.js.map +1 -1
  37. package/dist/commands/feedback.d.ts +5 -2
  38. package/dist/commands/feedback.d.ts.map +1 -1
  39. package/dist/commands/feedback.js +11 -5
  40. package/dist/commands/feedback.js.map +1 -1
  41. package/dist/commands/test.d.ts.map +1 -1
  42. package/dist/commands/test.js +2 -4
  43. package/dist/commands/test.js.map +1 -1
  44. package/dist/commands/tree.d.ts +13 -0
  45. package/dist/commands/tree.d.ts.map +1 -1
  46. package/dist/commands/tree.js +35 -5
  47. package/dist/commands/tree.js.map +1 -1
  48. package/dist/compare/atom.d.ts +31 -0
  49. package/dist/compare/atom.d.ts.map +1 -0
  50. package/dist/compare/atom.js +4 -0
  51. package/dist/compare/atom.js.map +1 -0
  52. package/dist/compare/clock-time.d.ts +8 -0
  53. package/dist/compare/clock-time.d.ts.map +1 -0
  54. package/dist/compare/clock-time.js +65 -0
  55. package/dist/compare/clock-time.js.map +1 -0
  56. package/dist/compare/extract.d.ts +15 -0
  57. package/dist/compare/extract.d.ts.map +1 -0
  58. package/dist/compare/extract.js +58 -0
  59. package/dist/compare/extract.js.map +1 -0
  60. package/dist/compare/fact-text.d.ts +23 -0
  61. package/dist/compare/fact-text.d.ts.map +1 -0
  62. package/dist/compare/fact-text.js +47 -0
  63. package/dist/compare/fact-text.js.map +1 -0
  64. package/dist/compare/markup-atoms.d.ts +11 -0
  65. package/dist/compare/markup-atoms.d.ts.map +1 -0
  66. package/dist/compare/markup-atoms.js +23 -0
  67. package/dist/compare/markup-atoms.js.map +1 -0
  68. package/dist/compare/match.d.ts +19 -0
  69. package/dist/compare/match.d.ts.map +1 -0
  70. package/dist/compare/match.js +84 -0
  71. package/dist/compare/match.js.map +1 -0
  72. package/dist/compare/outcome.d.ts +33 -0
  73. package/dist/compare/outcome.d.ts.map +1 -0
  74. package/dist/compare/outcome.js +40 -0
  75. package/dist/compare/outcome.js.map +1 -0
  76. package/dist/compare/proper-nouns.d.ts +19 -0
  77. package/dist/compare/proper-nouns.d.ts.map +1 -0
  78. package/dist/compare/proper-nouns.js +44 -0
  79. package/dist/compare/proper-nouns.js.map +1 -0
  80. package/dist/compare/render.d.ts +9 -0
  81. package/dist/compare/render.d.ts.map +1 -0
  82. package/dist/compare/render.js +64 -0
  83. package/dist/compare/render.js.map +1 -0
  84. package/dist/compare/spans.d.ts +9 -0
  85. package/dist/compare/spans.d.ts.map +1 -0
  86. package/dist/compare/spans.js +11 -0
  87. package/dist/compare/spans.js.map +1 -0
  88. package/dist/compare/text-atoms.d.ts +24 -0
  89. package/dist/compare/text-atoms.d.ts.map +1 -0
  90. package/dist/compare/text-atoms.js +67 -0
  91. package/dist/compare/text-atoms.js.map +1 -0
  92. package/dist/compare/text.d.ts +24 -0
  93. package/dist/compare/text.d.ts.map +1 -0
  94. package/dist/compare/text.js +90 -0
  95. package/dist/compare/text.js.map +1 -0
  96. package/dist/compare/tree-atoms.d.ts +20 -0
  97. package/dist/compare/tree-atoms.d.ts.map +1 -0
  98. package/dist/compare/tree-atoms.js +58 -0
  99. package/dist/compare/tree-atoms.js.map +1 -0
  100. package/dist/compare/written-names.d.ts +8 -0
  101. package/dist/compare/written-names.d.ts.map +1 -0
  102. package/dist/compare/written-names.js +24 -0
  103. package/dist/compare/written-names.js.map +1 -0
  104. package/dist/config/load.d.ts +15 -0
  105. package/dist/config/load.d.ts.map +1 -1
  106. package/dist/config/load.js +5 -0
  107. package/dist/config/load.js.map +1 -1
  108. package/dist/config/option-problems.d.ts +16 -0
  109. package/dist/config/option-problems.d.ts.map +1 -0
  110. package/dist/config/option-problems.js +58 -0
  111. package/dist/config/option-problems.js.map +1 -0
  112. package/dist/config/read.d.ts +4 -0
  113. package/dist/config/read.d.ts.map +1 -0
  114. package/dist/config/read.js +8 -0
  115. package/dist/config/read.js.map +1 -0
  116. package/dist/config/rule-problems.d.ts +2 -4
  117. package/dist/config/rule-problems.d.ts.map +1 -1
  118. package/dist/config/rule-problems.js +7 -1
  119. package/dist/config/rule-problems.js.map +1 -1
  120. package/dist/config/style.d.ts +16 -0
  121. package/dist/config/style.d.ts.map +1 -0
  122. package/dist/config/style.js +36 -0
  123. package/dist/config/style.js.map +1 -0
  124. package/dist/config/warnings.d.ts +6 -0
  125. package/dist/config/warnings.d.ts.map +1 -0
  126. package/dist/config/warnings.js +10 -0
  127. package/dist/config/warnings.js.map +1 -0
  128. package/dist/config/write.d.ts.map +1 -1
  129. package/dist/config/write.js +17 -4
  130. package/dist/config/write.js.map +1 -1
  131. package/dist/custom/bounded-match.d.ts +15 -0
  132. package/dist/custom/bounded-match.d.ts.map +1 -0
  133. package/dist/custom/bounded-match.js +43 -0
  134. package/dist/custom/bounded-match.js.map +1 -0
  135. package/dist/custom/load.d.ts +8 -0
  136. package/dist/custom/load.d.ts.map +1 -0
  137. package/dist/custom/load.js +11 -0
  138. package/dist/custom/load.js.map +1 -0
  139. package/dist/custom/parse.d.ts +70 -0
  140. package/dist/custom/parse.d.ts.map +1 -0
  141. package/dist/custom/parse.js +215 -0
  142. package/dist/custom/parse.js.map +1 -0
  143. package/dist/custom/problems.d.ts +5 -0
  144. package/dist/custom/problems.d.ts.map +1 -0
  145. package/dist/custom/problems.js +78 -0
  146. package/dist/custom/problems.js.map +1 -0
  147. package/dist/custom/regex-safety.d.ts +11 -0
  148. package/dist/custom/regex-safety.d.ts.map +1 -0
  149. package/dist/custom/regex-safety.js +110 -0
  150. package/dist/custom/regex-safety.js.map +1 -0
  151. package/dist/custom/token-pattern.d.ts +8 -0
  152. package/dist/custom/token-pattern.d.ts.map +1 -0
  153. package/dist/custom/token-pattern.js +75 -0
  154. package/dist/custom/token-pattern.js.map +1 -0
  155. package/dist/detect.d.ts.map +1 -1
  156. package/dist/detect.js +24 -2
  157. package/dist/detect.js.map +1 -1
  158. package/dist/detectors/acronym-context.d.ts +2 -0
  159. package/dist/detectors/acronym-context.d.ts.map +1 -1
  160. package/dist/detectors/acronym-context.js +12 -4
  161. package/dist/detectors/acronym-context.js.map +1 -1
  162. package/dist/detectors/ai-phrasing.d.ts +20 -0
  163. package/dist/detectors/ai-phrasing.d.ts.map +1 -0
  164. package/dist/detectors/ai-phrasing.js +112 -0
  165. package/dist/detectors/ai-phrasing.js.map +1 -0
  166. package/dist/detectors/announced-count.d.ts +4 -0
  167. package/dist/detectors/announced-count.d.ts.map +1 -0
  168. package/dist/detectors/announced-count.js +20 -0
  169. package/dist/detectors/announced-count.js.map +1 -0
  170. package/dist/detectors/broken-link.d.ts +17 -0
  171. package/dist/detectors/broken-link.d.ts.map +1 -0
  172. package/dist/detectors/broken-link.js +66 -0
  173. package/dist/detectors/broken-link.js.map +1 -0
  174. package/dist/detectors/cited-name.d.ts.map +1 -1
  175. package/dist/detectors/cited-name.js +4 -4
  176. package/dist/detectors/cited-name.js.map +1 -1
  177. package/dist/detectors/cited-title.d.ts +11 -0
  178. package/dist/detectors/cited-title.d.ts.map +1 -0
  179. package/dist/detectors/cited-title.js +75 -0
  180. package/dist/detectors/cited-title.js.map +1 -0
  181. package/dist/detectors/concrete-evidence.d.ts +1 -1
  182. package/dist/detectors/concrete-evidence.d.ts.map +1 -1
  183. package/dist/detectors/concrete-evidence.js +2 -1
  184. package/dist/detectors/concrete-evidence.js.map +1 -1
  185. package/dist/detectors/contrast-frame.d.ts +17 -0
  186. package/dist/detectors/contrast-frame.d.ts.map +1 -0
  187. package/dist/detectors/contrast-frame.js +32 -0
  188. package/dist/detectors/contrast-frame.js.map +1 -0
  189. package/dist/detectors/custom.d.ts +8 -0
  190. package/dist/detectors/custom.d.ts.map +1 -0
  191. package/dist/detectors/custom.js +71 -0
  192. package/dist/detectors/custom.js.map +1 -0
  193. package/dist/detectors/dangling-figure.d.ts +4 -0
  194. package/dist/detectors/dangling-figure.d.ts.map +1 -0
  195. package/dist/detectors/dangling-figure.js +18 -0
  196. package/dist/detectors/dangling-figure.js.map +1 -0
  197. package/dist/detectors/doubled-punctuation.d.ts +9 -0
  198. package/dist/detectors/doubled-punctuation.d.ts.map +1 -0
  199. package/dist/detectors/doubled-punctuation.js +33 -0
  200. package/dist/detectors/doubled-punctuation.js.map +1 -0
  201. package/dist/detectors/doubled-word.d.ts +5 -0
  202. package/dist/detectors/doubled-word.d.ts.map +1 -1
  203. package/dist/detectors/doubled-word.js +24 -11
  204. package/dist/detectors/doubled-word.js.map +1 -1
  205. package/dist/detectors/enumerated-runs.d.ts +1 -1
  206. package/dist/detectors/enumerated-runs.d.ts.map +1 -1
  207. package/dist/detectors/enumerated-runs.js +15 -4
  208. package/dist/detectors/enumerated-runs.js.map +1 -1
  209. package/dist/detectors/gram-furniture.d.ts +6 -0
  210. package/dist/detectors/gram-furniture.d.ts.map +1 -0
  211. package/dist/detectors/gram-furniture.js +21 -0
  212. package/dist/detectors/gram-furniture.js.map +1 -0
  213. package/dist/detectors/gram-place.d.ts +2 -0
  214. package/dist/detectors/gram-place.d.ts.map +1 -1
  215. package/dist/detectors/gram-place.js +9 -7
  216. package/dist/detectors/gram-place.js.map +1 -1
  217. package/dist/detectors/gram-windows.d.ts +9 -0
  218. package/dist/detectors/gram-windows.d.ts.map +1 -0
  219. package/dist/detectors/gram-windows.js +27 -0
  220. package/dist/detectors/gram-windows.js.map +1 -0
  221. package/dist/detectors/heading-case.d.ts +2 -0
  222. package/dist/detectors/heading-case.d.ts.map +1 -1
  223. package/dist/detectors/heading-case.js +29 -2
  224. package/dist/detectors/heading-case.js.map +1 -1
  225. package/dist/detectors/heading-code-words.d.ts +6 -0
  226. package/dist/detectors/heading-code-words.d.ts.map +1 -0
  227. package/dist/detectors/heading-code-words.js +29 -0
  228. package/dist/detectors/heading-code-words.js.map +1 -0
  229. package/dist/detectors/heading-echo.d.ts.map +1 -1
  230. package/dist/detectors/heading-echo.js +7 -4
  231. package/dist/detectors/heading-echo.js.map +1 -1
  232. package/dist/detectors/heading-level-skip.d.ts +12 -0
  233. package/dist/detectors/heading-level-skip.d.ts.map +1 -0
  234. package/dist/detectors/heading-level-skip.js +11 -0
  235. package/dist/detectors/heading-level-skip.js.map +1 -0
  236. package/dist/detectors/image-alt-text.d.ts +3 -0
  237. package/dist/detectors/image-alt-text.d.ts.map +1 -0
  238. package/dist/detectors/image-alt-text.js +9 -0
  239. package/dist/detectors/image-alt-text.js.map +1 -0
  240. package/dist/detectors/index.d.ts.map +1 -1
  241. package/dist/detectors/index.js +34 -1
  242. package/dist/detectors/index.js.map +1 -1
  243. package/dist/detectors/kutoten-consistency.d.ts +24 -0
  244. package/dist/detectors/kutoten-consistency.d.ts.map +1 -0
  245. package/dist/detectors/kutoten-consistency.js +77 -0
  246. package/dist/detectors/kutoten-consistency.js.map +1 -0
  247. package/dist/detectors/lead-in.d.ts +1 -0
  248. package/dist/detectors/lead-in.d.ts.map +1 -1
  249. package/dist/detectors/lead-in.js +2 -1
  250. package/dist/detectors/lead-in.js.map +1 -1
  251. package/dist/detectors/lexicon-match.d.ts +4 -0
  252. package/dist/detectors/lexicon-match.d.ts.map +1 -1
  253. package/dist/detectors/lexicon-match.js +7 -2
  254. package/dist/detectors/lexicon-match.js.map +1 -1
  255. package/dist/detectors/list-item.d.ts +45 -0
  256. package/dist/detectors/list-item.d.ts.map +1 -0
  257. package/dist/detectors/list-item.js +88 -0
  258. package/dist/detectors/list-item.js.map +1 -0
  259. package/dist/detectors/list-items.d.ts +31 -0
  260. package/dist/detectors/list-items.d.ts.map +1 -0
  261. package/dist/detectors/list-items.js +113 -0
  262. package/dist/detectors/list-items.js.map +1 -0
  263. package/dist/detectors/list-lead-in.d.ts +7 -0
  264. package/dist/detectors/list-lead-in.d.ts.map +1 -0
  265. package/dist/detectors/list-lead-in.js +28 -0
  266. package/dist/detectors/list-lead-in.js.map +1 -0
  267. package/dist/detectors/list-sentence.d.ts +65 -0
  268. package/dist/detectors/list-sentence.d.ts.map +1 -0
  269. package/dist/detectors/list-sentence.js +105 -0
  270. package/dist/detectors/list-sentence.js.map +1 -0
  271. package/dist/detectors/list-view.d.ts +34 -0
  272. package/dist/detectors/list-view.d.ts.map +1 -0
  273. package/dist/detectors/list-view.js +137 -0
  274. package/dist/detectors/list-view.js.map +1 -0
  275. package/dist/detectors/long-vowel.d.ts +7 -0
  276. package/dist/detectors/long-vowel.d.ts.map +1 -0
  277. package/dist/detectors/long-vowel.js +57 -0
  278. package/dist/detectors/long-vowel.js.map +1 -0
  279. package/dist/detectors/markup-finding.d.ts +6 -0
  280. package/dist/detectors/markup-finding.d.ts.map +1 -0
  281. package/dist/detectors/markup-finding.js +19 -0
  282. package/dist/detectors/markup-finding.js.map +1 -0
  283. package/dist/detectors/name-numeral.d.ts +1 -1
  284. package/dist/detectors/name-numeral.d.ts.map +1 -1
  285. package/dist/detectors/name-numeral.js +2 -7
  286. package/dist/detectors/name-numeral.js.map +1 -1
  287. package/dist/detectors/orthography.d.ts.map +1 -1
  288. package/dist/detectors/orthography.js +14 -10
  289. package/dist/detectors/orthography.js.map +1 -1
  290. package/dist/detectors/oxford-comma.d.ts +7 -1
  291. package/dist/detectors/oxford-comma.d.ts.map +1 -1
  292. package/dist/detectors/oxford-comma.js +135 -229
  293. package/dist/detectors/oxford-comma.js.map +1 -1
  294. package/dist/detectors/place-run.d.ts.map +1 -1
  295. package/dist/detectors/place-run.js +10 -6
  296. package/dist/detectors/place-run.js.map +1 -1
  297. package/dist/detectors/placeholder-text.d.ts +9 -0
  298. package/dist/detectors/placeholder-text.d.ts.map +1 -0
  299. package/dist/detectors/placeholder-text.js +18 -0
  300. package/dist/detectors/placeholder-text.js.map +1 -0
  301. package/dist/detectors/quote-around.d.ts +3 -0
  302. package/dist/detectors/quote-around.d.ts.map +1 -0
  303. package/dist/detectors/quote-around.js +8 -0
  304. package/dist/detectors/quote-around.js.map +1 -0
  305. package/dist/detectors/register.d.ts +11 -3
  306. package/dist/detectors/register.d.ts.map +1 -1
  307. package/dist/detectors/register.js +28 -9
  308. package/dist/detectors/register.js.map +1 -1
  309. package/dist/detectors/roman-numeral.d.ts +2 -0
  310. package/dist/detectors/roman-numeral.d.ts.map +1 -1
  311. package/dist/detectors/roman-numeral.js +2 -0
  312. package/dist/detectors/roman-numeral.js.map +1 -1
  313. package/dist/detectors/sentence-ending.d.ts +17 -1
  314. package/dist/detectors/sentence-ending.d.ts.map +1 -1
  315. package/dist/detectors/sentence-ending.js +13 -7
  316. package/dist/detectors/sentence-ending.js.map +1 -1
  317. package/dist/detectors/sentence-length.d.ts.map +1 -1
  318. package/dist/detectors/sentence-length.js +13 -4
  319. package/dist/detectors/sentence-length.js.map +1 -1
  320. package/dist/detectors/signals.d.ts +8 -0
  321. package/dist/detectors/signals.d.ts.map +1 -1
  322. package/dist/detectors/signals.js +67 -46
  323. package/dist/detectors/signals.js.map +1 -1
  324. package/dist/detectors/structure-tree.d.ts +6 -0
  325. package/dist/detectors/structure-tree.d.ts.map +1 -1
  326. package/dist/detectors/structure-tree.js +37 -1
  327. package/dist/detectors/structure-tree.js.map +1 -1
  328. package/dist/detectors/structure.d.ts +1 -3
  329. package/dist/detectors/structure.d.ts.map +1 -1
  330. package/dist/detectors/structure.js +3 -4
  331. package/dist/detectors/structure.js.map +1 -1
  332. package/dist/detectors/superlative-name.d.ts.map +1 -1
  333. package/dist/detectors/superlative-name.js +8 -5
  334. package/dist/detectors/superlative-name.js.map +1 -1
  335. package/dist/detectors/superlative-scope.d.ts.map +1 -1
  336. package/dist/detectors/superlative-scope.js +9 -4
  337. package/dist/detectors/superlative-scope.js.map +1 -1
  338. package/dist/detectors/token-column.d.ts +46 -0
  339. package/dist/detectors/token-column.d.ts.map +1 -0
  340. package/dist/detectors/token-column.js +95 -0
  341. package/dist/detectors/token-column.js.map +1 -0
  342. package/dist/detectors/unbalanced-bracket.d.ts +22 -0
  343. package/dist/detectors/unbalanced-bracket.d.ts.map +1 -0
  344. package/dist/detectors/unbalanced-bracket.js +119 -0
  345. package/dist/detectors/unbalanced-bracket.js.map +1 -0
  346. package/dist/detectors/url-run-on.d.ts +9 -0
  347. package/dist/detectors/url-run-on.d.ts.map +1 -0
  348. package/dist/detectors/url-run-on.js +19 -0
  349. package/dist/detectors/url-run-on.js.map +1 -0
  350. package/dist/document-sections.d.ts +13 -0
  351. package/dist/document-sections.d.ts.map +1 -0
  352. package/dist/document-sections.js +32 -0
  353. package/dist/document-sections.js.map +1 -0
  354. package/dist/document.d.ts +11 -4
  355. package/dist/document.d.ts.map +1 -1
  356. package/dist/document.js +90 -98
  357. package/dist/document.js.map +1 -1
  358. package/dist/email-parts.d.ts +28 -0
  359. package/dist/email-parts.d.ts.map +1 -0
  360. package/dist/email-parts.js +230 -0
  361. package/dist/email-parts.js.map +1 -0
  362. package/dist/eval.d.ts +2 -1
  363. package/dist/eval.d.ts.map +1 -1
  364. package/dist/eval.js +16 -4
  365. package/dist/eval.js.map +1 -1
  366. package/dist/figure-references.d.ts +30 -0
  367. package/dist/figure-references.d.ts.map +1 -0
  368. package/dist/figure-references.js +76 -0
  369. package/dist/figure-references.js.map +1 -0
  370. package/dist/files.d.ts +2 -0
  371. package/dist/files.d.ts.map +1 -1
  372. package/dist/files.js +4 -0
  373. package/dist/files.js.map +1 -1
  374. package/dist/heading-label.d.ts +22 -0
  375. package/dist/heading-label.d.ts.map +1 -0
  376. package/dist/heading-label.js +50 -0
  377. package/dist/heading-label.js.map +1 -0
  378. package/dist/in-page-nav.d.ts +4 -1
  379. package/dist/in-page-nav.d.ts.map +1 -1
  380. package/dist/in-page-nav.js +53 -18
  381. package/dist/in-page-nav.js.map +1 -1
  382. package/dist/joined-view.d.ts.map +1 -1
  383. package/dist/joined-view.js +1 -0
  384. package/dist/joined-view.js.map +1 -1
  385. package/dist/levels.d.ts +5 -1
  386. package/dist/levels.d.ts.map +1 -1
  387. package/dist/levels.js +9 -0
  388. package/dist/levels.js.map +1 -1
  389. package/dist/line-paragraphs.d.ts +8 -0
  390. package/dist/line-paragraphs.d.ts.map +1 -1
  391. package/dist/line-paragraphs.js +33 -10
  392. package/dist/line-paragraphs.js.map +1 -1
  393. package/dist/long-vowel.d.ts +35 -0
  394. package/dist/long-vowel.d.ts.map +1 -0
  395. package/dist/long-vowel.js +71 -0
  396. package/dist/long-vowel.js.map +1 -0
  397. package/dist/markdown-node.d.ts +19 -0
  398. package/dist/markdown-node.d.ts.map +1 -0
  399. package/dist/markdown-node.js +6 -0
  400. package/dist/markdown-node.js.map +1 -0
  401. package/dist/markdown-read.d.ts +17 -0
  402. package/dist/markdown-read.d.ts.map +1 -0
  403. package/dist/markdown-read.js +37 -0
  404. package/dist/markdown-read.js.map +1 -0
  405. package/dist/markup.d.ts +22 -0
  406. package/dist/markup.d.ts.map +1 -0
  407. package/dist/markup.js +180 -0
  408. package/dist/markup.js.map +1 -0
  409. package/dist/mask.js +8 -5
  410. package/dist/mask.js.map +1 -1
  411. package/dist/number-name.d.ts +21 -5
  412. package/dist/number-name.d.ts.map +1 -1
  413. package/dist/number-name.js +119 -17
  414. package/dist/number-name.js.map +1 -1
  415. package/dist/orthography.d.ts +2 -0
  416. package/dist/orthography.d.ts.map +1 -1
  417. package/dist/orthography.js +9 -4
  418. package/dist/orthography.js.map +1 -1
  419. package/dist/page-furniture.d.ts +5 -2
  420. package/dist/page-furniture.d.ts.map +1 -1
  421. package/dist/page-furniture.js +8 -2
  422. package/dist/page-furniture.js.map +1 -1
  423. package/dist/plain-source.d.ts +1 -0
  424. package/dist/plain-source.d.ts.map +1 -1
  425. package/dist/plain-source.js +2 -1
  426. package/dist/plain-source.js.map +1 -1
  427. package/dist/plugin.d.ts +115 -0
  428. package/dist/plugin.d.ts.map +1 -1
  429. package/dist/profile/for-file.d.ts.map +1 -1
  430. package/dist/profile/for-file.js +3 -1
  431. package/dist/profile/for-file.js.map +1 -1
  432. package/dist/quoted-span.d.ts.map +1 -1
  433. package/dist/quoted-span.js +8 -3
  434. package/dist/quoted-span.js.map +1 -1
  435. package/dist/reasons.d.ts +3 -0
  436. package/dist/reasons.d.ts.map +1 -1
  437. package/dist/reasons.js +6 -0
  438. package/dist/reasons.js.map +1 -1
  439. package/dist/reference-lists.d.ts +3 -0
  440. package/dist/reference-lists.d.ts.map +1 -0
  441. package/dist/reference-lists.js +75 -0
  442. package/dist/reference-lists.js.map +1 -0
  443. package/dist/render/explain.d.ts +7 -1
  444. package/dist/render/explain.d.ts.map +1 -1
  445. package/dist/render/explain.js +36 -12
  446. package/dist/render/explain.js.map +1 -1
  447. package/dist/render/friendly.d.ts.map +1 -1
  448. package/dist/render/friendly.js +19 -9
  449. package/dist/render/friendly.js.map +1 -1
  450. package/dist/render/options.d.ts +7 -0
  451. package/dist/render/options.d.ts.map +1 -0
  452. package/dist/render/options.js +50 -0
  453. package/dist/render/options.js.map +1 -0
  454. package/dist/render/rules-json.d.ts +4 -1
  455. package/dist/render/rules-json.d.ts.map +1 -1
  456. package/dist/render/rules-json.js +102 -12
  457. package/dist/render/rules-json.js.map +1 -1
  458. package/dist/render/rules-table.d.ts +4 -0
  459. package/dist/render/rules-table.d.ts.map +1 -0
  460. package/dist/render/rules-table.js +70 -0
  461. package/dist/render/rules-table.js.map +1 -0
  462. package/dist/render/sarif.js +4 -4
  463. package/dist/render/sarif.js.map +1 -1
  464. package/dist/render/semantic.js +3 -3
  465. package/dist/render/semantic.js.map +1 -1
  466. package/dist/render/severity-name.d.ts +6 -0
  467. package/dist/render/severity-name.d.ts.map +1 -0
  468. package/dist/render/severity-name.js +7 -0
  469. package/dist/render/severity-name.js.map +1 -0
  470. package/dist/render/text.d.ts +7 -2
  471. package/dist/render/text.d.ts.map +1 -1
  472. package/dist/render/text.js +15 -4
  473. package/dist/render/text.js.map +1 -1
  474. package/dist/resolve-genre.d.ts +1 -1
  475. package/dist/resolve-genre.d.ts.map +1 -1
  476. package/dist/resolve-genre.js +4 -1
  477. package/dist/resolve-genre.js.map +1 -1
  478. package/dist/rule-genres.d.ts +24 -0
  479. package/dist/rule-genres.d.ts.map +1 -0
  480. package/dist/rule-genres.js +11 -0
  481. package/dist/rule-genres.js.map +1 -0
  482. package/dist/rule-guide.d.ts +54 -0
  483. package/dist/rule-guide.d.ts.map +1 -0
  484. package/dist/rule-guide.js +81 -0
  485. package/dist/rule-guide.js.map +1 -0
  486. package/dist/rule-load.d.ts.map +1 -1
  487. package/dist/rule-load.js +87 -33
  488. package/dist/rule-load.js.map +1 -1
  489. package/dist/rule-options.d.ts +50 -0
  490. package/dist/rule-options.d.ts.map +1 -0
  491. package/dist/rule-options.js +106 -0
  492. package/dist/rule-options.js.map +1 -0
  493. package/dist/run.d.ts +13 -0
  494. package/dist/run.d.ts.map +1 -1
  495. package/dist/run.js +54 -10
  496. package/dist/run.js.map +1 -1
  497. package/dist/sentence-shape.d.ts.map +1 -1
  498. package/dist/sentence-shape.js +4 -4
  499. package/dist/sentence-shape.js.map +1 -1
  500. package/dist/setting-problems.d.ts +2 -1
  501. package/dist/setting-problems.d.ts.map +1 -1
  502. package/dist/setting-problems.js +6 -1
  503. package/dist/setting-problems.js.map +1 -1
  504. package/dist/span-cut.d.ts +6 -0
  505. package/dist/span-cut.d.ts.map +1 -0
  506. package/dist/span-cut.js +22 -0
  507. package/dist/span-cut.js.map +1 -0
  508. package/dist/structure/aside-depth.d.ts +21 -0
  509. package/dist/structure/aside-depth.d.ts.map +1 -0
  510. package/dist/structure/aside-depth.js +65 -0
  511. package/dist/structure/aside-depth.js.map +1 -0
  512. package/dist/structure/build.d.ts +5 -1
  513. package/dist/structure/build.d.ts.map +1 -1
  514. package/dist/structure/build.js +29 -17
  515. package/dist/structure/build.js.map +1 -1
  516. package/dist/structure/closed-pairs.d.ts +8 -0
  517. package/dist/structure/closed-pairs.d.ts.map +1 -0
  518. package/dist/structure/closed-pairs.js +22 -0
  519. package/dist/structure/closed-pairs.js.map +1 -0
  520. package/dist/structure/date-range.d.ts +21 -0
  521. package/dist/structure/date-range.d.ts.map +1 -0
  522. package/dist/structure/date-range.js +45 -0
  523. package/dist/structure/date-range.js.map +1 -0
  524. package/dist/structure/known-mentions.d.ts +18 -0
  525. package/dist/structure/known-mentions.d.ts.map +1 -0
  526. package/dist/structure/known-mentions.js +78 -0
  527. package/dist/structure/known-mentions.js.map +1 -0
  528. package/dist/structure/numbering.d.ts +1 -0
  529. package/dist/structure/numbering.d.ts.map +1 -1
  530. package/dist/structure/numbering.js +11 -6
  531. package/dist/structure/numbering.js.map +1 -1
  532. package/dist/structure/of.d.ts +3 -1
  533. package/dist/structure/of.d.ts.map +1 -1
  534. package/dist/structure/of.js +5 -1
  535. package/dist/structure/of.js.map +1 -1
  536. package/dist/structure/percent-sum.d.ts +16 -0
  537. package/dist/structure/percent-sum.d.ts.map +1 -0
  538. package/dist/structure/percent-sum.js +104 -0
  539. package/dist/structure/percent-sum.js.map +1 -0
  540. package/dist/structure/quoted-number.d.ts +8 -0
  541. package/dist/structure/quoted-number.d.ts.map +1 -0
  542. package/dist/structure/quoted-number.js +34 -0
  543. package/dist/structure/quoted-number.js.map +1 -0
  544. package/dist/structure/relative-find.d.ts.map +1 -1
  545. package/dist/structure/relative-find.js +34 -46
  546. package/dist/structure/relative-find.js.map +1 -1
  547. package/dist/structure/relative-resolve.d.ts.map +1 -1
  548. package/dist/structure/relative-resolve.js +76 -30
  549. package/dist/structure/relative-resolve.js.map +1 -1
  550. package/dist/structure/runs.d.ts +2 -0
  551. package/dist/structure/runs.d.ts.map +1 -1
  552. package/dist/structure/runs.js +2 -2
  553. package/dist/structure/runs.js.map +1 -1
  554. package/dist/structure/sexp.d.ts +1 -1
  555. package/dist/structure/sexp.d.ts.map +1 -1
  556. package/dist/structure/sexp.js +18 -6
  557. package/dist/structure/sexp.js.map +1 -1
  558. package/dist/structure/total.d.ts +3 -0
  559. package/dist/structure/total.d.ts.map +1 -1
  560. package/dist/structure/total.js +2 -2
  561. package/dist/structure/total.js.map +1 -1
  562. package/dist/structure/universal.d.ts +14 -2
  563. package/dist/structure/universal.d.ts.map +1 -1
  564. package/dist/structure/universal.js +17 -2
  565. package/dist/structure/universal.js.map +1 -1
  566. package/dist/structure/wrapped-tail.d.ts +14 -7
  567. package/dist/structure/wrapped-tail.d.ts.map +1 -1
  568. package/dist/structure/wrapped-tail.js +33 -8
  569. package/dist/structure/wrapped-tail.js.map +1 -1
  570. package/dist/style-load.d.ts +4 -0
  571. package/dist/style-load.d.ts.map +1 -0
  572. package/dist/style-load.js +28 -0
  573. package/dist/style-load.js.map +1 -0
  574. package/dist/style-parse.d.ts +19 -0
  575. package/dist/style-parse.d.ts.map +1 -0
  576. package/dist/style-parse.js +60 -0
  577. package/dist/style-parse.js.map +1 -0
  578. package/dist/subheading-line.d.ts +6 -0
  579. package/dist/subheading-line.d.ts.map +1 -0
  580. package/dist/subheading-line.js +57 -0
  581. package/dist/subheading-line.js.map +1 -0
  582. package/dist/template-syntax.d.ts +17 -0
  583. package/dist/template-syntax.d.ts.map +1 -0
  584. package/dist/template-syntax.js +140 -0
  585. package/dist/template-syntax.js.map +1 -0
  586. package/dist/text-above.d.ts +19 -0
  587. package/dist/text-above.d.ts.map +1 -0
  588. package/dist/text-above.js +43 -0
  589. package/dist/text-above.js.map +1 -0
  590. package/dist/text-figures.d.ts +10 -0
  591. package/dist/text-figures.d.ts.map +1 -0
  592. package/dist/text-figures.js +131 -0
  593. package/dist/text-figures.js.map +1 -0
  594. package/dist/trailing-aside.d.ts +2 -0
  595. package/dist/trailing-aside.d.ts.map +1 -0
  596. package/dist/trailing-aside.js +53 -0
  597. package/dist/trailing-aside.js.map +1 -0
  598. package/dist/tree-walk.d.ts +18 -0
  599. package/dist/tree-walk.d.ts.map +1 -0
  600. package/dist/tree-walk.js +45 -0
  601. package/dist/tree-walk.js.map +1 -0
  602. package/genres.yaml +26 -0
  603. package/package.json +5 -3
  604. package/reference-headings.yaml +17 -0
  605. package/rules/adverb-overuse.yaml +19 -0
  606. package/rules/agentless-passive.yaml +19 -0
  607. package/rules/agreement-slip.yaml +14 -1
  608. package/rules/ai-generated-composite.yaml +102 -0
  609. package/rules/ai-tell.yaml +23 -0
  610. package/rules/announced-count-mismatch.yaml +57 -0
  611. package/rules/announcing-opener.yaml +51 -0
  612. package/rules/assistant-residue.yaml +52 -0
  613. package/rules/bold-density.yaml +31 -0
  614. package/rules/broken-link.yaml +65 -0
  615. package/rules/closing-cliche.yaml +33 -0
  616. package/rules/colon-lead-in.yaml +59 -0
  617. package/rules/concrete-evidence-density.yaml +41 -0
  618. package/rules/contraction-consistency.yaml +18 -0
  619. package/rules/contrast-framing.yaml +57 -0
  620. package/rules/cushion-phrase-density.yaml +25 -0
  621. package/rules/dangling-figure-reference.yaml +61 -0
  622. package/rules/dangling-reference.yaml +53 -1
  623. package/rules/date-order.yaml +33 -1
  624. package/rules/date-range-reversed.yaml +46 -0
  625. package/rules/date-weekday-mismatch.yaml +17 -1
  626. package/rules/double-keigo.yaml +16 -0
  627. package/rules/doubled-punctuation.yaml +45 -0
  628. package/rules/doubled-word.yaml +17 -1
  629. package/rules/duplicate-definition.yaml +59 -1
  630. package/rules/emoji-density.yaml +25 -0
  631. package/rules/empty-conclusion.yaml +28 -0
  632. package/rules/empty-intensifier.yaml +19 -0
  633. package/rules/excessive-hedging.yaml +19 -0
  634. package/rules/expletive-construction.yaml +19 -0
  635. package/rules/heading-echo.yaml +31 -0
  636. package/rules/heading-level-skip.yaml +78 -0
  637. package/rules/hiragana-fukushi.yaml +16 -0
  638. package/rules/image-alt-text.yaml +54 -0
  639. package/rules/internal-jargon.yaml +21 -0
  640. package/rules/katakana-long-vowel.yaml +98 -0
  641. package/rules/kutoten-consistency.yaml +53 -0
  642. package/rules/latin-spacing.yaml +23 -4
  643. package/rules/max-kanji-continuous.yaml +16 -0
  644. package/rules/max-paragraph-length.yaml +33 -0
  645. package/rules/max-sentence-length.yaml +32 -0
  646. package/rules/ngram-repetition.yaml +29 -2
  647. package/rules/no-doubled-joshi.yaml +16 -0
  648. package/rules/no-em-dash.yaml +25 -0
  649. package/rules/no-mixed-desumasu.yaml +27 -2
  650. package/rules/no-nakaguro-parallel.yaml +20 -0
  651. package/rules/numbering-gap.yaml +53 -1
  652. package/rules/oxford-comma-consistency.yaml +18 -0
  653. package/rules/padded-intro.yaml +19 -0
  654. package/rules/paragraph-length-variance.yaml +49 -0
  655. package/rules/percent-sum-mismatch.yaml +58 -0
  656. package/rules/preamble-length.yaml +56 -0
  657. package/rules/preferred-term.yaml +27 -0
  658. package/rules/proper-noun-density.yaml +26 -0
  659. package/rules/repeated-conjunction.yaml +47 -0
  660. package/rules/repeated-sentence-head.yaml +23 -0
  661. package/rules/required-sections.yaml +49 -0
  662. package/rules/risk-disclosure.yaml +22 -0
  663. package/rules/rule-of-three.yaml +97 -0
  664. package/rules/sasete-itadaku.yaml +18 -0
  665. package/rules/section-length-uniformity.yaml +89 -0
  666. package/rules/sentence-initial-conjunction-run.yaml +18 -0
  667. package/rules/sentence-rhythm.yaml +25 -0
  668. package/rules/stock-transition.yaml +55 -0
  669. package/rules/stray-space.yaml +18 -0
  670. package/rules/taigen-dome-in-prose.yaml +19 -0
  671. package/rules/title-case-consistency.yaml +42 -0
  672. package/rules/total-mismatch.yaml +37 -1
  673. package/rules/unbalanced-bracket.yaml +56 -0
  674. package/rules/undefined-acronym.yaml +22 -0
  675. package/rules/unfilled-placeholder.yaml +50 -0
  676. package/rules/unqualified-superlative.yaml +19 -0
  677. package/rules/unsourced-number.yaml +16 -0
  678. package/rules/url-run-on.yaml +45 -0
  679. package/skills/chaff/SKILL.md +70 -0
  680. package/src/announced-count.ts +148 -0
  681. package/src/bare-url.ts +35 -0
  682. package/src/baseline.ts +17 -1
  683. package/src/body-section.ts +7 -0
  684. package/src/calendar-number.ts +18 -4
  685. package/src/cli-args.ts +6 -0
  686. package/src/cli-text.ts +8 -4
  687. package/src/cli.ts +37 -37
  688. package/src/commands/compare.ts +80 -0
  689. package/src/commands/eval.ts +19 -8
  690. package/src/commands/feedback.ts +12 -6
  691. package/src/commands/test.ts +2 -4
  692. package/src/commands/tree.ts +41 -5
  693. package/src/compare/atom.ts +33 -0
  694. package/src/compare/clock-time.ts +86 -0
  695. package/src/compare/extract.ts +78 -0
  696. package/src/compare/fact-text.ts +68 -0
  697. package/src/compare/markup-atoms.ts +29 -0
  698. package/src/compare/match.ts +105 -0
  699. package/src/compare/outcome.ts +70 -0
  700. package/src/compare/proper-nouns.ts +65 -0
  701. package/src/compare/render.ts +102 -0
  702. package/src/compare/spans.ts +17 -0
  703. package/src/compare/text-atoms.ts +95 -0
  704. package/src/compare/text.ts +120 -0
  705. package/src/compare/tree-atoms.ts +80 -0
  706. package/src/compare/written-names.ts +26 -0
  707. package/src/config/load.ts +21 -0
  708. package/src/config/option-problems.ts +70 -0
  709. package/src/config/read.ts +8 -0
  710. package/src/config/rule-problems.ts +12 -2
  711. package/src/config/style.ts +42 -0
  712. package/src/config/warnings.ts +13 -0
  713. package/src/config/write.ts +18 -4
  714. package/src/custom/bounded-match.ts +58 -0
  715. package/src/custom/load.ts +15 -0
  716. package/src/custom/parse.ts +274 -0
  717. package/src/custom/problems.ts +89 -0
  718. package/src/custom/regex-safety.ts +118 -0
  719. package/src/custom/token-pattern.ts +84 -0
  720. package/src/detect.ts +28 -2
  721. package/src/detectors/acronym-context.ts +16 -4
  722. package/src/detectors/ai-phrasing.ts +137 -0
  723. package/src/detectors/announced-count.ts +25 -0
  724. package/src/detectors/broken-link.ts +90 -0
  725. package/src/detectors/cited-name.ts +6 -5
  726. package/src/detectors/cited-title.ts +96 -0
  727. package/src/detectors/concrete-evidence.ts +3 -2
  728. package/src/detectors/contrast-frame.ts +54 -0
  729. package/src/detectors/custom.ts +89 -0
  730. package/src/detectors/dangling-figure.ts +22 -0
  731. package/src/detectors/doubled-punctuation.ts +49 -0
  732. package/src/detectors/doubled-word.ts +19 -4
  733. package/src/detectors/enumerated-runs.ts +13 -4
  734. package/src/detectors/gram-furniture.ts +30 -0
  735. package/src/detectors/gram-place.ts +9 -5
  736. package/src/detectors/gram-windows.ts +31 -0
  737. package/src/detectors/heading-case.ts +30 -2
  738. package/src/detectors/heading-code-words.ts +35 -0
  739. package/src/detectors/heading-echo.ts +8 -4
  740. package/src/detectors/heading-level-skip.ts +19 -0
  741. package/src/detectors/image-alt-text.ts +11 -0
  742. package/src/detectors/index.ts +43 -1
  743. package/src/detectors/kutoten-consistency.ts +96 -0
  744. package/src/detectors/lead-in.ts +3 -1
  745. package/src/detectors/lexicon-match.ts +9 -2
  746. package/src/detectors/list-item.ts +122 -0
  747. package/src/detectors/list-items.ts +163 -0
  748. package/src/detectors/list-lead-in.ts +33 -0
  749. package/src/detectors/list-sentence.ts +157 -0
  750. package/src/detectors/list-view.ts +157 -0
  751. package/src/detectors/long-vowel.ts +66 -0
  752. package/src/detectors/markup-finding.ts +24 -0
  753. package/src/detectors/name-numeral.ts +4 -2
  754. package/src/detectors/orthography.ts +23 -17
  755. package/src/detectors/oxford-comma.ts +178 -283
  756. package/src/detectors/place-run.ts +7 -4
  757. package/src/detectors/placeholder-text.ts +27 -0
  758. package/src/detectors/quote-around.ts +9 -0
  759. package/src/detectors/register.ts +37 -10
  760. package/src/detectors/roman-numeral.ts +3 -0
  761. package/src/detectors/sentence-ending.ts +14 -7
  762. package/src/detectors/sentence-length.ts +16 -5
  763. package/src/detectors/signals.ts +80 -46
  764. package/src/detectors/structure-tree.ts +45 -1
  765. package/src/detectors/structure.ts +3 -4
  766. package/src/detectors/superlative-name.ts +7 -4
  767. package/src/detectors/superlative-scope.ts +8 -3
  768. package/src/detectors/token-column.ts +149 -0
  769. package/src/detectors/unbalanced-bracket.ts +153 -0
  770. package/src/detectors/url-run-on.ts +27 -0
  771. package/src/document-sections.ts +46 -0
  772. package/src/document.ts +106 -138
  773. package/src/email-parts.ts +269 -0
  774. package/src/eval.ts +14 -4
  775. package/src/figure-references.ts +112 -0
  776. package/src/files.ts +5 -0
  777. package/src/heading-label.ts +55 -0
  778. package/src/in-page-nav.ts +48 -19
  779. package/src/joined-view.ts +1 -0
  780. package/src/levels.ts +14 -1
  781. package/src/line-paragraphs.ts +52 -9
  782. package/src/long-vowel.ts +99 -0
  783. package/src/markdown-node.ts +19 -0
  784. package/src/markdown-read.ts +44 -0
  785. package/src/markup.ts +210 -0
  786. package/src/mask.ts +8 -8
  787. package/src/number-name.ts +151 -24
  788. package/src/orthography.ts +10 -3
  789. package/src/page-furniture.ts +11 -2
  790. package/src/plain-source.ts +2 -1
  791. package/src/plugin.ts +101 -1
  792. package/src/profile/for-file.ts +3 -1
  793. package/src/quoted-span.ts +9 -3
  794. package/src/reasons.ts +9 -0
  795. package/src/reference-lists.ts +91 -0
  796. package/src/render/explain.ts +47 -13
  797. package/src/render/friendly.ts +20 -9
  798. package/src/render/options.ts +58 -0
  799. package/src/render/rules-json.ts +130 -14
  800. package/src/render/rules-table.ts +91 -0
  801. package/src/render/sarif.ts +4 -4
  802. package/src/render/semantic.ts +3 -3
  803. package/src/render/severity-name.ts +10 -0
  804. package/src/render/text.ts +21 -7
  805. package/src/resolve-genre.ts +4 -1
  806. package/src/rule-genres.ts +25 -0
  807. package/src/rule-guide.ts +135 -0
  808. package/src/rule-load.ts +91 -34
  809. package/src/rule-options.ts +131 -0
  810. package/src/run.ts +74 -11
  811. package/src/sentence-shape.ts +4 -5
  812. package/src/setting-problems.ts +7 -1
  813. package/src/span-cut.ts +28 -0
  814. package/src/structure/aside-depth.ts +67 -0
  815. package/src/structure/build.ts +38 -19
  816. package/src/structure/closed-pairs.ts +20 -0
  817. package/src/structure/date-range.ts +69 -0
  818. package/src/structure/known-mentions.ts +96 -0
  819. package/src/structure/numbering.ts +9 -5
  820. package/src/structure/of.ts +11 -3
  821. package/src/structure/percent-sum.ts +135 -0
  822. package/src/structure/quoted-number.ts +36 -0
  823. package/src/structure/relative-find.ts +34 -47
  824. package/src/structure/relative-resolve.ts +77 -30
  825. package/src/structure/runs.ts +2 -2
  826. package/src/structure/sexp.ts +17 -5
  827. package/src/structure/total.ts +2 -2
  828. package/src/structure/universal.ts +24 -4
  829. package/src/structure/wrapped-tail.ts +38 -13
  830. package/src/style-load.ts +28 -0
  831. package/src/style-parse.ts +77 -0
  832. package/src/subheading-line.ts +68 -0
  833. package/src/template-syntax.ts +164 -0
  834. package/src/text-above.ts +49 -0
  835. package/src/text-figures.ts +147 -0
  836. package/src/trailing-aside.ts +50 -0
  837. package/src/tree-walk.ts +48 -0
  838. package/styles/bunkacho.yaml +25 -0
  839. package/styles/ieice.yaml +29 -0
  840. package/styles/jis-z8301-2011.yaml +25 -0
@@ -3,6 +3,7 @@ layer: L3
3
3
  status: experimental
4
4
  how_to_find: sentence-ending
5
5
  word_list: polite-ending
6
+ extra_word_lists: [neutral-ending]
6
7
  requires: [pos]
7
8
  languages: [ja]
8
9
  severity: warning
@@ -16,8 +17,14 @@ why:
16
17
  en: Mixing polite and plain endings leaves the reader unsure who the document addresses. Neither register is wrong; consistency within one document is the point.
17
18
 
18
19
  message:
19
- ja: この文だけ他と文末の調子が違います(文書の中で {count} 文)
20
- en: "This sentence's ending register differs from the rest ({count} in this document)"
20
+ ja: この文だけ他と文末の調子が違います(本文の中で {count} 文)
21
+ en: "This sentence's ending register differs from the rest ({count} in the body text)"
22
+
23
+ # 数えるのは、文が属するまとまりの中。message は本文、list は箇条書き 1 つ(番号で始まる段落の並びも)。
24
+ messages:
25
+ list:
26
+ ja: この文だけ他と文末の調子が違います(この箇条書きの中で {count} 文)
27
+ en: "This sentence's ending register differs from the rest ({count} in this list)"
21
28
 
22
29
  how_to_fix:
23
30
  ja: 多いほうに揃えてください。少数派のほうを直すのが、いちばん手数が少なくて済みます。
@@ -27,3 +34,21 @@ how_to_fix:
27
34
  levels: { strict: 5, normal: 3, relaxed: 1 }
28
35
 
29
36
  use_for: [blog, business, technical, legal, docs, academic, literature, speech]
37
+
38
+ group: consistency
39
+ summary:
40
+ ja: 「です・ます」の中に「だ・である」が混ざった文
41
+ en: A Japanese sentence whose ending (polite or plain) differs from the rest of the document
42
+ example:
43
+ ja:
44
+ before: |
45
+ 新しい料金は来月から始まります。請求書の形式も変わります。支払いの期限は月末です。古い料金は三月で終わる。
46
+ after: |
47
+ 新しい料金は来月から始まります。請求書の形式も変わります。支払いの期限は月末です。古い料金は三月で終わります。
48
+
49
+ not_flagged:
50
+ ja: どちらの調子が正しいかは決めません。多いほうに揃っていない、少ないほうの文だけを指します。本文と箇条書きは別々に数えます。箇条書きの中の少ないほうが文書全体では多いほうなら、その文は指しません。
51
+ en: Neither register is called right; only the sentences in the minority are pointed at. The body and each list are counted apart, and a sentence in a list's minority is left alone when its register is the document's majority.
52
+ level_meaning:
53
+ ja: 少ないほうの調子の文が {limit} 文以下のとき、それを指摘
54
+ en: reported when the minority register has {limit} sentences or fewer
@@ -25,3 +25,23 @@ how_to_fix:
25
25
  levels: { strict: 3, normal: 5, relaxed: 8 }
26
26
 
27
27
  use_for: [blog, business, technical, legal, docs, academic, literature, speech]
28
+
29
+ group: readability
30
+ summary:
31
+ ja: 一つの文に「・」で並べた語が多すぎて、どれとどれが組なのか分からない所
32
+ en: So many items joined by middle dots (・) in one Japanese sentence that the groups blur
33
+ example:
34
+ ja:
35
+ before: 対象は営業・企画・総務・経理・人事・法務の各部と、東京・大阪・名古屋の各拠点です。
36
+ after: |
37
+ 対象は次の部と拠点です。
38
+
39
+ - 部: 営業、企画、総務、経理、人事、法務
40
+ - 拠点: 東京、大阪、名古屋
41
+
42
+ not_flagged:
43
+ ja: 行の頭の「・」は箇条書きの印なので数えません。
44
+ en: A 「・」 at the start of a line is a bullet and is not counted.
45
+ level_meaning:
46
+ ja: 一文に中黒 {limit} 個まで
47
+ en: up to {limit} middle dots in a sentence
@@ -21,6 +21,58 @@ how_to_fix:
21
21
  ja: 番号を振り直してください。削った条を欠番として残すなら、「第4条(削除)」のように番号だけを残すと読み手に伝わります。
22
22
  en: Renumber. If a provision was removed on purpose, keep its number with a note such as "Section 4 [Deleted]".
23
23
 
24
- levels: { strict: 1, normal: 1, relaxed: 1 }
24
+ levels: { normal: error, relaxed: warning }
25
25
 
26
26
  use_for: [business, technical, blog, legal, docs, academic, literature, speech]
27
+
28
+ group: structure
29
+ summary:
30
+ ja: 第1条の次が第3条、(a) の次が (c) のように、番号が飛んだり重なったりしている所
31
+ en: A numbered item that skips or repeats a number, such as Article 3 right after Article 1
32
+ example:
33
+ ja:
34
+ before: |
35
+ # 就業規則
36
+
37
+ ## 第1条(目的)
38
+
39
+ この規則は、働き方の決まりを定める。
40
+
41
+ ## 第3条(勤務時間)
42
+
43
+ 勤務時間は、午前九時から午後六時までとする。
44
+ after: |
45
+ # 就業規則
46
+
47
+ ## 第1条(目的)
48
+
49
+ この規則は、働き方の決まりを定める。
50
+
51
+ ## 第2条(勤務時間)
52
+
53
+ 勤務時間は、午前九時から午後六時までとする。
54
+ en:
55
+ before: |
56
+ # Staff rules
57
+
58
+ ## Article 1 (Purpose)
59
+
60
+ These rules set out how we work.
61
+
62
+ ## Article 3 (Working hours)
63
+
64
+ Working hours are from nine to six.
65
+ after: |
66
+ # Staff rules
67
+
68
+ ## Article 1 (Purpose)
69
+
70
+ These rules set out how we work.
71
+
72
+ ## Article 2 (Working hours)
73
+
74
+ Working hours are from nine to six.
75
+
76
+ not_flagged:
77
+ ja: 同じ親の下で隣り合う番号だけを比べます。別の章の番号どうしは比べません。
78
+ en: Only numbers side by side under the same parent are compared.
@@ -25,3 +25,21 @@ how_to_fix:
25
25
  levels: { strict: 3, normal: 2, relaxed: 1 }
26
26
 
27
27
  use_for: [blog, business, technical, legal, docs, academic, literature, speech]
28
+
29
+ group: consistency
30
+ summary:
31
+ ja: 英語で、並べた最後の and の前にカンマを打つか打たないかが揃っていない所
32
+ en: Lists that put a comma before the final "and" in some places and not in others
33
+ example:
34
+ en:
35
+ before: |
36
+ We sell apples, pears, and plums. We ship to homes, offices, and schools. We accept cash, cards and vouchers.
37
+ after: |
38
+ We sell apples, pears, and plums. We ship to homes, offices, and schools. We accept cash, cards, and vouchers.
39
+
40
+ not_flagged:
41
+ ja: カンマを打つかどうかは決めません。半々に分かれた文書では、どちらが少ないとも言えないので指しません。
42
+ en: Whether to use the comma is not decided. A document split evenly has no minority and is not reported.
43
+ level_meaning:
44
+ ja: 少ないほうの打ち方が {limit} 箇所以下のとき指摘
45
+ en: reported when the minority style appears {limit} times or fewer
@@ -30,3 +30,22 @@ levels:
30
30
 
31
31
  # プレスリリース・メール・議事録の冒頭は理由や用件を言う所で、つかみではない。
32
32
  use_for: [blog, business/report, business/proposal, legal, docs, academic, literature, speech]
33
+
34
+ group: wording
35
+ summary:
36
+ ja: 「近年、〜が注目されています」のように、どの文書にも当てはまる書き出し
37
+ en: An opening such as "In recent years, X has gained attention" that fits any document
38
+ example:
39
+ ja:
40
+ before: 近年、生成 AI が注目を集めています。今回、社内の問い合わせ対応に試しました。
41
+ after: 社内の問い合わせ対応に生成 AI を試し、回答までの時間が半分になりました。
42
+ en:
43
+ before: In recent years, generative AI has gained significant attention. We tried it on our internal help desk.
44
+ after: We tried generative AI on our internal help desk, and replies now take half as long.
45
+
46
+ not_flagged:
47
+ ja: 文書の冒頭(最初の 4 文)だけを見ます。本文の途中の「近年」は指しません。
48
+ en: Only the opening (the first four sentences) is checked; "in recent years" later in the text is not reported.
49
+ level_meaning:
50
+ ja: 当てはまる書き出しが {limit} 箇所あれば指摘
51
+ en: reported once there are {limit}
@@ -23,3 +23,52 @@ how_to_fix:
23
23
  levels: { strict: 40, normal: 30, relaxed: 20 }
24
24
 
25
25
  use_for: [blog, legal, docs, academic, literature, speech]
26
+
27
+ group: ai-tells
28
+ summary:
29
+ ja: どの段落もほぼ同じ長さで、型に流しこんだように見える所
30
+ en: Paragraphs all of about the same length, as if poured into a mould
31
+ example:
32
+ ja:
33
+ config: { genre: blog/tech }
34
+ before: |
35
+ 最初に、道具を手元に入れます。公式のページから、使う機械に合った版を選んでください。
36
+
37
+ 次に、設定の画面を開きます。右上の歯車の印を押すと、変えられる項目の一覧が出てきます。
38
+
39
+ 続けて、仲間を招きます。左の端にある招待の画面で、相手の宛先を入れて送ってください。
40
+
41
+ 最後に、動きを確かめます。試しの文書を一つ置いて、指摘が画面に出ることを見てください。
42
+ after: |
43
+ 最初に、道具を手元に入れます。
44
+
45
+ 次に、設定の画面を開きます。右上の歯車の印を押すと、変えられる項目の一覧が出てきます。項目は多いですが、最初に触るのは言語と文書の種類の二つだけで足ります。ほかは、使いながら必要になったときに変えてください。
46
+
47
+ 続けて、仲間を招きます。
48
+
49
+ 最後に、動きを確かめます。試しの文書を一つ置いて、指摘が画面に出ることを見てください。
50
+ en:
51
+ config: { genre: blog/tech }
52
+ before: |
53
+ First, install the tool. Pick the version for your computer from the official download page.
54
+
55
+ Next, open the settings. The gear icon at the top right shows everything that you can change.
56
+
57
+ Then, invite your team. Enter their addresses on the invite page on the left and press send.
58
+
59
+ Finally, check that it works. Add a sample document and look for the findings on the screen.
60
+ after: |
61
+ First, install the tool.
62
+
63
+ Next, open the settings. The gear icon at the top right shows everything that you can change. There are many options, but at first you only need two: the language and the kind of document. Change the rest when you need to.
64
+
65
+ Then, invite your team.
66
+
67
+ Finally, check that it works. Add a sample document and look for the findings on the screen.
68
+
69
+ not_flagged:
70
+ ja: ビジネス文書と技術文書のジャンルでは見ません。
71
+ en: Business and technical genres do not run this rule.
72
+ level_meaning:
73
+ ja: 段落の長さのばらつきが {limit}% 未満なら指摘
74
+ en: reported when paragraph length varies by less than {limit}%
@@ -0,0 +1,58 @@
1
+ id: percent-sum-mismatch
2
+ layer: L3
3
+ status: experimental
4
+ how_to_find: percent-sum-mismatch
5
+ requires: [quantities]
6
+ severity: warning
7
+
8
+ name:
9
+ ja: 内訳の割合を足しても 100% にならない
10
+ en: Shares of a whole that do not add up to 100%
11
+
12
+ why:
13
+ ja: 構成比や内訳の百分率を足して 100% にならないと、読み手はどの数字が違うのか、項目が抜けたのかを確かめることになります。項目を足したり消したり、数字を一つだけ直したりしたときに起きます。表のその列の見出しか、箇条書きや表のすぐ上の文・見出しに、全体を分けた割合の語(構成比、内訳、シェア)があるときだけ足します。丸めの誤差は、項目ごとに最後の桁の半分まで(少なくとも 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). Rounding is allowed, up to half the last digit per item (at least one point).
15
+
16
+ message:
17
+ ja: 内訳の割合の和が {sum} で、100% になりません
18
+ en: The shares add up to {sum}, not 100%
19
+
20
+ how_to_fix:
21
+ ja: 数字を確かめて、違う数字を直すか、抜けた項目(その他など)を足してください。
22
+ en: Check the figures. Correct the wrong one, or add the missing item (such as "Other").
23
+
24
+ levels: { strict: error, normal: warning, relaxed: info }
25
+
26
+ use_for: [business, technical, blog, legal, docs, academic, literature, speech]
27
+
28
+ group: facts
29
+ summary:
30
+ ja: 構成比や内訳の百分率を足しても 100% にならない所
31
+ en: A breakdown whose percentages do not add up to 100%
32
+ example:
33
+ ja:
34
+ before: |
35
+ 売上の構成比は次のとおりです。
36
+
37
+ - 国内:60%
38
+ - 海外:30%
39
+ after: |
40
+ 売上の構成比は次のとおりです。
41
+
42
+ - 国内:60%
43
+ - 海外:40%
44
+ en:
45
+ before: |
46
+ Revenue breakdown by region:
47
+
48
+ - US: 60%
49
+ - Europe: 30%
50
+ after: |
51
+ Revenue breakdown by region:
52
+
53
+ - US: 60%
54
+ - Europe: 40%
55
+
56
+ not_flagged:
57
+ ja: 割合の語の無い百分率(利用率、伸び率)、複数回答の集計、符号の付いた増減(+3%)、合計の行がある表(合計が内訳の和と合わない の対象)、項目が一つだけのものは足しません。
58
+ en: 'Percentages not named as shares (rates, growth), multiple-answer counts, signed changes (+3%), a table with a total row (left to "A total that is not the sum of its items"), and a single item are not added.'
@@ -2,6 +2,7 @@ id: preamble-length
2
2
  layer: L1
3
3
  status: stable
4
4
  how_to_find: preamble-length
5
+ requires: [headings]
5
6
  severity: info
6
7
 
7
8
  name:
@@ -23,3 +24,58 @@ how_to_fix:
23
24
  levels: { strict: 1, normal: 2, relaxed: 4 }
24
25
 
25
26
  use_for: [business, legal, docs, academic, literature, speech]
27
+
28
+ group: structure
29
+ summary:
30
+ ja: 最初の見出しまでの前置きが長く、本題になかなか入らない所
31
+ en: Too many paragraphs before the first heading, which delays the point
32
+ example:
33
+ ja:
34
+ before: |
35
+ # 来期の出店計画
36
+
37
+ 当社はこれまで、駅前を中心に店を増やしてきました。
38
+
39
+ この十年で、店の数は二倍になりました。
40
+
41
+ 一方で、郊外の店の売上は伸び悩んでいます。
42
+
43
+ ## 決めたこと
44
+
45
+ 来期は、郊外の二店を閉じ、駅前に一店を開きます。
46
+ after: |
47
+ # 来期の出店計画
48
+
49
+ 来期は、郊外の二店を閉じ、駅前に一店を開きます。
50
+
51
+ ## 理由
52
+
53
+ この十年で店の数は二倍になりましたが、郊外の店の売上は伸び悩んでいます。
54
+ en:
55
+ before: |
56
+ # Store plan for next year
57
+
58
+ Over the years we have opened most of our stores near stations.
59
+
60
+ In the last ten years the number of stores has doubled.
61
+
62
+ Suburban stores, however, have struggled to grow.
63
+
64
+ ## Decision
65
+
66
+ Next year we will close two suburban stores and open one near a station.
67
+ after: |
68
+ # Store plan for next year
69
+
70
+ Next year we will close two suburban stores and open one near a station.
71
+
72
+ ## Why
73
+
74
+ The number of stores has doubled in ten years, but suburban stores have struggled to grow.
75
+
76
+ not_flagged:
77
+ ja: 表題より下の見出しが一つもない文書は測りません。法務やブログのジャンルでは見ません。
78
+ en: A document with no heading below its title is not measured. Legal and blog genres do not run this rule.
79
+ level_meaning:
80
+ ja: 最初の見出しまで {limit} 段落まで
81
+ en: up to {limit} paragraphs before the first heading
@@ -21,7 +21,34 @@ how_to_fix:
21
21
  ja: 「{preferred}」に直してください。固有名詞など、そのままにすべき箇所なら stet で理由を添えて黙らせます。
22
22
  en: Change it to "{preferred}". Where it must stay (a product's own name, a quotation), silence it with stet and the reason.
23
23
 
24
+ # chaff explain と規則の一覧には指摘が無いので、{preferred} をこう読ませる。
25
+ placeholders:
26
+ preferred:
27
+ ja: prefer に並べた使う書き方
28
+ en: the spelling listed under prefer
29
+
24
30
  # チームが並べた書き方なので、1 つでも指摘する。並べた時点で「使わない」と決めている。
25
31
  levels: { strict: 1, normal: 1, relaxed: 3 }
26
32
 
27
33
  use_for: [business, blog, technical, legal, docs, academic, literature, speech]
34
+
35
+ group: team
36
+ summary:
37
+ ja: チームで決めた表記と違う書き方(「サーバー」と決めたのに「サーバ」と書いた、など)。chaff.yaml の prefer に書いた組だけを見ます
38
+ en: A spelling the team has chosen not to use ("e-mail" where the team writes "email"), from prefer in chaff.yaml
39
+ example:
40
+ ja:
41
+ config: { prefer: { サーバ: サーバー } }
42
+ before: 新しいサーバを来週入れます。
43
+ after: 新しいサーバーを来週入れます。
44
+ en:
45
+ config: { prefer: { e-mail: email } }
46
+ before: Please send it by e-mail.
47
+ after: Please send it by email.
48
+
49
+ not_flagged:
50
+ ja: chaff.yaml の prefer に書いた組だけを見ます。何も書かなければ何も言いません。
51
+ en: Only the pairs under prefer in chaff.yaml are checked. With nothing listed, it says nothing.
52
+ level_meaning:
53
+ ja: 当てはまる語が {limit} 箇所あれば指摘
54
+ en: reported once there are {limit}
@@ -25,3 +25,29 @@ how_to_fix:
25
25
  levels: { strict: 20, normal: 40, relaxed: 80 }
26
26
 
27
27
  use_for: [blog, business, technical, legal, docs, academic, literature, speech]
28
+
29
+ group: readability
30
+ summary:
31
+ ja: 製品名・会社名・人名が詰まりすぎて、知らない人には文の形が見えない所
32
+ en: So many product, company and personal names that a newcomer cannot see the sentence
33
+ example:
34
+ ja:
35
+ config: { rules: { proper-noun-density: strict } }
36
+ pad: true
37
+ before: |
38
+ 田中さんと佐藤さんが、東京の丸の内にあるトヨタとソニーとパナソニックの展示を見てから、大阪の梅田で日立の鈴木さんと会いました。翌日は京都で任天堂の山本さんと、神戸で川崎重工の中村さんと会い、名古屋に戻ってデンソーの小林さんとトヨタの加藤さんに報告しました。
39
+ after: |
40
+ 営業部の二人が、取引先三社の展示を見てから、大阪で別の取引先の担当者と会いました。翌日は関西の二社を回り、名古屋に戻って取引先二社に報告しました。
41
+ en:
42
+ pad: true
43
+ before: |
44
+ Alice and Bob from Contoso met Carol from Fabrikam in Seattle, then flew with Dave from Northwind to Boston to see Erin at Tailspin and Frank at Litware.
45
+ after: |
46
+ Two of our sales team met three customers on the West Coast, then flew to Boston to meet two more.
47
+
48
+ not_flagged:
49
+ ja: chaff.yaml の names に書いた名前は、何語に分かれても 1 つと数えます。短い文書(日本語 500 字、英語 200 語より短いもの)は測りません。
50
+ en: A name listed under names in chaff.yaml counts as one, however many words it has. Short documents (under 200 words) are not measured.
51
+ level_meaning:
52
+ ja: 1000 字あたり {limit} 個まで
53
+ en: up to {limit} per 1000 words
@@ -25,3 +25,50 @@ how_to_fix:
25
25
  levels: { strict: 1, normal: 2, relaxed: 4 }
26
26
 
27
27
  use_for: [business, blog, technical, legal, docs, academic, literature, speech]
28
+
29
+ group: readability
30
+ summary:
31
+ ja: 「また、」「さらに、」のように、接続詞で始まる段落が続く所
32
+ en: Paragraph after paragraph opening with a connective such as "Also" or "Moreover"
33
+ example:
34
+ ja:
35
+ before: |
36
+ 新しい料金は来月から始まります。
37
+
38
+ また、請求書の形式も変わります。
39
+
40
+ さらに、支払いの期限が月末になります。
41
+
42
+ そして、古い料金は三月で終わります。
43
+ after: |
44
+ 新しい料金は来月から始まります。
45
+
46
+ 請求書の形式も変わります。
47
+
48
+ 支払いの期限は月末になります。
49
+
50
+ 古い料金は三月で終わります。
51
+ en:
52
+ before: |
53
+ The new prices start next month.
54
+
55
+ Also, the invoice format will change.
56
+
57
+ Moreover, payment will be due at the end of the month.
58
+
59
+ Furthermore, the old prices end in March.
60
+ after: |
61
+ The new prices start next month.
62
+
63
+ The invoice format will change.
64
+
65
+ Payment will be due at the end of the month.
66
+
67
+ The old prices end in March.
68
+
69
+ not_flagged:
70
+ ja: 接続詞で始まる段落が一つだけなら、流れをつなぐ普通の書き方なので指しません。
71
+ en: One paragraph opening with a connective is ordinary and is not reported.
72
+ level_meaning:
73
+ ja: 接続詞で始まる段落の連続 {limit} まで
74
+ en: up to {limit} paragraphs in a row opening with a connective
@@ -26,3 +26,26 @@ levels:
26
26
  relaxed: 4
27
27
 
28
28
  use_for: [blog, business, technical, legal, docs, academic, literature, speech]
29
+
30
+ group: readability
31
+ summary:
32
+ ja: 同じ言葉で始まる文が続き、文の切れ目がぼやける所
33
+ en: Several sentences in a row that open with the same words
34
+ example:
35
+ ja:
36
+ before: |
37
+ この機能は、無料です。この機能は、登録なしで使えます。この機能は、スマートフォンにも対応しています。この機能は、英語でも使えます。
38
+ after: |
39
+ この機能は無料で、登録なしで使えます。スマートフォンにも対応していて、英語でも使えます。
40
+ en:
41
+ before: |
42
+ The tool is free. The tool is ready without an account. The tool is fine on phones too. The tool is available in Japanese as well.
43
+ after: |
44
+ The tool is free and needs no account. It works on phones too, and it speaks Japanese as well.
45
+
46
+ not_flagged:
47
+ ja: 箇条書きの項目どうしが同じ形で始まるのは書き方そのものなので、項目をまたいでは数えません。
48
+ en: List items that open the same way are a format, not a slip, so a run does not continue across items.
49
+ level_meaning:
50
+ ja: 同じ書き出しの文の連続 {limit} 文まで
51
+ en: up to {limit} sentences in a row with the same opening
@@ -24,3 +24,52 @@ how_to_fix:
24
24
  levels: { strict: 1, normal: 1, relaxed: 2 }
25
25
 
26
26
  use_for: [business, blog, technical, legal, docs, academic, literature, speech]
27
+
28
+ group: team
29
+ summary:
30
+ ja: チームが必須と決めた見出し(「リスク」「費用」など)が無い文書。chaff.yaml の required_sections に書いた見出しだけを見ます
31
+ en: A heading the team requires (such as "Risks" or "Cost") missing from the document, from required_sections in chaff.yaml
32
+ example:
33
+ ja:
34
+ config: { required_sections: [リスク] }
35
+ before: |
36
+ # 新しい会計の仕組みへの切り替え
37
+
38
+ ## 効果
39
+
40
+ 月末の締めが三日早くなります。
41
+ after: |
42
+ # 新しい会計の仕組みへの切り替え
43
+
44
+ ## 効果
45
+
46
+ 月末の締めが三日早くなります。
47
+
48
+ ## リスク
49
+
50
+ 切り替えの月は、経理部の残業が増えます。
51
+ en:
52
+ config: { required_sections: [Risks] }
53
+ before: |
54
+ # Moving to the new accounting system
55
+
56
+ ## Benefits
57
+
58
+ The month closes three days sooner.
59
+ after: |
60
+ # Moving to the new accounting system
61
+
62
+ ## Benefits
63
+
64
+ The month closes three days sooner.
65
+
66
+ ## Risks
67
+
68
+ Finance will work longer hours in the month we switch.
69
+
70
+ not_flagged:
71
+ ja: chaff.yaml の required_sections に書いた見出しだけを見ます。見出しの一部に含まれていれば満たします(「リスク」は「リスクと対策」でも満たす)。
72
+ en: Only the headings under required_sections in chaff.yaml are checked. A heading that contains the word counts ("Risks" is met by "Risks and mitigations").
73
+ level_meaning:
74
+ ja: 無い見出しが {limit} 個あれば指摘
75
+ en: reported once {limit} required headings are missing
@@ -39,3 +39,25 @@ levels:
39
39
  relaxed: info
40
40
 
41
41
  use_for: [business]
42
+
43
+ group: structure
44
+ summary:
45
+ ja: よい面だけを書き、リスクや弱みに触れていない提案(AI に読ませる検査)
46
+ en: A proposal that gives only the upside and never mentions a risk (checked by an AI)
47
+ example:
48
+ ja:
49
+ before: |
50
+ 新しい会計の仕組みに切り替えると、月末の締めが三日早くなります。費用も年に二百万円下がります。
51
+ after: |
52
+ 新しい会計の仕組みに切り替えると、月末の締めが三日早くなります。費用も年に二百万円下がります。
53
+ ただし、切り替えの月は二つの仕組みを並べて動かすため、経理部の残業が増えます。
54
+ en:
55
+ before: |
56
+ Moving to the new accounting system closes the month three days sooner. It also cuts costs by 20,000 dollars a year.
57
+ after: |
58
+ Moving to the new accounting system closes the month three days sooner. It also cuts costs by 20,000 dollars a year.
59
+ In the month we switch, however, finance will run both systems side by side and work longer hours.
60
+
61
+ not_flagged:
62
+ ja: 機械では決めません。chaff test で、AI が文書を読んでリスクに触れているかを見ます。
63
+ en: No machine decides this. chaff test has an AI read the document for any mention of a risk.
@@ -23,3 +23,100 @@ how_to_fix:
23
23
  levels: { strict: 50, normal: 70, relaxed: 90 }
24
24
 
25
25
  use_for: [blog, legal, docs, academic, literature, speech]
26
+
27
+ group: ai-tells
28
+ summary:
29
+ ja: 箇条書きがどれも三つの項目で、数を合わせて並べたように見える所
30
+ en: Lists that almost all have exactly three items, as if padded or trimmed to fit
31
+ example:
32
+ ja:
33
+ config: { genre: blog/tech }
34
+ before: |
35
+ # 在庫管理
36
+
37
+ よい在庫管理の条件です。
38
+
39
+ - 正確さ
40
+ - 速さ
41
+ - 安さ
42
+
43
+ 毎日することです。
44
+
45
+ - 数える
46
+ - 記録する
47
+ - 見返す
48
+
49
+ よくある失敗です。
50
+
51
+ - 数え忘れ
52
+ - 記録の漏れ
53
+ - 見返さない
54
+ after: |
55
+ # 在庫管理
56
+
57
+ よい在庫管理の条件です。
58
+
59
+ - 正確さ
60
+ - 速さ
61
+
62
+ 毎日することです。
63
+
64
+ - 数える
65
+ - 記録する
66
+ - 見返す
67
+ - 月末の棚卸しと突き合わせる
68
+
69
+ よくある失敗です。
70
+
71
+ - 数え忘れ
72
+ - 記録の漏れ
73
+ - 見返さない
74
+ en:
75
+ config: { genre: blog/tech }
76
+ before: |
77
+ # Stock control
78
+
79
+ Good stock control is:
80
+
81
+ - Accurate
82
+ - Fast
83
+ - Cheap
84
+
85
+ Every day we:
86
+
87
+ - Count
88
+ - Record
89
+ - Review
90
+
91
+ Common mistakes:
92
+
93
+ - Missed counts
94
+ - Gaps in the record
95
+ - No review
96
+ after: |
97
+ # Stock control
98
+
99
+ Good stock control is:
100
+
101
+ - Accurate
102
+ - Fast
103
+
104
+ Every day we:
105
+
106
+ - Count
107
+ - Record
108
+ - Review
109
+ - Match against the month-end count
110
+
111
+ Common mistakes:
112
+
113
+ - Missed counts
114
+ - Gaps in the record
115
+ - No review
116
+
117
+ not_flagged:
118
+ ja: 箇条書きが 3 つより少ない文書は見ません。ビジネス文書と技術文書のジャンルでは見ません。
119
+ en: Documents with fewer than three lists are not checked. Business and technical genres do not run this rule.
120
+ level_meaning:
121
+ ja: 3 項目の箇条書きの割合 {limit}% まで
122
+ en: up to {limit}% of lists with exactly three items