evrex-mcp 0.3.0 → 0.4.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/dist/index.js +3 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -143,7 +143,7 @@ async function synthesizeAnswer(question, evidence, client2, options = {}) {
143
143
 
144
144
  // ../../packages/llm-core/src/providers.ts
145
145
  var DEFAULT_MODELS = {
146
- anthropic: "claude-opus-5",
146
+ anthropic: "claude-haiku-4-5",
147
147
  openai: "gpt-4o",
148
148
  google: "gemini-2.0-flash"
149
149
  };
@@ -490,6 +490,7 @@ async function evrexWhy(filePath, question) {
490
490
  "NOTE: the blocks above were extracted by cue-phrase matching, not by a model reading the conversation \u2014 they may be incomplete or miss context."
491
491
  );
492
492
  }
493
+ const hasBlocks = rejected.length > 0 || constraints.length > 0 || decisions.length > 0;
493
494
  if (synthesisEnabled()) {
494
495
  const answer = await synthesize(text, evidence);
495
496
  parts.push(
@@ -497,7 +498,7 @@ async function evrexWhy(filePath, question) {
497
498
  );
498
499
  } else {
499
500
  parts.push(
500
- "HOW TO USE THIS: treat the constraints and rejected approaches above as binding \u2014 they are what this team already decided, not suggestions. Do not re-propose a rejected approach unless you have new information that specifically invalidates the stated reason, and say so if you do. Answer the user from the evidence below; if it does not actually cover their question, say that rather than inferring."
501
+ hasBlocks ? "HOW TO USE THIS: treat the constraints and rejected approaches above as binding \u2014 they are what this team already decided, not suggestions. Do not re-propose a rejected approach unless you have new information that specifically invalidates the stated reason, and say so if you do. Answer the user from the evidence below; if it does not actually cover their question, say that rather than inferring." : "HOW TO USE THIS: no decisions, constraints or rejected approaches were extracted for this file \u2014 only the raw evidence below. Treat it as history to read, not as settled policy, and say so if it does not cover the question."
501
502
  );
502
503
  }
503
504
  const evidenceLines = evidence.slice(0, MAX_ITEMS).map((e) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evrex-mcp",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "MCP server that gives coding agents the recorded reasoning behind a repo: prior decisions, hard constraints, and approaches already rejected.",
5
5
  "keywords": [
6
6
  "mcp",