loopctl-mcp-server 2.27.0 → 2.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +14 -4
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -2467,7 +2467,9 @@ const TOOLS = [
2467
2467
  "a keyword and a semantic sub-search, each capped at 100, so up to ~200), or filtered_set " +
2468
2468
  "(list mode: the full set). Do NOT use a relevance-mode total_count to size the wiki — use " +
2469
2469
  "list mode or knowledge_stats. " +
2470
- "Pass story_id when working on a loopctl story so reads attribute correctly.",
2470
+ "Pass story_id when working on a loopctl story so reads attribute correctly. " +
2471
+ "When you knowledge_get a result and it carries `potential_conflicts`, resolve it if it's " +
2472
+ "material to your task (see knowledge_get / the conflict-resolution wiki playbook).",
2471
2473
  inputSchema: {
2472
2474
  type: "object",
2473
2475
  properties: {
@@ -2520,7 +2522,12 @@ const TOOLS = [
2520
2522
  name: "knowledge_get",
2521
2523
  description:
2522
2524
  "Get full article content by ID. Use after search to read an article in detail. " +
2523
- "Pass story_id when working on a loopctl story so reads attribute correctly.",
2525
+ "Pass story_id when working on a loopctl story so reads attribute correctly. " +
2526
+ "If the response carries a non-empty `potential_conflicts` array AND the conflict is " +
2527
+ "material to your current task, act on it: read the peer, judge redundant/complementary/" +
2528
+ "contradictory against the live system, and knowledge_resolve_conflict (dismiss a false " +
2529
+ "positive, supersede when one clearly wins, merge when both should combine). If you can't " +
2530
+ "tell which is right, leave it. See the 'Resolving knowledge conflicts' wiki playbook.",
2524
2531
  inputSchema: {
2525
2532
  type: "object",
2526
2533
  properties: {
@@ -2957,7 +2964,9 @@ const TOOLS = [
2957
2964
  "the two don't actually conflict; drops out of the queue immediately); 'supersede' " +
2958
2965
  "(one article wins — pass authoritative_article_id, the winner; the nightly executor " +
2959
2966
  "creates a supersedes link and retires the loser, but ONLY at confidence:\"high\" — " +
2960
- "reversible and audited); 'merge' (recorded for the later merge step). Non-destructive " +
2967
+ "reversible and audited); 'merge' (at confidence:\"high\" the nightly executor has an LLM " +
2968
+ "synthesize the two into ONE new DRAFT — both sources preserved, never auto-published, " +
2969
+ "for you/a human to review and publish). Non-destructive " +
2961
2970
  "at agent role — you record intent; the privileged nightly job executes it. " +
2962
2971
  "Last-write-wins per pair, so re-recording with fresher ground truth overrides. " +
2963
2972
  "Resolve only conflicts material to your current task; adjudicate against the actual " +
@@ -2979,7 +2988,8 @@ const TOOLS = [
2979
2988
  enum: ["dismiss", "supersede", "merge"],
2980
2989
  description:
2981
2990
  "dismiss = false positive; supersede = one wins (set authoritative_article_id); " +
2982
- "merge = combine (recorded for the later merge step).",
2991
+ "merge = combine both into one new DRAFT (LLM-synthesized by the nightly executor " +
2992
+ "at high confidence; sources preserved, never auto-published).",
2983
2993
  },
2984
2994
  authoritative_article_id: {
2985
2995
  type: "string",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "loopctl-mcp-server",
3
- "version": "2.27.0",
3
+ "version": "2.28.0",
4
4
  "description": "MCP server for loopctl — structural trust for AI development loops",
5
5
  "type": "module",
6
6
  "main": "index.js",