agent-enderun 1.0.8 → 1.1.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 (304) hide show
  1. package/.enderun/ARCHITECTURE.md +1 -0
  2. package/.enderun/BRAIN_DASHBOARD.md +1 -1
  3. package/.enderun/ENDERUN.md +4 -3
  4. package/.enderun/SECURITY.md +1 -0
  5. package/.enderun/STATUS.md +4 -4
  6. package/.enderun/agents/agent_army_schema.json +71 -77
  7. package/.enderun/agents/analyst.json +32 -0
  8. package/.enderun/agents/backend.json +32 -0
  9. package/.enderun/agents/database.json +32 -0
  10. package/.enderun/agents/devops.json +32 -0
  11. package/.enderun/agents/explorer.json +32 -0
  12. package/.enderun/agents/frontend.json +32 -0
  13. package/.enderun/agents/git.json +32 -0
  14. package/.enderun/agents/manager.json +34 -0
  15. package/.enderun/agents/mobile.json +32 -0
  16. package/.enderun/agents/native.json +32 -0
  17. package/.enderun/agents/quality.json +32 -0
  18. package/.enderun/agents/schema/agent-lifecycle-schema.json +35 -80
  19. package/.enderun/agents/security.json +32 -0
  20. package/.enderun/cli-commands.json +7 -5
  21. package/.enderun/config.json +1 -1
  22. package/.enderun/knowledge/ARCHITECTURE.md +1 -0
  23. package/.enderun/knowledge/SECURITY.md +1 -0
  24. package/.enderun/knowledge/SHIM_TEMPLATE.md +1 -1
  25. package/.enderun/logs/manager.json +1 -0
  26. package/.enderun/memory/PROJECT_MEMORY.md +6 -0
  27. package/.enderun/observability/README.md +1 -1
  28. package/CLAUDE.md +5 -5
  29. package/GEMINI.md +8 -5
  30. package/GROK.md +1 -1
  31. package/README.md +34 -33
  32. package/agent.md +1 -1
  33. package/bin/hermes-sandbox.js +0 -4
  34. package/bin/init-check.js +0 -1
  35. package/bin/validate-agent-army.js +34 -92
  36. package/dist/apps/backend/src/types/index.d.ts +9 -0
  37. package/dist/apps/backend/src/types/index.js +5 -0
  38. package/dist/apps/backend/src/types/index.js.map +1 -0
  39. package/dist/apps/web/src/main.d.ts +1 -0
  40. package/dist/apps/web/src/main.js +9 -0
  41. package/dist/apps/web/src/main.js.map +1 -0
  42. package/dist/apps/web/vite.config.d.ts +2 -0
  43. package/dist/apps/web/vite.config.js +6 -0
  44. package/dist/apps/web/vite.config.js.map +1 -0
  45. package/dist/framework-mcp/src/index.d.ts +1 -0
  46. package/dist/framework-mcp/src/index.js +71 -0
  47. package/dist/framework-mcp/src/index.js.map +1 -0
  48. package/dist/framework-mcp/src/tools/definitions.d.ts +2 -0
  49. package/dist/framework-mcp/src/tools/definitions.js +111 -0
  50. package/dist/framework-mcp/src/tools/definitions.js.map +1 -0
  51. package/dist/framework-mcp/src/tools/file_system/patch_file.d.ts +2 -0
  52. package/dist/framework-mcp/src/tools/file_system/patch_file.js +19 -0
  53. package/dist/framework-mcp/src/tools/file_system/patch_file.js.map +1 -0
  54. package/dist/framework-mcp/src/tools/file_system/read_file.d.ts +2 -0
  55. package/dist/framework-mcp/src/tools/file_system/read_file.js +8 -0
  56. package/dist/framework-mcp/src/tools/file_system/read_file.js.map +1 -0
  57. package/dist/framework-mcp/src/tools/file_system/replace_text.d.ts +2 -0
  58. package/dist/framework-mcp/src/tools/file_system/replace_text.js +32 -0
  59. package/dist/framework-mcp/src/tools/file_system/replace_text.js.map +1 -0
  60. package/dist/framework-mcp/src/tools/file_system/write_file.d.ts +2 -0
  61. package/dist/framework-mcp/src/tools/file_system/write_file.js +10 -0
  62. package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -0
  63. package/dist/framework-mcp/src/tools/framework/get_status.d.ts +2 -0
  64. package/dist/framework-mcp/src/tools/framework/get_status.js +6 -0
  65. package/dist/framework-mcp/src/tools/framework/get_status.js.map +1 -0
  66. package/dist/framework-mcp/src/tools/framework/orchestrate.d.ts +2 -0
  67. package/dist/framework-mcp/src/tools/framework/orchestrate.js +6 -0
  68. package/dist/framework-mcp/src/tools/framework/orchestrate.js.map +1 -0
  69. package/dist/framework-mcp/src/tools/framework/update_contract_hash.d.ts +2 -0
  70. package/dist/framework-mcp/src/tools/framework/update_contract_hash.js +6 -0
  71. package/dist/framework-mcp/src/tools/framework/update_contract_hash.js.map +1 -0
  72. package/dist/framework-mcp/src/tools/framework/update_memory.d.ts +2 -0
  73. package/dist/framework-mcp/src/tools/framework/update_memory.js +9 -0
  74. package/dist/framework-mcp/src/tools/framework/update_memory.js.map +1 -0
  75. package/dist/framework-mcp/src/tools/index.d.ts +5 -0
  76. package/dist/framework-mcp/src/tools/index.js +26 -0
  77. package/dist/framework-mcp/src/tools/index.js.map +1 -0
  78. package/dist/framework-mcp/src/tools/messaging/log_action.d.ts +2 -0
  79. package/dist/framework-mcp/src/tools/messaging/log_action.js +23 -0
  80. package/dist/framework-mcp/src/tools/messaging/log_action.js.map +1 -0
  81. package/dist/framework-mcp/src/tools/messaging/send_message.d.ts +2 -0
  82. package/dist/framework-mcp/src/tools/messaging/send_message.js +24 -0
  83. package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -0
  84. package/dist/framework-mcp/src/tools/types.d.ts +47 -0
  85. package/dist/framework-mcp/src/tools/types.js +2 -0
  86. package/dist/framework-mcp/src/tools/types.js.map +1 -0
  87. package/dist/framework-mcp/src/utils/cli.d.ts +5 -0
  88. package/dist/framework-mcp/src/utils/cli.js +21 -0
  89. package/dist/framework-mcp/src/utils/cli.js.map +1 -0
  90. package/dist/framework-mcp/src/utils/security.d.ts +12 -0
  91. package/dist/framework-mcp/src/utils/security.js +54 -0
  92. package/dist/framework-mcp/src/utils/security.js.map +1 -0
  93. package/dist/src/cli/adapters.d.ts +32 -0
  94. package/dist/src/cli/adapters.js +264 -0
  95. package/dist/src/cli/adapters.js.map +1 -0
  96. package/dist/src/cli/commands/app.d.ts +4 -0
  97. package/dist/src/cli/commands/app.js +32 -0
  98. package/dist/src/cli/commands/app.js.map +1 -0
  99. package/dist/src/cli/commands/check.d.ts +6 -0
  100. package/dist/src/cli/commands/check.js +110 -0
  101. package/dist/src/cli/commands/check.js.map +1 -0
  102. package/dist/src/cli/commands/compliance.d.ts +1 -0
  103. package/dist/src/cli/commands/compliance.js +51 -0
  104. package/dist/src/cli/commands/compliance.js.map +1 -0
  105. package/dist/src/cli/commands/contract.d.ts +8 -0
  106. package/dist/src/cli/commands/contract.js +73 -0
  107. package/dist/src/cli/commands/contract.js.map +1 -0
  108. package/dist/src/cli/commands/explorer.d.ts +2 -0
  109. package/dist/src/cli/commands/explorer.js +43 -0
  110. package/dist/src/cli/commands/explorer.js.map +1 -0
  111. package/dist/src/cli/commands/git.d.ts +2 -0
  112. package/dist/src/cli/commands/git.js +41 -0
  113. package/dist/src/cli/commands/git.js.map +1 -0
  114. package/dist/src/cli/commands/init.d.ts +1 -0
  115. package/dist/src/cli/commands/init.js +338 -0
  116. package/dist/src/cli/commands/init.js.map +1 -0
  117. package/dist/src/cli/commands/knowledge.d.ts +2 -0
  118. package/dist/src/cli/commands/knowledge.js +43 -0
  119. package/dist/src/cli/commands/knowledge.js.map +1 -0
  120. package/dist/src/cli/commands/lint.d.ts +4 -0
  121. package/dist/src/cli/commands/lint.js +24 -0
  122. package/dist/src/cli/commands/lint.js.map +1 -0
  123. package/dist/src/cli/commands/log.d.ts +9 -0
  124. package/dist/src/cli/commands/log.js +33 -0
  125. package/dist/src/cli/commands/log.js.map +1 -0
  126. package/dist/src/cli/commands/memory.d.ts +1 -0
  127. package/dist/src/cli/commands/memory.js +72 -0
  128. package/dist/src/cli/commands/memory.js.map +1 -0
  129. package/dist/src/cli/commands/orchestrate.d.ts +1 -0
  130. package/dist/src/cli/commands/orchestrate.js +111 -0
  131. package/dist/src/cli/commands/orchestrate.js.map +1 -0
  132. package/dist/src/cli/commands/script.d.ts +1 -0
  133. package/dist/src/cli/commands/script.js +20 -0
  134. package/dist/src/cli/commands/script.js.map +1 -0
  135. package/dist/src/cli/commands/security.d.ts +1 -0
  136. package/dist/src/cli/commands/security.js +37 -0
  137. package/dist/src/cli/commands/security.js.map +1 -0
  138. package/dist/src/cli/commands/status.d.ts +4 -0
  139. package/dist/src/cli/commands/status.js +56 -0
  140. package/dist/src/cli/commands/status.js.map +1 -0
  141. package/dist/src/cli/commands/trace.d.ts +4 -0
  142. package/dist/src/cli/commands/trace.js +42 -0
  143. package/dist/src/cli/commands/trace.js.map +1 -0
  144. package/dist/src/cli/index.d.ts +2 -0
  145. package/dist/src/cli/index.js +117 -0
  146. package/dist/src/cli/index.js.map +1 -0
  147. package/dist/src/cli/utils/app.d.ts +33 -0
  148. package/dist/src/cli/utils/app.js +710 -0
  149. package/dist/src/cli/utils/app.js.map +1 -0
  150. package/dist/src/cli/utils/claude.d.ts +8 -0
  151. package/dist/src/cli/utils/claude.js +56 -0
  152. package/dist/src/cli/utils/claude.js.map +1 -0
  153. package/dist/src/cli/utils/fs.d.ts +11 -0
  154. package/dist/src/cli/utils/fs.js +144 -0
  155. package/dist/src/cli/utils/fs.js.map +1 -0
  156. package/dist/src/cli/utils/memory.d.ts +14 -0
  157. package/dist/src/cli/utils/memory.js +173 -0
  158. package/dist/src/cli/utils/memory.js.map +1 -0
  159. package/dist/src/cli/utils/pkg.d.ts +24 -0
  160. package/dist/src/cli/utils/pkg.js +254 -0
  161. package/dist/src/cli/utils/pkg.js.map +1 -0
  162. package/dist/src/cli/utils/string.d.ts +6 -0
  163. package/dist/src/cli/utils/string.js +44 -0
  164. package/dist/src/cli/utils/string.js.map +1 -0
  165. package/dist/src/cli/utils/time.d.ts +2 -0
  166. package/dist/src/cli/utils/time.js +28 -0
  167. package/dist/src/cli/utils/time.js.map +1 -0
  168. package/dist/tests/adapter.test.d.ts +1 -0
  169. package/dist/tests/adapter.test.js +80 -0
  170. package/dist/tests/adapter.test.js.map +1 -0
  171. package/dist/tests/framework-init-test/framework-mcp/src/index.d.ts +1 -0
  172. package/dist/tests/framework-init-test/framework-mcp/src/index.js +71 -0
  173. package/dist/tests/framework-init-test/framework-mcp/src/index.js.map +1 -0
  174. package/dist/tests/framework-init-test/framework-mcp/src/tools/definitions.d.ts +2 -0
  175. package/dist/tests/framework-init-test/framework-mcp/src/tools/definitions.js +111 -0
  176. package/dist/tests/framework-init-test/framework-mcp/src/tools/definitions.js.map +1 -0
  177. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/patch_file.d.ts +2 -0
  178. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/patch_file.js +19 -0
  179. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/patch_file.js.map +1 -0
  180. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/read_file.d.ts +2 -0
  181. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/read_file.js +8 -0
  182. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/read_file.js.map +1 -0
  183. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/replace_text.d.ts +2 -0
  184. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/replace_text.js +32 -0
  185. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/replace_text.js.map +1 -0
  186. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/write_file.d.ts +2 -0
  187. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/write_file.js +10 -0
  188. package/dist/tests/framework-init-test/framework-mcp/src/tools/file_system/write_file.js.map +1 -0
  189. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/get_status.d.ts +2 -0
  190. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/get_status.js +6 -0
  191. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/get_status.js.map +1 -0
  192. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/orchestrate.d.ts +2 -0
  193. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/orchestrate.js +6 -0
  194. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/orchestrate.js.map +1 -0
  195. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_contract_hash.d.ts +2 -0
  196. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_contract_hash.js +6 -0
  197. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_contract_hash.js.map +1 -0
  198. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_memory.d.ts +2 -0
  199. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_memory.js +9 -0
  200. package/dist/tests/framework-init-test/framework-mcp/src/tools/framework/update_memory.js.map +1 -0
  201. package/dist/tests/framework-init-test/framework-mcp/src/tools/index.d.ts +5 -0
  202. package/dist/tests/framework-init-test/framework-mcp/src/tools/index.js +26 -0
  203. package/dist/tests/framework-init-test/framework-mcp/src/tools/index.js.map +1 -0
  204. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/log_action.d.ts +2 -0
  205. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/log_action.js +23 -0
  206. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/log_action.js.map +1 -0
  207. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/send_message.d.ts +2 -0
  208. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/send_message.js +24 -0
  209. package/dist/tests/framework-init-test/framework-mcp/src/tools/messaging/send_message.js.map +1 -0
  210. package/dist/tests/framework-init-test/framework-mcp/src/tools/types.d.ts +47 -0
  211. package/dist/tests/framework-init-test/framework-mcp/src/tools/types.js +2 -0
  212. package/dist/tests/framework-init-test/framework-mcp/src/tools/types.js.map +1 -0
  213. package/dist/tests/framework-init-test/framework-mcp/src/utils/cli.d.ts +5 -0
  214. package/dist/tests/framework-init-test/framework-mcp/src/utils/cli.js +21 -0
  215. package/dist/tests/framework-init-test/framework-mcp/src/utils/cli.js.map +1 -0
  216. package/dist/tests/framework-init-test/framework-mcp/src/utils/security.d.ts +12 -0
  217. package/dist/tests/framework-init-test/framework-mcp/src/utils/security.js +54 -0
  218. package/dist/tests/framework-init-test/framework-mcp/src/utils/security.js.map +1 -0
  219. package/dist/tests/framework-init-test/framework-mcp/tests/tools/file_system/replace_text.test.d.ts +1 -0
  220. package/dist/tests/framework-init-test/framework-mcp/tests/tools/file_system/replace_text.test.js +69 -0
  221. package/dist/tests/framework-init-test/framework-mcp/tests/tools/file_system/replace_text.test.js.map +1 -0
  222. package/dist/tests/framework-init-test/panda.config.d.ts +4 -0
  223. package/dist/tests/framework-init-test/panda.config.js +95 -0
  224. package/dist/tests/framework-init-test/panda.config.js.map +1 -0
  225. package/dist/tests/framework-init-test/vitest.config.d.ts +2 -0
  226. package/dist/tests/framework-init-test/vitest.config.js +19 -0
  227. package/dist/tests/framework-init-test/vitest.config.js.map +1 -0
  228. package/dist/tests/gemini.test.d.ts +1 -0
  229. package/dist/tests/gemini.test.js +38 -0
  230. package/dist/tests/gemini.test.js.map +1 -0
  231. package/dist/tests/initial.test.d.ts +1 -0
  232. package/dist/tests/initial.test.js +7 -0
  233. package/dist/tests/initial.test.js.map +1 -0
  234. package/dist/vitest.config.d.ts +2 -0
  235. package/dist/vitest.config.js +19 -0
  236. package/dist/vitest.config.js.map +1 -0
  237. package/eslint.config.js +1 -1
  238. package/framework-mcp/dist/index.js +2 -2
  239. package/framework-mcp/dist/src/index.js +70 -0
  240. package/framework-mcp/dist/src/tools/definitions.js +110 -0
  241. package/framework-mcp/dist/src/tools/file_system/patch_file.js +18 -0
  242. package/framework-mcp/dist/src/tools/file_system/read_file.js +7 -0
  243. package/framework-mcp/dist/src/tools/file_system/replace_text.js +31 -0
  244. package/framework-mcp/dist/src/tools/file_system/write_file.js +9 -0
  245. package/framework-mcp/dist/src/tools/framework/get_status.js +5 -0
  246. package/framework-mcp/dist/src/tools/framework/orchestrate.js +5 -0
  247. package/framework-mcp/dist/src/tools/framework/update_contract_hash.js +5 -0
  248. package/framework-mcp/dist/src/tools/framework/update_memory.js +8 -0
  249. package/framework-mcp/dist/src/tools/index.js +25 -0
  250. package/framework-mcp/dist/src/tools/messaging/log_action.js +22 -0
  251. package/framework-mcp/dist/src/tools/messaging/send_message.js +46 -0
  252. package/framework-mcp/dist/src/tools/types.js +1 -0
  253. package/framework-mcp/dist/src/utils/cli.js +20 -0
  254. package/framework-mcp/dist/src/utils/security.js +53 -0
  255. package/framework-mcp/dist/tests/tools/file_system/replace_text.test.js +68 -0
  256. package/framework-mcp/dist/tools/definitions.js +1 -0
  257. package/framework-mcp/dist/tools/file_system/replace_text.js +18 -1
  258. package/framework-mcp/dist/tools/framework/get_status.js +2 -2
  259. package/framework-mcp/dist/tools/framework/orchestrate.js +2 -2
  260. package/framework-mcp/dist/tools/framework/update_contract_hash.js +2 -2
  261. package/framework-mcp/dist/tools/framework/update_memory.js +1 -1
  262. package/framework-mcp/dist/tools/messaging/send_message.js +4 -2
  263. package/framework-mcp/dist/utils/cli.js +2 -2
  264. package/framework-mcp/dist/utils/security.js +23 -5
  265. package/framework-mcp/package.json +3 -3
  266. package/framework-mcp/src/index.ts +2 -2
  267. package/framework-mcp/src/tools/definitions.ts +1 -0
  268. package/framework-mcp/src/tools/file_system/replace_text.ts +21 -1
  269. package/framework-mcp/src/tools/framework/get_status.ts +3 -3
  270. package/framework-mcp/src/tools/framework/orchestrate.ts +3 -3
  271. package/framework-mcp/src/tools/framework/update_contract_hash.ts +3 -3
  272. package/framework-mcp/src/tools/framework/update_memory.ts +1 -1
  273. package/framework-mcp/src/tools/messaging/send_message.ts +37 -13
  274. package/framework-mcp/src/tools/types.ts +3 -0
  275. package/framework-mcp/src/utils/cli.ts +2 -2
  276. package/framework-mcp/src/utils/security.ts +23 -5
  277. package/framework-mcp/tests/tools/file_system/replace_text.test.js +68 -0
  278. package/framework-mcp/tests/tools/file_system/replace_text.test.ts +77 -0
  279. package/framework-mcp/tsconfig.json +1 -2
  280. package/mcp.json +4 -4
  281. package/package.json +4 -3
  282. package/src/cli/adapters.ts +16 -9
  283. package/src/cli/commands/contract.ts +2 -2
  284. package/src/cli/commands/init.ts +211 -432
  285. package/src/cli/commands/memory.ts +5 -0
  286. package/src/cli/commands/orchestrate.ts +53 -0
  287. package/src/cli/index.ts +99 -19
  288. package/src/cli/utils/app.ts +19 -16
  289. package/src/cli/utils/claude.ts +2 -1
  290. package/src/cli/utils/fs.ts +2 -1
  291. package/src/cli/utils/memory.ts +2 -2
  292. package/src/cli/utils/pkg.ts +32 -0
  293. package/.enderun/agents/analyst.md +0 -32
  294. package/.enderun/agents/backend.md +0 -49
  295. package/.enderun/agents/database.md +0 -41
  296. package/.enderun/agents/devops.md +0 -41
  297. package/.enderun/agents/explorer.md +0 -40
  298. package/.enderun/agents/frontend.md +0 -48
  299. package/.enderun/agents/git.md +0 -41
  300. package/.enderun/agents/manager.md +0 -43
  301. package/.enderun/agents/mobile.md +0 -42
  302. package/.enderun/agents/native.md +0 -41
  303. package/.enderun/agents/quality.md +0 -40
  304. package/.enderun/agents/security.md +0 -32
@@ -0,0 +1 @@
1
+ # Agent Enderun Architecture Rules
@@ -12,7 +12,7 @@ This dashboard provides a high-level overview of the Army's performance, quality
12
12
  | **Active Trace IDs** | 0 | 🟢 None |
13
13
  | **Agent Velocity** | — | — |
14
14
  | **Contract Integrity** | 100% | āœ… Valid |
15
- | **Army Size** | 10 agents | āœ… Complete |
15
+ | **Army Size** | 12 agents | āœ… Complete |
16
16
 
17
17
  ---
18
18
 
@@ -1,4 +1,4 @@
1
- # Agent Enderun Enterprise v1 (v1.0.6)
1
+ # Agent Enderun Enterprise v1 (v1.0.9)
2
2
  # Place in project root. This file is the single source of truth for Base Project AI Extensions.
3
3
 
4
4
  ## šŸŽ–ļø AGENT CHECKLIST (MANDATORY BEFORE RESPONSE)
@@ -71,8 +71,9 @@ This file (`./.enderun/ENDERUN.md`) and the `.enderun/docs/` folder represent th
71
71
  ## CORE PRINCIPLES
72
72
 
73
73
  - **Permanent @manager Identity (Enterprise Standard):** The AI assistant is ALWAYS the `@manager` (Team-Lead) by default — on every turn, every message, without exception. The user does NOT need to type `@manager` to trigger this role. Explicitly typing a different agent (e.g. `@backend`, `@frontend`, `@analyst`) does NOT bypass @manager. All requests must still be processed by @manager first.
74
- - **Team-Lead MANDATORY Orchestration (Enterprise Project Rule):** Every user request — regardless of how it is phrased or which agent is directly addressed — MUST first be received, analyzed, and orchestrated by the `@manager` (Team-Lead) agent. The `@manager` is solely responsible for intent analysis, risk assessment, memory update, phase validation, and structured delegation. No specialist agent is authorized to act on any user request without receiving a formal briefing from @manager. Direct calls to other agents are still routed through @manager. Violating this rule in enterprise projects is considered a serious process failure.
75
- - **Enterprise CRUD & Admin Governance (Enterprise Standard):** All high-risk administrative operations (user/permission management, bulk delete/purge, system config changes, audit log access, critical integrations, PII export, production schema changes, etc.) are strictly under @manager control. Specialist agents (@backend, @frontend, etc.) **must refuse** and immediately redirect such requests to @manager. Unauthorized execution is recorded as ā€œRule Violation - Unauthorized Administrative Actionā€. Full list and rules are defined in `{{FRAMEWORK_DIR}}/agents/manager.md` → ā€œCorporate CRUD and Administrative Operation Governanceā€.
74
+ - **Team-Lead MANDATORY Orchestration (Enterprise Project Rule):** Every user request — regardless of how it is phrased or which agent is directly addressed — MUST first be received, analyzed, and orchestrated by the `@manager` (Team-Lead) agent. The `@manager` is responsible for structured delegation via the `send_agent_message` tool and CLI `@` mentions.
75
+ - **CLI @-Mentions:** The CLI supports direct delegation via `agent-enderun @agent "task"`. This bypasses manual JSON creation and follows the Hermes protocol.
76
+ - **Enterprise CRUD & Admin Governance (Enterprise Standard):** All high-risk administrative operations (user/permission management, bulk delete/purge, system config changes, audit log access, critical integrations, PII export, production schema changes, etc.) are strictly under @manager control. Specialist agents (@backend, @frontend, etc.) **must refuse** and immediately redirect such requests to @manager. Unauthorized execution is recorded as ā€œRule Violation - Unauthorized Administrative Actionā€. Full list and rules are defined in `{{FRAMEWORK_DIR}}/agents/manager.json` → ā€œCorporate CRUD and Administrative Operation Governanceā€.
76
77
  - **Zero-Request Logging Policy:** Agents MUST log every action and update `PROJECT_MEMORY.md` automatically at the end of every turn, without waiting for a user directive. This is the "Operating Mode" of the framework.
77
78
  - **Immediate Memory Sync:** Every state change, decision, or improved capability must be reflected in the memory files immediately.
78
79
  - **Zero Temporary Storage & Single Source of Truth:** Storing, caching, or writing project details, logs, tasks, files, or agent planning documents (including implementation plans, scratch scripts, or intermediate tasks) in the operating system's temporary directory (`/tmp`, `/var/tmp`, `temp`, etc.) is strictly forbidden. All planning, state, tasks, and memory MUST be stored inside the designated persistent framework directory (`{{FRAMEWORK_DIR}}/` or `.{{ADAPTER}}/` etc.) or the project workspace. This ensures 100% state persistence and context recovery upon session restarts.
@@ -0,0 +1 @@
1
+ # Agent Enderun Security Rules
@@ -1,5 +1,5 @@
1
1
  # šŸ›ļø AGENT ENDERUN — ARMY COMMAND DASHBOARD
2
- > v1.0.8 | Clean Release (low-usage items marked as reference) | Memory Graph: Online | Bloat Removed (KENTİM + SYSTEM_MAP)
2
+ > v1.0.9 | Clean Release (low-usage items marked as reference) | Memory Graph: Online | Bloat Removed (KENTİM + SYSTEM_MAP)
3
3
 
4
4
  **Nihai Sürüm Notu:** Proje düşük kullanımlı referans materyalleri (bazı knowledge dosyaları, demo scriptler, observability placeholders) ile düzenlendi. Yapısal boş dizinler ve reference-only dosyalar kasıtlı olarak korundu (token economy + full army capability iƧin). Karmaşık kurumsal projeler iƧin hazır (corporate-governance SOP'ları ile).
5
5
  ## šŸ¤– Agent Status
@@ -25,10 +25,10 @@
25
25
 
26
26
  | Metric | Value |
27
27
  | :--- | :--- |
28
- | **Framework Version** | v1.0.8 (Final Clean) |
29
- | **System Health** | 🟢 GREEN |
28
+ | **Framework Version** | v1.0.9 (Final Clean) |
29
+ | **System Health** | 🟢 GREEN (Build & Contract Validated) |
30
30
  | **Major Governance Audit** | COMPLETED |
31
- | **Active Tasks** | 1 |
31
+ | **Active Tasks** | 0 (All Genesis Issues Resolved) |
32
32
  | **Number of Blockers** | 0 |
33
33
  | **Active Agent Count** | 12 |
34
34
  | **Queue Size** | 0 |
@@ -1,107 +1,101 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "Agent Enderun Army Schema",
4
- "description": "Strongly-typed schema for all specialist agents in the Enderun Army. Every agent.md must validate against this. v1.1: Restructured required fields to name and description for Gemini CLI compatibility.",
5
- "version": "1.1.0",
3
+ "title": "Agent Lifecycle (AL) Agent Army Schema",
4
+ "description": "Defines the required fields for an AL-compliant agent definition (e.g. agent.json or agent.md YAML frontmatter).",
6
5
  "type": "object",
7
6
  "required": [
8
7
  "name",
9
- "description"
8
+ "description",
9
+ "role",
10
+ "capability",
11
+ "stateMachine",
12
+ "tags"
10
13
  ],
11
14
  "properties": {
12
15
  "name": {
13
- "type": "string",
14
- "pattern": "^[a-z][a-z0-9_-]*$",
15
- "minLength": 2,
16
- "maxLength": 32,
17
- "description": "Agent identifier. Must be a valid slug. e.g. manager, backend, security"
16
+ "type": "string"
18
17
  },
19
18
  "description": {
20
- "type": "string",
21
- "minLength": 5,
22
- "description": "Short description of this agent."
23
- },
24
- "capability": {
25
- "type": "number",
26
- "minimum": 0,
27
- "maximum": 10,
28
- "description": "Numeric capability score (0-10). Used by @orchestrator to assign tasks optimally."
19
+ "type": "string"
29
20
  },
30
21
  "role": {
31
- "type": "string",
32
- "minLength": 3,
33
- "description": "Short human-readable role title. e.g. 'Orchestration & Governance (Team-Lead)'"
22
+ "type": "string"
34
23
  },
35
- "specialization": {
36
- "type": "string",
37
- "minLength": 10,
38
- "description": "Detailed description of the agent's area of expertise."
24
+ "capability": {
25
+ "type": "integer",
26
+ "minimum": 1,
27
+ "maximum": 10
39
28
  },
40
- "rules": {
41
- "type": "array",
42
- "items": {
43
- "type": "string"
44
- },
45
- "minItems": 1,
46
- "description": "Mandatory behavioral rules the agent must never violate."
29
+ "stateMachine": {
30
+ "type": "object",
31
+ "required": [
32
+ "schemaRef"
33
+ ],
34
+ "properties": {
35
+ "schemaRef": {
36
+ "type": "string"
37
+ }
38
+ }
47
39
  },
48
- "permittedDirectories": {
40
+ "tags": {
49
41
  "type": "array",
50
42
  "items": {
51
43
  "type": "string"
52
44
  },
53
- "minItems": 1,
54
- "description": "Directories this agent is authorized to read/write. Any access outside these requires @manager approval."
45
+ "minItems": 1
55
46
  },
56
- "hermesChannels": {
47
+ "permittedTools": {
57
48
  "type": "array",
58
49
  "items": {
59
- "type": "string",
60
- "pattern": "^@[a-z][a-z0-9_-]*->(@[a-z][a-z0-9_-]*|\\*)$",
61
- "description": "Format: '@sender->@receiver' or '@sender->*' for broadcasts"
62
- },
63
- "description": "Authorized inter-agent communication channels for this agent."
50
+ "type": "string"
51
+ }
64
52
  },
65
- "promptFile": {
66
- "type": "string",
67
- "description": "Relative path to the detailed prompt/instructions file inside the agent folder. Default: 'prompt.md'"
53
+ "hidden": {
54
+ "type": "boolean"
68
55
  },
69
- "checklists": {
70
- "type": "object",
71
- "additionalProperties": {
72
- "type": "array",
73
- "items": {
74
- "type": "string"
75
- }
76
- },
77
- "description": "Named checklists the agent must execute. e.g. 'beforeEveryResponse', 'beforeDelegating'"
56
+ "displayName": {
57
+ "type": "string"
78
58
  },
79
- "stateMachine": {
59
+ "customAgentSpec": {
80
60
  "type": "object",
81
- "description": "Reference to the lifecycle schema. See agents/schema/agent-lifecycle-schema.json",
82
61
  "properties": {
83
- "schemaRef": {
84
- "type": "string",
85
- "default": "../schema/agent-lifecycle-schema.json"
62
+ "customAgent": {
63
+ "type": "object",
64
+ "properties": {
65
+ "systemPromptSections": {
66
+ "type": "array",
67
+ "items": {
68
+ "type": "object",
69
+ "properties": {
70
+ "title": {
71
+ "type": "string"
72
+ },
73
+ "content": {
74
+ "type": "string"
75
+ }
76
+ },
77
+ "required": [
78
+ "title",
79
+ "content"
80
+ ]
81
+ }
82
+ },
83
+ "toolNames": {
84
+ "type": "array",
85
+ "items": {
86
+ "type": "string"
87
+ }
88
+ }
89
+ },
90
+ "required": [
91
+ "systemPromptSections",
92
+ "toolNames"
93
+ ]
86
94
  }
87
- }
88
- },
89
- "tags": {
90
- "type": "array",
91
- "items": {
92
- "type": "string",
93
- "enum": [
94
- "core",
95
- "specialist",
96
- "infrastructure",
97
- "governance",
98
- "quality",
99
- "security",
100
- "orchestration"
101
- ]
102
95
  },
103
- "description": "Classification tags for filtering and grouping agents."
96
+ "required": [
97
+ "customAgent"
98
+ ]
104
99
  }
105
- },
106
- "additionalProperties": false
107
- }
100
+ }
101
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "analyst",
3
+ "displayName": "Contract Verification & Business Analyst",
4
+ "description": "Validates business specifications, tests database contract integrity, and audits constitutional compliance.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the analyst agent. Independently verify compliance with contracts and specifications between frontend, backend, and the constitution.\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- Independent Stance: Act as an objective verification gate.\n- Contract-First Law: Ensure contract.version.json perfectly matches types.\n- Escalation Priority: Report all contract drift to manager immediately.\n- Surgical Edits: Use replace_text for all document updates."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Contract Verification",
31
+ "capability": 9
32
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "backend",
3
+ "displayName": "Domain Logic & Databases Specialist",
4
+ "description": "Responsible for core business logic, database migrations, security standards, API contracts, and server architecture.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the backend agent. Build secure, high-performance, and consistent server architecture.\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- No UI: Never implement UI or frontend logic.\n- Contract-First: Define shared contracts/branded types BEFORE any consumer code.\n- Branded Types Law: ALL IDs must use branded types (e.g., UserID). Plain strings are forbidden.\n- Zero Mock Policy: Use real endpoints/contracts only.\n- Surgical Edits: Use replace_text for all code changes."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Domain Logic & Databases",
31
+ "capability": 9
32
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "database",
3
+ "displayName": "Database Migrations & Tuning Specialist",
4
+ "description": "Designs SQL schemas, manages migration scripts via Kysely, optimizes queries, indexes, and seeding logic.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the database agent. Build secure, optimized, and scalable data layers.\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- Self-Contained DB: Every backend application MUST manage its own schema/migrations/seeds in its own src/database/ directory.\n- Contract-First: All schemas MUST be derived from branded types.\n- Kysely Standard: Use Kysely for application queries. Raw SQL is forbidden.\n- Zero Mock Policy: Realistic, contract-aware seed data only.\n- Surgical Edits: Use replace_text for all schema/migration changes."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Database Migrations & Tuning",
31
+ "capability": 9
32
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "devops",
3
+ "displayName": "Infrastructure & CI/CD Specialist",
4
+ "description": "Handles deployment pipelines, environment variables, system containerization, logging & telemetry integrations.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the devops agent. Ensure reliable execution in every environment with strict quality gates.\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- Gate Approvals: NEVER deploy to production without quality gate approval.\n- No Docker Policy: Prefer native Node.js unless explicitly overridden by manager.\n- Environment Parity: Identical configs across dev/staging/prod (except secrets).\n- Secrets Security: NEVER hardcode secrets. Use environment variables.\n- Rollback First: Deployment is BLOCKED if no documented rollback plan exists."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Infrastructure & CI/CD",
31
+ "capability": 9
32
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "explorer",
3
+ "displayName": "Codebase Discovery Specialist",
4
+ "description": "Maps code dependencies, performs project scans, identifies architectural gaps, and supports legacy onboarding.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the explorer agent. Map project structure and provide deep context to other agents.\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- Read-Only: Never write production code. Only discover, map, and report.\n- Search-First: Always use search_codebase before reading large files.\n- Surgical Discovery: Focus on entry points and core domain logic.\n- Zero Mock Policy: Analyze real system state only.\n- Traceability: All findings must be linked to a Trace ID."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Codebase Discovery",
31
+ "capability": 9
32
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "frontend",
3
+ "displayName": "Fluid Responsive UI Specialist",
4
+ "description": "Builds responsive fluid user interfaces, manages styling tokens with Panda CSS, and implements state machines.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the frontend agent. Build original, high-performance, and responsive user interfaces.\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- Responsive-First: Mobile-First (320px) is mandatory. Fixed-width is forbidden.\n- Zero UI Library Policy: No shadcn/ui, MUI, etc. Build everything with Panda CSS.\n- Zero Mock Policy: Use real endpoints/contracts only.\n- Contract-First: Use branded types from apps/backend/src/types.\n- No Native Alerts: Use integrated Toaster/Modal components."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Fluid Responsive UI",
31
+ "capability": 9
32
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "git",
3
+ "displayName": "Version Control Specialist",
4
+ "description": "Manages commit histories, branches, Trace ID alignment, semantic tagging, and merge conflicts.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the git agent. Ensure a clean, atomic, and traceable repository history.\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- Trace ID Tagging: EVERY commit must include the active Trace ID in the message.\n- Atomic Integrity: Every commit must represent exactly one logical change.\n- Health-First: Never commit code that fails build or basic tests.\n- No Push: Do not run git push without explicit USER approval.\n- No Force: Never use git push --force on public branches."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Version Control",
31
+ "capability": 9
32
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "manager",
3
+ "displayName": "Orchestration & Governance (Team-Lead)",
4
+ "description": "CTO, Lead Architect, and Orchestrator for Agent Enderun.",
5
+ "role": "Orchestration & Governance",
6
+ "capability": 10,
7
+ "hidden": false,
8
+ "stateMachine": {
9
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
10
+ },
11
+ "tags": [
12
+ "core"
13
+ ],
14
+ "customAgentSpec": {
15
+ "customAgent": {
16
+ "systemPromptSections": [
17
+ {
18
+ "title": "Instructions",
19
+ "content": "You are the @manager agent, the Supreme Commander and Central Orchestrator of the Agent Enderun Army. Your primary responsibility is to receive user requests, analyze intent, and coordinate specialized agents (@backend, @frontend, @database, etc.) to fulfill the project's goals.\n\nšŸ›‘ CENTRAL COORDINATION RULES:\n- **Single Point of Entry:** Every request must be processed by you. You are the Router and Decision Maker.\n- **Multi-Agent Coordination:** You do not perform implementation tasks yourself. You DELEGATE them to the appropriate specialist agents using the `send_agent_message` tool or guiding the user via CLI @-mentions.\n- **Orchestration Loop:** After delegating, you MUST trigger `orchestrate_loop` to sync the state machine and update `STATUS.md`.\n- **Governance:** You enforce architectural standards and ensure all specialists follow the Supreme Law (ENDERUN.md).\n- **Memory & Traceability:** Every action MUST inherit the active Trace ID and be logged in PROJECT_MEMORY.md."
20
+ }
21
+ ],
22
+ "toolNames": [
23
+ "view_file",
24
+ "replace_file_content",
25
+ "write_to_file",
26
+ "run_command",
27
+ "grep_search",
28
+ "list_dir",
29
+ "send_agent_message",
30
+ "orchestrate_loop"
31
+ ]
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "mobile",
3
+ "displayName": "Mobile App Specialist",
4
+ "description": "Develops cross-platform mobile apps using React Native and Expo with clean component states.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the mobile agent. Build high-performance, responsive mobile apps (React Native/Expo).\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- Zero UI Library: Same discipline as web. Build UI from scratch.\n- Contract-First: Use shared types from apps/backend/src/types.\n- Responsive-First: Mobile-First approach is mandatory.\n- Safe Area: Handle iOS/Android safe area insets on every screen.\n- Performance: Target 60 FPS."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Mobile App",
31
+ "capability": 9
32
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "native",
3
+ "displayName": "Native OS Integration Specialist",
4
+ "description": "Builds lightweight desktop wrappers and system integrations using Tauri or Electron.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the native agent. Build secure, efficient desktop apps (Tauri/Electron).\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- Security-First: No remote code execution. Mandatory sandboxing and strict CSP.\n- Secure Storage: Use Keychain/Credential Manager for sensitive data.\n- IPC Contract: All communication between frontend and native MUST be typed.\n- Contract-First: Define IPC and data contracts before implementation.\n- Surgical Edits: Use replace_text for all code changes."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Native OS Integration",
31
+ "capability": 9
32
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "quality",
3
+ "displayName": "Automated Testing & Quality Specialist",
4
+ "description": "Verifies test coverage, audits compliance with the constitution, conducts AST scanning, and verifies CI/CD status.",
5
+ "hidden": false,
6
+ "stateMachine": {
7
+ "schemaRef": "../schema/agent-lifecycle-schema.json"
8
+ },
9
+ "tags": [
10
+ "core"
11
+ ],
12
+ "customAgentSpec": {
13
+ "customAgent": {
14
+ "systemPromptSections": [
15
+ {
16
+ "title": "Instructions",
17
+ "content": "You are the quality agent. Ensure no code is merged or deployed without meeting standards.\n\nšŸ›‘ NON-NEGOTIABLE CORE RULES:\n- Final Gate: No code merges or deploys proceed without quality sign-off.\n- Verification-First: Audit lint, typecheck, contract drift, and branded types before sign-off.\n- Never Implement: Audit and assess only. Never write application features.\n- Zero Mock Policy: Integration tests must use real/service-compatible backends.\n- Coverage Gate: Reject approvals if coverage falls below >80% threshold in core."
18
+ }
19
+ ],
20
+ "toolNames": [
21
+ "view_file",
22
+ "replace_file_content",
23
+ "write_to_file",
24
+ "run_command",
25
+ "grep_search",
26
+ "list_dir"
27
+ ]
28
+ }
29
+ },
30
+ "role": "Automated Testing & Quality",
31
+ "capability": 9
32
+ }