secufusion-mcp 2.2.9 → 2.3.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.
- package/.claude-plugin/plugin.json +1 -1
- package/mcp/dist/server.js +28 -3
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "secufusion-mcp",
|
|
3
3
|
"description": "SecuFusion MSSP platform dev agent — project-level spec driven, tenant-isolation enforced, zero-trust guardrails. 5 Core Slash Commands: /sfn-init (dynamic DNA + architecture diagram + watcher), /sfn-plan (philosophy check + intent WHY + classify + plan), /sfn-code (spec-driven implementation), /sfn-review (zero-tolerance 3-tier PR gate), /sfn-explore (on-demand service graph or blast-radius analysis).",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.3.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Motivity Labs"
|
|
7
7
|
},
|
package/mcp/dist/server.js
CHANGED
|
@@ -2033,15 +2033,40 @@ server.tool("classify_task", "MANDATORY FIRST STEP for every task without except
|
|
|
2033
2033
|
}
|
|
2034
2034
|
// ── Step 4: Signal scoring ────────────────────────────────────────────
|
|
2035
2035
|
const corpus = (title + " " + description).toLowerCase();
|
|
2036
|
-
|
|
2037
|
-
|
|
2036
|
+
// Structural backend terms — always a reliable signal of backend work regardless of task type
|
|
2037
|
+
const BACKEND_STRUCTURAL = [
|
|
2038
2038
|
"migration", "kafka", "consumer", "producer", "topic",
|
|
2039
|
-
"
|
|
2039
|
+
"database", "db", "repository", "backend",
|
|
2040
|
+
];
|
|
2041
|
+
// Contextual backend terms — these appear naturally when *describing* a bug symptom
|
|
2042
|
+
// ("the events API returns X", "service returns wrong value") without implying
|
|
2043
|
+
// backend work is needed. Counted for non-bugs only, OR for bugs that also contain
|
|
2044
|
+
// explicit backend-change language (see BACKEND_CHANGE_PHRASES below).
|
|
2045
|
+
const BACKEND_CONTEXTUAL = [
|
|
2046
|
+
"api", "endpoint", "service", "server", "rest",
|
|
2047
|
+
"json response", "payload", "query", "schema",
|
|
2048
|
+
];
|
|
2049
|
+
// Explicit backend-change phrases: these restore contextual terms even for bugs,
|
|
2050
|
+
// because they signal genuine backend scope rather than symptom description.
|
|
2051
|
+
const BACKEND_CHANGE_PHRASES = [
|
|
2052
|
+
"change the api", "update the api", "fix the api", "api contract",
|
|
2053
|
+
"update endpoint", "change endpoint", "fix endpoint", "new endpoint",
|
|
2054
|
+
"modify schema", "update schema", "alter table", "add column",
|
|
2055
|
+
"api change", "breaking change", "response contract", "request body",
|
|
2056
|
+
"fix the service", "update the service",
|
|
2057
|
+
];
|
|
2058
|
+
const hasExplicitBackendChange = BACKEND_CHANGE_PHRASES.some(p => corpus.includes(p));
|
|
2059
|
+
const isBugOrHotfix = task_type === "bug" || task_type === "hotfix";
|
|
2060
|
+
const BACKEND_SIGNALS = [
|
|
2061
|
+
...BACKEND_STRUCTURAL,
|
|
2062
|
+
// For bugs: contextual terms only re-admitted when description explicitly calls for backend change
|
|
2063
|
+
...(isBugOrHotfix && !hasExplicitBackendChange ? [] : BACKEND_CONTEXTUAL),
|
|
2040
2064
|
...learnedSignals.backend, ...learnedSignals.phrase, ...learnedSignals.bug_category
|
|
2041
2065
|
];
|
|
2042
2066
|
const FRONTEND_SIGNALS = [
|
|
2043
2067
|
"ui", "frontend", "react", "component", "page", "screen", "button",
|
|
2044
2068
|
"modal", "layout", "style", "css", "web ui", "browser ui", "render",
|
|
2069
|
+
"timestamp", "date format", "timezone", "display", "label", "icon", "text",
|
|
2045
2070
|
...learnedSignals.frontend
|
|
2046
2071
|
];
|
|
2047
2072
|
const EXTENSION_SIGNALS = [
|
package/package.json
CHANGED