asciidoc-pubkit 1.2.0 → 1.2.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6148912a889b61a943c121c307ae696c49f861f7cb734265af0b1a9333d50966
4
- data.tar.gz: ce07e6f2d66c7ab3e23a8dd39325b297f9f3d3f6c715fb001c2604052307f999
3
+ metadata.gz: e36fd7643b859273dd775f683b1ff318ef8dfb241526a35bcff9c782498640df
4
+ data.tar.gz: f9dc7e9f69a5215f533caf0a04956db74d4c1bfe83e521de9be3108903a542f4
5
5
  SHA512:
6
- metadata.gz: a08ca5477ee8785bbe7623a108e2cd22ad8c1f4c6900e7500d446502674007db5b29192c9e02abdeacb931a26a78a45070b6f19b57c0de51c4bd20d2da884afe
7
- data.tar.gz: ee0b90c82c362f7b0da5b1807cf187ad2d330c24a5ce11cfa599f25d50c35fa99814bb154d148f3b747c87bfeaf965dea76f22e283e8e2d53685341203239bf7
6
+ metadata.gz: 1be8e3e0c36fe561ed6bdf7c02140dafcfc8cdd5e6db36f3e8d2e0f8a4f201ceb622c5ed2447ae829c13d8242b8937815468b06eeed02495f501bee6b1c58ccf
7
+ data.tar.gz: '089d16921b8fcfd50a78e284262f6e415c6399eee0ee18bb17b36755bdcaa3158a73467f673443adf1ebede7c56246f3716cd34f6e8f578795aca8b7b39e3661'
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.2.1 - 2026-10-12
6
+
7
+ - Compare faithful technical terminology independently of capability/behavior
8
+ preservation; honor author wording preferences even for synonyms. Reject keep
9
+ rationales based on unsupported stronger alternatives. Clarify selection,
10
+ partition, logical separation, language independence and workflow integration
11
+ in shared criteria, generated prompts and the bundled review skill. Add advisory
12
+ `組み込む` candidates in MeCab/literal modes and eleven calibration pairs (70
13
+ total). Pass editorial constraints to the optional evaluator without gold
14
+ judgments. Old sessions retain saved criteria; mechanical verification is
15
+ unchanged. No AI proofreading improvement has been measured.
16
+
5
17
  ## 1.2.0 - 2026-10-12
6
18
 
7
19
  - Require concrete alternative comparisons for broad or everyday wording in
data/README.md CHANGED
@@ -16,7 +16,7 @@ and books on health, exercise, and sports science published under
16
16
  The experience informs the toolkit's writing criteria, contextual review prompts,
17
17
  and checks for preserving manuscript content during revision.
18
18
 
19
- Version 1.2.0 provides document inspection, explicit prose-only mechanical
19
+ Version 1.2.1 provides document inspection, explicit prose-only mechanical
20
20
  replacements, and Japanese manuscript review. Inspect a book's outline,
21
21
  metadata, and local cross-references; preview and apply your replacement rules;
22
22
  then review and verify edits against a saved baseline.
@@ -26,7 +26,7 @@ Japanese manuscript excerpts and rule terms retain their original text.
26
26
 
27
27
  ## Available features
28
28
 
29
- The following commands are available in version 1.2.0.
29
+ The following commands are available in version 1.2.1.
30
30
 
31
31
  | Feature | Commands | Behavior |
32
32
  | --- | --- | --- |
@@ -49,7 +49,7 @@ The 1.2.0 [sentence-ending guidance](docs/writing.md#writing-commands)
49
49
  adds contextual revision and keep examples, preserving capabilities, uncertainty,
50
50
  comparison strength, and body sentences separately from heading form. It adds
51
51
  no detector terms or automatic replacements; development calibration includes
52
- 59 pairs, without a measured claim of improved AI proofreading.
52
+ 70 pairs, without a measured claim of improved AI proofreading.
53
53
 
54
54
  The 1.2.0 [default rules](docs/rules-and-coverage.md) add `流れ` as an
55
55
  `abstract-reference` hint for prose and list text. Review processing order,
@@ -62,6 +62,8 @@ everyday wording. Review prompts reject automatic keep judgments and passage
62
62
  summaries used as candidate decisions; missing comparisons remain pending.
63
63
  Verification continues to check mechanical preservation only.
64
64
 
65
+ Version 1.2.1 [compares terminology independently of modality](data/writing/ja/criteria.md#compare-terminology-independently-of-modality), honors author terminology preferences, and adds advisory `組み込む` candidates. See [faithful terminology comparisons](docs/review-workflow.md#faithful-terminology-comparisons).
66
+
65
67
  Version 1.0.1 extended the [shared writing criteria](docs/writing.md#writing-commands)
66
68
  with structural comparison before and after revision and preservation of sentence
67
69
  functions and plain or polite style. The [development evaluation](docs/prose-evaluation.md)
@@ -166,7 +168,7 @@ asciidoc-pubkit writing prompt --lang ja --output writing-prompt.md
166
168
 
167
169
  Existing review sessions require the exact tool version that created them.
168
170
  Before upgrading, finish ongoing reviews with that version or preserve their
169
- baselines and start a new review in a separate directory with v1.2.0. A new
171
+ baselines and start a new review in a separate directory with v1.2.1. A new
170
172
  scan cannot verify preservation relative to an earlier baseline.
171
173
 
172
174
  ## Documentation
@@ -95,6 +95,11 @@ terms:
95
95
  - 作れる
96
96
  - 作れます
97
97
  - 作れません
98
+ - 組み込む
99
+ - 組み込みます
100
+ - 組み込めます
101
+ - 組み込まない
102
+ - 組み込めません
98
103
  - 組み立てられます
99
104
  - 組み合わせます
100
105
  - 積み重なります
@@ -150,7 +155,10 @@ terms:
150
155
  question: Identify the purpose, operation, and result, then compare a more precise
151
156
  verb or established technical term using the shared criteria. An understandable
152
157
  original is not by itself a reason to keep it. Record the alternative and the
153
- passage-specific comparison. Preserve negation, conditions, and responsibility.
158
+ passage-specific comparison. Compare faithful alternatives with the same modality;
159
+ synonymy alone is not a keep reason when technical terminology is requested.
160
+ Do not justify keep by rejecting an unsupported stronger alternative.
161
+ Preserve negation, conditions, and responsibility.
154
162
  vague-degree:
155
163
  terms:
156
164
  - 浅い
@@ -306,6 +314,9 @@ verbs:
306
314
  - 渡す
307
315
  決まる:
308
316
  - 決まる
317
+ 組み込む:
318
+ - 組み込む
319
+ - 組み込める
309
320
  組み立てる:
310
321
  - 組み立てる
311
322
  組み合わせる:
@@ -232,6 +232,38 @@ require polite style. Resolve unintended style mixing separately from each
232
232
  sentence's function; changing `する` to `します` must not change advice into
233
233
  an asserted operation. Do not vary endings just to make these functions uniform.
234
234
 
235
+ ## Compare terminology independently of modality
236
+
237
+ Preserve whether a sentence describes a capability, actual behavior, a condition,
238
+ or an obligation while independently choosing the most accurate wording.
239
+ `選べます → 選択できます` preserves capability; it is not the same change as
240
+ `選べます → 選びます`. When the operation is technical selection, prefer
241
+ `選択できます`, especially when the author requests technical terminology.
242
+ An alternative need not change the facts to improve terminological consistency.
243
+ "Same meaning" and "the referent is clear" alone do not justify keep. An explicit
244
+ terminology preference takes precedence over an otherwise acceptable plain synonym.
245
+
246
+ Compare the strongest faithful alternative, not an unsupported or shortened one
247
+ that is easy to reject. Rejecting `物理的に隔離する` does not justify keeping
248
+ `分ける` when `別の処理として実装する` explains the supported operation.
249
+ Do not remove conditions or information from an alternative and then use that
250
+ loss as the reason to retain the original. Compare full sentences or paragraphs
251
+ with the same facts, modality and author requirements.
252
+
253
+ | Wording | Operation-specific comparison |
254
+ | --- | --- |
255
+ | `次の操作を選べます` | `次の操作を選択できます` preserves the available choice and names the selection operation. |
256
+ | `データを複数の部分に分けます` | `データを分割します` describes partitioning one object; do not use it for every separation. |
257
+ | `許可判断と出力検査を分けています` | Identify both purposes and timings: `操作前の許可判定と、モデル入力前の出力検査を別の処理として実装しています`. Do not invent physical isolation. |
258
+ | `両者の実装言語を分けられます` | `呼び出し元を、実行基盤とは異なる言語で実装できます` states language independence. Languages themselves are not partitioned. |
259
+ | `固定した処理へ行動選択を組み込めます` | Name the workflow stage, the actor selecting operations, the input used for selection, and the limits on delegated operations. A vague `統合できます` or `実装できます` alone is not an improvement. |
260
+
261
+ `組み込む` is not a banned word. Library embedding can be an established operation
262
+ when the host application, API and integration method are specified. Retain a
263
+ plain verb only after comparing the faithful alternative and explaining a real
264
+ loss or a context-specific readability benefit consistent with author preferences.
265
+ A failed candidate comparison is pending, not evidence that the original is best.
266
+
235
267
  ## Review sentence endings by their role
236
268
 
237
269
  Read the complete sentence and neighboring sentences before judging its ending.
@@ -239,13 +271,13 @@ First identify whether it announces the section's scope, describes an actual
239
271
  operation, offers a capability, gives a checking procedure, or reports history
240
272
  or a future expectation. Then name its actor, object, condition, and consequence.
241
273
  Revise only when a more direct explanation preserves those relationships;
242
- otherwise retain the original wording and explain its role.
274
+ otherwise compare the wording independently of its sentence role before retaining it.
243
275
 
244
276
  | Ending and context | Decision to consider |
245
277
  | --- | --- |
246
278
  | `注目します`, `明らかにします`, `確認します`, or `たどります` in an introduction | Keep a useful scope or reading-order guide. If it only repeats an announcement, state the supported comparison, operation, or question directly; do not invent its answer. |
247
279
  | `戻します` or `組み立てます` in an operation description | Keep it when the transferred result, recipient, or constructed input is clear. Do not replace it with a noun or jargon merely to vary the ending. |
248
- | `使えます`, `組み込めます`, `選べます`, or `作れます` | Preserve the available option and its conditions. Changing to `使います` or `選びます` can falsely assert actual or automatic execution. |
280
+ | `使えます`, `組み込めます`, `選べます`, or `作れます` | Preserve the available option and its conditions, not necessarily the original verb. Compare an equally potential technical expression or a concrete explanation; do not use the risks of `使います` or `選びます` to reject `適用できます` or `選択できます`. |
249
281
  | `分かりません` | Identify whether the missing evidence prevents judgment, confirmation, or identification. Use `判断できません` or `確認できません` only when that operation fits; preserve what remains unknown. |
250
282
  | `別です` or `同じではありません` | Name the compared objects and the property, purpose, or evidence that differs. Distinguish definite non-identity from insufficient evidence to infer a result. |
251
283
  | `確認します` or `調べます` in a procedure | Keep an actual check, including its target, condition, and timing. Do not turn it into a capability or a claim that the check succeeded. |
@@ -257,8 +289,10 @@ Both retain the missing evidence and the same judgment target. By contrast,
257
289
  `処理結果が分かりません` cannot become `処理は失敗しました`: an unknown
258
290
  outcome is not an established failure.
259
291
 
260
- Retain `利用者は候補Aと候補Bから選べます` when it states an available choice;
261
- `利用者は候補Aと候補Bから選びます` would assert that selection occurs. Retain
292
+ `利用者は候補Aと候補Bから選べます` states an available choice;
293
+ `利用者は候補Aと候補Bから選択できます` retains that choice while using technical
294
+ selection wording. Compare this faithful alternative before keeping the plain verb.
295
+ `利用者は候補Aと候補Bから選びます` would instead assert that selection occurs. Retain
262
296
  `実行側はツール結果をモデルへ戻します` when it describes the transfer;
263
297
  `実行結果のフィードバック` would lose the sentence's actor and predicate.
264
298
 
data/docs/installation.md CHANGED
@@ -66,7 +66,7 @@ git clone https://github.com/cybergarage/asciidoc-pubkit.git
66
66
  cd asciidoc-pubkit
67
67
  bundle install
68
68
  gem build asciidoc-pubkit.gemspec
69
- gem install ./asciidoc-pubkit-1.2.0.gem
69
+ gem install ./asciidoc-pubkit-1.2.1.gem
70
70
  asciidoc-pubkit --version
71
71
  ```
72
72
 
@@ -6,7 +6,7 @@ readability, and meaning preservation separate so that a clearer rewrite cannot
6
6
  hide a lost condition or invented fact.
7
7
 
8
8
  This guide describes the development checkout, including the
9
- `technical-prose-v3` corpus and 59 revision calibration pairs. The sentence-ending
9
+ `technical-prose-v3` corpus and 70 revision calibration pairs. The sentence-ending
10
10
  criteria and twelve additional pairs, plus the flow guidance and four further
11
11
  pairs, are included in version 1.2.0.
12
12
  The evaluation runner is not an
@@ -45,7 +45,7 @@ of Japanese writing.
45
45
  | [prose_benchmark.ja.adoc](../test/fixtures/prose_benchmark.ja.adoc) | 26 paragraphs used as the actual AsciiDoc input |
46
46
  | [prose_benchmark.ja.json](../test/fixtures/prose_benchmark.ja.json) | Matching paragraph IDs and text, 11 annotated detector targets, and preservation checklists |
47
47
  | [prose_benchmark.yml](../test/fixtures/prose_benchmark.yml) | Fixed empty configuration that isolates the benchmark from discovered manuscript settings |
48
- | [prose_evaluation.ja.json](../test/fixtures/prose_evaluation.ja.json) | Detection examples and 59 manual revision pairs with expected `accept`, `reject`, or `needs-evidence` dispositions |
48
+ | [prose_evaluation.ja.json](../test/fixtures/prose_evaluation.ja.json) | Detection examples and 70 manual revision pairs with expected `accept`, `reject`, or `needs-evidence` dispositions |
49
49
 
50
50
  The corpus includes framing such as `重要なのは`, metaphorical operations such
51
51
  as `地味に効く`, inflected and negative forms, and repeated endings. Controls
@@ -100,6 +100,15 @@ fresh AI baseline using the expanded calibration and rubric before comparing
100
100
  criteria. Normal tests check fixture integrity and prompt delivery, not whether
101
101
  an AI accepts or rejects each pair correctly.
102
102
 
103
+ The version 1.2.1 terminology update adds eleven calibration pairs covering technical
104
+ selection without a modality change, explicit author preferences, logical separation
105
+ versus invented physical isolation, language independence versus partition, data
106
+ partition, concrete workflow descriptions and legitimate library embedding. The
107
+ optional judge receives each pair's `editorial_constraints` without its expected
108
+ disposition or gold reason. These fixtures and deterministic plumbing tests do not
109
+ establish improved model proofreading; an explicitly requested AI evaluation is
110
+ required to measure that behavior.
111
+
103
112
  The version 1.2.0 `流れ` guidance adds four calibration pairs: a more specific
104
113
  information-transfer description, a clear operation with its condition retained,
105
114
  and rejected substitutions that invent lifecycle stages or remove a success
@@ -296,6 +296,23 @@ verify check the value against the session language. A non-Japanese language in
296
296
  `--lang`, `review.language`, or an explicit AsciiDoc `:lang:` attribute is rejected.
297
297
  An omitted `:lang:` attribute uses the selected review language.
298
298
 
299
+ ### Faithful terminology comparisons
300
+
301
+ Preserve modality separately from wording: `選べます → 選択できます` retains
302
+ capability, while `選べます → 選びます` asserts behavior. Apply author terminology
303
+ preferences even when both expressions are understandable. Compare the strongest
304
+ supported alternative with the same facts and conditions; rejecting invented
305
+ physical isolation does not justify keeping vague separation wording. The saved
306
+ shared criteria distinguish data partition, responsibility separation, independent
307
+ implementation languages and concrete workflow integration.
308
+
309
+ `組み込む` and its potential/negative inflections are advisory `weak-predicate`
310
+ candidates in the packaged Japanese rules. They are not prohibited expressions or
311
+ replacement instructions; named library embedding may be appropriate. Custom rules
312
+ still replace the packaged rules. Review author-supplied concerns and paragraphs
313
+ without matches as well. Existing sessions retain their saved rules and criteria;
314
+ start a new scan to apply the updated guidance, preserving earlier evidence.
315
+
299
316
  ### Verify
300
317
 
301
318
  ```sh
@@ -142,7 +142,7 @@ reports analyzer changes instead of treating results from different dictionaries
142
142
  as directly comparable. Prompt generation uses saved evidence and does not need
143
143
  MeCab. Changed rules or dictionary settings require a new scan.
144
144
 
145
- Versions 1.1.0 and 1.2.0 use session schema 3, but sessions still require their exact tool version.
145
+ Versions 1.1.0, 1.2.0 and 1.2.1 use session schema 3, but sessions still require their exact tool version.
146
146
  Sessions with a different schema or tool version cannot be loaded. Keep the original baseline for
147
147
  an ongoing review and finish it with the original version, or start a new review
148
148
  pass in a different directory:
data/docs/writing.md CHANGED
@@ -27,6 +27,13 @@ A noun-phrase heading policy does not apply to body sentences. These examples
27
27
  are contextual decisions, not new detector terms or replacement rules. See
28
28
  [Sentence-ending criteria](../data/writing/ja/criteria.md#review-sentence-endings-by-their-role).
29
29
 
30
+ Terminology comparison is independent of sentence function. A technical synonym
31
+ can improve consistency while retaining the same capability or condition; honor
32
+ explicit author preferences rather than keeping a plain verb just because it is
33
+ understandable. Compare a faithful full explanation, not an unsupported stronger
34
+ alternative or a shortened passage. See
35
+ [Terminology and modality](../data/writing/ja/criteria.md#compare-terminology-independently-of-modality).
36
+
30
37
  The criteria also preserve the comparison axis, completed changes,
31
38
  current behavior, future plans, and the distinction between event dates and
32
39
  observation or report dates. An unclear state term does not authorize deleting
@@ -48,7 +55,7 @@ asciidoc-pubkit writing prompt --lang ja --output writing-prompt.md
48
55
  ```
49
56
 
50
57
  For example, `--lang en` exits with an unsupported-language error. No English
51
- review or writing criteria are shipped in 1.2.0.
58
+ review or writing criteria are shipped in 1.2.1.
52
59
 
53
60
  For a small trial, use `examples/book.adoc` as the scan input. Its Japanese
54
61
  paragraphs deliberately contain review candidates; its code block must remain
@@ -48,6 +48,12 @@ records must explain the specific comparison, not merely summarize the passage.
48
48
  Reporting helpers may count explicit decisions but must not create keep decisions
49
49
  or inherit paragraph summaries. Missing comparisons remain pending.
50
50
 
51
+ Compare the strongest supported alternative with the same facts and modality.
52
+ Do not reject a requested technical synonym merely because it preserves meaning;
53
+ apply the author's terminology preference. Rejecting an unsupported stronger
54
+ alternative does not establish keep. Recheck a retained passage when its comparison
55
+ changes the claim, omits source information, or fails to address the author's concern.
56
+
51
57
  Retain phase-end results because later scopes can legitimately make older
52
58
  sessions fail. For further corrections after another scope has changed, start a
53
59
  separate scoped pass and retain the prior evidence. Run the project's requested
@@ -462,6 +462,7 @@ module AsciidocPubkit
462
462
  Record each reviewed #{unit} ID and each candidate ID with revise, keep, or needs-evidence and a reason grounded in that passage. For keep, identify the concrete referent, operation, condition, necessary distinction, or established terminology that justifies retaining it. A shared generic reason does not establish individual review. Appending a source quotation to a stock reason is still insufficient.
463
463
  For each candidate decision, identify its concrete role or claim, the evidence and source location, the direct wording considered, and why that alternative is better or why the original wording is necessary. For needs-evidence, name the missing support instead of inventing a role or revision. A quotation supports evidence but does not substitute for that explanation. For role metaphors such as 入口, apply the shared criteria even when a nearby identifier makes the referent clear.
464
464
  For broad or everyday wording, record a concrete alternative and a passage-specific comparison before choosing keep or revise. Apply the saved shared terminology criteria even when the original is understandable. A passage summary is not a wording comparison.
465
+ Compare the strongest faithful alternative with the same facts and modality. Same meaning alone does not justify keep when established technical terminology or the author's wording preference is better served. Rejecting an unsupported stronger alternative is not a comparison with a supported improvement. Assess concerns supplied by the author even when the detector emits no candidate for that wording.
465
466
  Reporting helpers may validate and count explicit assessments but must not manufacture keep decisions or inherit a paragraph summary as a candidate assessment. Missing or insufficient comparisons remain pending; they are not needs-evidence unless factual support is missing. Automatic decisions and zero pending counts cannot establish completion.
466
467
  Never infer revise or keep from whether the matched string survives, disappears, or changes. Do not bulk-assign keep to unchanged #{unit}s or remaining candidates. An unreviewed item stays pending; use needs-evidence only after review identifies missing evidence.
467
468
  Review #{unit}s without candidates against the shared criteria as well. For concerns outside the editable scope, report the location and a separate out-of-scope proposal; do not count protection as an editorial keep decision or edit protected content.
@@ -9,7 +9,7 @@ require 'pathname'
9
9
  require 'optparse'
10
10
 
11
11
  module AsciidocPubkit
12
- VERSION = '1.2.0'
12
+ VERSION = '1.2.1'
13
13
  class Error < StandardError; end
14
14
 
15
15
  def self.hash_text(text)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoc-pubkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - CyberGarage