01
全履歴の再確認と補足
379コミットで1.94.4〜1.106.0をリリースしました。Add-on契約パッケージ(@openmake/plugin-contracts)の分離、BaseのAdd-onテーブルSQL 0件とデータモジュール分離、フェンシングトークンによる独立Knowledge Workerプロセス、長期実行タスクチェーン、Discord /task連携、チェックポイント分岐状態の隔離、.node-version単一基準化、Companion 0.3.7(macOS)/0.1.8(Windows)リリースを反映しました。
2026-11-09にmain 815899a1の到達可能な全履歴を再確認しました。KST月曜00:00から日曜23:59:59までのコミット日で集計し、マージ・リリース・並列ブランチの別コミットを含みます。コミット数は機能数ではありません。テストと運用測定は当時のソース記録です。
02
開発状況
- Add-onの境界を契約パッケージとして明確に分離し、BaseのAdd-onテーブルSQL 0件を達成しました。@openmake/plugin-contractsパッケージを新設し、ライフサイクル契約(AddonRuntimeHandle、start/stop/drain/resume)、アクティブ状態、マニフェスト、貢献DTOをコア(apps/api)から分離しました。管理者が切り替えると、disabledは即座にdrain停止し、enabledはresume処理され、起動に失敗したadd-onはADDON_FAILED(503)として区別してルートやチャットフックでの通過を安全に防ぎます。またAdd-onデータモジュール(deleteUserData、exportUserData、purgeExpiredData)を導入してユーザー脱退・エクスポート・保存クリーンアップ時のAdd-on所有データの独立責任を確立し、BaseのAdd-on所有テーブルへの直接SQL呼び出しを0件に凍結しました。スキル・MCP・ディープリサーチWeb画面もWeb Add-onレジストリ方式で分離し、BaseからのAdd-on直接importを遮断しました(be6e1d5b、5b6108d1、d9520e77、a13edd42、e00d4523、e37bc868、ea8f2e97、34444e7e、2fee1a95、bd6af41f)。
- Knowledge収集ワーカーをAPIサーバーから分離し、専用プロセスとして起動しました。workers/knowledge-workerエントリポイントとPM2 openmake-knowledge-worker設定を用意し、ジョブキューマイグレーション004を適用しました。分散環境やジョブの再選定時のデータ汚染を防ぐため、DB Fencing Token(JobLease、assertLeaseHeld)を導入し、leaseを失った実行者によるチャンク置換・埋め込み挿入・インデックス切り替えの書き込みを拒否します。収集ジョブキャンセルAPI(POST /api/knowledge/jobs/:id/cancel)、ハートビート監視、ロールバック訓練スクリプトも整えました(3b6d0734、ec1f49e9、feee184e、3c00812d、cf4f4870、90927920)。
- エージェントタスクに長期実行チェーンを導入しました。ターン・時間・コンテキスト上限に達した際に失敗終了させる代わりに、引き継ぎターンプロンプトとワークスペーススナップショットを後続セグメントに渡す継続チェーン(マイグレーション188/189)を導入しました。進捗のないテキスト応答をセグメント進行とみなさないチェーン暴走ガードを設け、セグメントの時間上限を残りの総チェーン時間で制限しました。Web UIではチェーンセグメントをルートカードに折りたたみ、継続バッジと累積使用量を表示します(2121b163、70f959ca、a87a9d94、3751160a、52b95855、f38e7726)。
- モデルサーバーの障害やデバイス切断に対する回復力を強化しました。モデルサーバーの長期障害や無応答時にタスクを失敗処理せず保留(parking)し、モデルヘルスが回復すると自動的に再開します。再起動によって切断されたローカルデバイスのタスクもデバイス待機として保留し、再接続後に引き継ぎます。繰り返される自動復旧は試行回数上限で停止します。ホストおよび外部ツール呼び出しに共通のタイムアウトを設け、中断シグナルに即座に反応するようにしました(79aec5d3、115061ef、e75a4ad7、68acb4ee、e79b3c73)。
- Discordボットからエージェントタスクを直接操作できるようにしました。/taskスラッシュコマンドとキャンセルボタンによりチャンネルからタスクの開始・承認・キャンセルを行い、ボットがタスク進行をリアルタイムで追跡します。タスク完了時には生成されたMarkdownアーティファクトとワークスペースファイル(file_ops)をDiscordファイル添付としてチャンネルに配信します。チャンネルにアップロードされた画像やドキュメントをバックエンドに転送して分析でき、Discordで崩れていたMarkdown表を太字の見出しとリストへ自動変換して表示します(3d63b3e5、171bfa02、dd520537、16f9688f、73e97bc7、9e9ec147)。
- 意思決定アダプタにシャドウゲート2種を導入しました。検索の必要性を判定するゲートと、回答が実際の出典に根拠づけられているかを文単位で検証する回答根拠ゲートを接続しました。多段階計画が不要な検索クエリはPlannerをスキップして検索判定とともに直行するよう最適化し、オーケストレーターの内部タスク名が回答文に漏洩しないよう遮断しました(40946847、93580625、ee7d9e70、32ea6a2d、5322c324)。
- 運用検証とAPI負荷測定の体制を確立しました。scripts/bench/api-load.mjsハーネスとベースライン比較(D6)を構築し、起動ピークメモリがベースラインを汚染しないよう--settle待機(デフォルト90秒)を適用しました。統合検証マトリクスとリリース候補レポートツールを追加し、runbook §11に2026-10-16のステージング・本番デプロイ完了を正式に記録しました(ca4d3573、3d259d57、2d885d9a、6a07e962、7f9f3f14)。チェックポイント分岐後に子分岐の変更が親タスク状態を汚染しないよう分岐隔離の修正を行いました(51f99d52)。
- セキュリティ脆弱性とインターフェースの欠陥を修正し、ランタイム基準と運用手順を統一しました。safeFetchがredirect: 'manual'・'error'を尊重するように修正し、MCP SDKのsame-originリダイレクトポリシーが迂回されないよう遮断しました。アップロードファイル名長を200バイトに制限してENAMETOOLONGエラーを防止し、チャット開始画面のクイックスタートカード案内文とUI選択性を改善しました(07c5d1be、b0c8933c、84889d7f、adf04868)。Node.jsランタイムを.node-version(24.21.0)単一の情報源として固定し、リリース環境のデプロイスモークは書き込みのない/readyで確認し、複数インスタンス共有バックアップフォルダを隔離し、非対話型uninstall承認を補完しました(cf6f8298、26ef5798、472527b5、b2de90d5、0c51417c)。ブリッジコアでの再接続ソケットhello重複防止(0d557ab8)とシェルパス探索時のmise環境変数引き渡し(00ecc71b)を反映したmacOS 0.3.7・Windows 0.1.8 Companionをサーバーリリースに同梱しました(e8926ef0、490f925b、176a552a、d29c34e7)。
根拠資料
根拠
- この週のリポジトリコミット: 0641c480
- この週のリポジトリコミット: fc022064
- この週のリポジトリコミット: d29c34e7
- この週のリポジトリコミット: 561a3503
- この週のリポジトリコミット: 472527b5
- この週のリポジトリコミット: 1c19f262
- この週のリポジトリコミット: b2de90d5
- この週のリポジトリコミット: bd6af41f
- この週のリポジトリコミット: 34444e7e
- この週のリポジトリコミット: 2fee1a95
- この週のリポジトリコミット: 0f111ba9
- この週のリポジトリコミット: 0c51417c
- この週のリポジトリコミット: ea8f2e97
- この週のリポジトリコミット: 176a552a
- この週のリポジトリコミット: c6243c26
- この週のリポジトリコミット: 87e38d8c
- この週のリポジトリコミット: 490f925b
- この週のリポジトリコミット: d5fd4f78
- この週のリポジトリコミット: 39a2c577
- この週のリポジトリコミット: e8926ef0
- この週のリポジトリコミット: 984bffd6
- この週のリポジトリコミット: 26ef5798
- この週のリポジトリコミット: 51f99d52
- この週のリポジトリコミット: 5b6108d1
- この週のリポジトリコミット: e37bc868
- この週のリポジトリコミット: ec1f49e9
- この週のリポジトリコミット: feee184e
- この週のリポジトリコミット: 2121b163
- この週のリポジトリコミット: 3d63b3e5
- この週のリポジトリコミット: 07c5d1be
- この週のリポジトリコミット
- OpenMake変更履歴
OPENMAKE · APACHE 2.0 OPEN SOURCE
OpenMake