@a9n-shoji/rvw 0.3.0 → 0.3.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.
Files changed (153) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +29 -10
  3. package/dist/cli.mjs +974 -111
  4. package/dist/cli.mjs.map +4 -4
  5. package/dist/web/assets/CommentThread-CMXtuZ98.js +33 -0
  6. package/dist/web/assets/DocumentViewer-D-UGIxCU.js +1417 -0
  7. package/dist/web/assets/MarkdownTable-7Sm_sj1E.js +7 -0
  8. package/dist/web/assets/MermaidExpandedView-CyWRss2q.js +4 -0
  9. package/dist/web/assets/MermaidSurface-Dt2_Hu6n.js +344 -0
  10. package/dist/web/assets/WalkthroughViewer-CuJMrKOW.js +43 -0
  11. package/dist/web/assets/abnfDiagram-N423BO3Z-DjhFeHQj.js +1 -0
  12. package/dist/web/assets/architecture-TIHT7OUA-CsHfPErM.js +1 -0
  13. package/dist/web/assets/architectureDiagram-T3A2C74G-4zQ-4s9L.js +36 -0
  14. package/dist/web/assets/{blockDiagram-VBNYF7ZC-BBG7PXeg.js → blockDiagram-VBNYF7ZC-Bh91Tm8T.js} +1 -1
  15. package/dist/web/assets/{c4Diagram-5PPSVZJV-oLErQeqr.js → c4Diagram-5PPSVZJV-BHgLhSdB.js} +1 -1
  16. package/dist/web/assets/ccount-DFmD81E1.js +1 -0
  17. package/dist/web/assets/channel-BmC0cAv-.js +1 -0
  18. package/dist/web/assets/{chunk-2GRJ4B5K-Bknsyt9u.js → chunk-2GRJ4B5K-sTPzFBtk.js} +1 -1
  19. package/dist/web/assets/chunk-3NCLNEKW-k0AW8Qyp.js +1 -0
  20. package/dist/web/assets/{chunk-4I5QYGJK-D-Icvgxq.js → chunk-4I5QYGJK-q_8xEFmv.js} +1 -1
  21. package/dist/web/assets/chunk-5FCAYU7R-Dh5nylU8.js +1 -0
  22. package/dist/web/assets/chunk-5HE753X5-Bw-yg4kO.js +1 -0
  23. package/dist/web/assets/chunk-5JV3BV7I-Cy5pj3QY.js +1 -0
  24. package/dist/web/assets/{chunk-5RXB4S5H-B1iIyQwd.js → chunk-5RXB4S5H-BcuYQqlM.js} +1 -1
  25. package/dist/web/assets/chunk-5TONJI2A-DQOY3q1H.js +2 -0
  26. package/dist/web/assets/{chunk-6Q2QTUOP-C09OFw2-.js → chunk-6Q2QTUOP-DDI96JMg.js} +1 -1
  27. package/dist/web/assets/{chunk-7Z6QIM7H-BqCAUqX5.js → chunk-7Z6QIM7H-B8QX_5g4.js} +1 -1
  28. package/dist/web/assets/chunk-BIQX33UG-DZEsGuSn.js +1 -0
  29. package/dist/web/assets/chunk-CQNSW5MT-B8S09OIh.js +1 -0
  30. package/dist/web/assets/chunk-CYSBUYHQ-C1Rf4art.js +1 -0
  31. package/dist/web/assets/chunk-EMLP6XTP-RLD4nXpI.js +1 -0
  32. package/dist/web/assets/{chunk-GF5L2VYU-BHy3jGGE.js → chunk-GF5L2VYU-CJin2HQO.js} +1 -1
  33. package/dist/web/assets/{chunk-I66GZJ75-BBhE3jWF.js → chunk-I66GZJ75-CEntV2nF.js} +1 -1
  34. package/dist/web/assets/chunk-J7OUQ5F2-XLdTvjUm.js +2 -0
  35. package/dist/web/assets/chunk-JG7HCLWE-BYfiSaVt.js +2 -0
  36. package/dist/web/assets/{chunk-JQJVKLGR-DNslGDt7.js → chunk-JQJVKLGR-Bnum3gum.js} +3 -3
  37. package/dist/web/assets/{chunk-KBJHAD2P-J7tWEBhK.js → chunk-KBJHAD2P-DwPs20tJ.js} +1 -1
  38. package/dist/web/assets/chunk-MOZMSUNE-XVucA-n6.js +1 -0
  39. package/dist/web/assets/{chunk-NSK5VX7P-retcSoJp.js → chunk-NSK5VX7P-AmYQxFLu.js} +1 -1
  40. package/dist/web/assets/chunk-OSBZ3O6U-CrKZOUOr.js +1 -0
  41. package/dist/web/assets/chunk-QBLGF6JB-CxAyS2mW.js +1 -0
  42. package/dist/web/assets/{chunk-QR6OTTB3-DvFlp4db.js → chunk-QR6OTTB3-VIu9ZqqS.js} +1 -1
  43. package/dist/web/assets/chunk-R7FJI6CG-Cnn3gE-Y.js +1 -0
  44. package/dist/web/assets/chunk-U6XO7XAA-BFxjP5U3.js +2 -0
  45. package/dist/web/assets/{chunk-UBXNYLIW-gyX_iwb1.js → chunk-UBXNYLIW-D4XAD8w6.js} +1 -1
  46. package/dist/web/assets/{chunk-W5SLKNZC-BGNgHuYL.js → chunk-W5SLKNZC-B8QG_JAG.js} +1 -1
  47. package/dist/web/assets/{chunk-WRU74C26-66KXN6Rn.js → chunk-WRU74C26-CS8zeNym.js} +1 -1
  48. package/dist/web/assets/chunk-YOTPTUD7-D0vRKqYp.js +1 -0
  49. package/dist/web/assets/chunk-ZIRB5QZD-O39ZBUk3.js +32 -0
  50. package/dist/web/assets/classDiagram-JCYQIIEL-DyY7Kt3N.js +1 -0
  51. package/dist/web/assets/classDiagram-v2-OCEON4UE-DyY7Kt3N.js +1 -0
  52. package/dist/web/assets/cynefin-VYW2F7L2-Ds2Fw2Y0.js +1 -0
  53. package/dist/web/assets/cynefinDiagram-MW4NZA55-DaNC4kY7.js +62 -0
  54. package/dist/web/assets/{dagre-VZM6K2ZE-BTedug-5.js → dagre-VZM6K2ZE-DJ845MyA.js} +1 -1
  55. package/dist/web/assets/{diagram-7IWD3JNH-kSc1kTCk.js → diagram-7IWD3JNH-98E00vZR.js} +3 -3
  56. package/dist/web/assets/diagram-B4RE2ZJO-BpMQ8ico.js +3 -0
  57. package/dist/web/assets/diagram-LBJQPF4R-BZ8RNQpZ.js +24 -0
  58. package/dist/web/assets/diagram-Q27KOJAE-Bn1wtc7g.js +24 -0
  59. package/dist/web/assets/diagram-UB23O5K3-B314M-wb.js +41 -0
  60. package/dist/web/assets/dist-DCGa16l5.js +145 -0
  61. package/dist/web/assets/ebnfDiagram-BXEA7PRR-CqKM-cL0.js +1 -0
  62. package/dist/web/assets/{erDiagram-JOGREHBK-jm3RTuJX.js → erDiagram-JOGREHBK-CVMcNMlx.js} +1 -1
  63. package/dist/web/assets/eventmodeling-45OFAUF4-CLEiVx5s.js +1 -0
  64. package/dist/web/assets/flowDiagram-UKHOOZJN-8dur6GAS.js +1 -0
  65. package/dist/web/assets/{ganttDiagram-PKOTCBZU--GwSY0BM.js → ganttDiagram-PKOTCBZU-DALoGLHl.js} +1 -1
  66. package/dist/web/assets/gitGraph-TEB2WS4Q-CZFBqwW-.js +1 -0
  67. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-BY_jOOb-.js +106 -0
  68. package/dist/web/assets/index-BNcvGFlf.css +1 -0
  69. package/dist/web/assets/index-BwIKbLJ1.js +11 -0
  70. package/dist/web/assets/info-DKCQHKI2--1InqQeT.js +1 -0
  71. package/dist/web/assets/infoDiagram-6WML65LV-CNMbrlEJ.js +2 -0
  72. package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-ErnJ_7Sr.js → ishikawaDiagram-WSZJBQD7-NODY49Zb.js} +2 -2
  73. package/dist/web/assets/{journeyDiagram-NVQOT4AX-CWvooGdp.js → journeyDiagram-NVQOT4AX-v9CJWB8Y.js} +1 -1
  74. package/dist/web/assets/{kanban-definition-27J2QSJJ-DsIS6ipP.js → kanban-definition-27J2QSJJ-Cv2iL7No.js} +3 -3
  75. package/dist/web/assets/lib-p2IERBh0.js +9 -0
  76. package/dist/web/assets/{line-DCcVjraC.js → line-Dah7RomF.js} +1 -1
  77. package/dist/web/assets/mermaid-parser.core-BcQae2Lb.js +4 -0
  78. package/dist/web/assets/mermaid.core-BVyLgPb6.js +11 -0
  79. package/dist/web/assets/{mindmap-definition-FAOFIHXS-DdsB9lmP.js → mindmap-definition-FAOFIHXS-BD9fkU-f.js} +1 -1
  80. package/dist/web/assets/packet-7NZHBO7P-BGMXB0XL.js +1 -0
  81. package/dist/web/assets/pegDiagram-VL7TDLO6-D-HL9Pvp.js +1 -0
  82. package/dist/web/assets/pie-RZYD4A2V-DgYg3tCt.js +1 -0
  83. package/dist/web/assets/pieDiagram-7S7Q4E2Y-Sam5BEo-.js +39 -0
  84. package/dist/web/assets/preload-helper-Czpn1I53.js +1 -0
  85. package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-CryFsz7r.js → quadrantDiagram-CIZ2JOQS-BNXhvOJb.js} +1 -1
  86. package/dist/web/assets/radar-I7S5WNFK-Ag-zp_Rq.js +1 -0
  87. package/dist/web/assets/railroad-3IZDKUUU-aibJDIDV.js +1 -0
  88. package/dist/web/assets/railroad-abnf-AHOZXSZD-BBMEuvIl.js +1 -0
  89. package/dist/web/assets/railroad-ebnf-EBAXGLYW-Be1nseej.js +1 -0
  90. package/dist/web/assets/railroad-peg-LSFZ7HO6-DIvD-Eyb.js +1 -0
  91. package/dist/web/assets/railroadDiagram-AXF67PYL-C6-GuR01.js +1 -0
  92. package/dist/web/assets/{requirementDiagram-LRYGKXZP-D2-9KlK1.js → requirementDiagram-LRYGKXZP-Dew1VZVc.js} +1 -1
  93. package/dist/web/assets/{sankeyDiagram-W5VNT64P-DSOFAzno.js → sankeyDiagram-W5VNT64P-BNlHXupx.js} +1 -1
  94. package/dist/web/assets/{sequenceDiagram-SI44F4Z6-BHEKSYJt.js → sequenceDiagram-SI44F4Z6-CHZhbxWH.js} +1 -1
  95. package/dist/web/assets/stateDiagram-OKZ733FA-BP7TOkRY.js +1 -0
  96. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BoFgs-SF.js +1 -0
  97. package/dist/web/assets/swimlanes-SLNWSIFB-DfMga4nB.js +2 -0
  98. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-CpfunQZj.js +8 -0
  99. package/dist/web/assets/{timeline-definition-Z64GVDOM-C7eeBnPC.js → timeline-definition-Z64GVDOM-DjC-PWK6.js} +1 -1
  100. package/dist/web/assets/treeView-QDETBFTQ-uHZ-3Fz8.js +1 -0
  101. package/dist/web/assets/treemap-6X3UGDF4-BnUKyy3l.js +1 -0
  102. package/dist/web/assets/{vennDiagram-T6HMQDX7-DTIq1ec9.js → vennDiagram-T6HMQDX7-CJzy1Vav.js} +2 -2
  103. package/dist/web/assets/wardley-OPB4EBWU-Da7TLC2F.js +1 -0
  104. package/dist/web/assets/{wardleyDiagram-T6FBY63Y-BmzhEoo_.js → wardleyDiagram-T6FBY63Y-C9BlVo6M.js} +3 -3
  105. package/dist/web/assets/{xychartDiagram-ELKLHX3M-CcCGC0u-.js → xychartDiagram-ELKLHX3M-B0WUxsYy.js} +3 -3
  106. package/dist/web/index.html +6 -2
  107. package/package.json +1 -1
  108. package/skills/rvw-walkthrough/SKILL.md +4 -4
  109. package/skills/rvw-walkthrough/agents/openai.yaml +1 -1
  110. package/skills/rvw-walkthrough/references/walkthrough-authoring.md +11 -0
  111. package/dist/web/assets/DocumentViewer-DtusMl0r.js +0 -1561
  112. package/dist/web/assets/MarkdownTable-BjwiOHQe.js +0 -15
  113. package/dist/web/assets/WalkthroughViewer-BNwKsKzk.js +0 -42
  114. package/dist/web/assets/abnfDiagram-N423BO3Z-DtH8B7Z7.js +0 -1
  115. package/dist/web/assets/architecture-TIHT7OUA-P_K7H_mW.js +0 -1
  116. package/dist/web/assets/architectureDiagram-T3A2C74G-5Fq3Xylv.js +0 -36
  117. package/dist/web/assets/channel-wXu0iczQ.js +0 -1
  118. package/dist/web/assets/classDiagram-JCYQIIEL-DOHE4q2M.js +0 -1
  119. package/dist/web/assets/classDiagram-v2-OCEON4UE-DOHE4q2M.js +0 -1
  120. package/dist/web/assets/cynefin-VYW2F7L2-Dj_jqvQa.js +0 -1
  121. package/dist/web/assets/cynefinDiagram-MW4NZA55-DSnUS3JS.js +0 -62
  122. package/dist/web/assets/diagram-B4RE2ZJO-DNtXohxd.js +0 -3
  123. package/dist/web/assets/diagram-LBJQPF4R-CVD-8DKW.js +0 -24
  124. package/dist/web/assets/diagram-Q27KOJAE-DBEnUsLJ.js +0 -24
  125. package/dist/web/assets/diagram-UB23O5K3-DiPHfrk7.js +0 -41
  126. package/dist/web/assets/ebnfDiagram-BXEA7PRR-CE06v37i.js +0 -1
  127. package/dist/web/assets/eventmodeling-45OFAUF4-C344zcDl.js +0 -1
  128. package/dist/web/assets/flowDiagram-UKHOOZJN-BAHsb6fm.js +0 -1
  129. package/dist/web/assets/gitGraph-TEB2WS4Q-C6oA29oA.js +0 -1
  130. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-DR1mGQ6a.js +0 -106
  131. package/dist/web/assets/index-BiPhui1B.js +0 -384
  132. package/dist/web/assets/index-CHlqmhif.css +0 -1
  133. package/dist/web/assets/info-DKCQHKI2-BT4oYSnk.js +0 -1
  134. package/dist/web/assets/infoDiagram-6WML65LV-D0mnXRu0.js +0 -2
  135. package/dist/web/assets/mermaid-parser.core-BmDn4VB6.js +0 -7
  136. package/dist/web/assets/mermaid.core-Cus_gjGs.js +0 -42
  137. package/dist/web/assets/packet-7NZHBO7P-BXuujfeh.js +0 -1
  138. package/dist/web/assets/pegDiagram-VL7TDLO6-CBF6Uic6.js +0 -1
  139. package/dist/web/assets/pie-RZYD4A2V-DgssvIaB.js +0 -1
  140. package/dist/web/assets/pieDiagram-7S7Q4E2Y-DejhR8Wh.js +0 -39
  141. package/dist/web/assets/radar-I7S5WNFK-CoiIzjHC.js +0 -1
  142. package/dist/web/assets/railroad-3IZDKUUU-CWq6IkAh.js +0 -1
  143. package/dist/web/assets/railroad-abnf-AHOZXSZD-D7Iqnp88.js +0 -1
  144. package/dist/web/assets/railroad-ebnf-EBAXGLYW-Dp2g2TtT.js +0 -1
  145. package/dist/web/assets/railroad-peg-LSFZ7HO6-DTqKNJKF.js +0 -1
  146. package/dist/web/assets/railroadDiagram-AXF67PYL-DkePHtcR.js +0 -1
  147. package/dist/web/assets/stateDiagram-OKZ733FA-f1GttDrB.js +0 -1
  148. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CEn2YfQh.js +0 -1
  149. package/dist/web/assets/swimlanes-SLNWSIFB-Dx7QlDaA.js +0 -2
  150. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-CX2pXGLK.js +0 -8
  151. package/dist/web/assets/treeView-QDETBFTQ-BPsqqMsK.js +0 -1
  152. package/dist/web/assets/treemap-6X3UGDF4-CmBU76N7.js +0 -1
  153. package/dist/web/assets/wardley-OPB4EBWU-DLOnGzPl.js +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,45 @@
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.3.2] - 2026-08-31
9
+
10
+ ### Added
11
+
12
+ - Markdown、comment、WalkthroughのMermaid図をviewportサイズのreview workspaceへ展開し、Fit・zoom・
13
+ scroll、resizableなcomment rail、code referenceのpeekとreview画面へのnavigationを利用できる機能
14
+ - WalkthroughのMermaid bindingをflowchartとclassDiagramに加え、sequenceDiagramのparticipant / actor、
15
+ stateDiagram-v2のstate、erDiagramのentity、architecture-betaのserviceへ拡張
16
+
17
+ ### Changed
18
+
19
+ - Walkthroughのcode referenceを保存済みの最新PR headへ遅延解決し、fileが不変ならexact range、変更時は
20
+ sourceとdestinationで一意な未変更rangeだけを対応付け。安全に特定できない場合はimmutableなsource commitへ
21
+ fallbackし、rename / copyも一意な直接successorだけを追跡
22
+
23
+ ## [0.3.1] - 2026-08-28
24
+
25
+ ### Added
26
+
27
+ - Pull Request一覧を表示しただけではGitHubへ問い合わせず、Open、Draft、状態未取得の登録済みPRだけを
28
+ 明示的なbutton操作で一括status更新する機能
29
+
30
+ ### Changed
31
+
32
+ - 同じdatabaseを使う通常の`rvw open`は既存runtimeへPRを追加し、同じHTTP originを再利用。並行起動でも
33
+ owner lockをRuntime / HTTP serverより先に確定し、一つのdatabaseにつき一つのactive processへ限定
34
+ - 一括status更新のGitHub認証を操作ごとに一度だけ行い、最大4件並列・部分失敗許容で処理。Closed / Mergedを
35
+ 継続追跡対象から除外し、保存済みPRの累積件数ではなく現在のworking setに問い合わせ量を限定
36
+ - 一覧のPR titleを省略せず複数行で全文表示し、review画面のロゴをCmd / Ctrl / 中クリックで一覧を
37
+ 別tabに開けるnative linkへ変更
38
+
39
+ ### Fixed
40
+
41
+ - status更新によって現在のoffsetが無効になった場合、最後の有効な一覧pageへ戻して誤ったempty stateを防止
42
+ - runtime停止時にHTTP / SQLiteを閉じるまでdatabase owner lockを保持し、新旧runtimeが一時的に重複するraceを防止
43
+ - 終了猶予中の`rvw open`をpending viewer leaseで保護し、`--no-open`で再利用したruntimeをCtrl+Cまで維持
44
+ - runtime停止中に到着した`rvw open`がowner解放後にownershipを再取得できずtimeoutするhandoff raceを防止
45
+ - `viewer.open`のPR解決中はoperation reservationを維持し、解決後からbrowser接続待ちtimeoutを開始
46
+
8
47
  ## [0.3.0] - 2026-08-28
9
48
 
10
49
  ### Added
package/README.md CHANGED
@@ -16,7 +16,7 @@ Agentが実装
16
16
 
17
17
  Git commit / GitHub Pull Request
18
18
 
19
- Agentが任意でcommit固定のWalkthroughを提示
19
+ Agentが任意でsource anchor付きWalkthroughを提示
20
20
 
21
21
  rvwで意図・説明・変更・repository全体を読む
22
22
 
@@ -65,9 +65,19 @@ rvw open https://github.com/owner/repository/pull/123
65
65
  rvw open
66
66
  ```
67
67
 
68
- serverは`127.0.0.1`の空きportだけへbindします。通常の`rvw open`はviewerを開き、最初のtab接続を確認してから端末へ制御を返します。serverはbackgroundで動き、最後のtabを閉じると短い猶予後に停止します。リロード中や別tabが残っている間は停止しません。
68
+ serverは`127.0.0.1`の空きportだけへbindします。同じdatabaseで既にrvwが動いていれば、通常の
69
+ `rvw open`はそのruntimeへPRを追加し、同じoriginで新しいtabを開きます。二つ目のserverやdatabase接続は
70
+ 起動しません。最初の`rvw open`だけがbackground runtimeを開始し、最初のtab接続を確認してから端末へ
71
+ 制御を返します。最後のtabを閉じると短い猶予後に停止し、リロード中や別tabが残っている間は停止しません。
72
+ 異なる`RVW_DATABASE_PATH`を指定したruntimeは独立して起動できます。
69
73
 
70
- serverを端末に接続したままにする場合は`rvw open --foreground`を使います。ブラウザを開かずに検証する場合は`rvw open --no-open`を使います。どちらもCtrl+Cで停止します。一度登録したPRは、完全URLまたは全登録PRで一意な番号を指定すればrepository外のdirectoryからも開けます。
74
+ serverを端末に接続したままにする場合は`rvw open --foreground`を使います。同じdatabaseのruntimeが
75
+ 既にあればforeground commandは競合を明示します。ブラウザだけを自動で開かない場合は
76
+ `rvw open --no-open`を使います。active runtimeがあればURLを表示して再利用し、なければCtrl+Cまで
77
+ signal管理のserverを起動します。再利用時もCLIがCtrl+Cまでviewer leaseを保持するため、表示したURLが
78
+ 終了猶予中に無効になることはありません。初回の`--port`は尊重し、active runtimeと異なるportを指定した場合は
79
+ 二つ目を起動せず競合を返します。一度登録したPRは、完全URLまたは全登録PRで一意な番号を指定すれば
80
+ repository外のdirectoryからも開けます。
71
81
 
72
82
  ## 変更を理解する
73
83
 
@@ -108,7 +118,7 @@ viewerはこの流れのために次を提供します。
108
118
 
109
119
  ## Agentの説明を人間の順序で検証する
110
120
 
111
- 外部Agentは`rvw-walkthrough` SkillとCLIを使い、実装説明を一つのcommitへ固定してrvwへ提示できます。
121
+ 外部Agentは`rvw-walkthrough` SkillとCLIを使い、実装説明を一つのsource commitをanchorとしてrvwへ提示できます。
112
122
 
113
123
  ```bash
114
124
  rvw walkthrough publish --stdin --json
@@ -118,7 +128,14 @@ rvw walkthrough publish --stdin --json
118
128
  構成されます。参照は意味のある複数行range、単行、またはfile全体を指せます。rvwは登録時にcommit、
119
129
  path、指定された行範囲を検証します。publishしてもbrowserは開かれず、
120
130
  active tabやscroll位置も変わりません。人間がviewerのWalkthroughを開き、必要なreferenceを選んだ
121
- 時だけ、exact sourceがdocument tabへ開き、行指定があれば範囲全体が強調されます。通常clickは左ペイン、
131
+ 時だけ、`sourceOid`のanchorから最新PR headへcode位置を保守的に解決します。追跡できれば最新code、
132
+ 変更や曖昧さがあれば参照時点のcodeを明示して開きます。行指定はfile全体が同一、または選択範囲が
133
+ source/latest双方で一意な場合だけ解決し、範囲全体を強調します。元pathが消えたrenameはcopy候補も含めて後継が1件のときだけ追従します。
134
+ 変更表示は選択中の比較がlatestで終わる場合だけtop barのPR比較範囲を使い、historical範囲では別revisionへ
135
+ lineを誤適用せずlatest全文を表示します。fallbackでは、同じfileまたは明確なrename先があればline保証なしで
136
+ 最新fileも開けます。このactionも比較終端がlatestと一致するときだけ変更表示を使い、historical範囲ではlatest全文を
137
+ 開きます。解決後にPR headが進んだ場合、または同じWalkthrough IDのreference座標が変わった場合はstaleとし、
138
+ 解決時/現在のSHAと表示中のanchorを示します。staleな判断とlatest file actionを隠して明示的な再解決だけを提供します。通常clickは左ペイン、
122
139
  `Cmd` / `Ctrl`を押しながら選べば右ペインへ開きます。説明tabは残るため、
123
140
  複数のclaimと実装を任意の順序・任意のタイミングで往復できます。
124
141
 
@@ -187,7 +204,7 @@ rvw Skillを使って、https://github.com/owner/repository/pull/123 をreview
187
204
 
188
205
  Walkthroughを作る場合は、説明したい対象と必要な作成指示をセッションへ伝えて`rvw-walkthrough` Skillを使います。
189
206
  Skillは明示された指示を優先し、未指定の作成判断だけを既定guideで補って、reviewerが変更または実装対象の
190
- mental modelを作るための最初の読解経路を構成します。文書の見出しや説明順序は固定せず、commit固定の
207
+ mental modelを作るための最初の読解経路を構成します。文書の見出しや説明順序は固定せず、source anchorを持つ
191
208
  reference付きartifactとして検証してpublishします。Walkthrough全体へのコメントから説明を改善する場合は、
192
209
  現在内容を取得して同じURIを更新し、重複した「改訂版」を追加しません。
193
210
 
@@ -326,8 +343,8 @@ pnpm test:package
326
343
 
327
344
  通常テストは実Git binaryとfake GitHub adapterを使い、GitHub認証やnetworkを必要としません。
328
345
  `test:package`はclean buildと実tarball作成を行い、一時directoryへinstallしてrepository checkout外から
329
- CLI、migration、frontend、bundled Skillをsmoke testします。CIはmacOS、Linux、Windowsでpackage smokeを
330
- 実行しますが、通常CIからnpmへ公開しません。
346
+ CLI、migration、frontend、bundled Skillをsmoke testします。Pull Request CIはLinuxでpackage smokeを
347
+ 実行し、`main`更新時とrelease CIはmacOS、Linux、Windowsで互換性を確認します。通常CIからnpmへ公開しません。
331
348
 
332
349
  ## データとセキュリティ
333
350
 
@@ -339,10 +356,12 @@ credentialはGitHub CLIが管理し、rvwのDBへコピーしません。
339
356
  既定DBのdirectory/fileは新規作成時だけ`0700` / `0600`へ設定し、既存pathはownerとmodeを検証して
340
357
  安全ならchmodしません。明示的に管理する別pathは`RVW_DATABASE_PATH`で指定でき、この場合rvwは既存pathを
341
358
  chmodしません。存在しないdirectory/fileは作成時のmodeだけで`0700` / `0600`にし、既存pathが推奨modeで
342
- なければ`doctor --json`にwarningを表示します。通常起動したviewerは`0700`の一時directory内へ
359
+ なければ`doctor --json`にwarningを表示します。通常起動したviewer runtimeは`0700`の一時directory内へ
343
360
  `0600`のdatabase別Unix socketを提供し、Agent CLIは可能ならそのprocessへ
344
361
  書き込みを依頼するため、AgentへDB directoryの直接write権限を渡す必要がありません。同じsocketでは
345
- atomicなowner lockを取得した一つのNode processだけがlistenし、owner終了後にfollowerが引き継ぎます。
362
+ RuntimeやHTTP serverより先にatomicなowner lockを取得し、一つのdatabaseを一つのNode processだけが
363
+ 扱います。競合した`rvw open`はownerへ依頼して終了し、dead ownerのstale lock/socketは次回起動時に
364
+ exact inodeを確認して回収します。
346
365
  `rvw doctor --json`はmode/ownerだけでなくwrite transactionとAgent疎通も報告します。
347
366
 
348
367
  ローカルHTTP serverは`127.0.0.1`だけへbindしてHost / Originを検証し、write APIは