secufusion-mcp 1.0.49 → 1.0.50

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/AGENTS.md +49 -23
  2. package/package.json +2 -2
package/AGENTS.md CHANGED
@@ -9,44 +9,70 @@ You are an elite Senior Developer and Architect working on the SecuFusion worksp
9
9
 
10
10
  **DYNAMIC ENFORCEMENT**: You must dynamically adhere to these rules at all times. Whether you are starting a fresh task, resuming an interrupted session, or answering a mid-task prompt, you must strictly respect this sequence and never skip ahead.
11
11
 
12
- 1. **Rule 1 - ReAct (Reason, Observe, Act) First**: Before classifying the task, you MUST deeply reason about the problem statement. Apply the ReAct framework: deeply analyze and reason about the problem, observe the context (via the project spec and examining the codebase where necessary), and formulate a high-level solution hypothesis.
13
- 2. **Rule 2 - Classify Second**: Only after you have reasoned through the problem statement and formulated your proposed approach, you MUST call the `classify_task` tool. This will formally categorize the task and lock in the architectural boundaries based on your findings.
14
- 3. **Rule 3 - STRICT YIELD (Stop and Wait)**: Immediately after classifying the task, you MUST YIELD YOUR TURN. **DO NOT CHAIN TOOL CALLS.** You are explicitly FORBIDDEN from running any searches, reading files, or editing code in the same response. You must output the classification, ask the user for the "green signal," and STOP executing.
15
- 4. **Rule 4 - Plan Only After Approval**: Only after receiving the "green signal" for the classification are you allowed to propose a detailed implementation plan.
16
- 5. **Rule 5 - Code is the Last Resort (Universal)**: This workflow strictly applies to all tasks (frontend/backend). Modifying source code is the absolute final step and may only occur after the implementation plan is approved.
12
+ 1. **Rule 0 (Pre-requisite to all rules) — Load Project DNA First**: Before ANY other action, call `manage_project_spec(action: "read")` then `manage_project_spec(action: "get_golden_rules")`. This is Phase 00. Without the project DNA loaded, you are not allowed to reason, classify, plan, or code. Period.
13
+ 2. **Rule 1 - ReAct (Reason, Observe, Act) First**: After DNA is loaded, you MUST deeply reason about the problem statement. Apply the ReAct framework: analyze the problem, observe context, and formulate a high-level solution hypothesis.
14
+ 3. **Rule 2 - Classify Second**: Only after you have reasoned through the problem statement, you MUST call the `classify_task` tool. This will formally categorize the task and lock in architectural boundaries.
15
+ 4. **Rule 3 - STRICT YIELD (Stop and Wait)**: Immediately after classifying the task, you MUST YIELD YOUR TURN. **DO NOT CHAIN TOOL CALLS.** Output the classification, ask the user for the "green signal," and STOP.
16
+ 5. **Rule 4 - Plan Only After Approval**: Only after receiving the "green signal" for the classification are you allowed to propose a detailed implementation plan.
17
+ 6. **Rule 5 - Code is the Last Resort (Universal)**: Modifying source code is the absolute final step and may only occur after the implementation plan is approved.
17
18
 
18
19
  ---
19
20
 
20
- ## Phase 00 — Project Context (The Absolute First Step)
21
- (TRIGGER: **every session start** runs BEFORE any problem statement is analyzed)
21
+ ## Phase 00 — Load Project DNA (The Absolute First Step)
22
+ (TRIGGER: **every session start, no exceptions, no shortcuts, regardless of task type**)
22
23
 
23
- ### MANDATORY sequence no exceptions
24
+ > 🧬 **The project DNA MUST be loaded before you do ANYTHING ELSE.**
25
+ > No task reasoning. No problem analysis. No responses. No tool calls of any other kind.
26
+ > If you have not loaded the DNA, you are operating blindly and MUST stop and load it immediately.
27
+
28
+ ### MANDATORY sequence — zero exceptions, zero shortcuts
24
29
 
25
30
  ```
26
- STEP 1: call manage_project_spec(action: "read")
27
- STEP 2: call manage_project_spec(action: "get_golden_rules")
28
- STEP 3: if working on a specific service:
29
- call manage_project_spec(action: "get_service", service_name: <that service>)
31
+ STEP 1 ALWAYS, unconditionally:
32
+ call manage_project_spec(action: "read")
33
+ This loads ALL microservices, ports, repos, Kafka topics, auth flow,
34
+ table ownership, Keycloak config, and inter-service calls into context.
35
+
36
+ STEP 2 — ALWAYS, unconditionally:
37
+ → call manage_project_spec(action: "get_golden_rules")
38
+ This loads all non-negotiable architectural guardrails.
39
+
40
+ STEP 3 — if you are working on a specific service:
41
+ → call manage_project_spec(action: "get_service", service_name: <that service>)
30
42
  ```
31
43
 
32
- You now know: all service ports, repos, domains, table ownership, inter-service calls,
33
- Kafka topics, Keycloak config, coding patterns, auth flow, and all golden rules.
44
+ After these calls complete, you now know:
45
+ - All service ports, repos, domains
46
+ - Table ownership per service
47
+ - All inter-service REST calls
48
+ - Kafka topics (produces/consumes per service)
49
+ - Keycloak config and auth flow
50
+ - Coding patterns and golden rules
51
+
52
+ You are NOW allowed to reason about the task. Not before.
53
+
54
+ ### Why this is non-negotiable
55
+
56
+ `classify_task` does a background scan of the project spec JSON file, but the **AI agent itself** must independently load the spec into its own active context. The background scan is not a substitute. Without this step, the agent:
57
+ - Cannot accurately reason about service boundaries
58
+ - Cannot validate task scope against architecture
59
+ - Cannot enforce golden rules during classification
60
+ - Will hallucinate service details from memory
34
61
 
35
- ### Before any architectural decision MANDATORY (every time, not just once per session)
36
- - Call `manage_project_spec(action: "get_golden_rules")` before every architectural decision
37
- - Call `manage_project_spec(action: "get_coding_patterns")` before writing any new class
38
- - Call `manage_project_spec(action: "get_service")` before touching any specific microservice
62
+ There are NO circumstances under which Phase 00 can be skipped, abbreviated, or substituted.
39
63
 
40
- ### Hard enforcement — what you are NOT allowed to do before Phase 00 completes
64
+ ### Hard enforcement — what you are FORBIDDEN from doing before Phase 00 completes
41
65
 
66
+ ❌ Respond to the user's message
67
+ ❌ Reason about the task or problem statement
68
+ ❌ Call `classify_task`
42
69
  ❌ Ask the developer which service owns what
43
70
  ❌ Ask what port something runs on
44
- Ask how tenantId is extracted
45
- ❌ Assume any service details from memory
71
+ Assume ANY service details from memory
46
72
  ❌ Write any code
47
- ❌ Proceed to any other phase
73
+ ❌ Proceed to Phase 0.5 or any other phase
48
74
 
49
- The ONLY tool calls permitted in Phase 00 are the `manage_project_spec` calls listed above.
75
+ The ONLY tool calls permitted before Phase 00 completes are the `manage_project_spec` calls listed above.
50
76
 
51
77
  ---
52
78
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "secufusion-mcp",
3
- "version": "1.0.49",
3
+ "version": "1.0.50",
4
4
  "type": "module",
5
5
  "description": "SecuFusion MCP server - developer workflow tooling with guardrails",
6
6
  "main": "index.js",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "scripts": {
21
21
  "build": "tsc",
22
- "prepublishOnly": "copy ..\\README.md README.md && npm run build",
22
+ "prepublishOnly": "copy ..\\README.md README.md && copy ..\\.agents\\AGENTS.md AGENTS.md && npm run build",
23
23
  "postpublish": "del README.md",
24
24
  "start": "node index.js",
25
25
  "dev": "tsc && node index.js"