asciidoc-pubkit 0.8.6 → 0.8.7

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: e1fb57dff066c28a30d6205ad30ff8c5cd1a89fc27c35ec8379e9c80354843ae
4
- data.tar.gz: 9431768603df5a8191ba93b0bc5773ad188050e06304e6f0f35272bbe132ef51
3
+ metadata.gz: 60dd89f5f4d5ec6019749ec10d768d92e39eed7f32f72161a441c4fb49a8610f
4
+ data.tar.gz: fac66406826db7312d3da1a98ee8786970b1e8d1f10f9ffe7af8e546888fb690
5
5
  SHA512:
6
- metadata.gz: 901984c71c8178ba62738e21ec67cb5585ebe72719ef06c03b38585c5ad7d0961a9fe4da78c47d1612e9c339d6170bee9a060ea4cf2cf68e9301ae4b80bb96ac
7
- data.tar.gz: 70570e253745de217ba1d4eb2c5447a7a1dba2f72e3d1f5f1abb40787d54c996fa9dca3072bb190071a459346146200e5744e9eb5fa72f4410c9dd314af71333
6
+ metadata.gz: 4d022d2305fce3f649b276af067a6e56f5f321d72654586068a86868f20dd3347ae1d17db068cb098ba4856ed77f92c04240c7354f9ed8c61f16a57076a856d9
7
+ data.tar.gz: e75f1add0fd52381a60d86941f732a907b68cf962690c38894ca3350ea5e96271986fbf35f20f33564d25c3c09e0d006744f5d0c80b263a901502c12dc1c252b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.8.7 — 2026-10-02
4
+
5
+ - Make exact saved old-ID anchor permissions standard for eligible heading
6
+ scans. Remove `--preserve-heading-ids`; continue protecting existing anchors,
7
+ section IDs, structure, and body content. Existing session permissions and
8
+ baselines remain unchanged.
9
+ - Tell prose reviewers in scan output and generated prompts to review list text
10
+ in a separate `--scope lists` session without replacing the prose baseline.
11
+
3
12
  ## 0.8.6 — 2026-10-02
4
13
 
5
14
  - Add separate `review scan --scope lists` sessions for source-mapped single-line
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  A toolkit for authoring and reviewing AsciiDoc books.
9
9
 
10
- Version 0.8.6 provides shared Japanese technical writing criteria, an authoring
10
+ Version 0.8.7 provides shared Japanese technical writing criteria, an authoring
11
11
  prompt, separate prose, heading, and list review prompts, manuscript scoring, and
12
12
  baseline verification for edited manuscripts, plus explicit prose-only mechanical
13
13
  replacements using a limited prh-format rule set.
@@ -16,7 +16,7 @@ Japanese text is retained in manuscript excerpts, rule dictionaries, and fixture
16
16
 
17
17
  ## Available features
18
18
 
19
- The following commands are available in version 0.8.6.
19
+ The following commands are available in version 0.8.7.
20
20
 
21
21
  | Feature | Commands | Behavior |
22
22
  | --- | --- | --- |
@@ -108,7 +108,7 @@ Add the gem to your project's `Gemfile` to manage its version with Bundler:
108
108
 
109
109
  ```ruby
110
110
  source 'https://rubygems.org'
111
- gem 'asciidoc-pubkit', '~> 0.8.6'
111
+ gem 'asciidoc-pubkit', '~> 0.8.7'
112
112
  ```
113
113
 
114
114
  Then install dependencies and run the CLI through Bundler:
@@ -130,7 +130,7 @@ git clone https://github.com/cybergarage/asciidoc-pubkit.git
130
130
  cd asciidoc-pubkit
131
131
  bundle install
132
132
  gem build asciidoc-pubkit.gemspec
133
- gem install ./asciidoc-pubkit-0.8.6.gem
133
+ gem install ./asciidoc-pubkit-0.8.7.gem
134
134
  asciidoc-pubkit --version
135
135
  ```
136
136
 
@@ -154,7 +154,7 @@ asciidoc-pubkit writing prompt --lang ja --output writing-prompt.md
154
154
  ```
155
155
 
156
156
  For example, `--lang en` exits with an unsupported-language error. No English
157
- review or writing criteria are shipped in 0.8.6.
157
+ review or writing criteria are shipped in 0.8.7.
158
158
 
159
159
  For a small trial, use `examples/book.adoc` as the scan input. Its Japanese
160
160
  paragraphs deliberately contain review candidates; its code block must remain
@@ -461,7 +461,9 @@ asciidoc-pubkit review verify .pubkit/review --output verification.json
461
461
  All three commands leave manuscript files unchanged. Only the agent edits them.
462
462
  `prompt` and `verify` output files must not already exist.
463
463
  Without `--output`, `prompt` writes Markdown and `verify` writes JSON to stdout.
464
- `scan` defaults to `.pubkit/review` and prints a short summary.
464
+ `scan` defaults to `.pubkit/review` and prints a short summary. Prose scan output
465
+ and prompts explicitly direct reviewers to a separate `--scope lists` session
466
+ for list text; the prose baseline must remain intact.
465
467
 
466
468
  ### Scan
467
469
 
@@ -566,9 +568,9 @@ and converted inline titles and physical title lines reused by multiple includes
566
568
  Unresolved section titles receive coverage notices. Verification permits only selected title text changes while
567
569
  protecting the body, title markers, hierarchy, order, section IDs, references,
568
570
  attributes, includes and other protected content. A title-derived section ID
569
- change fails verification. To permit limited ID preservation, scan with
570
- `--scope headings --preserve-heading-ids`. Eligible generated headings then save
571
- an exact `permitted_id_anchor` in their metadata. A reviewer may insert only that
571
+ change fails verification. Starting with version 0.8.7, heading scans preserve
572
+ generated IDs by default. Eligible generated headings save an exact `permitted_id_anchor` in
573
+ their metadata. A reviewer may insert only that
572
574
  anchor immediately before its selected heading, for example:
573
575
 
574
576
  ```adoc
@@ -578,13 +580,15 @@ anchor immediately before its selected heading, for example:
578
580
 
579
581
  Verification allows this exact addition while requiring the same section ID,
580
582
  hierarchy, order, and protected body. Existing explicit anchors remain protected;
581
- other anchors and reference migrations are outside this permission. Without the
582
- flag, only title text is editable. Scan and prompt never insert anchors or rewrite
583
+ other anchors and reference migrations are outside this permission. No additional
584
+ ID-preservation option is required. Previously saved permissions remain unchanged;
585
+ start a separate new session to obtain the default permissions, keeping the old
586
+ baseline intact. Scan and prompt never insert anchors or rewrite
583
587
  manuscripts. Numeric title changes
584
588
  are manual-review notices, and remaining candidates do not fail verification.
585
589
  `meaning_verified` remains `false`.
586
590
 
587
- Version 0.8.6 uses session schema 3. Earlier sessions must be recreated; preserve or
591
+ Version 0.8.7 uses session schema 3. Earlier sessions must be recreated; preserve or
588
592
  finish an ongoing review with its original tool before establishing a new baseline.
589
593
  `review score` continues to support prose only and rejects `--scope`.
590
594
 
@@ -1139,13 +1143,13 @@ reports analyzer changes instead of treating results from different dictionaries
1139
1143
  as directly comparable. Prompt generation uses saved evidence and does not need
1140
1144
  MeCab. Changed rules or dictionary settings require a new scan.
1141
1145
 
1142
- Version 0.8.6 uses session schema 3; version 0.8.5 uses schema 2.
1146
+ Version 0.8.7 uses session schema 3; version 0.8.5 uses schema 2.
1143
1147
  Sessions with a different schema or tool version cannot be loaded. Keep the original baseline for
1144
1148
  an ongoing review and finish it with the original version, or start a new review
1145
1149
  pass in a different directory:
1146
1150
 
1147
1151
  ```sh
1148
- asciidoc-pubkit review scan book.adoc --output .pubkit/review-0.8.6
1152
+ asciidoc-pubkit review scan book.adoc --output .pubkit/review-0.8.7
1149
1153
  ```
1150
1154
 
1151
1155
  Severity describes review priority, not proof of an error. There is no AI-authorship
@@ -55,7 +55,6 @@ module AsciidocPubkit
55
55
  elsif group == 'review' && %w[scan score].include?(command)
56
56
  if command == 'scan'
57
57
  opts.on('--scope SCOPE', 'prose (default), headings, or lists; separate review sessions') { |v| options[:scope] = v }
58
- opts.on('--preserve-heading-ids', 'Allow exact old-ID anchors before eligible headings') { options[:preserve_heading_ids] = true }
59
58
  opts.on('--heading-rules FILE', 'Replace default heading rules with a YAML rule set') { |v| options[:heading_rules] = v }
60
59
  opts.on('-y', '--yes', 'Answer yes to replacement confirmation') { options[:yes] = true }
61
60
  opts.on('--no-input', 'Never prompt; fail on existing output unless --yes') { options[:no_input] = true }
@@ -133,6 +132,7 @@ module AsciidocPubkit
133
132
  out.puts "Scanned #{result['paragraphs']} list items; found #{result['findings']} review candidates."
134
133
  else
135
134
  out.puts "Scanned #{result['paragraphs']} paragraphs; found #{result['findings']} review candidates."
135
+ out.puts "List text is excluded. Review it in a separate session with --scope lists."
136
136
  end
137
137
  out.puts "Tokenizer: #{result['tokenizer']}#{result['tokenizer'] == 'literal' ? ' (limited phrase matching; no morphological analysis)' : ' (UTF-8 IPADIC)'}"
138
138
  out.puts "Coverage notices: #{result['coverage_notices']}. See document.json for limitations."
@@ -215,6 +215,7 @@ module AsciidocPubkit
215
215
 
216
216
  Only source-mapped running-prose paragraphs are reviewed. Inline macros and literal spans are masked by a conservative heuristic.
217
217
  Headings, lists, tables, quotations, code, and passthrough blocks are not prose-reviewed in this release.
218
+ #{list_scope ? "" : "List text requires a separate review scan with --scope lists. Preserve this baseline and use a different session directory; do not count excluded lists as reviewed."}
218
219
  This is a local correction task, not a chapter-restructuring task.
219
220
  Coverage notices: #{@document['coverage'].length}
220
221
 
@@ -35,9 +35,6 @@ module AsciidocPubkit
35
35
  if scope == 'headings' && (options[:rules] || options[:style])
36
36
  raise Error, 'Heading scans use --heading-rules, not prose --rules or --style.'
37
37
  end
38
- if scope != 'headings' && options[:preserve_heading_ids]
39
- raise Error, '--preserve-heading-ids requires --scope headings.'
40
- end
41
38
  if scope != 'headings' && options[:heading_rules]
42
39
  raise Error, '--heading-rules requires --scope headings.'
43
40
  end
@@ -45,7 +42,7 @@ module AsciidocPubkit
45
42
  rules_path = options[:replacement] ? RuleSet.default_path(language) : options[:rules] ? File.expand_path(options[:rules]) : (review['rules'] ? File.expand_path(review['rules'], base) : RuleSet.default_path(language))
46
43
  @data = {
47
44
  'scope' => scope,
48
- 'preserve_heading_ids' => !!options[:preserve_heading_ids],
45
+ 'preserve_heading_ids' => scope == 'headings',
49
46
  'heading_rules' => scope == 'headings' ? HeadingRuleSet.load(heading_rules_path) : nil,
50
47
  'heading_rules_path' => heading_rules_path,
51
48
  'rules' => scope != 'headings' ? RuleSet.load(rules_path) : nil,
@@ -9,7 +9,7 @@ require 'pathname'
9
9
  require 'optparse'
10
10
 
11
11
  module AsciidocPubkit
12
- VERSION = '0.8.6'
12
+ VERSION = '0.8.7'
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: 0.8.6
4
+ version: 0.8.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - CyberGarage