Bind agent mentions to visible source identities
- 主要言語
- Rust
- スター
- 54.2k
- フォーク
- 6.2k
- 平均マージ
- 3日 4時間
- マージ済み PR(30日)
- 240
説明
**What problem would this solve?**
Agent autocomplete currently presents a name and description but not the source type or path. When project-local and global sources use the same name, discovery resolves the collision by order while the selected mention remains name-only. Users cannot reliably tell which source will run, and the client cannot preserve the identity of the item they selected.
**What would a good outcome look like?**
- Autocomplete visibly distinguishes project-local, global, recipe, and agent sources when names collide.
- Selecting an entry binds invocation to that exact source identity instead of repeating a name-only lookup.
- Existing unambiguous `@name` use remains compatible.
- Ambiguous or stale identities fail visibly rather than silently selecting another source.
**Possible approaches**
- Extend the ACP mention payload and invocation syntax with an opaque source identifier while retaining `@name` as display text.
- Define explicit collision behavior and provenance labels across server discovery, Desktop autocomplete, and CLI invocation.
- Alternatively, reject ambiguous duplicate names and require the user to rename one source.
The design should specify precedence, backward compatibility, how moved/deleted sources fail, and tests covering local/global collisions from discovery through invocation.
**Additional context**
This requires a cross-component identity contract, so implementation should wait for agreement on the intended UX and compatibility behavior.
- [x] I have verified this does not duplicate an existing feature request
Do not begin implementation until the issue reaches **Ready** on the [Goose Issues board](https://github.com/orgs/aaif-goose/projects/1).
コントリビューションガイド
調査の方向性
The issue describes a cross-component identity contract for agent mentions. Start by examining the autocomplete and invocation code paths in the server discovery, Desktop client, and CLI. Look for the current mention payload structure and source resolution logic. 'Done' means the design is agreed upon and specifies precedence, backward compatibility, and failure modes for moved/deleted sources.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- ai-infra-agents, backend-api-design, cli
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100