Repository navigation
fix(a2a_fleet): dashboard dedup managed peers by (repo, mode) not repo (#95) - #96
Merged
Merged
Conversation
#95) _managed_repos() (read-only dashboard API) keyed dedup on repo_path alone, so a repo running more than one mode (e.g. cc + codex in the same repo) had every mode after the first silently dropped from the conversations/peers feed — and thus from the Matrix3D A2A page. The docstring even claimed "covers all 4 modes ... deduped by repo_path", contradicting itself. Key dedup by (repo_path, mode). Each mode in a repo now surfaces as its own peer. Docstring corrected. Adds two regression tests: cc+codex in one repo both appear; same (repo, mode) across two profiles still collapses to one. Falsification-verified: reverting the key to repo-only fails exactly the new multi-mode test. Full suite 380 passed. a2a_fleet -> v0.8.6. No front-end change (switchui #183 already correct); dashboard restart picks it up. opencode/agy still need fleet.yaml entries to appear (genuinely unconfigured, not dedup casualties). Closes #95. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🔎 Lint report:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Root cause (#95)
dashboard/plugin_api.py::_managed_repos()deduped managed peers byrepo_pathalone (key = str(repo)). A repo running more than one mode — e.g. aclaude_code+codexpeer in the same repo — had every mode after the first silently dropped from the conversations/peers feed, and therefore from the Matrix3D A2A page. The docstring claimed "covers all 4 modes … deduped by repo_path", contradicting itself.Fix
One-line key change:
key = (repo_str, mode). Each mode in a repo now surfaces as its own peer. Docstring corrected.Tests
test_managed_repos_keeps_multiple_modes_in_one_repo— cc + codex in one repo → both appear.test_managed_repos_dedupes_same_repo_AND_mode_across_profiles— same (repo, mode) across two profiles still collapses to one row (same-mode dedup intact).Scope notes
opencode/agystill need their ownfleet.yamlentries to appear — they were genuinely unconfigured, not dedup casualties.a2a_fleet → v0.8.6.
Closes #95.
🤖 Generated with Claude Code