asciidoc-pubkit 1.2.0 → 1.2.2

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: 344dfb065e1bc2a69918b59ba37caa6a4857f89a8e8b52aab65614ad0f3d0cb4
4
+ data.tar.gz: 0ab6f311b266bb760e7b06ee614fe8e3785483f42117e25290d50755f94ac17a
5
5
  SHA512:
6
- metadata.gz: a08ca5477ee8785bbe7623a108e2cd22ad8c1f4c6900e7500d446502674007db5b29192c9e02abdeacb931a26a78a45070b6f19b57c0de51c4bd20d2da884afe
7
- data.tar.gz: ee0b90c82c362f7b0da5b1807cf187ad2d330c24a5ce11cfa599f25d50c35fa99814bb154d148f3b747c87bfeaf965dea76f22e283e8e2d53685341203239bf7
6
+ metadata.gz: 5180830a2ecc63aca2a4e3046ad9fed14a0dd5195c043a6af995f228082d79efadf3aaa19c89373b45d55e84dbbdd458ad7f89b98db4f25198d5b68bb9667681
7
+ data.tar.gz: 22ef17dde95619bb6c52fd99848e6787d5acfa702fef72cb69a0bb943753e93835b277a78660f7d121ec09506dc2caa7218fae77564d7ffa406485765c590157
data/CHANGELOG.md CHANGED
@@ -2,6 +2,28 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.2.2 - 2026-10-12
6
+
7
+ - Distinguish explanatory guidance, real checking procedures, runtime behavior,
8
+ and learning objectives in shared Japanese criteria and the evaluation rubric.
9
+ Narrow the ambiguous scope-guide keep example to an actual user exercise and
10
+ add seven calibration pairs (77 total), including ownership and unsupported
11
+ actor controls. Add the classification step to the bundled review skill.
12
+ Detector rules, automatic replacement and mechanical verification are unchanged;
13
+ old sessions retain saved criteria. AI proofreading improvement is unmeasured.
14
+
15
+ ## 1.2.1 - 2026-10-12
16
+
17
+ - Compare faithful technical terminology independently of capability/behavior
18
+ preservation; honor author wording preferences even for synonyms. Reject keep
19
+ rationales based on unsupported stronger alternatives. Clarify selection,
20
+ partition, logical separation, language independence and workflow integration
21
+ in shared criteria, generated prompts and the bundled review skill. Add advisory
22
+ `組み込む` candidates in MeCab/literal modes and eleven calibration pairs (70
23
+ total). Pass editorial constraints to the optional evaluator without gold
24
+ judgments. Old sessions retain saved criteria; mechanical verification is
25
+ unchanged. No AI proofreading improvement has been measured.
26
+
5
27
  ## 1.2.0 - 2026-10-12
6
28
 
7
29
  - 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.2 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.2.
30
30
 
31
31
  | Feature | Commands | Behavior |
32
32
  | --- | --- | --- |
@@ -48,8 +48,14 @@ The following commands are available in version 1.2.0.
48
48
  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
- no detector terms or automatic replacements; development calibration includes
52
- 59 pairs, without a measured claim of improved AI proofreading.
51
+ no detector terms or automatic replacements. Version 1.2.1 includes 70
52
+ calibration pairs, without a measured claim of improved AI proofreading.
53
+
54
+ Version 1.2.2 separates content guidance from actual checks and
55
+ learning objectives, honoring each author's explanatory voice. Development
56
+ calibration has 77 pairs, including valid exercises and runtime checks;
57
+ detector rules and mechanical verification are unchanged. See
58
+ [prose evaluation](docs/prose-evaluation.md) for validation limits.
53
59
 
54
60
  The 1.2.0 [default rules](docs/rules-and-coverage.md) add `流れ` as an
55
61
  `abstract-reference` hint for prose and list text. Review processing order,
@@ -62,6 +68,8 @@ everyday wording. Review prompts reject automatic keep judgments and passage
62
68
  summaries used as candidate decisions; missing comparisons remain pending.
63
69
  Verification continues to check mechanical preservation only.
64
70
 
71
+ 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).
72
+
65
73
  Version 1.0.1 extended the [shared writing criteria](docs/writing.md#writing-commands)
66
74
  with structural comparison before and after revision and preservation of sentence
67
75
  functions and plain or polite style. The [development evaluation](docs/prose-evaluation.md)
@@ -166,7 +174,7 @@ asciidoc-pubkit writing prompt --lang ja --output writing-prompt.md
166
174
 
167
175
  Existing review sessions require the exact tool version that created them.
168
176
  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
177
+ baselines and start a new review in a separate directory with v1.2.2. A new
170
178
  scan cannot verify preservation relative to an earlier baseline.
171
179
 
172
180
  ## 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
  組み合わせる:
@@ -9,6 +9,7 @@
9
9
  - Explain metaphorical operations from evidence
10
10
  - Distinguish instructions, behavior, and capabilities
11
11
  - Review sentence endings by their role
12
+ - Separate explanatory guidance from actual checks
12
13
  - Make relationships explicit
13
14
  - Compare structure before and after revision
14
15
  - Keep claims within their evidence and purpose
@@ -232,6 +233,38 @@ require polite style. Resolve unintended style mixing separately from each
232
233
  sentence's function; changing `する` to `します` must not change advice into
233
234
  an asserted operation. Do not vary endings just to make these functions uniform.
234
235
 
236
+ ## Compare terminology independently of modality
237
+
238
+ Preserve whether a sentence describes a capability, actual behavior, a condition,
239
+ or an obligation while independently choosing the most accurate wording.
240
+ `選べます → 選択できます` preserves capability; it is not the same change as
241
+ `選べます → 選びます`. When the operation is technical selection, prefer
242
+ `選択できます`, especially when the author requests technical terminology.
243
+ An alternative need not change the facts to improve terminological consistency.
244
+ "Same meaning" and "the referent is clear" alone do not justify keep. An explicit
245
+ terminology preference takes precedence over an otherwise acceptable plain synonym.
246
+
247
+ Compare the strongest faithful alternative, not an unsupported or shortened one
248
+ that is easy to reject. Rejecting `物理的に隔離する` does not justify keeping
249
+ `分ける` when `別の処理として実装する` explains the supported operation.
250
+ Do not remove conditions or information from an alternative and then use that
251
+ loss as the reason to retain the original. Compare full sentences or paragraphs
252
+ with the same facts, modality and author requirements.
253
+
254
+ | Wording | Operation-specific comparison |
255
+ | --- | --- |
256
+ | `次の操作を選べます` | `次の操作を選択できます` preserves the available choice and names the selection operation. |
257
+ | `データを複数の部分に分けます` | `データを分割します` describes partitioning one object; do not use it for every separation. |
258
+ | `許可判断と出力検査を分けています` | Identify both purposes and timings: `操作前の許可判定と、モデル入力前の出力検査を別の処理として実装しています`. Do not invent physical isolation. |
259
+ | `両者の実装言語を分けられます` | `呼び出し元を、実行基盤とは異なる言語で実装できます` states language independence. Languages themselves are not partitioned. |
260
+ | `固定した処理へ行動選択を組み込めます` | 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. |
261
+
262
+ `組み込む` is not a banned word. Library embedding can be an established operation
263
+ when the host application, API and integration method are specified. Retain a
264
+ plain verb only after comparing the faithful alternative and explaining a real
265
+ loss or a context-specific readability benefit consistent with author preferences.
266
+ A failed candidate comparison is pending, not evidence that the original is best.
267
+
235
268
  ## Review sentence endings by their role
236
269
 
237
270
  Read the complete sentence and neighboring sentences before judging its ending.
@@ -239,13 +272,13 @@ First identify whether it announces the section's scope, describes an actual
239
272
  operation, offers a capability, gives a checking procedure, or reports history
240
273
  or a future expectation. Then name its actor, object, condition, and consequence.
241
274
  Revise only when a more direct explanation preserves those relationships;
242
- otherwise retain the original wording and explain its role.
275
+ otherwise compare the wording independently of its sentence role before retaining it.
243
276
 
244
277
  | Ending and context | Decision to consider |
245
278
  | --- | --- |
246
- | `注目します`, `明らかにします`, `確認します`, 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. |
279
+ | `注目します`, `明らかにします`, `確認します`, or `たどります` in an introduction | Keep useful subject and reading-order guidance, but separately assess its actor and predicate. A useful sequence alone does not justify retaining `確認します`; distinguish content guidance from an actual exercise or check and honor the author's explanatory voice. If it only repeats an announcement, state the supported subject directly without inventing its answer. |
247
280
  | `戻します` 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. |
281
+ | `使えます`, `組み込めます`, `選べます`, 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
282
  | `分かりません` | Identify whether the missing evidence prevents judgment, confirmation, or identification. Use `判断できません` or `確認できません` only when that operation fits; preserve what remains unknown. |
250
283
  | `別です` 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
284
  | `確認します` 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 +290,10 @@ Both retain the missing evidence and the same judgment target. By contrast,
257
290
  `処理結果が分かりません` cannot become `処理は失敗しました`: an unknown
258
291
  outcome is not an established failure.
259
292
 
260
- Retain `利用者は候補Aと候補Bから選べます` when it states an available choice;
261
- `利用者は候補Aと候補Bから選びます` would assert that selection occurs. Retain
293
+ `利用者は候補Aと候補Bから選べます` states an available choice;
294
+ `利用者は候補Aと候補Bから選択できます` retains that choice while using technical
295
+ selection wording. Compare this faithful alternative before keeping the plain verb.
296
+ `利用者は候補Aと候補Bから選びます` would instead assert that selection occurs. Retain
262
297
  `実行側はツール結果をモデルへ戻します` when it describes the transfer;
263
298
  `実行結果のフィードバック` would lose the sentence's actor and predicate.
264
299
 
@@ -275,6 +310,43 @@ removing their predicates. A proposed ending alone cannot supply new subjects,
275
310
  mechanisms, constraints, or guarantees; obtain those from the actual passage
276
311
  and its evidence. Record meaningful keep decisions as well as revisions.
277
312
 
313
+ ## Separate explanatory guidance from actual checks
314
+
315
+ Classify the complete sentence before choosing its verb: content guidance,
316
+ an actual checking procedure, runtime behavior, or a reader's learning objective.
317
+ The book explaining a subject, a reader checking evidence, and a program
318
+ validating state are different actors and actions. Read the whole paragraph and
319
+ neighboring sentences, including inflections such as `確認し`, before judging an
320
+ ending. Do not mix the book's explanation with the reader's `理解します` as if
321
+ the book performed that learning. Present a learning objective explicitly when
322
+ that is the sentence's purpose; do not mechanically rewrite every objective.
323
+
324
+ When the author requests explanatory narration, compare `説明します`,
325
+ `示します`, or `比較します` for content guidance. For example, a chapter guide
326
+ such as `本章では、依頼の受付と結果の返却を確認します` can become
327
+ `本章では、依頼の受付と結果の返却を説明します`. A clear subject or useful
328
+ reading sequence does not resolve an ambiguous checking actor or justify keep.
329
+ Apply the book's voice rather than banning all uses of `確認` in introductions.
330
+ An actual exercise such as `この演習では、利用者が接続設定を確認します`
331
+ can retain its checking verb and explicit actor.
332
+
333
+ For genuine checks, identify the supported actor, target, conditions, and timing
334
+ from the passage. Compare equally faithful wording such as `照合します`,
335
+ `検査します`, `参照します`, or an explicit actor plus `確認します`; choose a
336
+ more specific operation only when evidence establishes it. Use preceding
337
+ sentences or table column roles when they already identify the actor, rather
338
+ than repeating subjects mechanically. Missing actor evidence stays unresolved;
339
+ do not invent automatic execution or assign responsibility from the book's topic.
340
+ Do not turn a program's runtime check into only a developer's test, a connection
341
+ owner's shutdown responsibility into a reader's observation, or an unknown
342
+ result into confirmed completion. Naming an actor adds no guarantee.
343
+
344
+ Choose `説明` and `解説` by their purpose and the author's terminology policy.
345
+ Content guidance can use `説明`, while in-depth background or design discussion
346
+ can use `解説`; do not make that distinction a universal replacement rule.
347
+ Preserve tool or Skill description data, formal titles, quotations, and code
348
+ identifiers. Compare the actual paragraph-level alternative before keeping it.
349
+
278
350
  ## Make relationships explicit
279
351
 
280
352
  Inspect a sentence when it:
@@ -0,0 +1,174 @@
1
+ # Explanatory guidance and checking actors: research and proposal
2
+
3
+ Status: implemented for v1.2.2 on 2026-10-12. Release authorized separately after the source update.
4
+ The proposal below is retained as design evidence. Shared criteria, the judge
5
+ rubric, eight affected calibration examples (seven new, one narrowed), tests,
6
+ and bundled/publisher-local skill instructions were updated. Detector rules,
7
+ installed gem/skill versions, old sessions and manuscripts were not changed.
8
+ Validation results are recorded separately from the original proposal.
9
+ Research date: 2026-10-12. Pubkit baseline: `095b06d` (v1.2.1).
10
+ Publisher evidence: cybergarage-pub commit `909de49833`, limited Orbit review.
11
+
12
+ This proposal separates a book's description of its contents from a reader's
13
+ checking procedure and a program's runtime checks. The first implementation
14
+ should update shared criteria, calibration examples, and review-workflow
15
+ instructions without changing detector rules, automatic replacement behavior,
16
+ verification semantics, or installed skills.
17
+
18
+ ## Evidence and limits
19
+
20
+ The Orbit pass reviewed 193 source lines containing `確認します` across its
21
+ active manuscripts. It revised 49 matching lines, retained 144 after individual
22
+ comparisons, and revised two neighboring lines containing `確認し` and
23
+ `理解します`. These are author-specific editorial decisions from one book,
24
+ not measured detector accuracy or proof that another book needs the same edits.
25
+ The target expressions span 129 selected prose paragraphs and 56 protected
26
+ table lines. Book guidance, user approval, runtime checks, and test procedures
27
+ must not receive one lexical replacement rule.
28
+
29
+ The owning sources inspected in pubkit are:
30
+
31
+ - `data/writing/ja/criteria.md`, "Review sentence endings by their role": it
32
+ already distinguishes scope announcements, operations, capabilities, checks,
33
+ and history, but recommends keeping useful scope/reading-order guidance for
34
+ introductory `確認します`. This does not explicitly assess a switch from the
35
+ book's explanatory voice to a reader's learning or checking activity.
36
+ - `test/fixtures/prose_evaluation.ja.json`, `ending-scope-guide-kept`: the source
37
+ and accepted unchanged revision are `本節では、接続設定、依頼の送信、終了確認の順に手順を確認します。`.
38
+ Its reason rewards concrete reading order without resolving who performs a
39
+ check. This example should be narrowed rather than teaching unconditional keep.
40
+ - `test/prose_benchmark_test.rb`: fixture integrity, required axes, and unchanged
41
+ keep pairs are checked. These tests do not measure an AI's editorial judgment.
42
+ - `benchmark/prose.rb` and `docs/prose-evaluation.md`: optional AI trials keep
43
+ detector scores separate from readability and preservation. The judge receives
44
+ editorial constraints without gold dispositions or reasons. Changed rubric or
45
+ calibration fingerprints require a fresh compatible evaluation baseline.
46
+ - `data/review-rules.ja.yml`: generic framing already includes `本章では`, but
47
+ a candidate is not a diagnosis of an ambiguous actor. Adding every occurrence
48
+ of `確認` would also flag legitimate operational checks.
49
+
50
+ The publisher's review workflow already requires neighboring context, faithful
51
+ alternatives, individual decisions, and separate scopes. Its missing operational
52
+ step is to record whether a targeted sentence is content guidance, an actual
53
+ procedure, runtime behavior, or a learning objective before choosing its verb.
54
+
55
+ ## Proposed shared-criteria change
56
+
57
+ Keep the existing sentence-role section and revise its introductory-ending row.
58
+ Do not add a banned-word list. Suggested English instruction:
59
+
60
+ > Keep useful subject and reading-order guidance, but separately assess its actor
61
+ > and predicate. Distinguish the book explaining a subject from a reader checking
62
+ > evidence and a program validating state. When the author requests explanatory
63
+ > narration, prefer `説明します`, `示します`, or `比較します` for content guidance.
64
+ > A useful sequence alone does not justify retaining `確認します`. Preserve a
65
+ > genuine exercise, checking instruction, or runtime check with its supported
66
+ > actor, target, conditions, and timing.
67
+
68
+ Add a paragraph-level check for transitions among `説明します`, `確認します`,
69
+ `理解します`, and related inflections. A reader's learning objective is valid
70
+ when presented as an objective; it must not be treated as an operation performed
71
+ by the book. Read neighboring sentences and table column roles before adding
72
+ an actor. Do not repeat subjects where the context already identifies them.
73
+
74
+ For actual checks, compare equally faithful alternatives such as `照合します`,
75
+ `検査します`, `参照します`, or an explicit actor plus `確認します`. Use a more
76
+ specific operation only when the source establishes it. A configuration review
77
+ must not become automatic validation; a connection owner's shutdown check must
78
+ not become only a developer's test. Do not turn an unknown result into confirmed
79
+ completion or add a guarantee from naming a checking actor.
80
+
81
+ Treat `説明`/`解説` as contextual choices: content guidance can use `説明`, while
82
+ in-depth background or design discussion can use `解説`. Do not rename tool or
83
+ Skill description data, formal titles, quotations, or identifiers for variety.
84
+ The exact preference remains with the author and the book.
85
+
86
+ ## Proposed calibration cases
87
+
88
+ Use original, compact fixtures instead of importing a manuscript or private
89
+ review session. Include full paragraph context and explicit editorial constraints
90
+ when the expected choice depends on the author's voice.
91
+
92
+ | Case | Source and proposed revision | Expected judgment and purpose |
93
+ | --- | --- | --- |
94
+ | Content guidance revised | `本章では、依頼の受付と結果の返却を確認します。` -> `本章では、依頼の受付と結果の返却を説明します。` | Accept under an explicit author preference for explanatory narration; preserve both subjects. |
95
+ | Ambiguous guidance retained | The same content-guidance source remains unchanged under that preference. | Reject the editorial decision; do not excuse it because its subjects are concrete. |
96
+ | Paragraph viewpoint repaired | A paragraph begins with `本章では…説明します` and ends with a reader's `役割を理解します` / `仕組みを確認します`; revise to presenting roles and explaining mechanisms. | Accept when the paragraph is entirely a content guide; retain all subjects and reading order. |
97
+ | Reader exercise retained | `この演習では、利用者が接続設定、依頼の送信、終了状態を順に確認します。` remains unchanged. | Accept: an explicit actor actually performs an exercise. Use this to narrow the current `ending-scope-guide-kept` example, retaining its historical identifier. |
98
+ | User check retained | `利用者は、変更するファイルと内容を確認してから編集を承認します。` remains unchanged. | Accept: preserve actor, target, order, and approval. |
99
+ | Runtime check made exposition | `実行側は、承認後にも対象の変更を検査します。` -> a sentence merely explaining changes to the reader. | Reject: runtime behavior was replaced with exposition. |
100
+ | Owner responsibility made test | `接続を生成した側は、終了後の資源の状態を確認します。` -> only a developer checks shutdown during a test. | Reject: the connection owner's runtime responsibility was lost. |
101
+ | Unsupported actor assignment | A check whose neighboring evidence cannot identify its performer is rewritten as an Agent's automatic check. | Needs-evidence: do not invent automatic execution or assign ownership. |
102
+
103
+ Keep the legitimate keep cases. The change should reduce ambiguous guidance
104
+ without rewarding mechanical replacement of every check. Adjust fixture counts,
105
+ required axes, judge rubric, and evaluation documentation together. Do not
106
+ compare the expanded calibration's scores directly with the old calibration.
107
+
108
+ ## Proposed skill changes
109
+
110
+ Use pubkit as the single source of prose criteria. Add the following workflow
111
+ step to its bundled `examples/skills/review-asciidoc-manuscript/SKILL.md` and the
112
+ publisher's `review-japanese-technical-book/references/review-workflow.md`:
113
+
114
+ 1. For a targeted ending, classify the sentence's role before judging its verb.
115
+ 2. Read the complete paragraph and neighboring sentences; inspect table context
116
+ separately when it is outside the selected prose scope.
117
+ 3. Record the supported actor, target, condition, actual alternative, comparison,
118
+ and disposition. Do not derive keep from the presence of a concrete subject
119
+ or a useful reading sequence.
120
+ 4. Apply author preferences from the current project instructions. Leave factual
121
+ uncertainty unresolved instead of inventing an actor or mechanism.
122
+
123
+ The publisher's `japanese-technical-writing/SKILL.md` only needs a routing note
124
+ that paragraph viewpoint is assessed using the saved common criteria; do not
125
+ copy the new criteria there. Its OSS prose style profile can point to the same
126
+ criteria if needed. Book-specific AGENTS.md remains the owner of the exact
127
+ `説明`/`解説` preference. Do not impose Orbit's wording on sibling books.
128
+
129
+ Update the publisher-local skills as a separately scoped change. Do not use
130
+ `skill upgrade` to replace locally customized skills or modify old review
131
+ sessions during this work. Skill changes are not an installed gem release.
132
+
133
+ ## Recommended implementation and validation order
134
+
135
+ 1. Revise shared criteria and add/narrow calibration examples; align the judge
136
+ rubric and evaluation guide. Add focused regression assertions for prompt
137
+ delivery, contextual axes, and retained actual-check controls.
138
+ 2. Update the bundled and publisher-local workflow instructions with the role
139
+ classification step, keeping prose criteria in pubkit.
140
+ 3. Run `bundle exec rake test` with real MeCab/IPADIC, relevant skill tests,
141
+ reference checks, and `git diff --check`. Preserve old sessions and their
142
+ saved criteria. Tests prove plumbing and fixture integrity, not improved AI
143
+ proofreading.
144
+ 4. If AI evaluation is explicitly requested, fix the expanded calibration and
145
+ rubric first. Compare old/new criteria using that same setup and identical
146
+ agent/model settings. Record per-case judgments; distinguish ambiguity repair,
147
+ preservation failures, and needless changes to valid checks. Keep logs and
148
+ treat a small fixture set as diagnostics rather than a general ranking.
149
+ 5. Consider detector hints only after evaluating remaining missed cases and
150
+ review noise. A later hint must be advisory, cover supported inflections and
151
+ exclusions, preserve positions, and have MeCab/literal regression tests.
152
+ It must never authorize automatic replacements or semantic verification.
153
+
154
+ The original research proposal did not authorize a version bump, publication,
155
+ installed-skill upgrade, old-session mutation, new manuscript edits or external
156
+ model invocation. The author subsequently requested the implementation and
157
+ v1.2.2 release as separate steps. Old sessions and manuscript sources remain
158
+ outside the release work.
159
+
160
+ ## Implementation validation (2026-10-12)
161
+
162
+ - The full suite passed with Homebrew Ruby 4.0.7 and real MeCab/IPADIC:
163
+ 247 tests, 3,625 assertions, no failures, errors or skips.
164
+ - The bundled review skill and both affected publisher-local skill directories
165
+ passed skill-creator's structural validator. This validates skill structure,
166
+ not the quality of an agent's judgments.
167
+ - Fixture integrity, explicit author constraints and unchanged valid-check
168
+ controls are covered. Shared criteria reach writing and all review scopes;
169
+ saved sessions retain their original criteria.
170
+ - No external model evaluation was run. No measured AI proofreading improvement
171
+ or publication readiness is claimed.
172
+ - At the source-update checkpoint, the installed gem remained v1.2.1 and no
173
+ version bump, publication, commit or push had been performed. The subsequent
174
+ author-authorized release targets v1.2.2.
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 77 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 77 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
@@ -110,6 +119,17 @@ its three existing kinds; its scores do not measure the new `流れ` cue. The
110
119
  calibration fingerprint changes, so establish a fresh AI baseline before comparing
111
120
  rewrite quality. Normal tests do not evaluate an AI's editorial judgments.
112
121
 
122
+ The version 1.2.2 explanatory-guidance update narrows the existing
123
+ `ending-scope-guide-kept` case to an actual user exercise and adds seven pairs
124
+ (77 total). They distinguish content guidance, an explicit author voice,
125
+ paragraph viewpoint, user approval, runtime checks, connection ownership and
126
+ unsupported automatic actors. The judge rubric and calibration fingerprints
127
+ change, while the 26-paragraph detector corpus and rules remain unchanged.
128
+ Establish a fresh compatible AI baseline before measuring the criteria change.
129
+ Normal tests validate fixture integrity, prompt delivery and saved criteria;
130
+ they do not establish improved AI proofreading. See the
131
+ [research and proposal](explanatory-guidance-research.md) for the design rationale.
132
+
113
133
  ## What normal tests check
114
134
 
115
135
  Run the complete suite from the repository root with MeCab and UTF-8 IPADIC
@@ -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
@@ -42,12 +42,26 @@ For each assigned scope:
42
42
  the baseline. For integrity failures, preserve evidence and report the blocker.
43
43
  Finish verification before scanning the next scope's current manuscript.
44
44
 
45
+ Before judging a targeted sentence ending in prose or list text, classify its
46
+ role using the saved common criteria: content guidance, an actual checking
47
+ procedure, runtime behavior, or a learning objective. Read the whole paragraph
48
+ and neighboring sentences; inspect table context separately when it is protected.
49
+ Record the supported actor, target, conditions, faithful alternative and reason.
50
+ A useful reading sequence alone is not a keep rationale. Follow the author's
51
+ voice without inventing an actor or turning runtime responsibility into a test.
52
+
45
53
  Compare broad or everyday wording with a concrete alternative using the saved
46
54
  shared terminology criteria, even when the original is understandable. Keep
47
55
  records must explain the specific comparison, not merely summarize the passage.
48
56
  Reporting helpers may count explicit decisions but must not create keep decisions
49
57
  or inherit paragraph summaries. Missing comparisons remain pending.
50
58
 
59
+ Compare the strongest supported alternative with the same facts and modality.
60
+ Do not reject a requested technical synonym merely because it preserves meaning;
61
+ apply the author's terminology preference. Rejecting an unsupported stronger
62
+ alternative does not establish keep. Recheck a retained passage when its comparison
63
+ changes the claim, omits source information, or fails to address the author's concern.
64
+
51
65
  Retain phase-end results because later scopes can legitimately make older
52
66
  sessions fail. For further corrections after another scope has changed, start a
53
67
  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.2'
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.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - CyberGarage
@@ -61,6 +61,7 @@ files:
61
61
  - docs/development.md
62
62
  - docs/document-commands.md
63
63
  - docs/english-review-research.md
64
+ - docs/explanatory-guidance-research.md
64
65
  - docs/installation.md
65
66
  - docs/list-review.md
66
67
  - docs/outline-review.md