feat(mcp): lane_h_list + lane_h_fetch — devagentic-lane-h plugin (closes #58, G4 of devagentic#203)#65
Merged
Merged
Conversation
closes #58, G4 of devagentic#203)
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.
Closes #58. G4 of TechDevGroup/devagentic#203.
Depends on TechDevGroup/devagentic#207 (reasoningGraftCandidates GraphQL query). Merge that first.
Summary
plugins/devagentic-lane-h/with the same shape as the other devagentic-adjacent plugins.mcp_serve.py::_register_lane_h_tools:lane_h_list(user_id?, limit?)— wrapsreasoningGraftCandidates(userId, limit)GraphQL querylane_h_fetch(graft_id)— wraps the existingsearchDocs(query, k:1)retrieval pattern + validates thekind:reasoning-graft-candidatetagDesign — no
request_reasoning_grafttoolThe original G4 issue proposed a
requestReasoningGraft(prompt, lift_model?)MCP tool. Investigation showed Lane H is event-driven, not request-response: the cycle_tick auto-emitskind:reasoning-graft-candidatedocs when a confer-result clears the Lane H confidence threshold (api.py ~line 8139 + ~line 23990, both gated on_lane_h_auto_trigger_enabled()). There is no manual-request entry point.The actual worker flow per NousResearch#174:
So G4 ships as a read surface only. The "request" side is implicit via
confer_run(G2, already shipped). Documented in the plugin README +__init__.py.Test plan
create_mcp_server()smoke-import succeeds;lane_h_list+lane_h_fetchregistered alongside existing tools (31 total).Notes
lane_h_listaccepts an optionaluser_idarg to allow operators to query other users' grafts from their own profile; defaults to the active profile when omitted.lane_h_fetchuses the samesearchDocsretrieval pattern asdevagentic-docs'sget_doc(devagentic has no GET-by-id GraphQL field) but adds kind-tag validation so workers can't accidentally pull a non-Lane-H doc.