refactor(seller): remove the dead second agent axis (#200) - #299
Merged
Conversation
`[seller_roster]` and `seller_node::roster` formed an agent-selection axis parallel to the harness registry, and nothing read either one. The run loop resolves harnesses through `seller_agents::resolve` into an `AgentRegistry`; `select_agent`, `OfferNeeds` and `SelectedAgent` had no consumers outside their own module, and `SellerRosterConfig`/`RosterAgent` appeared only in `home.rs`. An operator could write a complete `[seller_roster]` section, have it validate, and get no behavioural change. The harness registry (`[seller] agents`) is the single agent axis. Verified: builds and tests clean with `--features acp,wallet,gateway` (646 passed, 0 failed, 0 filtered out); `#[test]` count in mobee-core moves 534 -> 528, exactly the 6 tests the deleted module carried. No config on disk uses the section (34 scanned, 0 hits), so nothing fails the `deny_unknown_fields` load. Closes #200. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Removes
[seller_roster]andseller_node::roster— the dead second agent axis described in #200.Why it is safe to delete rather than finish
Nothing read it. The run loop resolves harnesses through
boot_agent_registry→seller_agents::resolve(seller, &home.config.agents)into anAgentRegistry;select_agent(),OfferNeedsandSelectedAgenthad no consumers outside their own module, andSellerRosterConfig/RosterAgentappeared only inhome.rs, where they were parsed, validated and serialised. An operator could write a full[seller_roster]section — agents, capabilities,min_rate_sats,slots— have it validate cleanly, and get no behavioural change whatsoever.Under cleancut, a config surface a user can set that does nothing is a relic, and v1 ships without relics.
Verification
grepsuggested zero consumers; a clean build after deletion proves it.cargo buildandcargo testboth exit 0 with--features acp,wallet,gateway: 646 passed, 0 failed, 3 ignored,0 filtered out.0 filtered outis load-bearing, not decoration. Thewalletfeature gates the entireseller_nodemodule andmobee-corehasdefault = [], so a plaincargo testcompiles none of these tests and still printsok— over a zero numerator. Reviewers re-running this should use the same feature set and check that the count moved.#[test]inmobee-coregoes 534 → 528, and the deletedroster.rscontained exactly 6. No other test was touched.MobeeConfigcarriesdeny_unknown_fields, so removing the field would make any config still carrying the section fail to load. Scanned everyconfig.tomlunder/srv/forgeand~/.config— 34 configs, 0 with[seller_roster].Scope
Deliberately its own PR. The roster-drop feature (#254) extends
seller_agents::AgentRegistryand is a separate semantic unit — a removal buried in a feature diff would spoil both reviews.Closes #200.
🤖 Generated with Claude Code