Conversation
編集履歴は「いつ・何が」しか持たず、AI の編集と本人の手編集が同じ見た目で 並んでいた。帰属・理由・保持方針は同じスキーマ変更で入るのでまとめて入れる。 - 帰属はスナップショットに principal をそのまま格納する。確認ダイアログ・ Spotlight・履歴で粒度が揃う。store の編集 mutator が optional 引数で受け、 UI から直接の編集 (省略) は本人扱いになる - 理由は write 系 capability の reason パラメータで受け、dispatcher が承認 ダイアログへ注入する。承認前に見せた文字列がそのまま履歴に残る (承認後に 再取得しない)。本人の手編集はデバウンスの自動保存で理由を書く機会が無いため 付かない — 欄が無いエントリを前提に UI を組む - 保持は古い順のリングをやめて優先度付きにする。溢れたら「本人の手編集かつ 理由なし」から先に落とし、AI・プラグインの編集と理由付きを残す。全件が保護 対象なら最古から落とす - 本人の連続した自動保存は畳んで積まない。スナップショットは「その編集の直前 の状態」なので、連続保存では後続の push を捨てるのが正しい向きになる。AI の 編集は 1 回ごとに理由が付くため畳まない MisStore の再インストール経路は dispatcher を通らず principal を取れないため、 帰属を渡していない (記録なしのまま)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
理由をアイコンの有無でしか示しておらず、一覧を眺めるだけでは「AI が何のために 触ったか」が拾えなかった。行の主役を理由 (subject 相当) にして左に置き、帰属と 時刻を右のメタ列に寄せる。 - 理由は可変幅で省略表示。全文は選択時に diff の上へ出す (従来どおり) - 理由が付くのは AI の編集だけなので、本人の手編集では列が空のまま残る。 空欄を埋めるためのダミーは置かない - 時刻は相対表記をやめて絶対時刻に統一する。tooltip に逃がさないので、 タッチ環境でも補足情報に到達できる (#975) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
理由を左に置いたため、帰属ラベルの長さ (「自分」/「HEARTBEAT」/ 「プラグイン「〇〇」」) の差がそのまま右の列のガタつきになっていた。 tig (line-number → id → date → author → commit-title)、lazygit、gitui の いずれも固定幅のメタ列を左に並べ、可変長の subject を最右に置いている。 author はどれも固定幅で切り詰める。同じ並びに直す。 - 時刻・帰属を固定幅にし、理由を最右の可変列にする - 帰属は 8em で切る。「プラグイン「〇〇」」は伸びるので、全文表示より 縦の整列を優先する - 「直前」タグは可変列の手前に残す。tig の refs や lazygit の tags と同じく、 ズレを可変列の内側に閉じ込める Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
このスキルは HEARTBEAT 経由で無人のまま自分の本文を書き換える。編集履歴に 理由を残せるようになったので、何を根拠に更新したかを reason に書かせる。 省くと、本人の知らないうちに自己像が変わったように見える。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
同梱アイテムは修正版を届ける手段がユーザーによる削除・再シードしかなく、 「実装の変化に追従して育つ」性質と噛み合っていなかった。#969 で作者系 6 本を MisStore へ移した続きとして、残る skill 3 本とプラグイン 1 本も配布に移す。 これで更新はストアの更新検知 (#1040) が担い、同期機構を新たに作る必要が無い。 - notedeck-guide / notedeck-memo / self-profile を STORE_MOVED_SKILL_IDS に追加。 手元の旧同梱版は storeId 付きへ変換される (削除ではなく変換なので、本文を 書き換えていても壊れない) - プラグインにも同じ移行を用意する (storeMovedPlugins)。installId は履歴や設定の 参照先なので変えず、storeId を足すだけにする - 同梱シード機構 (planBuiltInSeed / seedMissingBuiltIns / syncBuiltInsMetadata)、 テンプレ読込、seed 済み id の localStorage キーを削除 - 管理カラムの出自分類から「ビルドイン」を撤去し、サイドロードとストア配布の 2 分類にする。skill / plugin / query の 3 種別すべてで実体が無くなったため - skills.uninstall の builtIn 削除ガードを外す。同梱がゼロで発動しえず、不可逆 操作の保護は確認ダイアログが担う builtIn フラグは移行判定にだけ残る (新しく true になる経路は無い)。テーマの DARK_BASE / LIGHT_BASE は配布物ではなく描画の土台なので対象外 (#1046 の フォールバック先)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
同梱の配布物は全廃したが、テーマだけは 0 個が成立しない。skill / plugin / query / widget は無ければ何も起きないだけなのに対し、テーマが無いと画面を 描画できず、ストアから取得するまでの間を埋めるものが要る。 同梱をやめた「ビルドイン」と同じ語のままだと、実体 (削除も編集もできない 既定値) と食い違う。呼び分けて、なぜテーマだけ残るのかをコードとドキュメント 両方に残す。 スキルカラムに残っていた未使用の builtin セクションキーも落とす。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
API surface diff外部アプリ向け API 面 ( Full diffdiff --git a/src-tauri/openapi.json b/src-tauri/openapi.json
index 2e236d6..3f41c7d 100644
--- a/src-tauri/openapi.json
+++ b/src-tauri/openapi.json
@@ -6,7 +6,7 @@
"license": {
"name": "MIT"
},
- "version": "1.48.0"
+ "version": "1.49.0"
},
"paths": {
"/api": {
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (53)
📝 WalkthroughWalkthroughThis release adds edit attribution and reasons to history, changes coalescing and retention, removes bundled skill and plugin seeding, migrates moved assets to MisStore, updates built-in classifications, and removes built-in skill deletion guards. ChangesEdit history and capability attribution
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant Capability
participant Dispatcher
participant Confirmation
participant Store
participant History
Capability->>Dispatcher: Submit edit with reason
Dispatcher->>Confirmation: Show trimmed reason
Confirmation->>Store: Approve edit
Store->>History: Record attribution and reason
History->>History: Coalesce and evict snapshots
Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
主な変更
編集履歴に「誰が・なぜ」が残るようになった (#1052)
これまで編集履歴は「いつ・何が」しか持たず、AI の編集と自分の手編集が同じ見た目で並んでいた。
reasonで受け、承認ダイアログに表示する。承認前に見せた文字列がそのまま履歴に残るので、見せていない理由が記録されることはない。本人の手編集はデバウンス自動保存で理由を書く機会が無いため付かない同梱アイテムを廃止して配布に一本化した (#746)
同梱アイテムは修正版を届ける手段がユーザーによる削除・再シードしかなく、「実装の変化に追従して育つ」性質と噛み合っていなかった。#969 で作者系 6 本を MisStore へ移した続きとして、残る skill 3 本 (
notedeck-guide/notedeck-memo/self-profile) とプラグイン 1 本 (ai-actions) も配布へ移し、同梱をゼロにした。storeId付きへ変換される。削除ではなく変換なので、本文やソースを書き換えていても壊れない。以降はストアから更新を受け取れる変更一覧
関連 PR (MisStore)
Closes #1052
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation
Chores