@a9n-shoji/rvw 0.5.0 → 0.7.0
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.
- package/CHANGELOG.md +67 -0
- package/README.md +162 -42
- package/dist/cli.mjs +898 -87
- package/dist/cli.mjs.map +4 -4
- package/dist/web/assets/{DocumentViewer-CWTnSlpG.js → DocumentViewer-D_PY7MU3.js} +2 -2
- package/dist/web/assets/StructureViewer-CXtsUfYG.js +7 -0
- package/dist/web/assets/{WalkthroughPanel-D2KqSIf9.js → WalkthroughPanel-DvyIFY5z.js} +1 -1
- package/dist/web/assets/{WalkthroughViewer-BDb-99Qk.js → WalkthroughViewer-y-grnBAx.js} +1 -1
- package/dist/web/assets/index-CbUV8NfH.css +1 -0
- package/dist/web/assets/index-zyXQjX9Z.js +11 -0
- package/dist/web/index.html +3 -3
- package/migrations/018_comment_watch_tasks.sql +10 -0
- package/migrations/019_comment_watch_write_reservations.sql +11 -0
- package/migrations/020_structure_retired_region_ids.sql +6 -0
- package/package.json +3 -1
- package/skills/rvw/SKILL.md +6 -2
- package/skills/rvw-review-compose/SKILL.md +226 -0
- package/skills/rvw-review-compose/agents/openai.yaml +4 -0
- package/skills/rvw-review-compose/references/review-composition.md +463 -0
- package/skills/rvw-structure/SKILL.md +124 -37
- package/skills/rvw-structure/agents/openai.yaml +2 -2
- package/skills/rvw-structure/references/structure-authoring.md +306 -75
- package/skills/rvw-walkthrough/SKILL.md +77 -15
- package/skills/rvw-walkthrough/agents/openai.yaml +2 -2
- package/skills/rvw-walkthrough/references/walkthrough-authoring.md +168 -30
- package/skills/rvw-watch-comments/SKILL.md +58 -13
- package/skills/rvw-watch-comments/scripts/auto-ack.mjs +67 -9
- package/skills/rvw-watch-comments/scripts/preflight.mjs +2 -1
- package/skills/rvw-watch-comments/scripts/watch-driver.mjs +47 -1
- package/skills/rvw-watch-comments/scripts/watch-state.mjs +376 -42
- package/dist/web/assets/StructureViewer-RiN3cqvU.js +0 -5
- package/dist/web/assets/index-CUAdTtdU.css +0 -1
- package/dist/web/assets/index-D0LsMDeu.js +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,73 @@
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.7.0] - 2026-09-08
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- PR全体の`rvw-review-compose` defaultを、実在fileを1 Nodeずつsource anchorへ結ぶ必須の
|
|
13
|
+
file-map Structureと、必要に応じたWalkthrough・通常Structure・直接code readingのadaptive compositionへ変更
|
|
14
|
+
- `rvw-walkthrough`を具体的な問いからcode確認とmental-model更新を繰り返す読解pathとして明確化し、
|
|
15
|
+
interaction、state、branch等を文章から再構築させる場合は問いに合うMermaid図を標準的に選ぶauthoring guidanceを追加
|
|
16
|
+
- `rvw-structure`に、bounded behavior mapとは別のPR-scoped file responsibility / dependency map用途を追加。
|
|
17
|
+
generic architecture inventory、新しいArtifact kind、schema、Viewer modeは追加しない
|
|
18
|
+
|
|
19
|
+
## [0.6.0] - 2026-09-07
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- 通知permissionの状態表示と、Agentのcomment更新経路を介さずbrowser / OS通知を確認できるテスト通知
|
|
24
|
+
- PR全体または明示されたreview subjectを調査し、Walkthrough、Structure、直接code readingから必要最小限の
|
|
25
|
+
構成を選ぶCodex / Claude Code共通のbundled `rvw-review-compose` Skill
|
|
26
|
+
- Structureへthesis、attention start、optionalなconnected exact-Edge primary backbone、stable IDとresponsibility
|
|
27
|
+
summaryを持つunorderedなnamed comprehension regionからなるoptionalなauthorial `presentation`を追加。raw座標を保存せず、spatial organizerが
|
|
28
|
+
ある時だけcanonical配置をauthoringし、start-onlyではtopology配置のままGuide、focus、visual cue、exportへ
|
|
29
|
+
説明意図を伝えられる
|
|
30
|
+
- Structure Viewerへ折り畳み可能なGuide、Home / Backによるfocus navigation、clickableなRegion framing、
|
|
31
|
+
backbone salienceとfocus-hop attentionの分離、complete extentを保つsemantic zoomを追加
|
|
32
|
+
- protocol version 5と`structure.presentation` capability
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- `rvw open`の新規runtimeを既定で`127.0.0.1:43117`へ固定し、起動をまたいでorigin-scopedな通知permissionと
|
|
37
|
+
設定を維持。空きportの自動選択は明示的な`--port 0`へ変更
|
|
38
|
+
- comment watcherのauthorityをshared rvw database上のgenerationとしてdurable化し、
|
|
39
|
+
`comment.watchOwnership` capabilityでpreflightする。repository単位のwriter reservationで異なるtask / processの
|
|
40
|
+
Git writerを直列化し、generationを持たないlegacy task stateは再初期化と明示的なactivateを必須に変更
|
|
41
|
+
- `rvw-walkthrough`と`rvw-structure`を一つのbounded Artifactを作るproducerとして明確化し、上位composerの
|
|
42
|
+
subject、review question、scope、inclusion / exclusionを優先しながら、`mustEstablish`、suggested origin / relation /
|
|
43
|
+
invariantはcommit済みsourceで独立に検証し、各representationの拒否境界を維持
|
|
44
|
+
- review composerからproducerをcanonical名と各hostのnative Skill mechanismでloadし、Codex / Claude Code固有の
|
|
45
|
+
user-facing invocation記法を共有runtime contractにしないfail-closedな委譲へ変更
|
|
46
|
+
- Structure preview / publish / updateはrequired nullableな`presentation`を受け取る。旧`graph_json`はread時に
|
|
47
|
+
`null`へnormalizeし、content rewriteは不要。migration 020は削除済みRegion IDのtombstoneだけを追加する
|
|
48
|
+
- Viewer / exportで共有するdeterministicなobstacle-aware relation routeとstable label placementへ変更し、
|
|
49
|
+
exact endpointのvisible boundary portへ接続する。non-endpoint NodeへのEdge貫通とfocus変更によるlabel jumpを防ぎ、
|
|
50
|
+
shared / near-coincident corridorを持つdistinct visible relation(parallel / reciprocalを含む)の実質的lane分離と
|
|
51
|
+
normal-detail labelの相互非重複を保証
|
|
52
|
+
- Structure presentationのRegion配列と各`nodeIds`を順序を持たないsetとして扱い、stable IDでcanonical化する
|
|
53
|
+
- Regionを持つGraphのcanonical projectionはRegion全体をcompound chunkとして先に配置し、direct factual
|
|
54
|
+
adjacency、internal crossing、boundary affinityを使って全体extentとEdge routeを抑える。backbone-onlyの
|
|
55
|
+
projectionは従来のderived bandを維持する
|
|
56
|
+
- partial Region membershipで残るneutral Contextをfactual connected component単位のrenderer-owned compoundとして
|
|
57
|
+
boundedに折り畳み、chain / bridge / fan-outをauthored Regionの全周へglobal packingすることで、12〜50 Nodeでも
|
|
58
|
+
一方向へ伸びず、Regionとexact boundary relationの近くへ配置される
|
|
59
|
+
- Structure内のNode / Region / Context / exact Relation / source移動をbrowser historyへ統合し、Back / Forwardで
|
|
60
|
+
view mode、focus、hop depth、lens、cameraを復元する
|
|
61
|
+
- Region frameをpane-localなchunk lensとして保持し、focusを変えずmember / internal relationをfull relevanceで
|
|
62
|
+
表示。Home / Node focus / depth変更で解除し、Backでfocus / depth / cameraと一緒に復元
|
|
63
|
+
- 長いprimary backboneのderived bandをdeterministicなserpentine複数行へ折り返し、region envelopeの衝突を
|
|
64
|
+
避けながらcanonical mapの縦方向を活用。row / layerを新しいprotocol semanticsにはしない
|
|
65
|
+
- bundled Skillsのprotocol preflightをversion 5へ更新
|
|
66
|
+
|
|
67
|
+
### Fixed
|
|
68
|
+
|
|
69
|
+
- 最後のviewerを閉じて再起動した際、random portによるorigin変更でAgentコメント通知が事実上リセットされる問題
|
|
70
|
+
- superseded watcherがauthorityを再取得できるrace、resolved / missing threadのhistorical eventがactionable workとして
|
|
71
|
+
再処理される問題、別task / processのrepository writerが重複実行される問題
|
|
72
|
+
- Structureのfile逆引きをCmd / Ctrl+Clickした際に修飾キーが失われ、右ペインではなく左ペインへ開く問題
|
|
73
|
+
- 2-hop表示で遠距離のbackbone Node / Edgeだけが強いopacityを保ち、focusからの距離層を判別できない問題
|
|
74
|
+
|
|
8
75
|
## [0.5.0] - 2026-09-03
|
|
9
76
|
|
|
10
77
|
### Added
|
package/README.md
CHANGED
|
@@ -6,8 +6,8 @@ repository全体を行き来し、PR本文、変更されたコード、変更
|
|
|
6
6
|
Agentが実装やarchitectureの説明を提示した場合は、説明を独立したtabに残したまま、inline linkや
|
|
7
7
|
Mermaid図から人間が選んだcodeだけを開けます。文書は最大2ペインへ並べられるため、
|
|
8
8
|
説明と実装、callerとdefinition、Markdown previewとcodeを同時に読めます。
|
|
9
|
-
|
|
10
|
-
nodeとrelationを自由に辿れます。
|
|
9
|
+
関係を同時に見渡したいsubjectは、Agentがsource anchorとoptionalなauthorial presentation付きStructureとして
|
|
10
|
+
提示でき、意図されたspatial explanationを手がかりに同じworkspaceでnodeとrelationを自由に辿れます。
|
|
11
11
|
|
|
12
12
|
diffは変更を見つける入口であり、レビュー対象の境界ではありません。人間が結果を読み、影響を追い、
|
|
13
13
|
次に直すべきことを判断します。Codex / Claude Codeは、その判断を同梱された共通Skillと`rvw` CLI
|
|
@@ -67,20 +67,27 @@ rvw open https://github.com/owner/repository/pull/123
|
|
|
67
67
|
rvw open
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
serverは`127.0.0.1
|
|
70
|
+
serverは`127.0.0.1:43117`へbindします。同じdatabaseで既にrvwが動いていれば、通常の
|
|
71
71
|
`rvw open`はそのruntimeへPRを追加し、同じoriginで新しいtabを開きます。二つ目のserverやdatabase接続は
|
|
72
72
|
起動しません。最初の`rvw open`だけがbackground runtimeを開始し、最初のtab接続を確認してから端末へ
|
|
73
73
|
制御を返します。最後のtabを閉じると短い猶予後に停止し、リロード中や別tabが残っている間は停止しません。
|
|
74
|
-
|
|
74
|
+
固定originにより、Browser NotificationのpermissionとAgentコメント通知設定は通常起動をまたいで維持されます。
|
|
75
|
+
空きportを自動選択する場合は`--port 0`を明示します。この場合は起動ごとにoriginが変わり得るため、通知permissionと
|
|
76
|
+
browser storageは引き継がれません。異なる`RVW_DATABASE_PATH`のruntimeを同時に起動する場合は、二つ目へ別の
|
|
77
|
+
固定`--port`または`--port 0`を指定します。
|
|
75
78
|
|
|
76
79
|
serverを端末に接続したままにする場合は`rvw open --foreground`を使います。同じdatabaseのruntimeが
|
|
77
80
|
既にあればforeground commandは競合を明示します。ブラウザだけを自動で開かない場合は
|
|
78
81
|
`rvw open --no-open`を使います。active runtimeがあればURLを表示して再利用し、なければCtrl+Cまで
|
|
79
82
|
signal管理のserverを起動します。再利用時もCLIがCtrl+Cまでviewer leaseを保持するため、表示したURLが
|
|
80
|
-
終了猶予中に無効になることはありません。初回の`--port
|
|
83
|
+
終了猶予中に無効になることはありません。初回の`--port`は尊重し、省略時はactive runtimeのoriginを再利用します。
|
|
84
|
+
active runtimeと異なるportを明示した場合は
|
|
81
85
|
二つ目を起動せず競合を返します。一度登録したPRは、完全URLまたは全登録PRで一意な番号を指定すれば
|
|
82
86
|
repository外のdirectoryからも開けます。
|
|
83
87
|
|
|
88
|
+
最上部の`...` menuでは、Browser Notificationのpermission状態を確認し、Agent更新と独立したテスト通知を送れます。
|
|
89
|
+
`Agentのコメントを通知`を有効にすると、初回読込後にAgentが追加・更新した最終回答を通知します。
|
|
90
|
+
|
|
84
91
|
## 変更を理解する
|
|
85
92
|
|
|
86
93
|
初回openでPRのcommit履歴と最新PR本文を取得します。以後は保持済み状態を先に表示し、viewer起動後または最上部の`...` menuにある`GitHubと同期`で最新状態を取得します。独自の版取り込み操作はありません。
|
|
@@ -121,7 +128,8 @@ viewerはこの流れのために次を提供します。
|
|
|
121
128
|
|
|
122
129
|
## Agentの説明を人間の順序で検証する
|
|
123
130
|
|
|
124
|
-
外部Agent
|
|
131
|
+
外部Agentは単一Artifact producerである`rvw-walkthrough` SkillとCLIを使い、一つのbounded subjectの
|
|
132
|
+
実装説明を一つのsource commitをanchorとしてrvwへ提示できます。
|
|
125
133
|
|
|
126
134
|
```bash
|
|
127
135
|
rvw walkthrough publish --stdin --json
|
|
@@ -144,12 +152,21 @@ lineを誤適用せずlatest全文を表示します。fallbackでは、同じfi
|
|
|
144
152
|
|
|
145
153
|
Walkthrough本文のinline referenceとMermaid node linkは維持しますが、同じ参照を横や下へ列挙する
|
|
146
154
|
`Code references` indexとsidebar上の参照件数は表示しません。そのため、本文linkと、本文中に実在する
|
|
147
|
-
|
|
155
|
+
対応済みnode-like elementへのMermaid bindingのどちらからも使われないreferenceはpublish/update時に
|
|
148
156
|
拒否します。存在しないnode名だけをbindingへ宣言しても使用済みにはなりません。
|
|
149
157
|
|
|
150
158
|
Mermaidの描画はflowchartだけに限定せず、class、sequence、state、ERなどbundled Mermaidが対応する
|
|
151
|
-
記法を受け付けます。code referenceとの要素bindingはflowchart
|
|
152
|
-
|
|
159
|
+
記法を受け付けます。code referenceとの要素bindingはflowchart node、class、sequence participant / actor、
|
|
160
|
+
state、ER entity、architecture serviceをE2Eで保証します。message、transition、relationship、architecture
|
|
161
|
+
edge / groupなどのedge-like elementはbindingできないため、そのclaimの根拠は図の近くのinline referenceで
|
|
162
|
+
開けるようにします。binding IDはWalkthrough全体で共有され、別sourceを開く複数図では別IDを使います。
|
|
163
|
+
|
|
164
|
+
authoringの既定は、具体的な状況と最初のcode入口から始め、一つの問いに必要な小さな説明を得てsourceで
|
|
165
|
+
確かめ、何が分かったかを責務・状態・条件・結果へ位置付け、次の探索理由へつなぐ読解pathです。複数の主体、
|
|
166
|
+
状態、順序、分岐を文章だけから組み立て直す必要がある場合、Mermaidを標準的に使います。flowchartは分岐、
|
|
167
|
+
stateDiagram-v2はstate / lifecycle、sequenceDiagramはinteraction / async順序というように中心の問いから
|
|
168
|
+
図法を選び、必要になった地点へ一問一図の小さな図を置きます。小さな定数や局所条件は図なしの方が明快です。
|
|
169
|
+
図の矢印、状態、順序もsourceについてのclaimであり、renderやbinding成功だけで意味の正しさは保証されません。
|
|
153
170
|
|
|
154
171
|
これはin-app AI chatではありません。説明と図はAgentのclaimで、commit済みcodeが検証対象の正本です。
|
|
155
172
|
Walkthroughにはローカルな版履歴を持たせません。説明全体へのfeedbackはstableなWalkthrough IDへ残るため、
|
|
@@ -159,9 +176,16 @@ Agentは現在内容を読み、同じ`rvw://walkthrough/<uuid>`を更新して
|
|
|
159
176
|
|
|
160
177
|
## codeの関係を空間として検証する
|
|
161
178
|
|
|
162
|
-
外部Agent
|
|
163
|
-
dependency、contract、side effect
|
|
164
|
-
|
|
179
|
+
外部Agentは単一Artifact producerである`rvw-structure` SkillとCLIを使い、PRに関係する一つのboundedな
|
|
180
|
+
behavior / review questionをfactualなcode entrypointからdependency、contract、side effectへ辿る空間、
|
|
181
|
+
またはPRを理解するためのfile responsibility / dependency mapを提示できます。ファイル地図では実在する
|
|
182
|
+
repository fileを1 Nodeずつfile-level anchorへ結び、Edgeを具体的なsource evidenceで検証します。
|
|
183
|
+
thesis、最初に見るNode、必要な場合だけ2〜12 Node / 1〜16 Edgeのconnected exact-relation backbone、
|
|
184
|
+
stable IDと責務summaryを持つcomprehension regionで説明の意図を表せます。artifactは一つのbounded behavior、
|
|
185
|
+
review question、またはfile relation setに必要なrelationを保持し、Viewerはstableな全体像とfocus-relativeな
|
|
186
|
+
局所lensを往復します。正直なspatial organizerがない場合も、意味のある
|
|
187
|
+
thesisとattention startだけを提示できます。順序とprose自体がartifactならWalkthroughです。
|
|
188
|
+
PRへ接地しない静的なarchitecture/責務inventoryやrepository全体のimport graphへは広げません。
|
|
165
189
|
|
|
166
190
|
```bash
|
|
167
191
|
rvw structure preview --stdin --json
|
|
@@ -171,18 +195,54 @@ rvw structure update rvw://structure/<uuid> --stdin --json
|
|
|
171
195
|
rvw structure delete rvw://structure/<uuid> --json
|
|
172
196
|
```
|
|
173
197
|
|
|
174
|
-
Structureは一つのexact `sourceOid`、宣言されたtitle / scope、
|
|
198
|
+
Structureは一つのexact `sourceOid`、宣言されたtitle / scope、roleに合うorigin、stableなNode / Edge ID、required nullableな
|
|
199
|
+
`presentation`からなります。presentationはraw座標ではなく、thesis、authorialなattention start、exact factual
|
|
200
|
+
Edgeのunordered setからなる一つのoptionalなconnected primary backbone、stable ID / label / 責務summary /
|
|
201
|
+
重複しないNode membershipを持つcomprehension regionからなるauthorial semanticsです。backboneもregionも持たないstart-only presentationは、
|
|
202
|
+
意味のあるthesisとattention startを伝えられる一方、graph配置へ存在しないspatial orderを作りません。
|
|
175
203
|
Nodeは0または1件、Edgeは0件以上のsource anchorを持ち、rvwはcommit、UTF-8 path、line pair、endpoint、
|
|
176
|
-
|
|
177
|
-
publish / update前には同じgraph contentをpreviewし、
|
|
204
|
+
重複ID、presentation参照とmembership、sizeを保存前に検証します。publish / updateはbrowserやnavigationを操作しません。
|
|
205
|
+
publish / update前には同じgraph contentをpreviewし、presentationに依存しないtopology diagnosticsとauthoring warningから
|
|
178
206
|
origin、granularity、behavior / subject boundaryを再確認できます。warningは保存を拒否せず、graphを自動変更しません。
|
|
179
207
|
|
|
180
|
-
|
|
181
|
-
|
|
208
|
+
primary backboneまたはregionがあればcanonical配置へ反映し、backboneもregionもないstart-only presentationと
|
|
209
|
+
`presentation: null`は同じtopology projectionを使います。start-onlyでもthesisとattention startはoverview、
|
|
210
|
+
visual cue、exportへ残り、新規sessionは`startNodeId`から始まります。factual entrypointのoriginは別に示します。
|
|
211
|
+
header直下のcompact Guideはattention startと折り畳み可能なthesisだけを示し、backbone Edgeの完全なリストや
|
|
212
|
+
Region関係図を複製しません。Structure本体はGraph / Regionsを切り替えられ、Regions modeではRegionごとの責務を
|
|
213
|
+
矩形として示し、factual Edgeから導出したdirectなRegion間connectionを矢印で表示します。Regionを選ぶとGraphへ
|
|
214
|
+
drill-downして、代表Nodeを捏造せずexact memberへviewportを移動します。Graph上にはRegionのfull label、責務summary、
|
|
215
|
+
member / internal relation数を持つcompact lensを表示し、対象Nodeと内部relationを専用styleで強調します。stable ID由来の
|
|
216
|
+
略称を復号したり、Node配置からmembershipを推測したりする必要はありません。BackでRegions overviewへ戻れます。
|
|
217
|
+
Regions modeはcard geometryを狭いpaneへ押し込まず、初期表示 / ResetではStartを含む責務を読めるscaleで示し、
|
|
218
|
+
Fitだけがmap全体を収めます。独立したzoom / wheel・drag panで局所を読みます。このRegions cameraはGraph viewportと混ぜずpane-local sessionへ保持し、
|
|
219
|
+
mode切替、Region drillからのBack、tab往復でもそれぞれの位置を復元します。
|
|
220
|
+
region membershipは囲い枠ではなく明示Node IDに
|
|
221
|
+
基づくため、manual drag後も変わりません。regionはnamed comprehension chunkで、summaryはそのchunkがthesisへ
|
|
222
|
+
何を寄与するかを伝えます。Region arrayと各`nodeIds`の順序に意味はなく、stable IDでcanonical化されます。
|
|
223
|
+
Region間の関係は別のauthorial graphではなく、member間のdirect factual EdgeからViewerが導出します。
|
|
224
|
+
viewerではHomeでauthorial start(null presentationではorigin)とexact 1-hopを読み、canvas / minimapに残る
|
|
225
|
+
backbone emphasisでcoreの位置を保ちながら、single clickではcameraを動かさずNodeを選択し、double clickでは
|
|
226
|
+
選択Nodeとexact 1-hopへone-shotでfocusします。1-hop / 2-hop、Region frame、AllをBackで往復できます。
|
|
227
|
+
HomeとRegion frameは対象を確実に見せるためAllへ切り替えます。Region frame中はfocusを維持したままmemberと内部relationを
|
|
228
|
+
full relevanceで読め、Home、Node selection、depth変更で解除します。Backは直前のview mode / focus / hop depth / framed region / viewportを復元します。
|
|
229
|
+
backbone membershipは固定されたauthorial salience、focus hopは一時的なreviewer attentionとして別に表示します。
|
|
230
|
+
低zoomで省略するdetailもvisible / total件数、minimap、selection、Allから回収でき、pan、zoom、fit、node drag、
|
|
231
|
+
layout resetで探索できます。通常clickでexact sourceを左、
|
|
182
232
|
`Cmd` / `Ctrl`+clickで右ペインへ開きます。globalなcommit選択は
|
|
183
|
-
変えません。
|
|
184
|
-
保存しません。同じsubjectの更新は同じURI
|
|
233
|
+
変えません。GraphのNode位置 / viewportとRegions viewportは互いに独立して同じbrowser sessionで保持しますが、SQLiteやAgent protocolへ座標を
|
|
234
|
+
保存しません。同じsubjectの更新は同じURIを完全置換します。通常は存続するIDの位置を保ちますが、backbone endpoint
|
|
235
|
+
adjacency、Region identity / membershipなどspatial organizerが変われば、新しいspatial semanticsへcanonical geometryをrebaseします。
|
|
236
|
+
frame中のRegion IDが存続する場合はchunk lensも維持し、current memberと内部relationのderived boundsへrefitします。
|
|
237
|
+
Regionのlabel / summaryや配列順だけの変更ではGraphのNode geometryをrebaseしません。
|
|
238
|
+
Regions cameraは別のderived-map basisでreconcileし、unorderedな配列順やsummary / thesisだけの変更では保持する一方、
|
|
239
|
+
Region label / membership、cross-Region Edge endpoint・direction・labelなどprojection / routingが変われば、
|
|
240
|
+
Startを読める新しいHome projectionへ戻します。map全体への縮小は明示的なFitだけが行います。
|
|
241
|
+
`null`とstart-onlyの往復やthesis / startだけの変更ではmanual geometryを保ちます。別subjectは新しい
|
|
185
242
|
Structureとしてpublishします。
|
|
243
|
+
Node / Edge / Regionのstable IDは同じclaim / comprehension chunkが存続する間だけ維持し、一度削除したIDを
|
|
244
|
+
別の意味で再利用しません。rvwは三種類すべてのretired IDをtombstoneとして保持し、後のupdateでの再導入を
|
|
245
|
+
拒否します。存続中のIDが意味ごと差し替えられたかは機械判定せず、producerが新しいIDを割り当てます。
|
|
186
246
|
|
|
187
247
|
Structure headerの`Export`から、現在のNode配置を保った図全体をstandalone SVGまたは2倍基準のPNGとして
|
|
188
248
|
保存できます。focusや1-hop / 2-hopで画面上に絞り込んでいても、出力には全Node、全Relation、全Edge labelが
|
|
@@ -190,11 +250,11 @@ Structure headerの`Export`から、現在のNode配置を保った図全体をs
|
|
|
190
250
|
|
|
191
251
|
## Codex / Claude Code Skills
|
|
192
252
|
|
|
193
|
-
アプリ本体からローカルSkillをインストールします。一度のinstallで、コメント処理用の`rvw`、
|
|
194
|
-
|
|
195
|
-
`rvw-structure`、新規コメント監視用の
|
|
196
|
-
`rvw-watch-comments
|
|
197
|
-
|
|
253
|
+
アプリ本体からローカルSkillをインストールします。一度のinstallで、コメント処理用の`rvw`、PR全体の
|
|
254
|
+
必要最小限のreview compositionを選ぶ`rvw-review-compose`、単一Walkthroughのpublish・改善・削除用の
|
|
255
|
+
`rvw-walkthrough`、単一Structureのpublish・置換・削除用の`rvw-structure`、新規コメント監視用の
|
|
256
|
+
`rvw-watch-comments`という5つが入ります。Skill名と内容はCodex / Claude Codeで共通で、platform指定は
|
|
257
|
+
配置先だけを選びます。
|
|
198
258
|
|
|
199
259
|
```bash
|
|
200
260
|
rvw skill install codex
|
|
@@ -204,8 +264,8 @@ rvw skill status
|
|
|
204
264
|
|
|
205
265
|
既定の配置先は次です。
|
|
206
266
|
|
|
207
|
-
- Codex: `~/.agents/skills/rvw`、`~/.agents/skills/rvw-walkthrough`、`~/.agents/skills/rvw-structure`、`~/.agents/skills/rvw-watch-comments`
|
|
208
|
-
- Claude Code: `~/.claude/skills/rvw`、`~/.claude/skills/rvw-walkthrough`、`~/.claude/skills/rvw-structure`、`~/.claude/skills/rvw-watch-comments`
|
|
267
|
+
- Codex: `~/.agents/skills/rvw`、`~/.agents/skills/rvw-review-compose`、`~/.agents/skills/rvw-walkthrough`、`~/.agents/skills/rvw-structure`、`~/.agents/skills/rvw-watch-comments`
|
|
268
|
+
- Claude Code: `~/.claude/skills/rvw`、`~/.claude/skills/rvw-review-compose`、`~/.claude/skills/rvw-walkthrough`、`~/.claude/skills/rvw-structure`、`~/.claude/skills/rvw-watch-comments`
|
|
209
269
|
|
|
210
270
|
rvwがインストールしたSkillには同梱版digestを記録します。`skill status --json`と`doctor --json`は、
|
|
211
271
|
管理済みの旧版なら`updateAvailable: true`、ローカル編集なら`locallyModified: true`、記録のない差異なら
|
|
@@ -237,16 +297,52 @@ globalなcommit選択を変えずに開けます。
|
|
|
237
297
|
rvw Skillを使って、https://github.com/owner/repository/pull/123 をreviewし、見つけた指摘をRVWのコメントとして作成してください。
|
|
238
298
|
```
|
|
239
299
|
|
|
240
|
-
|
|
241
|
-
Skill
|
|
242
|
-
mental modelを作るための最初の読解経路を構成します。文書の見出しや説明順序は固定せず、source anchorを持つ
|
|
243
|
-
reference付きartifactとして検証してpublishします。Walkthrough全体へのコメントから説明を改善する場合は、
|
|
244
|
-
現在内容を取得して同じURIを更新し、重複した「改訂版」を追加しません。
|
|
300
|
+
PR全体または明示したreview subjectについて、どの説明surfaceが必要かも含めて任せる場合は
|
|
301
|
+
`rvw-review-compose` Skillを使います。
|
|
245
302
|
|
|
246
|
-
|
|
247
|
-
Skill
|
|
248
|
-
|
|
249
|
-
|
|
303
|
+
```text
|
|
304
|
+
rvw-review-compose Skillを使って、https://github.com/owner/repository/pull/123 を理解するための
|
|
305
|
+
Walkthrough / Structureをおすすめの構成で作ってください。
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
composerはcommit済みcodeと周辺contextを調査します。PR全体のdefault compositionでは、変更を理解するために
|
|
309
|
+
必要な実在fileの責務と具体的な依存を示すファイル地図Structureを必ず含め、その制約内で総理解コストを
|
|
310
|
+
最小化します。小さなPRなら1 Node / 0 Edgeの地図と直接code readingだけで構いません。意味のあるbehavior
|
|
311
|
+
changeには原則Walkthroughを選び、ownership、state authority、contract等の関係理解に独立した価値があれば、
|
|
312
|
+
ファイル地図とは別の通常Structureも選びます。Walkthroughと通常Structureを常に一組にせず、固定の3 Artifact、
|
|
313
|
+
overview、section template、reading orderも要求しません。recommendation-onlyでは必須地図も未作成briefに留まり、
|
|
314
|
+
権限やtransportが足りなければ未達理由を返します。作成後は通常のAgent responseで、構成理由、推奨される最初の入口、作成または
|
|
315
|
+
更新したURI、ファイル地図に含めた/除外した範囲、意図的に直接code readingへ残した論点を返します。このresponseとcomposer内部の理解単位やbriefは
|
|
316
|
+
永続Artifactではなく、厳密なreview完了planでもありません。ReviewerはWalkthrough、Structure、codeのどこからでも
|
|
317
|
+
入り直せます。
|
|
318
|
+
|
|
319
|
+
composerは各producerをcanonical Skill名で、Codex / Claude Codeそれぞれのnative Skill mechanismからloadします。
|
|
320
|
+
共有Skill本文は`$name`や`/name`をruntime protocolとして扱わず、producerがsessionで利用不能ならArtifact操作前に
|
|
321
|
+
停止します。briefのsubject、review question、purpose / behavior boundary、scope、inclusion / exclusion、emphasisは
|
|
322
|
+
調査範囲のauthorityですが、`mustEstablish`、suggested origin / relationship / invariantなどの実装assertionはproducerが
|
|
323
|
+
commit済みsourceとtestから独立に検証するcandidate claimです。briefやvalidなsource rangeだけで事実とはみなしません。
|
|
324
|
+
|
|
325
|
+
Walkthroughを一件作る場合は、説明したいbounded subjectと必要な作成指示をセッションへ伝えて
|
|
326
|
+
`rvw-walkthrough` Skillを直接使います。Skillは上位composerを含む明示されたbriefのsubject、review question、
|
|
327
|
+
scope、inclusion / exclusion、emphasisを優先し、未指定の作成判断だけを既定guideで補います。PR全体のArtifact数や
|
|
328
|
+
Structureとの役割分担を決めず、そのsubjectに適した一つのordered pathをsource anchor付きreferenceで検証して
|
|
329
|
+
publishします。`mustEstablish`その他の実装assertionはauthorityとして受け入れずsourceから再検証し、essential claimが
|
|
330
|
+
unsupported / contradictedなら無理なanchorを付けずcallerへ返します。ordered pathが適切でなければStructureを提案する
|
|
331
|
+
representation rejectionは残ります。
|
|
332
|
+
Walkthrough全体へのコメントから説明を改善する場合は、現在内容を取得して同じURIを更新し、重複した
|
|
333
|
+
「改訂版」を追加しません。
|
|
334
|
+
|
|
335
|
+
Structureを作る場合は、通常Structureかファイル地図か、behavior / review question、roleに合うorigin候補、scope、含める/除外する関係と、必要なら伝えたいthesis、
|
|
336
|
+
最初に見るNode、connectedなexact factual relation setのprimary backbone、regionを伝えて`rvw-structure` Skillを使います。
|
|
337
|
+
Skillは上位composerを含む明示briefを調査boundaryのauthorityとして一つのbounded mapだけを扱い、suggested
|
|
338
|
+
originやrelationを実際のcommit済みcodeから再検証して、labelではなくclaimのidentityとしてstable IDを割り当てます。
|
|
339
|
+
通常Structureはresponsibility等をcode-level Nodeへ分けられます。ファイル地図は同一pathを分割せず、複数fileを
|
|
340
|
+
まとめず、全Nodeをfile-level anchorへ置きます。独立領域を架空Edgeで結ばず、必要ならcomposerが別地図を判断します。
|
|
341
|
+
PR全体の構成や別behaviorのArtifactは自律的に増やしません。順序とprose自体が本質ならWalkthroughを提案し、
|
|
342
|
+
Structureを一本道のstepperにせず、genericな静的architecture inventoryも作らないrepresentation rejectionは残ります。
|
|
343
|
+
producer authoringの実地評価は
|
|
344
|
+
[Structure producer evaluation](docs/structure-producer-evaluation.md)、[Walkthrough producer evaluation](docs/walkthrough-producer-evaluation.md)、composition判断のfresh-context評価は
|
|
345
|
+
[Review composition decision evaluation](docs/review-composition-evaluation.md)に記録しています。
|
|
250
346
|
|
|
251
347
|
新規root commentとreplyを継続監視する場合は`rvw-watch-comments` Skillを起動します。全登録PRを
|
|
252
348
|
同梱driverから約1秒間隔で監視し、起動前の既存未解決commentは処理しません。自分のPRのfix-and-pushを起動taskへ
|
|
@@ -263,9 +359,12 @@ queue、retry、batch内のthread単位status post、自己返信抑制をtransa
|
|
|
263
359
|
調査結果、実装内容、test結果が具体的なcodeに基づく場合、Skillは最終replyからexact commitの有用な
|
|
264
360
|
line rangeへ`rvw-ref:` linkを付け、reviewerが根拠へ直接移動できるようにします。
|
|
265
361
|
|
|
266
|
-
|
|
267
|
-
`rvw
|
|
268
|
-
`rvw
|
|
362
|
+
5つのSkillはrvwのapplication SQLiteを直接読まず、rvwへの操作には`rvw protocol --json`、`rvw agent status --json`、
|
|
363
|
+
`rvw comment ... --json`、
|
|
364
|
+
`rvw walkthrough get/update/publish/delete ... --json`、
|
|
365
|
+
`rvw structure list/preview/get/update/publish/delete ... --json`、`rvw pr sync --stdin --json`という既存contractだけを
|
|
366
|
+
利用します。composerの追加による新しいCLI commandやprotocol capabilityはありません。既存Walkthrough URIが
|
|
367
|
+
明示されない場合に全Walkthroughを列挙するcontractもないため、composerはSQLiteを読んで重複を推測しません。
|
|
269
368
|
ローカルDBやrepositoryへアクセスできないCloud Agentは対象外です。
|
|
270
369
|
|
|
271
370
|
## 復旧
|
|
@@ -297,6 +396,10 @@ rvw pr refresh <PR_REF> --json
|
|
|
297
396
|
rvw comment create --stdin --json
|
|
298
397
|
rvw comment list <PR_REF> --state unresolved --limit 50 --offset 0 --json
|
|
299
398
|
rvw comment watch [--after <CURSOR>] [--interval 10] --json-seq
|
|
399
|
+
rvw comment watch-task activate --task-id <UUID> --json
|
|
400
|
+
rvw comment watch-task verify --task-id <UUID> --generation <N> --json
|
|
401
|
+
rvw comment watch-task reserve-write --task-id <UUID> --generation <N> --lease-id <UUID> --write-key <OWNER/REPOSITORY> --json
|
|
402
|
+
rvw comment watch-task release-write --task-id <UUID> --generation <N> --lease-id <UUID> --json
|
|
300
403
|
rvw comment get <COMMENT_URI> --json
|
|
301
404
|
rvw comment get <COMMENT_URI> --include-pr-body --json
|
|
302
405
|
rvw comment get <COMMENT_URI> --live --json
|
|
@@ -317,6 +420,12 @@ rvw pr attach <PR_REF> --repository <PATH> --json
|
|
|
317
420
|
stdinをcloseし、shellではpipe、quoted heredoc、input redirectionのいずれかを使います。起動済みの
|
|
318
421
|
対話commandへJSONと改行だけを送るとEOF待ちになります。
|
|
319
422
|
|
|
423
|
+
`comment watch-task`は同じrvw databaseを監視する外部taskのgenerationを管理します。新taskだけが
|
|
424
|
+
`activate`し、再開taskは保存済みgenerationを`verify`します。comment watch cursorは引き続きevent位置
|
|
425
|
+
だけを表し、consumer ownershipとは独立です。repository writer reservationもrvw databaseで共有され、
|
|
426
|
+
active generationの検証と取得が同じtransactionで行われます。旧generationの取得済みreservationは
|
|
427
|
+
releaseされるまで新generationをブロックします。
|
|
428
|
+
|
|
320
429
|
`comment create`は登録済みPR、通常のcomment target、本文、任意のAgent名、投稿単位code referenceをstdin JSONで受け取り、
|
|
321
430
|
未解決のroot threadを一件作成します。repository targetはexact commit、path、任意のinclusive line rangeを
|
|
322
431
|
指定し、viewerと同じ文書・行検証を通ります。作成してもbrowserを開かず、tabやcommit選択を変更しません。
|
|
@@ -367,16 +476,27 @@ source checkoutでは、GitHub接続や保存済みPRを用意せずにrepositor
|
|
|
367
476
|
pnpm demo
|
|
368
477
|
```
|
|
369
478
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
479
|
+
既定のデモは、固定metadataからtemporary directoryへ毎回同じSHA-1 Git historyを構築します。架空の注文
|
|
480
|
+
serviceに対するresilient order placement PRを、7 commits、changed / unchanged file、review comments、
|
|
481
|
+
Walkthrough、Structureを含む一貫したreview workloadとして表示します。networkや現在のrvw historyには依存しません。
|
|
373
482
|
browserを自動で開かない場合は`pnpm demo -- --no-open`、portを変える場合は`RVW_DEMO_PORT`を指定します。
|
|
374
|
-
|
|
483
|
+
|
|
484
|
+
現在のrvw checkoutをそのままreviewする任意のdogfood modeは別commandです。表示内容はlocal refsと
|
|
485
|
+
committed historyに応じて変わり、必要なfirst-parent historyが不足していれば明示的に失敗します。
|
|
486
|
+
|
|
487
|
+
```bash
|
|
488
|
+
pnpm demo:dogfood
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
fixtureのcontract / realistic / stress / dogfoodの境界、realistic historyの更新規則、anchor integrity、
|
|
492
|
+
stress coverageの場所は[Fixture architecture](docs/fixture-architecture.md)を参照してください。デモを停止するには
|
|
493
|
+
起動したterminalでCtrl+Cを押してください。
|
|
375
494
|
|
|
376
495
|
```bash
|
|
377
496
|
pnpm install --frozen-lockfile
|
|
378
497
|
pnpm check
|
|
379
498
|
pnpm test
|
|
499
|
+
pnpm test:dogfood
|
|
380
500
|
pnpm test:e2e
|
|
381
501
|
pnpm build
|
|
382
502
|
pnpm test:package
|