Skip to content

Regenerate manual/api with the full build-version scope [1.8.7, 4.2)#3042

Merged
znz merged 1 commit into
rurema:masterfrom
znz:salvage/manual-full-scope
Jul 9, 2026
Merged

Regenerate manual/api with the full build-version scope [1.8.7, 4.2)#3042
znz merged 1 commit into
rurema:masterfrom
znz:salvage/manual-full-scope

Conversation

@znz

@znz znz commented Jul 9, 2026

Copy link
Copy Markdown
Member

概要

旧版サルベージです。manual/ は移行時にスコープ [3.0, 4.2) で変換したため、3.0 より前にしか存在しないライブラリ/クラスと 3.0 未満の構造ゲートが落ちていました。bitclust のサルベージ対応(companion PR: ゲート付き library 所属ほか)を使い、bin/rrd2md --graph --scope 1.8.7,4.2 で manual/api を再生成します。これで Rakefile が持つ全ビルド対象版(1.8.7〜)を Markdown ツリーだけで再ビルド可能になり、refm/ 削除(Stage B)の前提が整います。

変更の内訳(180 ファイル)

  • 追加 17: 3.0 より前に消えたライブラリ・クラス(e2mmap・thwait・shell/error・sync 系エラークラス・SortedSet・旧 logger クラス・ubygems など)
  • 変更 150: 3.0 未満の版ゲート復元と front matter since/until の付与。所属が版で変わる24エンティティ(thread 系・旧 rdoc 系)はゲート付き library リストに
  • 削除 12: H1 だけがゲートされ内容がゲート外にある分割ファイル(syslog の定数モジュール群・改名系 net/http レスポンスクラス・Timeout::Error)を親ファイルへ戻す(改名前の版でも文脈内でパースできるように)

manual/doc・manual/capi はスコープ非依存のため変更なし(再生成で不変を確認済み)。

検証

  • 3.0 以降の出力は現行ツリーと byte 同一(本 PR の diff は 3.0 未満の情報の追加・復元のみ)
  • roundtrip 1166/1166 byte-exact・tree-check パリティ OK
  • ブリッジのパース等価: 1.8.7/1.9.3/2.0.0/2.7.0/3.4/4.1 全て構造一致、native も 3.4 完全等価・1.9.3 は doc 1行の既知エッジのみ
  • このツリーから native で 3.4・2.0.0 の DB ビルドをスモーク済み(2.0.0 の thread ライブラリに ConditionVariable/Queue/SizedQueue が正しく所属)
  • 既知の旧版エッジ: 1.8.7 は refm 由来の cgi/util.rd 破損で新旧とも同一エラー(既存事象の保存)。詳細は bitclust の doc/markdown-operations.md §1

マージ順

bitclust の companion PR を先にマージしてください。この PR の CI は bitclust master がゲート付き所属を理解するまで失敗します(旧 MarkdownTree は library: のリスト形式を読めず thread 系クラスの所属が落ちるため)。

🤖 Generated with Claude Code

The manual/ tree was originally converted from refm/ with the scope
[3.0, 4.2), so entities and libraries that only exist before Ruby 3.0
were left out and pre-3.0 structural gates were resolved away. This
salvages that information by regenerating manual/api with
bin/rrd2md --graph --scope 1.8.7,4.2 (rurema/bitclust support:
gated library membership lists, kept whole-file gates, partial-H1-gate
handling), so every version the Rakefile can build (1.8.7 onward) is
covered by the Markdown tree and refm/ is no longer needed to rebuild
old documentation.

- 17 added files: libraries and classes removed before 3.0 (e2mmap,
  thwait, sync's error classes, shell/error, SortedSet, old logger
  classes, ubygems gates, ...)
- 150 modified: pre-3.0 version gates reinstated and front matter
  since/until added; the 24 entities whose library membership varies
  by version (thread's core classes, old rdoc) now carry gated
  library membership lists
- 12 deleted: split files whose H1 gate does not wrap their content
  (syslog constants modules, renamed net/http response classes,
  Timeout::Error) move back inline into their parent files so
  pre-rename versions still parse them in context

Verified with the bitclust salvage tooling: roundtrip 1166/1166
byte-exact, tree parity clean, bridge parse equivalence at
1.8.7/1.9.3/2.0.0/2.7.0/3.4/4.1, native parse equivalent at 3.4 and
1.9.3 (one known doc edge below 2.7), and 3.0+ output identical to the
previous tree. Native database builds for 3.4 and 2.0.0 smoke-tested
from this tree; 1.8.7 keeps refm's pre-existing cgi/util parse error
identically.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@znz znz merged commit 7984a0f into rurema:master Jul 9, 2026
9 checks passed
@znz znz deleted the salvage/manual-full-scope branch July 9, 2026 09:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant