agent-enderun 0.3.4 → 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.
@@ -38,6 +38,8 @@ This file (`./gemini.md`) and the `.enderun/docs/` folder represent the "Supreme
38
38
  - **Branded Types Law:** All IDs (UserID, ProjectID, etc.) must be in the "Branded Types" format defined under `packages/shared-types`. Using plain strings or numbers is forbidden.
39
39
  - **CLI-First Policy:** Due to the AI CLI Assistant focus, all outputs must be user-friendly (using Chalk, Clack, etc.) and stream-based. All commands must support the `--output json` flag and produce machine-readable output.
40
40
  - **Audit Logging Necessity:** Every critical action must be logged traceably under the `.enderun/logs/` folder.
41
+ - **Design Continuity & Response Policy:** All UI changes MUST be responsive (Mobile-First + Fluid) and surgical. Unnecessary overhauls of existing layouts are strictly forbidden.
42
+ - **Shared Component First Policy:** Defining common UI elements (Button, Input, Card, etc.) inside page files is FORBIDDEN. All atomic UI components must be created in a shared directory (e.g., `apps/web/src/components/ui/`) and reused across the project.
41
43
  - **File Ownership Rule:** Each file is the responsibility of a single agent.
42
44
  - **CLI Command Mapping:** All CLI commands in the project must be defined in the `.enderun/cli-commands.json` file and assigned to the relevant agent.
43
45
  - **Exit Code Standard:** Standard exit codes (e.g., 64: User Error, 70: Internal Error) must be used in error situations.
@@ -48,6 +48,18 @@ This file is the Single Source of Truth (SSOT) and the persistent memory of the
48
48
 
49
49
  ## HISTORY (Persistent Memory)
50
50
 
51
+ ### 2026-05-12 — The Evolution Milestone & v0.4.0 Release
52
+
53
+ - **Agent:** @manager
54
+ - **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
55
+ - **Action:** Major version bump to v0.4.0. Completed the transition from basic governance to an "Autonomous Agent Academy" architecture. Key features: AST-based compliance auditing, Autonomous Conflict Resolution Protocol, and Senior-level Resilience patterns. Unified the adapter entry points for all AI assistants. Verified zero-drift between code and constitution.
56
+
57
+ ### 2026-05-12 — Capability Leap & v0.3.5 Release
58
+ ...
59
+ - **Agent:** @manager
60
+ - **Trace ID:** 01KR6EJA6GG3RPS849097KS37Q
61
+ - **Action:** Upgraded framework to v0.3.5. Implemented AST-based compliance auditing, Autonomous Conflict Resolution, and Senior Resilience patterns. Unified inter-agent communication and mandated shared UI component protocols. Verified monorepo version synchronization.
62
+
51
63
  ### 2026-05-12 — Critical Fix & v0.3.4 Release
52
64
 
53
65
  - **Agent:** @manager
@@ -90,7 +90,16 @@ In every phase transition and upon request:
90
90
  Before approving any task completion, @analyst must verify that the agent followed existing code patterns.
91
91
  1. Identify a "Gold Standard" reference file for the current task's domain.
92
92
  2. Use the `analyze_procedural_continuity` tool to compare the agent's changes with the reference.
93
- 3. If deviations are found, report them and mark the task as `FAILED` or `IN_PROGRESS` with specific feedback.
93
+ 3. **Surgical Audit:** Check if the agent modified unrelated parts of the file. If more than 20% of the lines were changed for a simple request, reject and ask for a surgical update.
94
+ - **Responsive Audit:**
95
+ - Verify usage of Panda CSS responsive tokens (`base`, `md`, `lg`).
96
+ - Ensure `fontSize` and `gap` use fluid values (e.g., `clamp()`) where appropriate.
97
+ - Reject if a fixed pixel width (e.g., `width: "1200px"`) is used instead of responsive containers or `maxW`.
98
+ - **Shared UI Audit:**
99
+ - Detect redundant UI definitions. If a Button or Input is defined inline within a page, reject the task and order the agent to move it to a shared UI directory.
100
+ - Ensure `@/components/ui` (or equivalent) is the primary source for all atoms.
101
+ 5. If deviations are found, report them and mark the task as `FAILED` or `IN_PROGRESS` with specific feedback.
102
+
94
103
 
95
104
  ### Rejection Status (If Criteria Not Met)
96
105
 
@@ -213,10 +213,11 @@ Frontend works by reading this file. If you don't write it, frontend will work b
213
213
 
214
214
  ## Contract Update Procedure
215
215
 
216
- When `shared-types` changes:
216
+ When `shared-types` or API documentation changes:
217
217
  1. Update types in `packages/shared-types/src/`.
218
218
  2. Update the contract hash using the `update_contract_hash` tool.
219
- 4. Inform @frontend and other affected agents.
219
+ 3. **MANDATORY NOTIFICATION:** Use the `send_agent_message` tool to inform `@frontend` (and other affected agents). Include the updated Trace ID and a brief summary of the changes.
220
+ 4. Update `.enderun/docs/api/[domain].md` to reflect the new state.
220
221
 
221
222
  ## 🧩 Backend Capability Expansion
222
223
 
@@ -39,6 +39,7 @@ Never suggest a change without understanding the current state of the codebase.
39
39
 
40
40
  ### 3. Architecture & Intelligence Analysis
41
41
 
42
+ - **Common UI Mapping (CRITICAL):** Before any frontend-related task, scan `apps/web/src/components/ui/` or the designated shared UI directory. List available components (Button, Input, etc.) in your report so `@frontend` knows what to reuse.
42
43
  - Use `get_project_gaps` to find missing tests, documentation, or contract mismatches.
43
44
  - Use `analyze_codebase_intelligence` to identify complex files or unused code.
44
45
  - Use `generate_dependency_graph` to visualize the relationship between modules and identify circular dependencies.
@@ -12,7 +12,23 @@ description: "UI/UX & Frontend Architect. Expert in React 19, Vite, Zustand, and
12
12
  ## 🎯 Core Principle: Search Before Reading & Continuity
13
13
 
14
14
  - **Context-First:** Never start coding before understanding the current state of a component. Use `search_codebase` to check similar components or find the definition of a token in `panda.config.ts`.
15
- - **Procedural Continuity:** Maintain absolute consistency with existing UI patterns. Before editing any component, analyze its current Panda CSS usage and interaction logic. Finish the task using the same standards.
15
+ - **Procedural Continuity:** Maintain absolute consistency with existing UI patterns. Before editing any component, analyze its current Panda CSS usage and interaction logic.
16
+ - **Shared Component Protocol:**
17
+ 1. **SEARCH:** Before creating any UI element, search for an existing component in `apps/web/src/components/ui/` or `packages/ui/`.
18
+ 2. **REUSE:** If a matching or similar component exists, use it. Do not recreate it.
19
+ 3. **ABSTRACTION:** If a new common UI element is needed, create it in the shared UI directory first, then import it into the page.
20
+ 4. **NO INLINE BLOAT:** Do not write complex Panda CSS objects for basic elements (Buttons, Modals, etc.) directly inside page files. Keep pages lean and focused on layout/logic.
21
+ - **Surgical Update Protocol:** When modifying a design, **ONLY** change the lines required for the specific request. Do not overhaul the layout, re-order properties, or change spacing unless explicitly instructed.
22
+ - **Design Lock:** If a change requires a major structural overhaul (>30% of the file), the agent must first explain **WHY** the overhaul is necessary and get @manager's (or user's) implicit approval.
23
+
24
+ ---
25
+
26
+ ## 📐 Responsive & Fluid Design Standards
27
+
28
+ - **Mobile-First (320px):** Always write base styles for mobile and use `stack` (vertical) as default.
29
+ - **Breakpoint Hygiene:** Use Panda CSS responsive objects (e.g., `sm`, `md`, `lg`) instead of manual media queries.
30
+ - **Fluidity via Tokens:** Use `clamp()` or fluid spacing tokens for typography and gaps to ensure smooth scaling between breakpoints.
31
+ - **Grid Stability:** Prefer `grid` for complex layouts to ensure elements don't "jump" or "overlap" during screen resizing. Use fixed or fraction-based columns (`1fr`) consistently.
16
32
 
17
33
  ---
18
34
 
@@ -50,9 +50,9 @@ Every message MUST follow this pattern:
50
50
  ### Step 1: Repository Initialization & Status Audit
51
51
  1. Run `git status` to identify pending changes.
52
52
  2. **Health Check (Mandatory):** Run `validate_repository_health` tool.
53
- - If any check `FAILED`, **STOP** and ask the responsible agent to fix the issue.
53
+ - If any check `FAILED`, use `send_agent_message` to notify the responsible agent (e.g., `@backend` for test failures, `@frontend` for build issues). **DO NOT COMMIT.**
54
54
  3. **Constitution Compliance (Mandatory):** Run `analyze_constitution_compliance` tool on staged files.
55
- - If violations are found (e.g. Zero UI Policy), **STOP** and report them to the responsible agent.
55
+ - If violations are found (e.g. Zero UI Policy), use `send_agent_message` to notify the responsible agent. **DO NOT COMMIT.**
56
56
  - If `PASSED`, proceed to Step 2.
57
57
 
58
58
  ### Step 2: Atomic Committing
@@ -38,13 +38,13 @@ description: "CTO & Controller. Leader who manages project processes, generates
38
38
 
39
39
  ---
40
40
 
41
- ## 🔁 LOOP PREVENTION PROTOCOL (QA Deadlock)
41
+ ## 🔁 AUTONOMOUS CONFLICT RESOLUTION PROTOCOL
42
42
 
43
- - **Max Rejections:** If a task is rejected by `@analyst` more than 3 times for the same Trace ID:
44
- 1. **STOP** orchestration immediately.
45
- 2. Summarize the conflict (Agent's work vs. Analyst's requirement).
46
- 3. **ASK** the user for a strategic course correction or manual intervention.
47
- 4. Do not re-assign the task without modifying the Briefing Template.
43
+ If `@analyst` rejects a task from another agent (e.g., `@frontend`):
44
+ 1. **Initiate Negotiation:** `@manager` must intercept the failure and instruct both agents to negotiate via `send_agent_message`.
45
+ 2. **Justification:** The implementing agent must explain *why* they deviated from the standard (e.g., "The UI layout required a manual override due to specific client constraints").
46
+ 3. **Analyst Review:** `@analyst` evaluates the justification. If technically sound (e.g., an unavoidable edge case), `@analyst` can issue a "Waiver" and approve the task.
47
+ 4. **Escalation (Max 3 Rejections):** If negotiation fails 3 times, `@manager` stops the loop, logs a "QA Deadlock" in `PROJECT_MEMORY.md`, and asks the User for a final verdict.
48
48
 
49
49
  ---
50
50
 
@@ -1,7 +1,8 @@
1
1
  # Error Handling Strategy
2
2
 
3
- 1. **Centralized Catch**: All errors are caught at the controller level.
4
- 2. **Standard Format**:
3
+ 1. **Centralized Catch**: All errors are caught at the controller level (Bubble-up strategy from Repository/Service).
4
+ 2. **Resilience**: External API calls MUST use Exponential Backoff retry logic.
5
+ 3. **Standard Format**:
5
6
  ```json
6
7
  {
7
8
  "error": "ERR_CODE",
@@ -9,4 +10,4 @@
9
10
  "traceId": "ULID"
10
11
  }
11
12
  ```
12
- 3. **Logging**: All errors must be logged with the associated Trace ID.
13
+ 4. **Logging**: All errors must be logged with the associated Trace ID using a structured logger (no `console.log`).
@@ -1,7 +1,7 @@
1
1
  # Security Policy
2
2
 
3
3
  ## Supported Versions
4
- Only the latest v0.2.x version is supported for security updates.
4
+ Only the latest v0.3.x version is supported for security updates.
5
5
 
6
6
  ## Reporting a Vulnerability
7
7
  Please report security vulnerabilities to security@ai-enderun.com.
@@ -10,3 +10,4 @@ Please report security vulnerabilities to security@ai-enderun.com.
10
10
  - All inputs are validated via Zod.
11
11
  - No raw SQL tags allowed.
12
12
  - Branded types are used for ID protection.
13
+ - **AST-Based Compliance:** All UI components and types are scanned via Abstract Syntax Tree parsing to prevent library injection and enforce the Zero UI policy.
@@ -1,18 +1,27 @@
1
- # Async Error Handling Pattern
1
+ # Async Error Handling & Resilience Pattern
2
2
 
3
- ## Rule
4
- Every asynchronous operation (Promises, async/await) MUST be wrapped in a try/catch block to prevent unhandled rejections and ensure system stability.
3
+ ## 1. The Golden Rule
4
+ Every asynchronous operation (Promises, `async/await`) MUST be wrapped in a `try/catch` block. Unhandled rejections are considered critical system failures.
5
5
 
6
- ## Standard Implementation
6
+ ## 2. Bubble-Up Strategy
7
+ Do not handle errors at the data access (Repository) layer unless translating a database-specific exception into a Domain Error.
8
+ - **Repository:** Throw domain-specific errors (e.g., `NotFoundError`, `ConflictError`).
9
+ - **Service:** Catch, add business context if needed, and re-throw.
10
+ - **Controller:** Catch all domain errors, log them, and map them to standard HTTP responses (4xx, 5xx) using the centralized error handler.
11
+
12
+ ## 3. Resilience & Retry Logic
13
+ For external API calls (e.g., Stripe, Twilio, 3rd party webhooks), implement an exponential backoff retry mechanism. Do not fail on the first network timeout.
7
14
  ```typescript
8
- async function fetchData() {
15
+ async function fetchWithRetry(url: string, options: any, retries = 3, delay = 1000) {
9
16
  try {
10
- const response = await api.get('/data');
11
- return response.data;
17
+ return await api.get(url, options);
12
18
  } catch (error) {
13
- // Log via central logger
14
- logger.error("Failed to fetch data", { error });
15
- throw error; // Re-throw if the caller needs to handle it
19
+ if (retries === 0 || (error.response && error.response.status < 500)) throw error;
20
+ await new Promise(res => setTimeout(res, delay));
21
+ return fetchWithRetry(url, options, retries - 1, delay * 2);
16
22
  }
17
23
  }
18
24
  ```
25
+
26
+ ## 4. Centralized Logging
27
+ Never use `console.log`. All caught errors must be passed to a central structured logger (e.g., `pino` or `winston`) with the `traceId` for full observability.
@@ -0,0 +1,27 @@
1
+ # Responsive Design Standards
2
+
3
+ To ensure cross-screen compatibility and prevent "design drift", all UI components must follow these standards.
4
+
5
+ ## 1. Grid & Flex Patterns
6
+ - **Base:** Vertical stack for mobile (`flexDirection: "column"`).
7
+ - **Responsive:** Transition to horizontal or multi-column grid at `md` (768px) or `lg` (1024px) breakpoints.
8
+ - **Container:** Use a standard max-width container for desktop to prevent layouts from stretching too wide.
9
+
10
+ ## 2. Fluid Typography & Spacing
11
+ - Use `clamp()` for font sizes that need to scale.
12
+ - Example: `fontSize: "clamp(1rem, 5vw, 2rem)"`.
13
+ - Use Panda CSS tokens for spacing (`gap`, `padding`, `margin`) to maintain rhythm.
14
+
15
+ ## 3. Preservation of State
16
+ - When updating a component, keep the existing `useState`, `useEffect`, and `props` interfaces intact.
17
+ - Do not remove existing `data-` attributes or accessibility roles.
18
+
19
+ ## 4. Breakpoint Reference
20
+ | Token | Min Width | Target Device |
21
+ | :--- | :--- | :--- |
22
+ | base | 0px | Mobile |
23
+ | sm | 640px | Large Mobile / Small Tablet |
24
+ | md | 768px | Tablet |
25
+ | lg | 1024px | Desktop |
26
+ | xl | 1280px | Large Desktop |
27
+ | 2xl | 1536px | Ultra-wide |
@@ -1 +1,9 @@
1
- Do not use Shadcn, MUI, or any other UI library. Build components from scratch using UnoCSS tokens defined in uno.config.ts.
1
+ # Zero UI Library Policy
2
+
3
+ Do not use Shadcn, MUI, or any other UI library. Build components from scratch using **Panda CSS** tokens defined in `panda.config.ts`.
4
+
5
+ ## Rationale
6
+ - **Performance:** Zero-runtime CSS extraction.
7
+ - **Type Safety:** Type-safe styles and tokens.
8
+ - **Originality:** Unique and premium aesthetics without "library look".
9
+ - **Control:** Full control over responsiveness and accessibility.
File without changes
File without changes
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # 🏛️ Agent Enderun — v0.3.4
1
+ # 🏛️ Agent Enderun — v0.4.0
2
2
 
3
3
  **The Supreme AI Governance & Orchestration Framework for Enterprise Development**
4
4
 
package/bin/cli.js CHANGED
@@ -498,6 +498,12 @@ async function initCommand(selectedAdapter) {
498
498
 
499
499
 
500
500
  if (selectedAdapter === "gemini") {
501
+ const geminiMdPath = path.join(targetDir, "gemini.md");
502
+ const adapterGeminiMdPath = path.join(targetDir, "GEMINI.md");
503
+ if (fs.existsSync(adapterGeminiMdPath) && !fs.existsSync(geminiMdPath)) {
504
+ fs.copyFileSync(adapterGeminiMdPath, geminiMdPath);
505
+ console.log("💎 Gemini: Synchronized GEMINI.md to gemini.md for automatic detection.");
506
+ }
501
507
  console.log(`💎 Gemini: Adapter GEMINI.md and ${targetBase}/ folder are ready.`);
502
508
  }
503
509
 
@@ -517,6 +523,15 @@ async function initCommand(selectedAdapter) {
517
523
  }
518
524
  }
519
525
 
526
+ if (selectedAdapter === "codex") {
527
+ const codexMdPath = path.join(targetDir, "codex.md");
528
+ const adapterCodexMdPath = path.join(targetDir, "CODEX.md");
529
+ if (fs.existsSync(adapterCodexMdPath) && !fs.existsSync(codexMdPath)) {
530
+ fs.copyFileSync(adapterCodexMdPath, codexMdPath);
531
+ console.log("💎 Codex: Synchronized CODEX.md to codex.md for automatic detection.");
532
+ }
533
+ }
534
+
520
535
  const pkgMgr = getPackageManager();
521
536
  const installCmd = pkgMgr === "npm" ? "npm install" : `${pkgMgr} install`;
522
537
  const buildCmd = pkgMgr === "npm" ? "npm run enderun:build" : `${pkgMgr} run enderun:build`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-enderun",
3
- "version": "0.3.4",
3
+ "version": "0.4.0",
4
4
  "description": "The Supreme AI Governance & Orchestration Framework for Enterprise Development",
5
5
  "author": "Yusuf BEKAR",
6
6
  "license": "MIT",
@@ -35,14 +35,10 @@
35
35
  "packages/shared-types/dist",
36
36
  "packages/shared-types/src",
37
37
  "packages/shared-types/package.json",
38
- "packages/shared-types/tsconfig.json",
39
38
  "packages/shared-types/contract.version.json",
40
- "packages/shared-types/README.md",
41
39
  "packages/framework-mcp/dist",
42
40
  "packages/framework-mcp/src",
43
41
  "packages/framework-mcp/package.json",
44
- "packages/framework-mcp/tsconfig.json",
45
- "packages/framework-mcp/README.md",
46
42
  ".enderun",
47
43
  "ENDERUN.md",
48
44
  "README.md",
@@ -75,7 +71,7 @@
75
71
  "concurrently": "^9.1.2"
76
72
  },
77
73
  "enderun": {
78
- "version": "0.3.4",
74
+ "version": "0.4.0",
79
75
  "initializedAt": "2026-05-09T13:24:27.472Z"
80
76
  }
81
77
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-enderun-mcp",
3
- "version": "0.3.4",
3
+ "version": "0.4.0",
4
4
  "description": "Enterprise-grade MCP Server for AI Agent Framework",
5
5
  "author": "Yusuf BEKAR",
6
6
  "license": "MIT",
@@ -92,29 +92,50 @@ export const securityHandlers = {
92
92
  try {
93
93
  const safePath = resolveSafePath(projectRoot, parsed.data.path);
94
94
  const violations: string[] = [];
95
- const checkFile = (filePath: string) => {
96
- const content = fs.readFileSync(filePath, "utf-8");
97
- const relativePath = path.relative(projectRoot, filePath);
98
- const forbiddenLibraries = ["@shadcn", "mui", "@chakra-ui", "antd", "bootstrap", "tailwindcss"];
95
+ const forbiddenLibraries = ["@shadcn", "mui", "@chakra-ui", "antd", "bootstrap", "tailwindcss"];
96
+
97
+ if (fs.existsSync(safePath) && fs.lstatSync(safePath).isDirectory()) {
98
+ const tsProject = new Project({ compilerOptions: { allowJs: true } });
99
+ tsProject.addSourceFilesAtPaths(path.join(safePath, "**/*.{ts,tsx,js,jsx}"));
100
+
101
+ for (const sourceFile of tsProject.getSourceFiles()) {
102
+ const relativePath = path.relative(projectRoot, sourceFile.getFilePath());
103
+ if (relativePath.includes("node_modules") || relativePath.includes("dist")) continue;
104
+
105
+ // AST-based Import Check for Zero UI Policy
106
+ sourceFile.getImportDeclarations().forEach(imp => {
107
+ const moduleValue = imp.getModuleSpecifierValue();
108
+ if (forbiddenLibraries.some(lib => moduleValue.includes(lib))) {
109
+ violations.push(`${relativePath}: AST Violation - Zero UI Library Policy (imported '${moduleValue}')`);
110
+ }
111
+ });
112
+
113
+ // AST-based String ID Check for Branded Types Law
114
+ sourceFile.getInterfaces().forEach(iface => {
115
+ const idProp = iface.getProperty("id");
116
+ if (idProp && idProp.getType().isString() && !idProp.getType().getText().includes("Brand")) {
117
+ violations.push(`${relativePath}: AST Violation - Branded Types Law (interface '${iface.getName()}' uses plain string for ID)`);
118
+ }
119
+ });
120
+
121
+ const content = sourceFile.getFullText();
122
+ if (content.includes("console.log") && !relativePath.includes("cli.js")) {
123
+ violations.push(`${relativePath}: Text Violation - Logging Policy (found 'console.log')`);
124
+ }
125
+ if (content.includes("sql`")) {
126
+ violations.push(`${relativePath}: Text Violation - Potential Kysely Standards (found raw 'sql' tag)`);
127
+ }
128
+ }
129
+ } else if (fs.existsSync(safePath)) {
130
+ // Fallback for single files
131
+ const content = fs.readFileSync(safePath, "utf-8");
132
+ const relativePath = path.relative(projectRoot, safePath);
99
133
  for (const lib of forbiddenLibraries) {
100
134
  if (content.includes(lib)) violations.push(`${relativePath}: Violation of Zero UI Library Policy (found '${lib}')`);
101
135
  }
102
- if (content.includes("console.log") && !filePath.includes("cli.js") && !filePath.includes("node_modules")) {
103
- violations.push(`${relativePath}: Violation of Logging Policy (found 'console.log', use proper logger)`);
104
- }
105
- if (content.includes("sql`") && !filePath.includes("node_modules")) {
106
- violations.push(`${relativePath}: Potential Violation of Kysely Standards (found raw 'sql' tag)`);
107
- }
108
- if (filePath.endsWith(".ts") && !filePath.includes("shared-types") && !filePath.includes("node_modules")) {
109
- if (content.match(/interface.*ID\s*:\s*string/)) violations.push(`${relativePath}: Violation of Branded Types Law (found ID typed as plain string)`);
110
- }
111
- };
112
- if (fs.lstatSync(safePath).isDirectory()) {
113
- collectFilesRecursively(safePath, new Set(["ts", "tsx", "js", "jsx"])).forEach(checkFile);
114
- } else {
115
- checkFile(safePath);
116
136
  }
117
- return { content: [{ type: "text", text: `### CONSTITUTION COMPLIANCE REPORT\n\n` + (violations.length > 0 ? `⚠️ **VIOLATIONS FOUND:**\n${violations.map(v => `- ${v}`).join("\n")}` : "✅ **ALL SYSTEMS COMPLIANT:** No violations of ENDERUN.md rules detected.") }] };
137
+
138
+ return { content: [{ type: "text", text: `### CONSTITUTION COMPLIANCE REPORT\n\n` + (violations.length > 0 ? `⚠️ **VIOLATIONS FOUND:**\n${violations.map(v => `- ${v}`).join("\n")}` : "✅ **ALL SYSTEMS COMPLIANT:** AST and Regex scans passed. No rule violations detected.") }] };
118
139
  } catch (error) {
119
140
  return { content: [{ type: "text", text: "Compliance analysis failed." }] };
120
141
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-enderun/shared-types",
3
- "version": "0.3.4",
3
+ "version": "0.4.0",
4
4
  "description": "Shared TypeScript types for AI-Enderun Framework. Ensures Contract-First synchronization between agents.",
5
5
  "author": "Yusuf BEKAR",
6
6
  "license": "MIT",
@@ -1 +0,0 @@
1
- []
@@ -1 +0,0 @@
1
- []
@@ -1 +0,0 @@
1
- []
@@ -1 +0,0 @@
1
- []
@@ -1 +0,0 @@
1
- []
@@ -1,387 +0,0 @@
1
- [
2
- {
3
- "timestamp": "2026-05-11T18:11:51.307Z",
4
- "agent": "manager",
5
- "action": "MODIFY",
6
- "requestId": "01KR6EJA6GG3RPS849097KS37Q",
7
- "status": "SUCCESS",
8
- "summary": "Fixed nested console recursion by correcting CLI STDOUT and adding MCP command.",
9
- "files": [
10
- "bin/cli.js"
11
- ]
12
- },
13
- {
14
- "timestamp": "2026-05-11T18:13:30.513Z",
15
- "agent": "manager",
16
- "action": "MODIFY",
17
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
18
- "status": "SUCCESS",
19
- "summary": "Activated Zero-Request Logging mode and updated ENDERUN.md constitution.",
20
- "files": [
21
- ".enderun/ENDERUN.md"
22
- ]
23
- },
24
- {
25
- "timestamp": "2026-05-11T18:15:57.320Z",
26
- "agent": "manager",
27
- "action": "MODIFY",
28
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
29
- "status": "SUCCESS",
30
- "summary": "Refocused framework on Agent Academy and updated Manager SOP for resilience.",
31
- "files": [
32
- ".enderun/ENDERUN.md",
33
- ".enderun/agents/manager.md"
34
- ]
35
- },
36
- {
37
- "timestamp": "2026-05-11T18:16:51.861Z",
38
- "agent": "manager",
39
- "action": "CREATE",
40
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
41
- "status": "SUCCESS",
42
- "summary": "Extended MCP server with get_agent_audit_report tool and synchronized all agent SOPs.",
43
- "files": [
44
- "packages/framework-mcp/src/index.ts",
45
- ".enderun/agents/*.md"
46
- ]
47
- },
48
- {
49
- "timestamp": "2026-05-11T18:16:59.895Z",
50
- "agent": "manager",
51
- "action": "RESEARCH",
52
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
53
- "status": "SUCCESS",
54
- "summary": "Turn completed. Framework extended and SOPs synchronized. Ready for next agent development task."
55
- },
56
- {
57
- "timestamp": "2026-05-11T18:18:44.151Z",
58
- "agent": "manager",
59
- "action": "MODIFY",
60
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
61
- "status": "SUCCESS",
62
- "summary": "Automated Procedural Continuity Audit by adding analyze_procedural_continuity tool and updating Analyst SOP.",
63
- "files": [
64
- "packages/framework-mcp/src/index.ts",
65
- ".enderun/agents/analyst.md"
66
- ]
67
- },
68
- {
69
- "timestamp": "2026-05-11T18:18:58.998Z",
70
- "agent": "manager",
71
- "action": "MODIFY",
72
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
73
- "status": "SUCCESS",
74
- "summary": "Turn completed. Automated QA gate enabled via procedural continuity tool."
75
- },
76
- {
77
- "timestamp": "2026-05-11T18:19:59.951Z",
78
- "agent": "manager",
79
- "action": "CREATE",
80
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
81
- "status": "SUCCESS",
82
- "summary": "Implemented Global Academy Performance Audit tool to aggregate multi-agent logs.",
83
- "files": [
84
- "packages/framework-mcp/src/index.ts"
85
- ]
86
- },
87
- {
88
- "timestamp": "2026-05-11T18:20:13.906Z",
89
- "agent": "manager",
90
- "action": "MODIFY",
91
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
92
- "status": "SUCCESS",
93
- "summary": "Turn completed. Global performance audit tool active. Framework now supports data-driven management."
94
- },
95
- {
96
- "timestamp": "2026-05-11T18:21:09.657Z",
97
- "agent": "manager",
98
- "action": "CREATE",
99
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
100
- "status": "SUCCESS",
101
- "summary": "Empowered Explorer agent with Codebase Intelligence tools for complexity and dead code detection.",
102
- "files": [
103
- "packages/framework-mcp/src/index.ts",
104
- ".enderun/agents/explorer.md"
105
- ]
106
- },
107
- {
108
- "timestamp": "2026-05-11T18:21:30.222Z",
109
- "agent": "manager",
110
- "action": "MODIFY",
111
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
112
- "status": "SUCCESS",
113
- "summary": "Turn completed. Explorer agent is now equipped with codebase intelligence tools."
114
- },
115
- {
116
- "timestamp": "2026-05-11T18:22:32.013Z",
117
- "agent": "manager",
118
- "action": "CREATE",
119
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
120
- "status": "SUCCESS",
121
- "summary": "Implemented Smart Commit Engine for Git agent and updated Git SOP.",
122
- "files": [
123
- "packages/framework-mcp/src/index.ts",
124
- ".enderun/agents/git.md"
125
- ]
126
- },
127
- {
128
- "timestamp": "2026-05-11T18:22:46.416Z",
129
- "agent": "manager",
130
- "action": "MODIFY",
131
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
132
- "status": "SUCCESS",
133
- "summary": "Turn completed. Git agent is now powered by the Smart Commit Engine."
134
- },
135
- {
136
- "timestamp": "2026-05-11T18:23:39.360Z",
137
- "agent": "manager",
138
- "action": "CREATE",
139
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
140
- "status": "SUCCESS",
141
- "summary": "Activated Contract Integrity Shield for automated API and type synchronization checks.",
142
- "files": [
143
- "packages/framework-mcp/src/index.ts",
144
- ".enderun/agents/analyst.md"
145
- ]
146
- },
147
- {
148
- "timestamp": "2026-05-11T18:23:54.893Z",
149
- "agent": "manager",
150
- "action": "MODIFY",
151
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
152
- "status": "SUCCESS",
153
- "summary": "Turn completed. Contract Integrity Shield is active and integrated into Analyst SOP."
154
- },
155
- {
156
- "timestamp": "2026-05-11T18:24:51.700Z",
157
- "agent": "manager",
158
- "action": "CREATE",
159
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
160
- "status": "SUCCESS",
161
- "summary": "Implemented Agent Collaboration System with send_agent_message and read_agent_messages tools.",
162
- "files": [
163
- "packages/framework-mcp/src/index.ts",
164
- ".enderun/agents/*.md"
165
- ]
166
- },
167
- {
168
- "timestamp": "2026-05-11T18:25:03.860Z",
169
- "agent": "manager",
170
- "action": "MODIFY",
171
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
172
- "status": "SUCCESS",
173
- "summary": "Turn completed. Agent Collaboration System is live across the Academy."
174
- },
175
- {
176
- "timestamp": "2026-05-11T18:26:03.176Z",
177
- "agent": "manager",
178
- "action": "CREATE",
179
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
180
- "status": "SUCCESS",
181
- "summary": "Implemented Pre-Commit QA Guard with validate_repository_health tool and updated Git SOP.",
182
- "files": [
183
- "packages/framework-mcp/src/index.ts",
184
- ".enderun/agents/git.md"
185
- ]
186
- },
187
- {
188
- "timestamp": "2026-05-11T18:26:13.123Z",
189
- "agent": "manager",
190
- "action": "MODIFY",
191
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
192
- "status": "SUCCESS",
193
- "summary": "Turn completed. Pre-Commit QA Guard is active and enforced by @git agent."
194
- },
195
- {
196
- "timestamp": "2026-05-11T18:27:22.802Z",
197
- "agent": "manager",
198
- "action": "CREATE",
199
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
200
- "status": "SUCCESS",
201
- "summary": "Implemented Documentation Debt Scanner for Analyst agent and updated Analyst SOP.",
202
- "files": [
203
- "packages/framework-mcp/src/index.ts",
204
- ".enderun/agents/analyst.md"
205
- ]
206
- },
207
- {
208
- "timestamp": "2026-05-11T18:27:31.014Z",
209
- "agent": "manager",
210
- "action": "MODIFY",
211
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
212
- "status": "SUCCESS",
213
- "summary": "Turn completed. Documentation Debt Scanner is live and enforced by @analyst agent."
214
- },
215
- {
216
- "timestamp": "2026-05-11T18:28:47.706Z",
217
- "agent": "manager",
218
- "action": "CREATE",
219
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
220
- "status": "SUCCESS",
221
- "summary": "Implemented Automated Academy Progress Report and integrated it into Analyst SOP.",
222
- "files": [
223
- "packages/framework-mcp/src/index.ts",
224
- ".enderun/agents/analyst.md"
225
- ]
226
- },
227
- {
228
- "timestamp": "2026-05-11T18:28:58.131Z",
229
- "agent": "manager",
230
- "action": "MODIFY",
231
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
232
- "status": "SUCCESS",
233
- "summary": "Turn completed. Automated Progress Reporting is live and enforced by @analyst agent."
234
- },
235
- {
236
- "timestamp": "2026-05-11T18:30:18.124Z",
237
- "agent": "manager",
238
- "action": "CREATE",
239
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
240
- "status": "SUCCESS",
241
- "summary": "Implemented Visual Architecture Mapping for Explorer agent and updated Explorer SOP.",
242
- "files": [
243
- "packages/framework-mcp/src/index.ts",
244
- ".enderun/agents/explorer.md"
245
- ]
246
- },
247
- {
248
- "timestamp": "2026-05-11T18:30:24.852Z",
249
- "agent": "manager",
250
- "action": "MODIFY",
251
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
252
- "status": "SUCCESS",
253
- "summary": "Turn completed. Explorer agent can now generate visual dependency graphs."
254
- },
255
- {
256
- "timestamp": "2026-05-11T18:31:59.054Z",
257
- "agent": "manager",
258
- "action": "CREATE",
259
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
260
- "status": "SUCCESS",
261
- "summary": "Implemented Internal Knowledge Base (IKB) for collective Academy intelligence.",
262
- "files": [
263
- "packages/framework-mcp/src/index.ts",
264
- "bin/cli.js",
265
- ".enderun/agents/backend.md"
266
- ]
267
- },
268
- {
269
- "timestamp": "2026-05-11T18:32:10.387Z",
270
- "agent": "manager",
271
- "action": "MODIFY",
272
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
273
- "status": "SUCCESS",
274
- "summary": "Turn completed. Internal Knowledge Base is live and integrated into specialist SOPs."
275
- },
276
- {
277
- "timestamp": "2026-05-11T18:33:50.670Z",
278
- "agent": "manager",
279
- "action": "CREATE",
280
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
281
- "status": "SUCCESS",
282
- "summary": "Implemented Constitution Compliance Guard with analyze_constitution_compliance tool and updated Git SOP.",
283
- "files": [
284
- "packages/framework-mcp/src/index.ts",
285
- ".enderun/agents/git.md"
286
- ]
287
- },
288
- {
289
- "timestamp": "2026-05-11T18:34:02.812Z",
290
- "agent": "manager",
291
- "action": "MODIFY",
292
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
293
- "status": "SUCCESS",
294
- "summary": "Turn completed. Constitution Compliance Guard is live and enforced by @git agent."
295
- },
296
- {
297
- "timestamp": "2026-05-11T18:36:28.928Z",
298
- "agent": "manager",
299
- "action": "CREATE",
300
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
301
- "status": "SUCCESS",
302
- "summary": "Implemented Academy Strategic Briefing system for executive reporting.",
303
- "files": [
304
- "packages/framework-mcp/src/index.ts",
305
- ".enderun/agents/analyst.md"
306
- ]
307
- },
308
- {
309
- "timestamp": "2026-05-11T18:39:23.811Z",
310
- "agent": "manager",
311
- "action": "CREATE",
312
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
313
- "status": "SUCCESS",
314
- "summary": "Implemented Legacy Codebase Onboarding Protocol to scan pre-existing projects and bootstrap project memory.",
315
- "files": [
316
- "packages/framework-mcp/src/index.ts",
317
- ".enderun/agents/manager.md",
318
- ".enderun/agents/explorer.md"
319
- ]
320
- },
321
- {
322
- "timestamp": "2026-05-11T18:39:35.423Z",
323
- "agent": "manager",
324
- "action": "MODIFY",
325
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
326
- "status": "SUCCESS",
327
- "summary": "Turn completed. Legacy Onboarding Protocol is active."
328
- },
329
- {
330
- "timestamp": "2026-05-11T18:40:47.170Z",
331
- "agent": "manager",
332
- "action": "CREATE",
333
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
334
- "status": "SUCCESS",
335
- "summary": "Implemented Database Schema Mapper for Explorer agent to autonomously visualize backend data structures.",
336
- "files": [
337
- "packages/framework-mcp/src/index.ts",
338
- ".enderun/agents/explorer.md"
339
- ]
340
- },
341
- {
342
- "timestamp": "2026-05-11T18:46:17.209Z",
343
- "agent": "manager",
344
- "action": "MODIFY",
345
- "requestId": "01KRC3WPMGXW2G3A4B0FVABKX0",
346
- "status": "SUCCESS",
347
- "summary": "Implemented adapter-specific initialization for Gemini, Claude, Cursor, and Codex in bin/cli.js.",
348
- "files": [
349
- "bin/cli.js"
350
- ]
351
- },
352
- {
353
- "timestamp": "2026-05-11T19:57:30.000Z",
354
- "agent": "manager",
355
- "action": "PREPARE",
356
- "requestId": "01KR6EJA6GG3RPS849097KS37Q",
357
- "status": "SUCCESS",
358
- "summary": "Prepared repository for npmjs publishing and initiated Git history cleanup for v0.2.0 release.",
359
- "files": [
360
- "package.json"
361
- ]
362
- }
363
- ],
364
- {
365
- "timestamp": "2026-05-12T18:16:03Z",
366
- "agent": "manager",
367
- "action": "MODIFY",
368
- "requestId": "fa4ead74-1ab2-4d4f-884b-93cd74c9b4c8",
369
- "status": "SUCCESS",
370
- "summary": "Fixed missing enderun:check script in target projects, added vitest support, and included panda.config.ts in core files.",
371
- "files": [
372
- "bin/cli.js"
373
- ]
374
- }
375
- },
376
- {
377
- "timestamp": "2026-05-12T18:17:33Z",
378
- "agent": "manager",
379
- "action": "MODIFY",
380
- "requestId": "fa4ead74-1ab2-4d4f-884b-93cd74c9b4c8",
381
- "status": "SUCCESS",
382
- "summary": "Improved package localization logic to automatically rename internal packages based on the target project's name or scope during initialization.",
383
- "files": [
384
- "bin/cli.js"
385
- ]
386
- }
387
- ]
@@ -1 +0,0 @@
1
- []
@@ -1 +0,0 @@
1
- []