@a9n-shoji/rvw 0.1.1 → 0.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.
Files changed (111) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +44 -13
  3. package/dist/cli.mjs +896 -279
  4. package/dist/cli.mjs.map +4 -4
  5. package/dist/web/assets/DocumentViewer-DvrDlIpR.js +1560 -0
  6. package/dist/web/assets/MarkdownTable-DbDc9VoP.js +7 -0
  7. package/dist/web/assets/WalkthroughViewer-aDUeKC3B.js +1 -0
  8. package/dist/web/assets/{abnfDiagram-N423BO3Z-Ck9r3vgI.js → abnfDiagram-N423BO3Z-fQDP4qYL.js} +1 -1
  9. package/dist/web/assets/architecture-TIHT7OUA-CuFS9GkN.js +1 -0
  10. package/dist/web/assets/{architectureDiagram-T3A2C74G-CuKnSDyu.js → architectureDiagram-T3A2C74G-D3Aon3Nd.js} +1 -1
  11. package/dist/web/assets/{blockDiagram-VBNYF7ZC-BQg6daf-.js → blockDiagram-VBNYF7ZC-DS1DcAqy.js} +1 -1
  12. package/dist/web/assets/{c4Diagram-5PPSVZJV-DlH9a39M.js → c4Diagram-5PPSVZJV-BHQWz7l2.js} +1 -1
  13. package/dist/web/assets/channel-CTWz7tRI.js +1 -0
  14. package/dist/web/assets/{chunk-2GRJ4B5K-BVLXBbte.js → chunk-2GRJ4B5K-CaahxDVT.js} +1 -1
  15. package/dist/web/assets/{chunk-4I5QYGJK-DiwTdMc_.js → chunk-4I5QYGJK-Bat5hdXD.js} +1 -1
  16. package/dist/web/assets/{chunk-5RXB4S5H-DxlG3rKg.js → chunk-5RXB4S5H-jyonN41f.js} +1 -1
  17. package/dist/web/assets/{chunk-6Q2QTUOP-DOnYF_EB.js → chunk-6Q2QTUOP-BBo9TYzL.js} +1 -1
  18. package/dist/web/assets/{chunk-7Z6QIM7H-e6n3pq6e.js → chunk-7Z6QIM7H-CGSwsKhC.js} +1 -1
  19. package/dist/web/assets/{chunk-GF5L2VYU-FUD5NaJd.js → chunk-GF5L2VYU-Cuca3bAY.js} +1 -1
  20. package/dist/web/assets/{chunk-I66GZJ75-CgtIbVp9.js → chunk-I66GZJ75-DRdqLSyH.js} +1 -1
  21. package/dist/web/assets/{chunk-JQJVKLGR-m8efG8h-.js → chunk-JQJVKLGR-8xhLkhs2.js} +1 -1
  22. package/dist/web/assets/{chunk-KBJHAD2P-C0ildSCF.js → chunk-KBJHAD2P-oOV-3e5-.js} +1 -1
  23. package/dist/web/assets/{chunk-NSK5VX7P-DJim9vRL.js → chunk-NSK5VX7P-CXit1l3q.js} +1 -1
  24. package/dist/web/assets/{chunk-QR6OTTB3-D3ng5jSq.js → chunk-QR6OTTB3-DcdCU-01.js} +1 -1
  25. package/dist/web/assets/{chunk-UBXNYLIW-r4FNgMUm.js → chunk-UBXNYLIW-i72Hgljr.js} +1 -1
  26. package/dist/web/assets/{chunk-W5SLKNZC-BxwOtp_h.js → chunk-W5SLKNZC-DetAQo7M.js} +1 -1
  27. package/dist/web/assets/{chunk-WRU74C26-DAa9M2Ku.js → chunk-WRU74C26-DDUvJFNs.js} +1 -1
  28. package/dist/web/assets/classDiagram-JCYQIIEL-BJQv9QuO.js +1 -0
  29. package/dist/web/assets/classDiagram-v2-OCEON4UE-BJQv9QuO.js +1 -0
  30. package/dist/web/assets/{cynefin-VYW2F7L2-D_MdPIfm.js → cynefin-VYW2F7L2-fd-v6ani.js} +1 -1
  31. package/dist/web/assets/{cynefinDiagram-MW4NZA55-BQ16VR2b.js → cynefinDiagram-MW4NZA55-DRsVpAC3.js} +1 -1
  32. package/dist/web/assets/{dagre-VZM6K2ZE-BcYktfC7.js → dagre-VZM6K2ZE-BnRSs_fe.js} +1 -1
  33. package/dist/web/assets/{diagram-7IWD3JNH-BQ-4OKZa.js → diagram-7IWD3JNH-D1g0PR4y.js} +1 -1
  34. package/dist/web/assets/{diagram-B4RE2ZJO-C24yZ4GQ.js → diagram-B4RE2ZJO-DuDKsQLp.js} +1 -1
  35. package/dist/web/assets/{diagram-LBJQPF4R-wMs9ij7l.js → diagram-LBJQPF4R-COpzgGe7.js} +1 -1
  36. package/dist/web/assets/{diagram-Q27KOJAE-CQR8qV1D.js → diagram-Q27KOJAE-DR2vRbPE.js} +1 -1
  37. package/dist/web/assets/{diagram-UB23O5K3-D8Fm2CWy.js → diagram-UB23O5K3-hs4VGPP7.js} +1 -1
  38. package/dist/web/assets/{ebnfDiagram-BXEA7PRR-DctbWdRA.js → ebnfDiagram-BXEA7PRR-B_4NlK9q.js} +1 -1
  39. package/dist/web/assets/{erDiagram-JOGREHBK-CMXJzItT.js → erDiagram-JOGREHBK-JyoZ3U-o.js} +1 -1
  40. package/dist/web/assets/eventmodeling-45OFAUF4-CfUhQK5g.js +1 -0
  41. package/dist/web/assets/flowDiagram-UKHOOZJN-FFZ82SPa.js +1 -0
  42. package/dist/web/assets/{ganttDiagram-PKOTCBZU-B6UdI6h5.js → ganttDiagram-PKOTCBZU-f37I0Twm.js} +1 -1
  43. package/dist/web/assets/{gitGraph-TEB2WS4Q-C7YUJfov.js → gitGraph-TEB2WS4Q-B_QWjr7j.js} +1 -1
  44. package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-CKIazrRX.js → gitGraphDiagram-DS77QQ5N-AZsaC0hu.js} +1 -1
  45. package/dist/web/assets/index-CY_JoUL3.js +384 -0
  46. package/dist/web/assets/index-kK3hngnz.css +1 -0
  47. package/dist/web/assets/{info-DKCQHKI2-Dj4QbgxZ.js → info-DKCQHKI2-BRfisbEI.js} +1 -1
  48. package/dist/web/assets/{infoDiagram-6WML65LV-CkPZHoSH.js → infoDiagram-6WML65LV-CaIb64N5.js} +1 -1
  49. package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-C1U-aqaM.js → ishikawaDiagram-WSZJBQD7-BoJrcTja.js} +1 -1
  50. package/dist/web/assets/{journeyDiagram-NVQOT4AX-BFmnFTx5.js → journeyDiagram-NVQOT4AX-CRR1dZy8.js} +1 -1
  51. package/dist/web/assets/{kanban-definition-27J2QSJJ-C5KXffho.js → kanban-definition-27J2QSJJ-D5skDuP4.js} +1 -1
  52. package/dist/web/assets/{line-CPlnGb39.js → line-BKKx0vSh.js} +1 -1
  53. package/dist/web/assets/{mermaid-parser.core-CQYajAMQ.js → mermaid-parser.core-DvZnIth0.js} +3 -3
  54. package/dist/web/assets/{mermaid.core-SFGI5XV8.js → mermaid.core-hykiOF_o.js} +4 -4
  55. package/dist/web/assets/{mindmap-definition-FAOFIHXS-Dxek7WcS.js → mindmap-definition-FAOFIHXS-BN2LQ4Yn.js} +1 -1
  56. package/dist/web/assets/{packet-7NZHBO7P-CAR0tDyo.js → packet-7NZHBO7P-CS5I0NlV.js} +1 -1
  57. package/dist/web/assets/{pegDiagram-VL7TDLO6-CN_CBGXn.js → pegDiagram-VL7TDLO6-WvOdhbxo.js} +1 -1
  58. package/dist/web/assets/{pie-RZYD4A2V-CAy1ZkLF.js → pie-RZYD4A2V-BwNAZrQ1.js} +1 -1
  59. package/dist/web/assets/{pieDiagram-7S7Q4E2Y-Do--6qr_.js → pieDiagram-7S7Q4E2Y-CbyrZjm7.js} +1 -1
  60. package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-_d72nP_y.js → quadrantDiagram-CIZ2JOQS-CW9YBxAO.js} +1 -1
  61. package/dist/web/assets/{radar-I7S5WNFK-D_NREiMx.js → radar-I7S5WNFK-DBoCLDNH.js} +1 -1
  62. package/dist/web/assets/{railroad-3IZDKUUU-DU7RDpQt.js → railroad-3IZDKUUU-BOjpYyDz.js} +1 -1
  63. package/dist/web/assets/railroad-abnf-AHOZXSZD-DQhDS2pf.js +1 -0
  64. package/dist/web/assets/railroad-ebnf-EBAXGLYW-Dtt2kOaN.js +1 -0
  65. package/dist/web/assets/railroad-peg-LSFZ7HO6-nfH8zno6.js +1 -0
  66. package/dist/web/assets/{railroadDiagram-AXF67PYL-DNZ982Bc.js → railroadDiagram-AXF67PYL-BdOOOq8o.js} +1 -1
  67. package/dist/web/assets/{requirementDiagram-LRYGKXZP-BNEqDsk3.js → requirementDiagram-LRYGKXZP-DIYlSrTb.js} +1 -1
  68. package/dist/web/assets/{sankeyDiagram-W5VNT64P-BBdI8stM.js → sankeyDiagram-W5VNT64P-Cc1IGxp_.js} +1 -1
  69. package/dist/web/assets/{sequenceDiagram-SI44F4Z6-3zzNyCI7.js → sequenceDiagram-SI44F4Z6-CJsPO9Z9.js} +1 -1
  70. package/dist/web/assets/{stateDiagram-OKZ733FA-PtqkKvef.js → stateDiagram-OKZ733FA-B033gpHZ.js} +1 -1
  71. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-wS01qj3t.js +1 -0
  72. package/dist/web/assets/{swimlanes-SLNWSIFB-CPWjF8YR.js → swimlanes-SLNWSIFB-C0Tstg7e.js} +1 -1
  73. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DoAqfWAd.js +8 -0
  74. package/dist/web/assets/{timeline-definition-Z64GVDOM-Cyh2AdbF.js → timeline-definition-Z64GVDOM-BA3y-16W.js} +1 -1
  75. package/dist/web/assets/{treeView-QDETBFTQ-zPmED5io.js → treeView-QDETBFTQ-BUNq-JXr.js} +1 -1
  76. package/dist/web/assets/{treemap-6X3UGDF4-Cd2gjC8X.js → treemap-6X3UGDF4-FIR_NbUo.js} +1 -1
  77. package/dist/web/assets/{vennDiagram-T6HMQDX7-BaNEKHnw.js → vennDiagram-T6HMQDX7-IeFFjnlq.js} +1 -1
  78. package/dist/web/assets/{wardley-OPB4EBWU-B5ry0Fo7.js → wardley-OPB4EBWU-DQAX4LKo.js} +1 -1
  79. package/dist/web/assets/{wardleyDiagram-T6FBY63Y-BHvM4Wb0.js → wardleyDiagram-T6FBY63Y-guGPPMAG.js} +1 -1
  80. package/dist/web/assets/{xychartDiagram-ELKLHX3M-Qgza2Rjo.js → xychartDiagram-ELKLHX3M-Cj0v359_.js} +1 -1
  81. package/dist/web/index.html +2 -2
  82. package/migrations/009_comment_watch.sql +30 -0
  83. package/migrations/010_comment_post_references.sql +17 -0
  84. package/package.json +1 -1
  85. package/skills/rvw/SKILL.md +117 -6
  86. package/skills/rvw/agents/openai.yaml +2 -2
  87. package/skills/rvw-walkthrough/SKILL.md +18 -9
  88. package/skills/rvw-walkthrough/references/walkthrough-authoring.md +105 -0
  89. package/skills/rvw-watch-comments/SKILL.md +294 -0
  90. package/skills/rvw-watch-comments/agents/openai.yaml +4 -0
  91. package/skills/rvw-watch-comments/scripts/auto-ack.mjs +211 -0
  92. package/skills/rvw-watch-comments/scripts/preflight.mjs +108 -0
  93. package/skills/rvw-watch-comments/scripts/rvw-command.mjs +80 -0
  94. package/skills/rvw-watch-comments/scripts/watch-driver.mjs +272 -0
  95. package/skills/rvw-watch-comments/scripts/watch-state.mjs +827 -0
  96. package/dist/web/assets/DocumentViewer-ERTovlNY.js +0 -1560
  97. package/dist/web/assets/MarkdownImagePlaceholder-BseUb-vG.js +0 -36
  98. package/dist/web/assets/WalkthroughViewer-4HaKxbeO.js +0 -2
  99. package/dist/web/assets/architecture-TIHT7OUA-9PYQORPB.js +0 -1
  100. package/dist/web/assets/channel-zAJ9N7Xu.js +0 -1
  101. package/dist/web/assets/classDiagram-JCYQIIEL-DW7PwlYE.js +0 -1
  102. package/dist/web/assets/classDiagram-v2-OCEON4UE-DW7PwlYE.js +0 -1
  103. package/dist/web/assets/eventmodeling-45OFAUF4-mByhu-2v.js +0 -1
  104. package/dist/web/assets/flowDiagram-UKHOOZJN-DTgITdYW.js +0 -1
  105. package/dist/web/assets/index-B8_aim9s.css +0 -1
  106. package/dist/web/assets/index-DAM-rdgA.js +0 -355
  107. package/dist/web/assets/railroad-abnf-AHOZXSZD-D0hTyA1H.js +0 -1
  108. package/dist/web/assets/railroad-ebnf-EBAXGLYW-DzkmoqWU.js +0 -1
  109. package/dist/web/assets/railroad-peg-LSFZ7HO6-u3hJ9iID.js +0 -1
  110. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BY3gjuqo.js +0 -1
  111. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DK-u00Uf.js +0 -8
package/CHANGELOG.md CHANGED
@@ -5,6 +5,45 @@
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.2.1] - 2026-08-20
9
+
10
+ ### Added
11
+
12
+ - Agentが作成・返信・編集・同期するcomment postへ、exact commitに固定したinline code referenceを付与できるprotocol v3
13
+ - `rvw-watch-comments`向けの一括preflight、cursor-resume watch driver、pending待機、即時auto-ack
14
+
15
+ ### Changed
16
+
17
+ - Walkthroughとcomment postがcode referenceのschema、検証、表示、navigationを共有
18
+ - 小規模batchの直接調査と、絶対pathのJSON fileによるworker結果回収をSkill契約へ明記
19
+ - comment / replyの64 KiB超過errorへ実際のUTF-8 byte上限を明記
20
+ - review sidebarをExplorerとCommentsの二階層へ整理し、PR本文、Walkthrough、repository fileを一つの
21
+ file treeとして扱うよう変更
22
+ - Explorerと全文検索の切り替え時に、各viewの展開状態、検索語、scroll位置を保持
23
+
24
+ ### Fixed
25
+
26
+ - Markdown previewの再描画後もtableの横scroll位置を保持
27
+ - Markdownのinline codeとcode blockでfont sizeが不揃いになる表示を修正
28
+
29
+ ## [0.2.0] - 2026-08-20
30
+
31
+ ### Added
32
+
33
+ - Agentが新しい未解決threadを安全なMarkdownで記録できる`comment.create` CLI capability
34
+ - Agentが既存post本文と関連commitを置き換えられる`comment.edit` CLI capability
35
+ - browserの戻る/進むで、review scopeやworkspace layoutを変えずに辿れるreading history
36
+ - PR commentを継続監視し、重複なく返信できる`rvw-watch-comments` Skill
37
+
38
+ ### Changed
39
+
40
+ - reviewerの目的とrepository固有の指示に合わせて説明を組み立てるWalkthrough authoring guide
41
+ - `rvw-watch-comments`がclaim直後に確認中replyを追加し、同じreplyを最終結果へ更新するよう改善
42
+
43
+ ### Fixed
44
+
45
+ - 不正なMermaidを含むcommentを表示すると、一時的なerror SVGがcomment外へ残りviewer下部を覆う問題
46
+
8
47
  ## [0.1.1] - 2026-08-17
9
48
 
10
49
  ### Fixed
package/README.md CHANGED
@@ -92,6 +92,8 @@ viewerはこの流れのために次を提供します。
92
92
  - `@pierre/vscode-icons`による全画面共通の言語/tooling file icon
93
93
  - ファイル名fuzzy検索、Gitによるrealtime全文fixed-string検索(case / whole-word、file grouping、行jump)
94
94
  - PR全体、PR本文、ファイル全体、行範囲、Walkthrough全体へのコメント
95
+ - コメントと返信のsafe GFM表示(repository内link/同一commit相対画像、表示専用Mermaid、
96
+ exact commitへ固定したinline code referenceを含む)
95
97
  - 未解決/解決済み、返信、Outdated追跡
96
98
  - Agentへ渡す一件・一覧・複数選択した`rvw://comment/<uuid>`参照のコピー
97
99
  - Agentが提示したWalkthrough、exact code reference、選択可能なMermaid node
@@ -137,8 +139,9 @@ Agentは現在内容を読み、同じ`rvw://walkthrough/<uuid>`を更新して
137
139
 
138
140
  ## Codex / Claude Code Skills
139
141
 
140
- アプリ本体からローカルSkillをインストールします。一度のinstallで、コメント処理用の`rvw`と
141
- Walkthroughのpublish・改善・削除用の`rvw-walkthrough`が入ります。Skill名と内容はCodex / Claude Codeで共通で、
142
+ アプリ本体からローカルSkillをインストールします。一度のinstallで、コメント処理用の`rvw`、
143
+ Walkthroughのpublish・改善・削除用の`rvw-walkthrough`、新規コメント監視用の
144
+ `rvw-watch-comments`が入ります。Skill名と内容はCodex / Claude Codeで共通で、
142
145
  platform指定は配置先だけを選びます。
143
146
 
144
147
  ```bash
@@ -149,8 +152,8 @@ rvw skill status
149
152
 
150
153
  既定の配置先は次です。
151
154
 
152
- - Codex: `~/.agents/skills/rvw`、`~/.agents/skills/rvw-walkthrough`
153
- - Claude Code: `~/.claude/skills/rvw`、`~/.claude/skills/rvw-walkthrough`
155
+ - Codex: `~/.agents/skills/rvw`、`~/.agents/skills/rvw-walkthrough`、`~/.agents/skills/rvw-watch-comments`
156
+ - Claude Code: `~/.claude/skills/rvw`、`~/.claude/skills/rvw-walkthrough`、`~/.claude/skills/rvw-watch-comments`
154
157
 
155
158
  rvwがインストールしたSkillには同梱版digestを記録します。`skill status --json`と`doctor --json`は、
156
159
  管理済みの旧版なら`updateAvailable: true`、ローカル編集なら`locallyModified: true`、記録のない差異なら
@@ -173,12 +176,31 @@ rvw://comment/00000000-0000-4000-8000-000000000000
173
176
  rvw Skillを使って、https://github.com/owner/repository/pull/123 の未解決コメントを確認してください。
174
177
  ```
175
178
 
176
- Walkthroughを作る場合は、説明したい対象をセッションへ伝えて`rvw-walkthrough` Skillを使います。
177
- Skillは文書の見出しや説明順序を固定せず、セッションが作った説明をcommit固定のreference付きartifactとして
178
- 検証してpublishします。Walkthrough全体へのコメントから説明を改善する場合は、現在内容を取得して同じURI
179
- 更新し、重複した「改訂版」を追加しません。
179
+ Agentにreview結果をRVWへ残してもらう場合は、対象PRとコメント作成を明示します。Agentはcommit済みの
180
+ exact sourceを確認し、通常の未解決threadを一件ずつ作成します。指摘や回答の理解に別の実装箇所が
181
+ 必要なら、投稿本文の`rvw-ref:<id>` linkと同じ投稿に保存したtyped referenceから、その時点のcommit
182
+ globalなcommit選択を変えずに開けます。
180
183
 
181
- 二つのSkillはSQLiteを直接読まず、`rvw protocol --json`、`rvw comment ... --json`、
184
+ ```text
185
+ rvw Skillを使って、https://github.com/owner/repository/pull/123 をreviewし、見つけた指摘をRVWのコメントとして作成してください。
186
+ ```
187
+
188
+ Walkthroughを作る場合は、説明したい対象と必要な作成指示をセッションへ伝えて`rvw-walkthrough` Skillを使います。
189
+ Skillは明示された指示を優先し、未指定の作成判断だけを既定guideで補って、reviewerが変更または実装対象の
190
+ mental modelを作るための最初の読解経路を構成します。文書の見出しや説明順序は固定せず、commit固定の
191
+ reference付きartifactとして検証してpublishします。Walkthrough全体へのコメントから説明を改善する場合は、
192
+ 現在内容を取得して同じURIを更新し、重複した「改訂版」を追加しません。
193
+
194
+ 新規root commentとreplyを継続監視する場合は`rvw-watch-comments` Skillを起動します。全登録PRを
195
+ 同梱driverから約1秒間隔で監視し、起動前の既存未解決commentは処理しません。自分のPRのfix-and-pushを起動taskへ
196
+ 明示許可した場合だけ、live PR authorと起動時のGitHub loginが一致するPRで修正・test・commit・pushを
197
+ 行えます。fork PRではlive head repository、branch、OIDとpush先も一致させます。他人またはauthor不明の
198
+ PRは常にcode/GitHub read-onlyで調査します。同梱driverがcursor resumeとRFC 7464 ingestを行い、
199
+ batchをclaimすると各threadへ`🔎 確認中です…`をAgent往復なしに即時返信し、
200
+ 完了時は同じreplyを最終結果へ編集します。Skill同梱のtask-state toolがrepository外のSQLiteへcursor、
201
+ queue、retry、thread単位のstatus post、自己返信抑制をtransactionalに保存します。
202
+
203
+ 三つのSkillはSQLiteを直接読まず、`rvw protocol --json`、`rvw comment ... --json`、
182
204
  `rvw walkthrough get/update/publish/delete ... --json`、`rvw pr sync --stdin --json`だけを利用します。
183
205
  ローカルDBやrepositoryへアクセスできないCloud Agentは対象外です。
184
206
 
@@ -194,24 +216,28 @@ rvw pr reset https://github.com/owner/repository/pull/123 --json
194
216
  rvw pr reset https://github.com/owner/repository/pull/123 --yes --json
195
217
  ```
196
218
 
197
- resetは対象PRのコメント、返信、コメント対象、Walkthroughcode reference、
219
+ resetは対象PRのコメント、返信、コメント対象、コメント投稿とWalkthroughcode reference、
198
220
  `refs/rvw/pr/<number>/...`を削除し、現在のGitHub状態からcacheとhead refを再構築します。
199
221
  バックアップや旧コメント移行は行わず、元に戻せません。
200
222
 
201
223
  ## CLI protocol
202
224
 
203
- 機械向けコマンドはstdoutへJSONだけを出します。
225
+ 機械向けコマンドはstdoutへJSONだけを出します。長時間の`comment watch`だけはRFC 7464 JSON text
226
+ sequenceを出します。
204
227
 
205
228
  ```bash
206
229
  rvw protocol --json
207
230
  rvw agent ping --json
208
231
  rvw agent status --json
209
232
  rvw pr refresh <PR_REF> --json
233
+ rvw comment create --stdin --json
210
234
  rvw comment list <PR_REF> --state unresolved --limit 50 --offset 0 --json
235
+ rvw comment watch [--after <CURSOR>] [--interval 10] --json-seq
211
236
  rvw comment get <COMMENT_URI> --json
212
237
  rvw comment get <COMMENT_URI> --include-pr-body --json
213
238
  rvw comment get <COMMENT_URI> --live --json
214
239
  rvw comment reply <COMMENT_URI> --stdin --json
240
+ rvw comment edit <COMMENT_URI> --post <POST_ID> --stdin --json
215
241
  rvw comment resolve <COMMENT_URI> --json
216
242
  rvw comment reopen <COMMENT_URI> --json
217
243
  rvw walkthrough get <WALKTHROUGH_URI> --json
@@ -227,6 +253,10 @@ rvw pr attach <PR_REF> --repository <PATH> --json
227
253
  stdinをcloseし、shellではpipe、quoted heredoc、input redirectionのいずれかを使います。起動済みの
228
254
  対話commandへJSONと改行だけを送るとEOF待ちになります。
229
255
 
256
+ `comment create`は登録済みPR、通常のcomment target、本文、任意のAgent名、任意の投稿単位code referenceをstdin JSONで受け取り、
257
+ 未解決のroot threadを一件作成します。repository targetはexact commit、path、任意のinclusive line rangeを
258
+ 指定し、viewerと同じ文書・行検証を通ります。作成してもbrowserを開かず、tabやcommit選択を変更しません。
259
+
230
260
  `comment list`は未解決を既定として`unresolved` / `resolved` / `all`をページング列挙し、各threadの
231
261
  root post preview、post件数、最新head時点のOutdated判定を返します。`hasMore`なら`nextOffset`から
232
262
  続けて取得し、完全なthreadは`comment get`で読みます。listと通常の`comment get`はPR本文を省略し、
@@ -235,7 +265,7 @@ root post preview、post件数、最新head時点のOutdated判定を返しま
235
265
  `comment get`は最新PRのtitle、base/head、serviceが導出したplacement、対象commitのbounded source
236
266
  excerptを返すため、AgentはOID比較でOutdatedを推測しません。
237
267
 
238
- `comment get --live`はGitHubの現在値とcacheの差をread-onlyで確認し、DBを更新しません。`pr sync`はGitHub上の最新PR状態を取得し、任意の`commentUpdates`を同じSQLite transactionで反映します。保存先がdirtyでも同じrepositoryのcleanなworktreeを`--repository`で選べ、確認済みの未追跡fileだけは`--allow-untracked`で許可できます。local branchがGitHub headより単にbehindな場合や最終同期後にforce-pushされた場合はcheckoutを変更せず同期します。`pr sync`と`comment reply`は冪等ではないため、結果が不明な場合はコメントを再取得してから再試行してください。
268
+ `comment get --live`はGitHubの現在値とcacheの差をread-onlyで確認し、DBを更新しません。`pr sync`はGitHub上の最新PR状態を取得し、任意の`commentUpdates`を同じSQLite transactionで反映します。保存先がdirtyでも同じrepositoryのcleanなworktreeを`--repository`で選べ、確認済みの未追跡fileだけは`--allow-untracked`で許可できます。local branchがGitHub headより単にbehindな場合や最終同期後にforce-pushされた場合はcheckoutを変更せず同期します。`comment create`は非冪等です。`pr sync`と`comment reply`は任意の冪等keyを受け、`comment edit`は同じpostの完全置換なので安全に再試行できます。
239
269
 
240
270
  `rvw agent ping/status --json`はsocket path、接続結果とOS error詳細、期待/接続先DB、選択transport、
241
271
  fallback理由を表示します。人向け出力にも同じ診断項目を表示します。`RVW_AGENT_SOCKET_PATH`を明示した場合は
@@ -296,7 +326,8 @@ atomicなowner lockを取得した一つのNode processだけがlistenし、owne
296
326
  `rvw doctor --json`はmode/ownerだけでなくwrite transactionとAgent疎通も報告します。
297
327
 
298
328
  ローカルHTTP serverは`127.0.0.1`だけへbindしてHost / Originを検証し、write APIは
299
- `application/json`だけを受理し、CORSを有効にしません。コメントと返信はplain UTF-8 textです。
329
+ `application/json`だけを受理し、CORSを有効にしません。コメントと返信はUTF-8 GFM Markdown sourceとして
330
+ 保存し、raw HTMLをsanitizeします。外部画像は取得せず、repository相対画像だけをexact commitから取得します。
300
331
  CLIとfrontend bundleに含まれる第三者softwareのlicenseはpackage内の
301
332
  `dist/cli-THIRD_PARTY_NOTICES.txt`と`dist/web/THIRD_PARTY_NOTICES.txt`へbuild時に収録します。
302
333