Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1528 commits
Select commit Hold shift + click to select a range
633fad0
Add rykv/mi/dashboard の準備完了信号 data-gkill-view-ready
mt3hr Aug 16, 2026
d0a5a57
Fix rykv/mi の初期化トリガをApplicationConfigのis_loadedへ移す
mt3hr Aug 16, 2026
7bbc031
Fix 設定取得の失敗を永久スピナーからエラー表示+再試行へ
mt3hr Aug 16, 2026
2331a0b
Update rykv/mi/dashboard 初期取得の完了を待たずに画面を可視化する
mt3hr Aug 16, 2026
720c43d
Add 初期表示の回帰テストと不変条件の明文化
mt3hr Aug 16, 2026
1d97bfb
Implements ポート画面
mt3hr Aug 18, 2026
abf6a5d
Fix IDを大量に渡した検索が静かに0件になる問題
mt3hr Aug 18, 2026
fe6fca2
Update 検索・取得のサーバ側パフォーマンス改善
mt3hr Aug 18, 2026
6ee8a2c
Update 検索・取得のクライアント側パフォーマンス改善
mt3hr Aug 18, 2026
ca180d6
Fix KFTLで素早く入力すると「\n!\n」が反応しない
mt3hr Aug 18, 2026
baf2673
Update テスト件数を実測に合わせる
mt3hr Aug 18, 2026
f7f1bbd
Add KFTL保存マーカーのIME入力まわりの回帰テスト
mt3hr Aug 18, 2026
724559d
Fix IMEで入力すると保存マーカーが反応しない
mt3hr Aug 18, 2026
80dc5da
Revert クライアント側の期間分割を撤去する
mt3hr Aug 18, 2026
ae4045f
Update getAllTags を「タグ無し」検索のときだけ走らせる
mt3hr Aug 18, 2026
7f4cb70
Update タグ絞り込みの取得をタグ名の個数で切り替える
mt3hr Aug 18, 2026
330a2ae
Update 強制非表示タグの取得も同じ1回のスキャンへ畳む
mt3hr Aug 18, 2026
4457a1b
Fix rep名を指定した検索がインメモリキャッシュを丸ごと迂回していた
mt3hr Aug 18, 2026
d9a5ae6
Fix ポート画面 Dnoteの集計リストが潰れる不具合
mt3hr Aug 18, 2026
bd9e8d4
Fix タグを付けて追加した記録が追加直後に一覧から消える不具合ほか
mt3hr Aug 19, 2026
9c46db7
Add 静かに壊れる経路のテストを足し、包含された重複テストを削除
mt3hr Aug 20, 2026
174f425
Fix Windows で Gradle テスト(test_android / test_wear_os)が必ず失敗する
mt3hr Aug 20, 2026
93f3f43
Update verify_docs に「資料のファイル名の実在」検査を足し、参照パス検査のバグを直す
mt3hr Aug 20, 2026
970929c
Update 開発資料をソースの現状に合わせる
mt3hr Aug 20, 2026
ee97d18
Update ユーザ向け資料の抜けを埋める(ポート画面・Codex・新しいタグの挙動)
mt3hr Aug 20, 2026
8b440b5
Fix Linux で Git フォルダに紛れたファイル1つが全APIを内部エラーにする
mt3hr Aug 20, 2026
becea91
Update ReKyou の GetKyou で死んでいる代入を畳む(CodeQL の指摘)
mt3hr Aug 20, 2026
6891842
Fix 指摘の取り込み — Critical/High/Medium を横断的に修正
mt3hr Aug 21, 2026
44d76f2
Fix Dnoteで<br>が表示されていた不具合
mt3hr Aug 21, 2026
f6f9979
Add アーキテクチャ決定記録(ADR)を整備し、実装からアンカーコメントで引く
mt3hr Aug 22, 2026
91514a9
Fix find_filter_timeis_test.go に gofmt を当てる
mt3hr Aug 22, 2026
246b7fd
Fix SecureJoin が rootDir 自身を返す分岐を消す
mt3hr Aug 22, 2026
bde1266
Add CodeQL をローカルで回す npm run codeql
mt3hr Aug 22, 2026
a124a51
Update AI向け資料を再編 — CLAUDE.md を AGENTS.md + 規約スキル13本へ分割
mt3hr Aug 22, 2026
eaf62a8
Fix 時間帯フィルタの秒解釈を find パッケージへ一本化し、秒オブデイとepochの二重解釈にする
mt3hr Aug 23, 2026
e40758f
Fix threads の遅延初期化の裸の nil チェックがデータ競合になっていたのを直す
mt3hr Aug 23, 2026
1659696
Fix hide_tags の単独有効化・for_mi の射影時刻での再判定・最終段の完全重複排除
mt3hr Aug 23, 2026
caddf51
Fix 共有ファイル正規化テストの期待値をOS依存にし Linux CI の赤を解消
mt3hr Aug 23, 2026
1f029a2
Fix サンプルデータの server_config.db から Web Push 鍵ペアを除去
mt3hr Aug 23, 2026
7e38beb
Add 配布サンプルデータの検証テスト3層と資料件数の更新
mt3hr Aug 23, 2026
76fffb9
Fix サンプルデータ検証テストの一時ディレクトリ削除をDAOクローズ後に行う
mt3hr Aug 23, 2026
f1532bf
Fix git キャッシュの同一コミット重複行と GPS 同一点の多重返却を根絶する
mt3hr Aug 23, 2026
47bdc80
Update 資料のテスト件数を f1532bf4 の追加分(+3テスト/+2ファイル)に揃える
mt3hr Aug 23, 2026
78da06f
Implements get_kyous_mcp v2 と /api/get_rep_infos_mcp — 複合カーソル・count_o…
mt3hr Aug 23, 2026
7695c92
Fix MCP readツールのディスパッチを read-handlers.mjs へ一本化し readwrite の callRead …
mt3hr Aug 23, 2026
4cc70c1
Implements MCP Nodeツールの v2 対応 — gkill_get_rep_infos 追加・スキーマ刷新・configの…
mt3hr Aug 23, 2026
b35c77a
Update MCP改修のADR 3本と資料・件数の全面更新
mt3hr Aug 23, 2026
2d55356
Add dvnf に --ignore_pattern を足し、書きかけのファイルを運ばないようにする
mt3hr Aug 23, 2026
c9841c1
Fix req_res の契約固定テストを get_kyous_mcp v2 の意図的変更へ追随させる
mt3hr Aug 23, 2026
bbae57a
Docs dvnf の --ignore_pattern 追加ぶんの件数とフラグ表を実測へ揃える
mt3hr Aug 23, 2026
4bcc066
Fix 壊れたGPXファイル1件でrepのGPSログが丸ごと返らなくなるのを止める
mt3hr Aug 23, 2026
8d0031f
Fix 旧ツールスキーマのままのMCPクライアントが新引数を使えない問題を救済する
mt3hr Aug 23, 2026
0696af0
Docs ReadWrite MCPサーバのツール数のドリフト(29→30)を実測へ直す
mt3hr Aug 23, 2026
9b50899
Refactor MCPの書き込みハンドラを lib/write-handlers.mjs へ一本化する
mt3hr Aug 23, 2026
21b32f7
Refactor MCP writeのミラーテストを解体し実物importへ移す
mt3hr Aug 23, 2026
6030f08
Refactor MCPの削除対応表を4箇所から constants.mjs の1箇所へ寄せる
mt3hr Aug 23, 2026
475e384
Fix MCP writeツールのスキーマが実装と食い違っている
mt3hr Aug 23, 2026
71b497e
Fix MCPのgkill_add_miがboard_nameを省略できず既定板に入らない
mt3hr Aug 23, 2026
7d976df
Fix MCPのadd系の応答が嘘をつく(0001年・null・巨大base64)
mt3hr Aug 23, 2026
fe803d4
Add MCPに版履歴の取得と削除の取り消しを足す
mt3hr Aug 23, 2026
b2f4097
Fix キャッシュへ書き戻すrep名が書き込み先と食い違う
mt3hr Aug 23, 2026
218c473
Fix 削除済みの記録を検索で列挙できない
mt3hr Aug 23, 2026
7b29c1d
Fix KFTLの/miブロックで # がタグにならない
mt3hr Aug 23, 2026
51e095a
Fix 存在しない対象IDにタグ/テキストを付けられる
mt3hr Aug 23, 2026
dd0f239
Fix MCPの削除がrekyou/notificationに効かない
mt3hr Aug 23, 2026
7e6a6e0
Docs MCP改修ぶんの資料とADR3本を実測へ揃える
mt3hr Aug 23, 2026
5decea9
Fix APIが異常時もHTTP 200を返し、障害がステータスから見えない
mt3hr Aug 23, 2026
4dbae04
Change HTTPから到達できない gkill_get_idf_file_path を MCP から削除する
mt3hr Aug 23, 2026
034030a
Change 使われていない検索条件と到達不能エンドポイントを消す
mt3hr Aug 23, 2026
0a0c5ea
Fix IDF ファイルの説明が「URL を優先しろ」と実態の逆を案内していたのを直す
mt3hr Aug 23, 2026
8353142
Add gkill_get_idf_file にサムネ取得を足す
mt3hr Aug 23, 2026
e57ce4f
Fix MCP の2巡目の指摘で見つかった13件を直す — 旧スキーマから is_video が使えない件ほか
mt3hr Aug 23, 2026
f66c9cc
Fix 書き込み応答が、保存された版ではなくMCPが組んだ値を返していた
mt3hr Aug 23, 2026
374b3f1
Add 終了済みTimeIsを進行中へ戻せるようにする(end_time: null)
mt3hr Aug 23, 2026
7dd87fb
Fix 実在する記録にタグ/テキストを付けると ERR000092 で全滅する
mt3hr Aug 23, 2026
cc01707
Fix メモ帳の失敗が原因不明の1文になる件と、消した記録のタグが語彙に残る件
mt3hr Aug 23, 2026
ab75fee
Add タグの書き込み先・索引の失敗理由・作成アプリでの絞り込みを返せるようにする
mt3hr Aug 23, 2026
ad19641
Fix 種別名が実装の都合で決まる件と、索引が止まっていても分からない件
mt3hr Aug 23, 2026
86a5795
Fix メモ帳の不正行が複数あっても1件しか返らないのを直す
mt3hr Aug 23, 2026
b8ae773
Fix 設定射影の許可リスト照合が書き込みと別関数にあり静的解析を通り抜けていたのを直す
mt3hr Aug 24, 2026
5906361
Fix auto_tagが非2xx応答の本文errorsを読まず、409で届くERR000056の冪等スキップが壊れていた
mt3hr Aug 24, 2026
1c9eeb3
Add ハンドラ層とワイヤ契約のテスト — KFTL created/行別400・file_serve・plugin_list・index…
mt3hr Aug 24, 2026
3d8191a
Add dao/repsのテスト — IndexUpdatedAt・mi射影の正準・faviconの画像検証
mt3hr Aug 24, 2026
75752a5
Fix 認証ボディの413/500がJSON本文なしで返り、自分で敷いた規約に違反していた
mt3hr Aug 24, 2026
f2c2a07
Add MCPのテスト18本と、非画像へ存在しないfile_url_fullを案内する誤りの修正
mt3hr Aug 24, 2026
9bbd9da
Fix MCPクライアントが非JSON応答でHTTPステータスを握り潰す件とfetchFileの再ログイン欠落
mt3hr Aug 24, 2026
cd747cc
Add Wear OS GkillApiClientの非2xx+errors本文テスト6本
mt3hr Aug 24, 2026
bd42d50
Docs 資料とMCP説明文を実測へ揃える — 残骸除去・件数・新機能5件の反映
mt3hr Aug 24, 2026
3b8442f
Fix 個人情報・実環境情報の混入を除去し、検査をコミット前へ機械強制する
mt3hr Aug 24, 2026
2b1411b
Fix レビュー指摘の実装ぶんを確定する — 付随TimeIsの削除済み混入・KFTLの原因不明エラー・MCPの診断文
mt3hr Aug 25, 2026
ecb105c
Fix レビュー指摘17件を直す — 付随打刻の境界・カーソルの後戻り・空パッチの追記・案内するツールの不在
mt3hr Aug 25, 2026
4a77e93
Update genrateCache 高速化
mt3hr Aug 29, 2026
d566a87
Refactor adr
mt3hr Aug 29, 2026
f3298d4
Fix 実データDB・設定DBの synchronous を FULL にする
mt3hr Aug 29, 2026
b546843
Refactor rep の組み立てを loadRepIntoRepositories へ切り出す
mt3hr Aug 29, 2026
20feaf5
Fix 壊れた rep の診断を改善する(エラーへのrep名・失敗時のClose・ログレベル)
mt3hr Aug 29, 2026
c50ace2
Fix 読めない rep を切り離して残りで動かす(ただし黙って落とさない)
mt3hr Aug 29, 2026
313dba7
Fix rep の切り離しと GetRepositories の失敗を gkill_error.log へ出す
mt3hr Aug 29, 2026
b023b2e
Fix ログ基盤の3つの黙った不具合を直す(静的フィールド・統合ログ・回転)
mt3hr Aug 29, 2026
9d687d7
Fix 利用者由来の失敗を Error から下ろし、gkill_error.log を信用できる状態にする
mt3hr Aug 29, 2026
b93bbcd
Fix 失敗したリクエストの1行を writeErrorStatus から出す
mt3hr Aug 29, 2026
3ab972e
Fix 呼び出し元へ返らないエラーを Debug から上げる(握り潰し・ロールバック・Close)
mt3hr Aug 29, 2026
999a66e
Refactor ログのメッセージを具体化し、error 属性の形を揃える
mt3hr Aug 30, 2026
cbeb7a3
Fix プロセスの生死を gkill_error.log に残す
mt3hr Aug 30, 2026
95c40b3
Fix ログレベルの既定を none から error にする
mt3hr Aug 30, 2026
9abb84e
Fix Go 以外のログの深刻度を揃える(MCP・プラグイン・Android・Wear・クライアント)
mt3hr Aug 30, 2026
0e529d2
Add ログレベルの規約をソース走査で固定する検査を足す
mt3hr Aug 30, 2026
957ac4f
Docs ログレベルの判断基準を ADR-1001 として明文化する
mt3hr Aug 30, 2026
3e3f2cd
Fix 一括置換で残ったログメッセージの粗を直す
mt3hr Aug 30, 2026
f7f9993
Add Init の統合/分割の二重出力を実配線で検証するテストを足す
mt3hr Aug 30, 2026
2de8b0f
Add 壊れた rep の欠落警告を MCP の全経路とツール説明で固定する
mt3hr Aug 30, 2026
3a9f574
Docs 壊れた rep 切り離しの資料を整備し、テスト件数を実測へ追従する
mt3hr Aug 30, 2026
a045ce2
Fix 公開Office文書の環境固有情報を除去し、ZIP内部も個人情報検査へ入れる
mt3hr Aug 30, 2026
72fedd1
Fix 設定取得のたびの外部サービスへの公開IP照会を廃止する
mt3hr Aug 30, 2026
d3c4cfd
Fix 無認証経路のボディへ経路別上限と読み取り期限を掛ける
mt3hr Aug 30, 2026
9f53088
Fix MCP HTTP のボディへ経路別上限を掛け、ログからOAuthクエリを落とす
mt3hr Aug 30, 2026
fc57c0a
Fix Wear companion の平文HTTPをループバック限定にする
mt3hr Aug 30, 2026
e92a4ce
Fix モバイルの Logcat から環境情報・記録識別子・サーバ出力を落とす
mt3hr Aug 30, 2026
2787171
Fix 配布APKをリリース署名の assembleRelease で作る
mt3hr Aug 30, 2026
51190af
Add 脆弱性窓口・運用導線・CIのfail-closed化と最小権限、F-010の受容をADR化
mt3hr Aug 30, 2026
925be6a
Fix 応答ラッパへ Unwrap を足し、読み取り期限が本番経路で効くようにする
mt3hr Aug 30, 2026
83d02aa
Fix dvnf 二重クローズによるエラー
mt3hr Aug 30, 2026
584cb6e
Fix MCPのOAuth scopeを1値に統一し、認可と受理の両方で不一致を拒否する
mt3hr Aug 30, 2026
0c11fc6
Fix MCP検索応答のplugins欠落を直し、warningsとpartialを1行要約へ昇格する
mt3hr Aug 30, 2026
c0a75a5
Docs MCPのREADME例を現行スキーマへ同期し、正規化器を通す検査で固定する
mt3hr Aug 30, 2026
9011c34
Docs delete/restoreの対象指定の必須関係をツール説明で明示する
mt3hr Aug 30, 2026
855d6aa
Add urlogの外向き取得抑止とMi板名のtypoガードをフラグで選べるようにする
mt3hr Aug 30, 2026
60c2391
Add urlog抑止フラグの配線・ワイヤ契約・Unwrap・dvnf copyFileをテストで固定する
mt3hr Aug 30, 2026
45b9c2d
Fix MCPツール説明の取り残しを直す(urlogのtitle条件と非取得の明言、pluginsの形)
mt3hr Aug 30, 2026
bd39293
Add MCPのscope宣言・後付けフラグ・削除系の未検証域をテストで固定する
mt3hr Aug 30, 2026
f924185
Docs 資料層をテスト実体と直近の変更へ追随させる
mt3hr Aug 30, 2026
cf75789
Add scope 1値とurlog取得抑止をADR化し、スキルへ不変条件を足す
mt3hr Aug 30, 2026
93b962c
Docs マニュアルへ認可種別の注意を足す(7言語と利用者ガイド)
mt3hr Aug 30, 2026
8ded732
Fix package-lockへpostinstallのhasInstallScriptを記録する
mt3hr Aug 30, 2026
418cc43
Fix 壊れたrepテストのログ捕捉バッファを通知ループの並行書き込みから守る
mt3hr Aug 30, 2026
636f5ab
Fix locationhistoryのテスト後片付けが走査goroutineの完了を待つようにする
mt3hr Aug 30, 2026
96b53e3
Fix vite設定の既定値でPWAのステータスバーが緑になり本番バンドルにDevToolsが載るのを直す
mt3hr Sep 2, 2026
7db4f9f
Fix manifestのMIMEとService Workerのprecacheでmanifestの更新が端末へ届かないのを直す
mt3hr Sep 2, 2026
bd1d509
Implements repeat
mt3hr Sep 5, 2026
2ef31dd
Fix メモ帳の繰り返しの既存判定が常に0件になり同じ記録が何度でも増えるのを直す
mt3hr Sep 6, 2026
1ca9712
Fix ffmpegが無いだけでサムネイルの失敗マーカーを焼き二度と生成されなくなるのを直す
mt3hr Sep 7, 2026
3e1f8f6
Add ReleaseNote v1.1.8 の下書きを置き、台帳のハッシュを実際の値へ直す
mt3hr Sep 8, 2026
7cb8e97
Fix 依存 fast-uri の脆弱性を解消し、ライセンス一覧を再生成する
mt3hr Sep 8, 2026
d74ea27
v1.1.8
mt3hr Sep 8, 2026
f4e8239
Update ReleaseNote v1.1.8 を公開後の名前と値に直す
mt3hr Sep 8, 2026
bcc8d99
Prepare v1.1.9
mt3hr Sep 8, 2026
1761870
Fix 綴り plaing を playing へ改名し、互換を残さない
mt3hr Sep 8, 2026
5f258bb
Fix サンプルデータの旧綴りを playing へ直す
mt3hr Sep 8, 2026
b71010e
Fix 例外にしていた use_plaing も use_playing へ改名する
mt3hr Sep 8, 2026
6ab02bc
Add ウォッチアプリに星5個の気分記録を足し、表示名を gkill wear へ変える
mt3hr Sep 9, 2026
9922c51
Fix メモ帳の打刻を繰り返すと 2083 年で登録される
mt3hr Sep 10, 2026
f206729
Fix plaing → playing 改名で崩れた gofmt の揃えを直す
mt3hr Sep 10, 2026
77aa7e8
Add Wear OS のウォッチと companion を7言語に対応させる
mt3hr Sep 10, 2026
cc4b90c
Fix 繰り返し「??」で書き込まれる時刻を全型で年まで固定し、Go の支出タグの関連時刻を TS に揃える
mt3hr Sep 10, 2026
bfecb04
Add auto_tag を add_tag へ改名し、検索条件 JSON のルールでタグを付けるようにする
mt3hr Sep 11, 2026
544943d
Fix add_tag で画面から消したタグが二度と付け直されない
mt3hr Sep 11, 2026
aa51f89
Add Wear OS から書いた記録の create_app を gkill_wear にする
mt3hr Sep 11, 2026
244fa99
Fix ワード検索の型別の対象列を決め、ID は前方一致だけにし、除外語を付随テキストにも効かせる
mt3hr Sep 12, 2026
a6271dc
Fix vitest を 4.1.11 へ上げて Dependabot アラート(GHSA-82fw-gwwq-j7x9)を解消する
mt3hr Sep 12, 2026
fd7a299
Add Dnote 相関グラフの指標に「記録が無い期間を0とみなす」と「日をまたぐ打刻の計上先」を足し、時刻平均の0時またぎを直す
mt3hr Sep 12, 2026
c292855
Fix FoldableStruct の子がすべてチェック済みでも親が indeterminate になる不具合
mt3hr Sep 12, 2026
2365020
Fix ウォッチアプリのチップをタイルと同じ見た目に揃え、重複確認画面をスクロール可能にする
mt3hr Sep 12, 2026
993ee85
Fix Kyou の引き直しが遅い不具合 — /api/get_kyou の版履歴をキャッシュ rep で集め、引き直しの往復を減らす
mt3hr Sep 14, 2026
410ffa1
Update ADR-0218 に修正前の利用者環境の実測(/api/get_kyou 十数秒)を追記
mt3hr Sep 14, 2026
d1ec250
Add プラグインが複数の rep 名を名乗れる仕組み(get_rep_name の rep_names)と provides の git…
mt3hr Sep 14, 2026
1eea2e1
Add zip に固めた Git リポジトリのコミットログを読むプラグイン gkill_plugin_archived_git_commi…
mt3hr Sep 14, 2026
18e430a
Fix 複数の zip に入っているコミットの rep 名を「最新のコミットを持つリポジトリ」のものにする
mt3hr Sep 14, 2026
2ffb17c
Fix サーバ待受の既定をループバック限定(127.0.0.1:9999 + ローカルアクセスのみ許可)にする
mt3hr Sep 14, 2026
b7665fd
Fix Kyou ダイアログを開くと親の一覧が読み込み中に見える不具合 — 開いた時の引き直しと版履歴の先読みをやめる
mt3hr Sep 14, 2026
2225c30
Fix HTTP API のルート表を1つに正本化し、存在しないエンドポイントの残骸を消す
mt3hr Sep 14, 2026
fcc1030
Add リリースゲート — テスト済み attestation と CI/Nightly の緑を機械で要求する
mt3hr Sep 14, 2026
a2abfb8
Add MCP に gkill_status と schema_revision を足し、未知の引数名では再接続を案内し、tools/li…
mt3hr Sep 14, 2026
31f06f4
Fix 保存と削除をユーザ操作単位で原子的にする — commit_tx を1つの SQLite トランザクションにし、追加/編集/削除画…
mt3hr Sep 14, 2026
39bdb3f
Fix メモ帳(KFTL)の解釈と書き込みをサーバの Go 1実装に寄せる — Web も submit_kftl_text で送り、TS…
mt3hr Sep 14, 2026
3291d59
Fix E2E リポストの一覧確認を本文で絞ってから数える — 仮想スクロールで他テストの記録に押し出され、フルランで元の記録が描画されず…
mt3hr Sep 14, 2026
212a565
Fix エラーに「誰の問題か・何が起きたか・次の一手」を載せ、Web のエラー表示を閉じるまで残す
mt3hr Sep 15, 2026
f029be3
Add マニュアルに「エラーが出たとき」ページ(7言語)— 表示の読み方と原因ごとの対処。ヒント文を設定画面のラベルに揃える
mt3hr Sep 15, 2026
661257f
Fix メモ帳の空の記録を黙って通さない — 保存マーカー「!」を値の行に数えず、内容の無い記録・付け先の無いメタ情報・読めない予定日時を…
mt3hr Sep 15, 2026
e4c3ed8
Fix メモ帳の打刻終了(ーえ/ーいえ/ーたえ/ーいたえ)が走っている打刻に当たらない — 候補を開始時刻の新しい順に並べて削除済みを落と…
mt3hr Sep 15, 2026
e087997
Add テストの見直し(v1.1.8 以降の更新ぶん)— commit_tx の失敗コード表・Cause の複合条件・応答型・書き込み先未…
mt3hr Sep 16, 2026
a3b35d2
Docs 資料をテスト実体と v1.1.8 以降の変更へ追随させ、マニュアルに腕時計(Wear OS)ページを7言語で足す
mt3hr Sep 16, 2026
1973291
Fix MCP gkill_submit_kftl の説明を ADR-0508 に合わせる — 内容の無い記録は行別エラー、created…
mt3hr Sep 16, 2026
66553af
Fix 一覧を速くスクロールすると ERR900101(AbortError)が右上に積み上がる — 中断は unhandledrejec…
mt3hr Sep 16, 2026
9d46b9e
Add gkill_server generate_plugin_cache <plugin_name|all> <user_id...>…
mt3hr Sep 16, 2026
05d3a14
Docs generate_plugin_cache の資料を uguisu 対応後の状態へ — SDK を使わないプラグインは自前で結果…
mt3hr Sep 16, 2026
45d0953
Fix Android で時間帯検索が常に0件になる — SQLite の 'localtime' は libc(musl)が TZ / …
mt3hr Sep 16, 2026
fc1831f
Fix rykv の時間帯の曜日ボタン — チェック直後は [] (0件指定) で曜日を押すまで黙って対象なしだったのを全曜日 (制限なし…
mt3hr Sep 16, 2026
5937ac0
Fix Termux で時間帯検索が今も0件 — applyLibcTimezone に既定の --gkill_home_dir($HOM…
mt3hr Sep 16, 2026
279d3bb
Fix archived プラグインのコミット行を開くと画面が数十秒止まる — Git キャッシュ包装が SQL で外れた ID を無条件…
mt3hr Sep 16, 2026
b5efe02
Change ChatGPT / Claude.ai プラグインはエクスポート ZIP を解凍せずそのまま読む — 展開済みの conve…
mt3hr Sep 17, 2026
76e5793
Fix MCP の get_kyous で cursor 頁に返却済みの Mi が再出現し remaining_count が減らない(同…
mt3hr Sep 17, 2026
4c76daf
Add MCP の gkill_get_mcp_help(topic 別の詳細案内)を3サーバへ追加し、ツール説明を要約へ — get_k…
mt3hr Sep 17, 2026
f90fa65
Fix KFTL の ーみ で書いたタスクの create_device と create_user が入れ替わって確定される — Mi …
mt3hr Sep 19, 2026
14b0b8f
Remove 資料からリポジトリ外の運用スクリプトの名前・パスを消す — リポジトリ外の運用スクリプト群は利用者環境の私物で gkill …
mt3hr Sep 19, 2026
5a2db9b
Add MCP 実利用報告への対応 — KFTL の再送キーは本文の指紋と created[] を控え、同じ本文は replayed:tr…
mt3hr Sep 19, 2026
e486672
Fix fitbit プラグインの歩数がある日以降ほぼ2倍になる — Takeout の steps CSV に時計(Pixel Watc…
mt3hr Sep 19, 2026
768c4a9
Replace MCP サーバを Node.js から Go へ移し gkill_server に一本化 — `gkill_server …
mt3hr Sep 20, 2026
412d524
Add MCP ゴールデンの更新経路 GKILL_MCP_UPDATE_GOLDEN=1 — 旧 Node 実装が消えた後にツールの説明・…
mt3hr Sep 20, 2026
82c45ac
Add プラグインのログを gkill_log の別名ファイルへ — SDK の sdk.Run が起動時に $GKILL_HOME/lo…
mt3hr Sep 20, 2026
fdf5c97
Add 設定ツリー6本の全ノードに利用者の運用メモ description を持たせ、MCP が fields:["description…
mt3hr Sep 20, 2026
775ca5a
Change ウォッチの「同じ内容を続けて送った」確認を前回の保存から 30 分で打ち切る — スマホ側 companion の Wear…
mt3hr Sep 20, 2026
d7c3cb0
Remove 設定ツリーの要素追加・編集ダイアログの「説明」欄からヒント文を外す — fdf5c97b で 6 構造(タグ / 記録保管場…
mt3hr Sep 20, 2026
cce5b2b
Docs 資料を 2026-09-16 以降の実装へ追随させ、本番データ由来の具体値・外部スクリプト名・実態に合わない呼び方と対応日付を落とす
mt3hr Sep 21, 2026
4bf577c
Add テストの見直し(2026-09-16 以降の更新ぶん)— MCP の Go 移植・プラグインのログと単独モード・設定ツリーの説明欄…
mt3hr Sep 21, 2026
4d4c3b4
Fix main の CI を緑へ戻し、CodeQL の指摘2件を潰す
mt3hr Sep 21, 2026
fec6cfe
Fix stdio の枠組み判定が「届き方」で壊れる — NDJSON の行と Content-Length 枠が同じ読み取りで来ると両方…
mt3hr Sep 21, 2026
cf0b169
Fix OAuth の redirect_uri が javascript: を受け付け、認可成功ページの自動遷移でスクリプトが走る
mt3hr Sep 21, 2026
fdadfd4
Update 依存を上げる — Go 9モジュール・npm の minor/patch 19本・GitHub Actions 3本と、メジ…
mt3hr Sep 21, 2026
ea37eaf
Update CodeQL のローカルベースラインを GitHub の棄却と揃える — 今回の3件と、9月1日以降に棄却されていた sql…
mt3hr Sep 21, 2026
b3a1ca6
Add ローカル専用の資料 local/ があればそれも読む案内と、local/ と CLAUDE.local.md の gitignor…
mt3hr Sep 21, 2026
4d3cc24
Change 静止画のサムネイルを vips(libvips の CLI)があればそれで作り、Go 経路は縮小カーネルと EXIF 回転の…
mt3hr Sep 21, 2026
9d248ab
Add ReleaseNote v1.1.9 の下書きを置く — 公開日とハッシュは仮(20260922 / XXXXXXXX)で、一覧に…
mt3hr Sep 22, 2026
8e32894
Update 依存ライセンス一覧を再生成する — 2026-09-08 以降の Go / npm の依存更新と MCP の Go 移植・新…
mt3hr Sep 22, 2026
720b420
v1.1.9
mt3hr Sep 22, 2026
f12e246
Update ReleaseNote v1.1.9 を公開後の名前と値に直す
mt3hr Sep 22, 2026
deb4adf
Prepare v1.1.10
mt3hr Sep 22, 2026
5c7bd44
Add 利用者ごとのスキル(SKILL.md と付属ファイル)を $GKILL_HOME/skills に置き、MCP と設定画面から使え…
mt3hr Sep 23, 2026
97d1197
Change 設定の「検索条件」「実行中」「ダッシュボード」を1つの「検索条件」ダイアログにまとめ、保存済み検索条件の一覧が+ボタンにめり…
mt3hr Sep 23, 2026
100fe37
Change ワード検索の ID 前方一致を7文字以上の語だけにする — 気分の `8` で git のコミット(ハッシュが 8 で始まる…
mt3hr Sep 23, 2026
80e9916
Change メモ帳のタブ名の既定を通し番号から空にする
mt3hr Sep 23, 2026
e74f887
Add メモ帳で付けたタグも記録ごとにタグ履歴へ積む
mt3hr Sep 23, 2026
2806f81
Change ファイルアップロードの枠の文言を「ここをクリックまたはファイルをドロップ」にする
mt3hr Sep 23, 2026
cf2878d
Add カレンダーと地図の日付表示をクリックすると日付ピッカーを開く
mt3hr Sep 23, 2026
7381738
Change 支出の追加画面をメモ帳の支出と同じ並び(店名 → 品名と金額の行)にし、行を増やして一度に複数件書けるようにする
mt3hr Sep 23, 2026
f14390b
Fix タスク追加の通知行が中身の幅に縮み、削除ボタンだけ他の画面と違う見た目だった
mt3hr Sep 23, 2026
cdc9a5f
Add 集計ビューの編集画面で列を追加・削除できるようにし、編集画面のダブルクリックでは記録の一覧を開かない
mt3hr Sep 23, 2026
4f2f1d4
Add 並べ替えのドラッグ&ドロップで挿入位置を線で見せる(構造ツリー6種・集計ビュー・関連情報)
mt3hr Sep 23, 2026
98956f5
Fix スキル閲覧ダイアログだけヘッダにタイトル(スキル名)を出していた — ダイアログのタイトル欄は全部空にそろえる
mt3hr Sep 23, 2026
5727b85
Update 資料の件数を今回の変更に追随させる
mt3hr Sep 23, 2026
feacf67
Change Android APK のデータ置き場($GKILL_HOME)を /sdcard/gkill へ戻し、権限が許可されるまで…
mt3hr Sep 23, 2026
3a283ae
Change Android 同梱サーバの待受・TLS・画面のアドレスを ServerConfig に従わせる
mt3hr Sep 23, 2026
679cd6e
Fix 画面切替メニューで行の余白を押すとメニューが閉じるだけで遷移しなかった — クリックを文字ではなく行に付ける(8画面)
mt3hr Sep 24, 2026
3ee6d0c
Change Android APK のステータスバーを gkill のテーマ色にする(API 35 以上は裏に帯を敷く)
mt3hr Sep 24, 2026
76c4158
Fix スキルの保存先パスと後始末ログに付いた CodeQL の指摘7件を潰す — joinWithin で先に filepath.IsL…
mt3hr Sep 25, 2026
2406b5e
Fix Wear OS のスマホ側で、編集済みの打刻を時計から終了すると後から入れた編集が巻き戻っていた — 履歴の末尾ではなく先頭(最新…
mt3hr Sep 26, 2026
210541a
Fix シーケンス図と利用シナリオに書かれていた、実在しない TS・Kotlin・MCP の関数名を実コードに合わせる
mt3hr Sep 26, 2026
fb8ea5c
Add 言語・プロセス境界の対応表(cross-boundary-map.md)と、表をコードと突き合わせる verify_docs の検査
mt3hr Sep 26, 2026
73dddd0
Fix 境界対応表の説明文3箇所の不正確な記述を直す(Service Worker の force_reget、初回登録へ回す条件、サーバ…
mt3hr Sep 26, 2026
74d217e
Fix プラグインのスロット待ちが呼び出し元の期限で終わると、負荷によって ErrPluginBusy が素の期限切れに化けていた
mt3hr Sep 29, 2026
05f6605
Change MCP のスキル名の説明に「先頭と末尾は英数字」を足し、help の skills 項目に拒否条件を書く — テスト・ゴール…
mt3hr Sep 29, 2026
f221d72
Add v1.1.9 以降の変更に対するテストを足し、検証の無いテストと未参照のコードを消す — verify_docs にテストファイル…
mt3hr Sep 29, 2026
e0b8638
Docs v1.1.9 以降の変更を設計資料・README・スキル・AGENTS.md に反映し、ADR-1105 と ADR-0412 を足す
mt3hr Sep 29, 2026
1770662
Docs マニュアル原稿を更新する — ダッシュボードの地図の日付ピッカー、AI連携のスキル、Android の待受アドレスと権限、ライフ…
mt3hr Sep 29, 2026
9691b83
Add ReleaseNote v1.1.10 の下書きを置く — 公開日とハッシュは仮(20260927 / XXXXXXXX)で、一覧…
mt3hr Sep 29, 2026
e27eb5c
Docs 履歴の書き換えで変わったコミットハッシュを追随する — リリースノート 9 本の改名・一覧の表・ADR と ABOUT_TEST…
mt3hr Sep 29, 2026
9e2d958
v1.1.10
mt3hr Sep 29, 2026
d2a4d6c
Fix リリースノート一覧の 9 本のリンクが、改名前のファイル名を指していた
mt3hr Sep 29, 2026
18f882f
Update ReleaseNote v1.1.10 を公開後の名前と値に直す
mt3hr Sep 29, 2026
af2bf70
Prepare v1.1.11
mt3hr Sep 29, 2026
287e05d
Bump the npm-minor-patch group across 1 directory with 10 updates
dependabot[bot] Sep 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
34 changes: 34 additions & 0 deletions .claude/skills/gkill-build-test/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: gkill-build-test
description: "gkill のビルド・テスト・E2E 実行・リリースゲートの約束。ビルドパイプライン(dist と i18n とマニュアルの embed への3コピー)、embed 無しの裸 go build が起動即死バイナリを作る罠、dev サーバの --api プロキシ指定、E2E の専用ホームと空きポート自動採番(ポートを固定しない)、テスト済み attestation(tree hash 束縛・run_test_suite.mjs だけが書く・verify_release_gate.mjs が release の先頭で CI/Nightly と併せて検査する)を扱う。package.json・src/tools/・vite.config.ts・playwright.config.ts・src/client/__tests__/e2e/・.github/workflows/ を編集するとき、ビルドやテストの実行・リリースを頼まれたとき必読。「ビルドは通るのに起動即死する」「E2E が本番サーバと衝突する」「release がゲートで止まる」の調査でも必読。"
---

# ビルド・テスト・E2E の約束

対象: `package.json` / `src/tools/**` / `vite.config.ts` / `playwright.config.ts` / `src/client/__tests__/e2e/**` / `.github/workflows/**`
(npm スクリプトの一覧表は `AGENTS.md` にある)

**このファイルは全文が、実際に起きた事故の再発防止である。該当作業では飛ばさずに読むこと。**
多くは「例外もエラーも出さずに静かに壊れる」種類で、破っても目の前ではエラーにならない。

**Build pipeline** (`install_server` → `prepare_install`): `clean_dist` → clean embed dir → write `version.json` (commit hash + build time + version + tree hash; `src/tools/put_version_info.mjs`) → `vue-tsc` type-check → `vite build` → copy `dist/` to `src/server/gkill/api/embed/html/` → copy `src/locales/` to `src/server/gkill/api/embed/i18n/locales/` → `build_manuals` (`src/tools/build_manuals.mjs`: `resources/manual_src/` → `resources/manual/`) → copy `resources/manual/` to `src/server/gkill/api/embed/manual/` (3 copies: html + i18n + manual) → `go install`

**Bare `go build` caveat:** any gkill binary panics at startup if `embed/i18n/locales` is empty (`gkill/api`'s `init()` reads it), so a `go build` without a preceding `npm run copy_i18n_to_app_embed` produces a binary that compiles but dies immediately.

**APK リリース署名(指摘 F-006):** `npm run release` の APK 3本(Android / Wear companion / watch)は `assembleRelease` + リリース署名で作る(以前は `assembleDebug` の成果物を配布名へ rename しており、debug 鍵署名の APK が正式版として公開されていた)。鍵はリポジトリへ入れず、`~/.gradle/gradle.properties` か環境変数で `GKILL_RELEASE_KEYSTORE` / `GKILL_RELEASE_KEYSTORE_PASSWORD` / `GKILL_RELEASE_KEY_ALIAS` / `GKILL_RELEASE_KEY_PASSWORD` を渡す(初回は `keytool -genkeypair -v -keystore 〈保管先〉.jks -alias gkill -keyalg RSA -keysize 4096 -validity 10950` で作成し、keystore とパスワードはリポジトリ外で保管する)。未設定の `assembleRelease` は未署名 APK(`app-release-unsigned.apk`)になり、配布名への rename が見つからずパイプラインが止まる — 黙って debug 鍵の配布物へ戻ることはない。`verify_release_artifacts` が `apksigner verify --print-certs` で署名の実在と「debug 証明書(CN=Android Debug)でないこと」を検査し、apksigner が見つからない環境では fail-closed で止まる。**署名鍵が debug から変わった版へ更新する既存インストール端末は、署名不一致でそのまま更新できず、アンインストール→再インストールが必要**(リリースノートに明記すること)。

**リリースゲート(テスト済み attestation):** `npm run release` の先頭は `verify_release_gate`(`src/tools/verify_release_gate.mjs`)で、**外さない・抜け道フラグを作らない**(`--no-verify` 禁止と同じ思想)。ゲートは①作業ツリーがクリーン(untracked も不可)②必須スイート全部(`attestation.mjs` の `REQUIRED_SUITES` = `npm test` の並びから `install_server` を除いた9本)が **HEAD^{tree} と同じ tree hash** で `test_attestation.local.json` に記録済み ③E2E は PATH 上の `gkill_server version` が出す `tree:` も一致 ④GitHub の `ci.yml` がこの HEAD で success、直近の `nightly.yml` が success・48時間以内・HEAD の祖先・以後に依存の宣言(`DEPENDENCY_MANIFESTS`)が変わっていない — を fail-closed で検査し、通れば `release/RELEASE_ATTESTATION_<version>.json` を書く(`verify_release_artifacts` が SHA256SUMS に載せ、ビルド後にも HEAD と clean を再検査する)。守ること: **記録は `run_test_suite.mjs`(`npm run test_*` / `verify_docs` の実体)だけが書く。手で書かない・`record` サブコマンドを足さない。** 束縛先は commit SHA ではなく作業ツリーの tree hash(dirty でテスト→そのまま全部コミットなら再テスト不要。バージョン bump も tree を変えるので bump 後に回す)。余剰引数(`npm run test_client_e2e -- --workers=2`)は各スイートへ素通しし、並列度・レポータなど許可リスト内なら記録、`-run`/`--grep`/ファイル名は記録しない。**`verify_docs` / `test_plugins` / `test_android` / `test_wear_os` は引数が検査内容を置き換える(`--list`・`vet`・Gradle タスク名)ので引数が1つでもあれば記録しない。** `CI` 環境変数があれば記録しない。git は全部 `-c core.autocrlf=true` で呼び、クリーン判定は `git status` ではなく `git diff --name-only HEAD` + `ls-files --others`(status はサイズ差だけで modified と言う。WSL の /mnt/c では素の status が百数十件の偽 dirty を出す、実測)。`gkill_server version` は `PersistentPreRun` でログを初期化するので必ず `--gkill_home_dir <home>/gkill_test --log none` を付けて呼ぶ。`test_attestation.local.json` は `.gitignore` の**明示行**で ignore(`*.local` は `.local` で終わる名前にしか当たらない。ignore されていないと自己参照で壊れるので `assertAttestationIgnored` が止める)。リポジトリ外の配置スクリプトはこのゲートを通らない — 呼ぶ側で `npm run verify_release_gate` を先に実行すること。

**Dev server backend target:** `npm run dev` runs `src/tools/dev.mjs`, a thin wrapper that strips `--api` / `--api-target` (Vite errors on unknown CLI options) and passes the value to Vite as `GKILL_API_PROXY_TARGET`; all other args pass through untouched. Accepts a full URL, a bare port (`--api=19999` → `http://127.0.0.1:19999`), or `host:port`. Precedence: `--api` > `GKILL_API_PROXY_TARGET` > `http://localhost:9999`. `vite.config.ts` proxies `/api`, `/files`, `/zip_cache` and `/resources/manual` to that target — SPA routes (`/rykv`, `/kftl`, `/mi`, `/rudbeckia`, …) are deliberately not proxied since vue-router owns them in dev.

**E2E test environment:** `$HOME/gkill_test` as dedicated gkill home. `npm run test_client_e2e` automatically cleans, starts gkill_server (fresh admin, no password) and a Vite dev server, runs Playwright, and stops both. See `src/client/__tests__/e2e/run-e2e.mjs`.

**Ports are never fixed in tests.** `run-e2e.mjs` allocates free ports from the OS (`src/client/__tests__/e2e/free-port.mjs`) and passes them as `--address 127.0.0.1:<port>` (gkill_server) and `--port <port> --strictPort` (Vite), so a production gkill_server occupying `:9999` never collides. The ports reach the tests via `GKILL_E2E_BASE_URL` / `GKILL_E2E_VITE_URL` (read by `playwright.config.ts`, `check-server.ts`, `auth.setup.ts`), and Vite's `/api` proxy target via `GKILL_API_PROXY_TARGET` (`vite.config.ts`) — which also prevents E2E writes from ever reaching a production server. Leftover-process cleanup only kills `gkill_server` processes whose command line contains `gkill_test`. Nothing else in `npm test` binds a fixed port: Go tests use `httptest` (ephemeral), and MCP/Android/Wear OS tests bind none.

**E2E の保存待ちは commit_tx まで**(2026-09-15)。追加/編集画面は本体とタグを `tx_id` で束ねて `commit_tx` で確定する(ADR-0410)ので、`crud-helpers.ts` の `clickDialogButton` は最初の書き込み応答(`add_*` / `update_*`=一時リポジトリに積んだだけ)を見たあと、そのリクエストに `tx_id` が付いていれば `commit_tx` の応答まで待つ。ここを待たずに `page.goto` で遷移すると commit が中断されて**記録は1件も書かれない**(Mi 画面系の spec がそれで落ちた)。commit_tx の `waitForResponse` は**クリックの前に張る**(応答が先に返ってから張ると永久に待つ)。tx を使わない保存では commit_tx は飛ばないので、その promise は使わずに捨てる。

**Test details:** See `documents/reverse/testing-guide.md`, `src/ABOUT_TEST.md` for per-directory test specs.

## 関連スキル

- [gkill-docs](../gkill-docs/SKILL.md) — `npm run verify_docs` が検査する内容(`npm test` に含まれる)
Loading
Loading