Skip to main content
Glama

rsi_conflicts

List, explain, and resolve suspected conflicts between learned memory and handwritten rules or paired knowledge sources, choosing which side to keep, merge, or archive.

Instructions

List or resolve suspected conflicts. Three kinds: (1) learned memory vs handwritten rules (contradiction/stale/overlap) — user_wins keeps your rule (learned memory no longer injected), memory_wins keeps learned memory (edit the rule file yourself), coexist keeps both and stops reminding; (2) knowledge pairs (version/doc_code/incoherent) — keep_item keeps item_id and archives the peer source_url, keep_peer keeps the user_rule_path side, coexist keeps both; (3) explain (conflict_id required) expands both sides read-only. Call explain first when the user wants detail; do not close the card. 查询疑似冲突并对冲突做出裁决。三类:① 学习记忆 vs 手写规则(contradiction/stale/overlap)——user_wins=以你的规则为准(学习记忆不再注入)、memory_wins=以学习记忆为准(返回规则文件位置请手动修改)、coexist=两者共存不再提醒;② 知识对(version/doc_code/incoherent)——keep_item=保留 item_id 侧并归档对侧 source_url、keep_peer=保留 user_rule_path 侧、coexist=两侧转/保持可用且不再提醒;③ explain(conflict_id 必填)=只读展开两侧摘录与各 option 影响,不改库。用户要展开说明时先 explain,不要关掉抉择卡。

Input Schema

NameRequiredDescriptionDefault
noteNoresolve 可选:裁决备注
limitNolist 分页:每页条数(夹到 [1, 200])
actionYeslist=查询冲突(默认) resolve=裁决 scan=立即扫描 explain=只读展开
offsetNolist 分页:起始偏移
statusNolist 过滤:open/user_wins/memory_wins/keep_peer/keep_item/coexist/closed/allopen
decisionsNoresolve 批量:逐条裁决,存在时忽略 conflict_id/resolution
resolutionNoresolve 必填:规则冲突用 user_wins/memory_wins/coexist;version/doc_code/incoherent 用 keep_peer/keep_item/coexist
conflict_idNoresolve/explain 必填:冲突 id
bootstrap_run_idNolist 过滤:只列该 bootstrap run 的冲突(item 侧或 user_rule_path 侧条目 tags 含 bootstrap_run_id:<id>)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With zero annotations the description carries the full burden and largely discharges it: it discloses the side effect of every resolution ('memory no longer injected', 'archives the peer source_url', 'stops reminding'), states that memory_wins leaves the edit to the user's rule file, and marks explain as read-only. These are exactly the mutation/destructiveness facts an agent needs before acting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and logically ordered into three numbered classes, but the entire content is duplicated in Chinese, roughly doubling length without adding information for a single-language reader. The resolution explanations are dense run-on clauses rather than scannable structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nine-parameter, no-annotation, no-output-schema tool, the description explains conflict classes, resolution semantics, and the read-only explain path — enough to act safely. It still omits the 'scan' action entirely and says nothing about what list returns or how paging interacts with status filtering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds genuine meaning beyond it by tying each resolution value to the conflict class it applies to and to its real-world effect, and by stating conflict_id is required for explain. It does not cover limit/offset/status/bootstrap_run_id, but the schema already documents those.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb pair plus resource ('List or resolve suspected conflicts') and then partitions the domain into three named conflict classes with their own vocabularies. Nothing in the sibling list (rsi_review, rsi_memory_health, rsi_knowledge_review) could be confused with this, since the description names its own artifact — a conflict card with resolution options.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Strong guidance for the explain path ('Call explain first when the user wants detail; do not close the card') and implicit guidance for choosing a resolution per conflict class. However, the action enum includes 'scan' and the description never mentions scanning at all, and there is no stated condition for choosing list versus resolve versus scan.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.