buzz-acp: reconcile kind 10100 profiles for manually hosted agents
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
### Summary
Desktop 0.5.12+ correctly fails closed when a remote agent lacks a current kind `10100` directory profile, but manually hosted `buzz-acp` identities never publish that event. After upgrading Desktop, those agents disappear from mention autocomplete and typed `@name` text is sent without a `p` tag, so the harness cannot wake.
### Reproduction
1. Provision a headless agent using relay membership, channel bot membership, a kind `0` profile, and `buzz-acp`.
2. Do not publish kind `10100` (the legacy/manual provisioning path).
3. In Desktop 0.5.14, type the agent name in a channel composer.
4. The agent is absent from autocomplete; literal text is signed without its recipient tag.
Relay membership, channel membership, profile lookup, relay ingestion, and harness delivery all remain healthy. Explicit CLI sends with `--mention ` still wake the agent.
### Confirmed compatibility details
- Publishing a complete kind `10100` restores Desktop autocomplete and signed-recipient delivery without restarting Desktop.
- For `respond_to=allowlist`, the public `respond_to_allowlist` must include the configured owner even though `buzz-acp` admits the owner implicitly at runtime. Desktop evaluates the directory allowlist literally.
- Runtime `owner-only` must likewise be projected to an equivalent one-owner public allowlist for remote directory admission.
- Replaceable profiles must be reconciled as complete documents. Publishing only `channel_add_policy` can erase the fields Desktop needs.
### Proposed fix
Have `buzz-acp` reconcile its complete kind `10100` profile at startup after channel discovery: preserve unknown fields, publish actual channel names/IDs and effective response policy, include the implicit owner, retain or explicitly configure `channel_add_policy`, skip unchanged profiles, and keep failures non-fatal.
This was reproduced against Desktop 0.5.14 after the mention authorization hardening in #5681, and verified with a live headless canary.
Contributor guide
Assessment
This issue has not been assessed yet.