Migrate certain backend features into berd
- 主要言語
- Rust
- スター
- 54.2k
- フォーク
- 6.2k
- 平均マージ
- 3日 4時間
- マージ済み PR(30日)
- 240
説明
The goose ACP+ server implements several methods that are unused by the GRC. Most are used by [Berd](https://github.com/block/berd); the table below records current production usage and the recommended ownership boundary.
Assessment criteria:
- If neither GRC nor Berd uses a method, delete it unless there is another confirmed client.
- If Berd uses a method that manipulates Goose-owned runtime or persisted state, keep it in Goose ACP.
- If Berd uses a method for Berd-owned application content or lifecycle, move it into Berd's Tauri backend.
Method | Findings | Decision
-- | -- | --
`_goose/unstable/dictation/models/select` | No production usage found in GRC or Berd. | **delete (done)**
`_goose/unstable/dictation/secret/delete` | No production usage found in GRC or Berd. | **delete (done)**
`_goose/unstable/dictation/secret/save` | No production usage found in GRC or Berd. | **delete (done)**
`_goose/unstable/extensions/available` | No production usage found in GRC or Berd. | **delete(done)**
`_goose/unstable/onboarding/import/apply` | Used by Berd for first-boot migration; this is Berd application lifecycle behavior. | **migrate to berd**
`_goose/unstable/onboarding/import/scan` | Used by Berd for first-boot migration; this is Berd application lifecycle behavior. | **migrate to berd**
`_goose/unstable/preferences/remove` | No production usage found in GRC or Berd. | **delete(done)**
`_goose/unstable/providers/config/status` | Used by Berd to read Goose provider configuration state. | **keep**
`_goose/unstable/providers/setup/catalog/list` | Used by Berd; Goose owns the provider setup catalog and behavior. | **keep**
`_goose/unstable/providers/supported-models/list` | Used by Berd for model caching and model-selection repair; Goose owns provider model discovery. | **keep**
`_goose/unstable/session/archive` | Used heavily by Berd for chat archival and cleanup. GRC adoption is tracked in https://github.com/aaif-goose/goose/issues/11057. It mutates Goose session persistence. | **keep**
`_goose/unstable/session/project/update` | Used by Berd to associate sessions with Berd projects; project association is Berd-owned metadata. | **migrate to berd**
`_goose/unstable/session/system-prompt/set` | Used by Berd for security/background sessions and persona handoff; it mutates live Goose agent state. | **keep**
`_goose/unstable/session/unarchive` | Used by Berd to restore archived chats. GRC adoption is tracked in https://github.com/aaif-goose/goose/issues/11057. It mutates Goose session persistence. | **keep**
`_goose/unstable/sources/create` | Used by Berd for skills, projects, and personas. These are Berd-owned application content and CRUD can live in its Tauri backend. | **migrate to berd**
`_goose/unstable/sources/delete` | Used by Berd for skills, projects, and personas. These are Berd-owned application content and CRUD can live in its Tauri backend. | **migrate to berd**
`_goose/unstable/sources/export` | Used by Berd for skill export. | **migrate to berd**
`_goose/unstable/sources/import` | Used by Berd for skill and persona import. | **migrate to berd**
`_goose/unstable/sources/update` | Used by Berd for skills, projects, and personas. These are Berd-owned application content and CRUD can live in its Tauri backend. | **migrate to berd**
コントリビューションガイド
調査の方向性
この Issue には、Goose ACP+ サーバー内の具体的な API エンドポイントが列挙されています。まず、コードベース内でこれらのメソッドを探します。おそらく `_goose/unstable/` のようなパスの下にあります。'migrate to berd' とマークされた各メソッドについて、現在の実装と依存関係を把握します。次に、Berd Tauri バックエンドに同等の機能を実装し、Berd クライアントに breaking changes が生じないようにします。移行したエンドポイントをテストし、元のエンドポイントを削除または非推奨化できることを確認して検証します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- backend-api-design
- issue の種類
- リファクタリング
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 45/100