fix(server): the mode schema advertises the real board vocabulary - #52
Merged
Merged
Conversation
The create_task and set_task_mode descriptions listed four modes — code / advanced / ask / orchestrator — of the board's eight, so an agent reading the schema had no way to learn it can ask for plan, review, refactor, or devsecops. The half it did list is also the half Bob 2.0 no longer runs under those names: code, advanced and orchestrator all remap to agent at dispatch. List all eight, mark which are read-only, and state the two things a caller cannot infer from the slug alone: that the 1.x trio runs as agent on 2.0, and that review/refactor/devsecops resolve only where the workspace carries .bob/custom_modes.yaml (elsewhere they now downgrade with a warning rather than hang). Point at predict_mode for the routing preview instead of restating the keyword table. lhm.plugin.json carries the same two strings verbatim — it is the marketplace listing's copy of this schema — so it moves with them.
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.
Problem
create_task.modeandset_task_mode.modedescribed the board's modes as:Two things wrong with that, both affecting every agent that reads the tool schema:
plan,review,refactor, anddevsecopsare all real board slugs with their own routing rules and safety profiles inmodes.ts, and none of them appear. A caller has no way to discover from the schema that it can ask for a review.code/advanced/orchestratorare not modes Bob has —toBob2Moderemaps all three toagentat dispatch. The schema advertised the one subset that no longer means what it says.This is also the copy that ships to the marketplace:
lhm.plugin.jsoncarries these strings verbatim, so the listing published the same wrong schema.Change
Both descriptions now name all eight slugs, mark
ask/plan/reviewread-only, and state the two facts a caller cannot infer from a slug:code/advanced/orchestratorrun asagenton Bob 2.0review/refactor/devsecopsresolve only where the workspace carries.bob/custom_modes.yaml; elsewhere they downgrade with a warning (2.3.1) rather than hangRouting itself still points at
predict_moderather than restating the keyword table, so there's one source of truth for how a modeless task gets routed.No behavior change — these are description strings. The board's accepted vocabulary,
MODE_PROFILES, and the router are untouched.Verification
lhm.plugin.json's two strings were checked byte-for-byte against the builtdist/server.jsrather than eyeballed, so the marketplace copy cannot drift from the served schema:Gate green: lint, format:check, 736/736.