feat(mcp): steer callers toward parallel, evidence-cited investigations#440
Draft
LikiosSedo wants to merge 3 commits into
Draft
feat(mcp): steer callers toward parallel, evidence-cited investigations#440LikiosSedo wants to merge 3 commits into
LikiosSedo wants to merge 3 commits into
Conversation
Mirror of sicore feat/a2a-mcp-caller-guidance (the two instruction surfaces are a verbatim-sync contract). The instructions read as a serial protocol, but the A2A task layer runs independent investigations concurrently and the agent answers capability and evidence/confidence requests well when asked. Tell consuming models to fan out independent hypotheses, probe bound clusters before guessing target names, and request source citations for diagnostic conclusions. Text-only; 30 tests green.
Collaborator
Author
|
Closing without merge: all current consumers use the HTTP MCP endpoint served by sicore (/api/v1/mcp), so the stdio adapter's instruction text has no runtime effect. The sicore side carries the change. Branch feat/a2a-mcp-caller-guidance is kept as a ready-made sync patch if the adapter ever ships a v0.1.1. |
Working responses deliberately withheld the partial report for compactness, which left pollers with only progress_chars and the last tool-event status string — enough to know the task is alive, not enough to relay what the investigation is doing. Expose the last 400 runes of the partial report as progress_tail (text + structuredContent), keeping the compactness property: the tail is bounded regardless of report size and terminal responses are unchanged. Also count progress_chars in code points instead of UTF-16 units so the number matches the sicore HTTP endpoint's rune count on CJK reports. Mirror of sicore feat/a2a-mcp-progress-tail (verbatim-sync contract).
Review finding on the sicore mirror (MR !693): taskView added the working-task tail unconditionally, so siclaw_list_tasks rows started carrying investigation text — listings exist to recover task IDs and deliberately withhold stored reports. Rename the includeTerminalResult parameter to includeReport and gate BOTH the terminal result and the working progress_tail on it; add a regression test that a working task's listing row carries neither. Mirror of the same fix on sicore feat/a2a-mcp-progress-tail.
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.
Mirror of sicore
feat/a2a-mcp-caller-guidance— the two instruction surfaces (sicoremcpInstructions/tool defs and this adapter'sSERVER_INSTRUCTIONS/TOOL_DEFINITIONS) are a verbatim-sync contract.Why
Live testing against the production MCP endpoint (2026-07-22) showed the tool layer is healthier than the instructions imply:
All three are caller-guidance gaps, not server gaps. This adds three sentences to the instructions and one clause to the
siclaw_investigatedescription; no schema or behavior change.Testing
npx vitest run).