agent-enderun 1.1.2 → 1.1.4

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 (533) hide show
  1. package/{.enderun/ENDERUN.md → ENDERUN.md} +25 -25
  2. package/README.md +10 -6
  3. package/bin/compile.js +13 -14
  4. package/bin/enderun-dashboard.js +866 -0
  5. package/bin/generate-cursor-rules.js +78 -0
  6. package/bin/test-init-run.js +37 -26
  7. package/bin/validate-agent-army.js +65 -67
  8. package/bin/watch-memory.js +54 -0
  9. package/dist/framework-mcp/src/index.js +1 -1
  10. package/dist/framework-mcp/src/tools/control_plane/locking.d.ts +15 -0
  11. package/dist/framework-mcp/src/tools/control_plane/locking.js +65 -0
  12. package/dist/framework-mcp/src/tools/control_plane/locking.js.map +1 -0
  13. package/dist/framework-mcp/src/tools/control_plane/registry.d.ts +12 -0
  14. package/dist/framework-mcp/src/tools/control_plane/registry.js +35 -0
  15. package/dist/framework-mcp/src/tools/control_plane/registry.js.map +1 -0
  16. package/dist/framework-mcp/src/tools/definitions.js +46 -7
  17. package/dist/framework-mcp/src/tools/definitions.js.map +1 -1
  18. package/dist/framework-mcp/src/tools/file_system/write_file.js +16 -2
  19. package/dist/framework-mcp/src/tools/file_system/write_file.js.map +1 -1
  20. package/dist/framework-mcp/src/tools/index.d.ts +1 -1
  21. package/dist/framework-mcp/src/tools/index.js +5 -0
  22. package/dist/framework-mcp/src/tools/index.js.map +1 -1
  23. package/dist/framework-mcp/src/tools/messaging/send_message.d.ts +1 -1
  24. package/dist/framework-mcp/src/tools/messaging/send_message.js +2 -4
  25. package/dist/framework-mcp/src/tools/messaging/send_message.js.map +1 -1
  26. package/dist/framework-mcp/src/utils/metrics.d.ts +10 -0
  27. package/dist/framework-mcp/src/utils/metrics.js +39 -0
  28. package/dist/framework-mcp/src/utils/metrics.js.map +1 -0
  29. package/dist/framework-mcp/src/utils/security.js +7 -3
  30. package/dist/framework-mcp/src/utils/security.js.map +1 -1
  31. package/dist/src/cli/adapters/types.d.ts +14 -0
  32. package/dist/src/cli/adapters/types.js +2 -0
  33. package/dist/src/cli/adapters/types.js.map +1 -0
  34. package/dist/src/cli/adapters.d.ts +4 -22
  35. package/dist/src/cli/adapters.js +123 -141
  36. package/dist/src/cli/adapters.js.map +1 -1
  37. package/dist/src/cli/commands/check.d.ts +0 -5
  38. package/dist/src/cli/commands/check.js +64 -76
  39. package/dist/src/cli/commands/check.js.map +1 -1
  40. package/dist/src/cli/commands/init.d.ts +1 -1
  41. package/dist/src/cli/commands/init.js +154 -319
  42. package/dist/src/cli/commands/init.js.map +1 -1
  43. package/dist/src/cli/commands/log.d.ts +1 -0
  44. package/dist/src/cli/commands/log.js.map +1 -1
  45. package/dist/src/cli/commands/memory.js +2 -69
  46. package/dist/src/cli/commands/memory.js.map +1 -1
  47. package/dist/src/cli/commands/orchestrate.d.ts +19 -9
  48. package/dist/src/cli/commands/orchestrate.js +56 -77
  49. package/dist/src/cli/commands/orchestrate.js.map +1 -1
  50. package/dist/src/cli/index.js +112 -30
  51. package/dist/src/cli/index.js.map +1 -1
  52. package/dist/src/cli/utils/app.d.ts +1 -2
  53. package/dist/src/cli/utils/app.js +2 -2
  54. package/dist/src/cli/utils/app.js.map +1 -1
  55. package/dist/src/cli/utils/config-schema.d.ts +139 -0
  56. package/dist/src/cli/utils/config-schema.js +43 -0
  57. package/dist/src/cli/utils/config-schema.js.map +1 -0
  58. package/dist/src/cli/utils/fs.d.ts +2 -4
  59. package/dist/src/cli/utils/fs.js +9 -26
  60. package/dist/src/cli/utils/fs.js.map +1 -1
  61. package/dist/src/cli/utils/memory.d.ts +4 -3
  62. package/dist/src/cli/utils/memory.js +135 -116
  63. package/dist/src/cli/utils/memory.js.map +1 -1
  64. package/dist/src/cli/utils/pkg.js +4 -4
  65. package/dist/src/cli/utils/pkg.js.map +1 -1
  66. package/dist/src/cli/utils/ui.d.ts +30 -0
  67. package/dist/src/cli/utils/ui.js +56 -0
  68. package/dist/src/cli/utils/ui.js.map +1 -0
  69. package/dist/src/modules/adapters/antigravity-cli.d.ts +3 -0
  70. package/dist/src/modules/adapters/antigravity-cli.js +21 -0
  71. package/dist/src/modules/adapters/antigravity-cli.js.map +1 -0
  72. package/dist/src/modules/adapters/claude.d.ts +3 -0
  73. package/dist/src/modules/adapters/claude.js +36 -0
  74. package/dist/src/modules/adapters/claude.js.map +1 -0
  75. package/dist/src/modules/adapters/codex.d.ts +3 -0
  76. package/dist/src/modules/adapters/codex.js +20 -0
  77. package/dist/src/modules/adapters/codex.js.map +1 -0
  78. package/dist/src/modules/adapters/cursor.d.ts +3 -0
  79. package/dist/src/modules/adapters/cursor.js +20 -0
  80. package/dist/src/modules/adapters/cursor.js.map +1 -0
  81. package/dist/src/modules/adapters/gemini.d.ts +3 -0
  82. package/dist/src/modules/adapters/gemini.js +23 -0
  83. package/dist/src/modules/adapters/gemini.js.map +1 -0
  84. package/dist/src/modules/adapters/grok.d.ts +3 -0
  85. package/dist/src/modules/adapters/grok.js +18 -0
  86. package/dist/src/modules/adapters/grok.js.map +1 -0
  87. package/dist/src/modules/adapters/shared.d.ts +1 -0
  88. package/dist/src/modules/adapters/shared.js +79 -0
  89. package/dist/src/modules/adapters/shared.js.map +1 -0
  90. package/dist/src/modules/adapters/types.d.ts +14 -0
  91. package/dist/src/modules/adapters/types.js +2 -0
  92. package/dist/src/modules/adapters/types.js.map +1 -0
  93. package/dist/src/modules/agents/definitions.d.ts +13 -0
  94. package/dist/src/modules/agents/definitions.js +169 -0
  95. package/dist/src/modules/agents/definitions.js.map +1 -0
  96. package/dist/src/modules/skills/definitions.d.ts +31 -0
  97. package/dist/src/modules/skills/definitions.js +32 -0
  98. package/dist/src/modules/skills/definitions.js.map +1 -0
  99. package/dist/src/shared/fs.d.ts +3 -0
  100. package/dist/src/shared/fs.js +24 -0
  101. package/dist/src/shared/fs.js.map +1 -0
  102. package/eslint.config.js +1 -0
  103. package/framework-mcp/dist/index.js +1 -1
  104. package/framework-mcp/dist/tools/control_plane/locking.js +64 -0
  105. package/framework-mcp/dist/tools/control_plane/registry.js +34 -0
  106. package/framework-mcp/dist/tools/definitions.js +49 -8
  107. package/framework-mcp/dist/tools/file_system/read_file.js +20 -0
  108. package/framework-mcp/dist/tools/file_system/write_file.js +16 -2
  109. package/framework-mcp/dist/tools/index.js +5 -0
  110. package/framework-mcp/dist/tools/messaging/send_message.js +36 -15
  111. package/framework-mcp/dist/utils/metrics.js +38 -0
  112. package/framework-mcp/dist/utils/security.js +7 -3
  113. package/framework-mcp/package.json +1 -1
  114. package/framework-mcp/src/index.ts +1 -1
  115. package/framework-mcp/src/tools/control_plane/locking.ts +77 -0
  116. package/framework-mcp/src/tools/control_plane/registry.ts +44 -0
  117. package/framework-mcp/src/tools/definitions.ts +46 -7
  118. package/framework-mcp/src/tools/file_system/write_file.ts +19 -2
  119. package/framework-mcp/src/tools/index.ts +6 -1
  120. package/framework-mcp/src/tools/messaging/send_message.ts +2 -3
  121. package/framework-mcp/src/utils/metrics.ts +53 -0
  122. package/framework-mcp/src/utils/security.ts +8 -3
  123. package/framework-mcp/tests/tools/file_system/file_system_tools.test.ts +164 -0
  124. package/framework-mcp/tsconfig.json +4 -2
  125. package/package.json +12 -11
  126. package/src/cli/adapters/types.ts +16 -0
  127. package/src/cli/adapters.ts +130 -156
  128. package/src/cli/commands/check.ts +61 -77
  129. package/src/cli/commands/init.ts +163 -312
  130. package/src/cli/commands/log.ts +1 -1
  131. package/src/cli/commands/memory.ts +3 -80
  132. package/src/cli/commands/orchestrate.ts +76 -90
  133. package/src/cli/index.ts +121 -29
  134. package/src/cli/utils/app.ts +3 -3
  135. package/src/cli/utils/config-schema.ts +48 -0
  136. package/src/cli/utils/fs.ts +10 -27
  137. package/src/cli/utils/memory.ts +143 -112
  138. package/src/cli/utils/pkg.ts +4 -4
  139. package/src/cli/utils/ui.ts +63 -0
  140. package/src/modules/adapters/antigravity-cli.ts +25 -0
  141. package/src/modules/adapters/claude.ts +36 -0
  142. package/src/modules/adapters/codex.ts +22 -0
  143. package/src/modules/adapters/cursor.ts +22 -0
  144. package/src/modules/adapters/gemini.ts +27 -0
  145. package/src/modules/adapters/grok.ts +20 -0
  146. package/src/modules/adapters/shared.ts +90 -0
  147. package/src/modules/adapters/types.ts +16 -0
  148. package/src/modules/agents/definitions.ts +182 -0
  149. package/src/modules/skills/definitions.ts +32 -0
  150. package/src/shared/fs.ts +25 -0
  151. package/.enderun/BRAIN_DASHBOARD.md +0 -46
  152. package/.enderun/STATUS.md +0 -61
  153. package/.enderun/agents/agent_army_schema.json +0 -101
  154. package/.enderun/agents/analyst.json +0 -32
  155. package/.enderun/agents/backend.json +0 -32
  156. package/.enderun/agents/database.json +0 -32
  157. package/.enderun/agents/devops.json +0 -32
  158. package/.enderun/agents/explorer.json +0 -32
  159. package/.enderun/agents/frontend.json +0 -32
  160. package/.enderun/agents/git.json +0 -32
  161. package/.enderun/agents/manager.json +0 -32
  162. package/.enderun/agents/mobile.json +0 -32
  163. package/.enderun/agents/native.json +0 -32
  164. package/.enderun/agents/quality.json +0 -32
  165. package/.enderun/agents/schema/agent-lifecycle-schema.json +0 -41
  166. package/.enderun/agents/security.json +0 -32
  167. package/.enderun/benchmarks/.gitkeep +0 -0
  168. package/.enderun/cli-commands.json +0 -76
  169. package/.enderun/config.json +0 -13
  170. package/.enderun/knowledge/ARCHITECTURE.md +0 -1
  171. package/.enderun/knowledge/SECURITY.md +0 -1
  172. package/.enderun/knowledge/SHIM_TEMPLATE.md +0 -36
  173. package/.enderun/knowledge/analyst_reference_guide.md +0 -31
  174. package/.enderun/knowledge/async_error_handling.md +0 -27
  175. package/.enderun/knowledge/backend_reference_guide.md +0 -165
  176. package/.enderun/knowledge/blueprint_driven_construction.md +0 -22
  177. package/.enderun/knowledge/context_boundary_rules.md +0 -57
  178. package/.enderun/knowledge/corporate-governance/analyst-contract-integrity-guide.md +0 -92
  179. package/.enderun/knowledge/corporate-governance/audit-logging-standard.md +0 -59
  180. package/.enderun/knowledge/corporate-governance/backend-high-risk-endpoint-guide.md +0 -125
  181. package/.enderun/knowledge/corporate-governance/branded-types-law.md +0 -77
  182. package/.enderun/knowledge/corporate-governance/contract-drift-detection-simulation.md +0 -92
  183. package/.enderun/knowledge/corporate-governance/corporate-governance-playbook.md +0 -89
  184. package/.enderun/knowledge/corporate-governance/corporate-project-kickoff-checklist.md +0 -56
  185. package/.enderun/knowledge/corporate-governance/corporate-project-kickoff-simulation.md +0 -144
  186. package/.enderun/knowledge/corporate-governance/corporate-project-scaffolding-sop.md +0 -103
  187. package/.enderun/knowledge/corporate-governance/domain-error-handling-standard.md +0 -75
  188. package/.enderun/knowledge/corporate-governance/frontend-high-risk-modal-guide.md +0 -211
  189. package/.enderun/knowledge/corporate-governance/governance-baseline-briefing-template.md +0 -54
  190. package/.enderun/knowledge/corporate-governance/high-risk-action-approval-flow-simulation.md +0 -167
  191. package/.enderun/knowledge/corporate-governance/high-risk-action-approval-flow.md +0 -29
  192. package/.enderun/knowledge/corporate-governance/high-risk-actions-managerapproval.md +0 -76
  193. package/.enderun/knowledge/corporate-governance/high-risk-security-modal-hermes-flow.md +0 -49
  194. package/.enderun/knowledge/corporate-governance/manager-first-30-days-guide.md +0 -112
  195. package/.enderun/knowledge/corporate-governance/manager-first-three-briefings.md +0 -79
  196. package/.enderun/knowledge/database_reference_guide.md +0 -38
  197. package/.enderun/knowledge/devops_reference_guide.md +0 -43
  198. package/.enderun/knowledge/documentation_ownership.md +0 -53
  199. package/.enderun/knowledge/eslint-standards.md +0 -63
  200. package/.enderun/knowledge/evaluation_engine.md +0 -26
  201. package/.enderun/knowledge/explorer_reference_guide.md +0 -34
  202. package/.enderun/knowledge/framework_vs_user_project_boundary.md +0 -52
  203. package/.enderun/knowledge/frontend_professionalization_guidelines.md +0 -108
  204. package/.enderun/knowledge/frontend_reference_guide.md +0 -64
  205. package/.enderun/knowledge/git_reference_guide.md +0 -51
  206. package/.enderun/knowledge/hermes_live_test_guidelines.md +0 -90
  207. package/.enderun/knowledge/hermes_protocol.md +0 -59
  208. package/.enderun/knowledge/legacy_onboarding.md +0 -18
  209. package/.enderun/knowledge/lessons-learned.md +0 -14
  210. package/.enderun/knowledge/manager_authority_audit_enforcement.md +0 -104
  211. package/.enderun/knowledge/manager_reference_guide.md +0 -55
  212. package/.enderun/knowledge/mobile_reference_guide.md +0 -35
  213. package/.enderun/knowledge/native_reference_guide.md +0 -34
  214. package/.enderun/knowledge/project_scaffold_guidelines.md +0 -110
  215. package/.enderun/knowledge/quality_reference_guide.md +0 -42
  216. package/.enderun/knowledge/reference_application_guidelines.md +0 -101
  217. package/.enderun/knowledge/responsive_design_standards.md +0 -27
  218. package/.enderun/knowledge/router_logic.md +0 -29
  219. package/.enderun/knowledge/security_reference_guide.md +0 -35
  220. package/.enderun/knowledge/token_economy_and_memory.md +0 -129
  221. package/.enderun/knowledge/zero_ui_library_policy.md +0 -13
  222. package/.enderun/logs/manager.json +0 -52
  223. package/.enderun/mcp_config.json +0 -11
  224. package/.enderun/memory/BUSINESS_CONTEXT.md +0 -17
  225. package/.enderun/memory/DECISIONS.md +0 -24
  226. package/.enderun/memory/LESSONS_LEARNED.md +0 -12
  227. package/.enderun/memory/PATTERNS.md +0 -17
  228. package/.enderun/memory/PROJECT_MEMORY.md +0 -69
  229. package/.enderun/memory-graph/agent-contexts/analyst.json +0 -1
  230. package/.enderun/memory-graph/agent-contexts/backend.json +0 -1
  231. package/.enderun/memory-graph/agent-contexts/devops.json +0 -1
  232. package/.enderun/memory-graph/agent-contexts/explorer.json +0 -1
  233. package/.enderun/memory-graph/agent-contexts/frontend.json +0 -1
  234. package/.enderun/memory-graph/agent-contexts/git.json +0 -1
  235. package/.enderun/memory-graph/agent-contexts/manager.json +0 -1
  236. package/.enderun/memory-graph/agent-contexts/mobile.json +0 -1
  237. package/.enderun/memory-graph/agent-contexts/native.json +0 -1
  238. package/.enderun/memory-graph/agent-contexts/quality.json +0 -1
  239. package/.enderun/memory-graph/agent-contexts/security.json +0 -1
  240. package/.enderun/memory-graph/graph.json +0 -133
  241. package/.enderun/memory-graph/shared-facts.json +0 -46
  242. package/.enderun/monitoring/.gitkeep +0 -0
  243. package/.enderun/observability/AUDIT_LOG.md +0 -9
  244. package/.enderun/observability/METRICS.md +0 -10
  245. package/.enderun/observability/README.md +0 -19
  246. package/.enderun/observability/TRACE_LOG.md +0 -10
  247. package/.enderun/queue/README.md +0 -36
  248. package/.enderun/registry/agents.yaml +0 -69
  249. package/.enderun/skills/agent_handshake.md +0 -37
  250. package/.enderun/skills/multi_agent_coordination.md +0 -64
  251. package/.enderun/skills/subagent_lifecycle.md +0 -48
  252. package/CLAUDE.md +0 -21
  253. package/GEMINI.md +0 -24
  254. package/GROK.md +0 -20
  255. package/agent.md +0 -25
  256. package/dist/.keep +0 -1
  257. package/dist/tests/adapter.test.d.ts +0 -1
  258. package/dist/tests/adapter.test.js +0 -82
  259. package/dist/tests/adapter.test.js.map +0 -1
  260. package/dist/tests/gemini.test.d.ts +0 -1
  261. package/dist/tests/gemini.test.js +0 -39
  262. package/dist/tests/gemini.test.js.map +0 -1
  263. package/dist/tests/initial.test.d.ts +0 -1
  264. package/dist/tests/initial.test.js +0 -7
  265. package/dist/tests/initial.test.js.map +0 -1
  266. package/docs/project_analysis_report.md +0 -69
  267. package/framework-mcp/dist/src/index.js +0 -70
  268. package/framework-mcp/dist/src/tools/definitions.js +0 -112
  269. package/framework-mcp/dist/src/tools/file_system/patch_file.js +0 -18
  270. package/framework-mcp/dist/src/tools/file_system/read_file.js +0 -27
  271. package/framework-mcp/dist/src/tools/file_system/replace_text.js +0 -31
  272. package/framework-mcp/dist/src/tools/file_system/write_file.js +0 -9
  273. package/framework-mcp/dist/src/tools/framework/get_status.js +0 -5
  274. package/framework-mcp/dist/src/tools/framework/orchestrate.js +0 -5
  275. package/framework-mcp/dist/src/tools/framework/update_contract_hash.js +0 -5
  276. package/framework-mcp/dist/src/tools/framework/update_memory.js +0 -8
  277. package/framework-mcp/dist/src/tools/index.js +0 -25
  278. package/framework-mcp/dist/src/tools/messaging/log_action.js +0 -22
  279. package/framework-mcp/dist/src/tools/messaging/send_message.js +0 -46
  280. package/framework-mcp/dist/src/tools/types.js +0 -1
  281. package/framework-mcp/dist/src/utils/cli.js +0 -20
  282. package/framework-mcp/dist/src/utils/security.js +0 -53
  283. package/framework-mcp/dist/tests/tools/file_system/replace_text.test.js +0 -68
  284. package/framework-mcp/node_modules/@types/node/LICENSE +0 -21
  285. package/framework-mcp/node_modules/@types/node/README.md +0 -15
  286. package/framework-mcp/node_modules/@types/node/assert/strict.d.ts +0 -111
  287. package/framework-mcp/node_modules/@types/node/assert.d.ts +0 -1078
  288. package/framework-mcp/node_modules/@types/node/async_hooks.d.ts +0 -603
  289. package/framework-mcp/node_modules/@types/node/buffer.buffer.d.ts +0 -472
  290. package/framework-mcp/node_modules/@types/node/buffer.d.ts +0 -1934
  291. package/framework-mcp/node_modules/@types/node/child_process.d.ts +0 -1476
  292. package/framework-mcp/node_modules/@types/node/cluster.d.ts +0 -578
  293. package/framework-mcp/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  294. package/framework-mcp/node_modules/@types/node/compatibility/index.d.ts +0 -9
  295. package/framework-mcp/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  296. package/framework-mcp/node_modules/@types/node/compatibility/iterators.d.ts +0 -20
  297. package/framework-mcp/node_modules/@types/node/console.d.ts +0 -452
  298. package/framework-mcp/node_modules/@types/node/constants.d.ts +0 -21
  299. package/framework-mcp/node_modules/@types/node/crypto.d.ts +0 -4545
  300. package/framework-mcp/node_modules/@types/node/dgram.d.ts +0 -600
  301. package/framework-mcp/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  302. package/framework-mcp/node_modules/@types/node/dns/promises.d.ts +0 -503
  303. package/framework-mcp/node_modules/@types/node/dns.d.ts +0 -923
  304. package/framework-mcp/node_modules/@types/node/domain.d.ts +0 -170
  305. package/framework-mcp/node_modules/@types/node/events.d.ts +0 -976
  306. package/framework-mcp/node_modules/@types/node/fs/promises.d.ts +0 -1295
  307. package/framework-mcp/node_modules/@types/node/fs.d.ts +0 -4461
  308. package/framework-mcp/node_modules/@types/node/globals.d.ts +0 -172
  309. package/framework-mcp/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  310. package/framework-mcp/node_modules/@types/node/http.d.ts +0 -2089
  311. package/framework-mcp/node_modules/@types/node/http2.d.ts +0 -2721
  312. package/framework-mcp/node_modules/@types/node/https.d.ts +0 -579
  313. package/framework-mcp/node_modules/@types/node/index.d.ts +0 -97
  314. package/framework-mcp/node_modules/@types/node/inspector.d.ts +0 -253
  315. package/framework-mcp/node_modules/@types/node/inspector.generated.d.ts +0 -4052
  316. package/framework-mcp/node_modules/@types/node/module.d.ts +0 -891
  317. package/framework-mcp/node_modules/@types/node/net.d.ts +0 -1076
  318. package/framework-mcp/node_modules/@types/node/os.d.ts +0 -506
  319. package/framework-mcp/node_modules/@types/node/package.json +0 -145
  320. package/framework-mcp/node_modules/@types/node/path.d.ts +0 -200
  321. package/framework-mcp/node_modules/@types/node/perf_hooks.d.ts +0 -968
  322. package/framework-mcp/node_modules/@types/node/process.d.ts +0 -2084
  323. package/framework-mcp/node_modules/@types/node/punycode.d.ts +0 -117
  324. package/framework-mcp/node_modules/@types/node/querystring.d.ts +0 -152
  325. package/framework-mcp/node_modules/@types/node/readline/promises.d.ts +0 -161
  326. package/framework-mcp/node_modules/@types/node/readline.d.ts +0 -594
  327. package/framework-mcp/node_modules/@types/node/repl.d.ts +0 -428
  328. package/framework-mcp/node_modules/@types/node/sea.d.ts +0 -153
  329. package/framework-mcp/node_modules/@types/node/sqlite.d.ts +0 -721
  330. package/framework-mcp/node_modules/@types/node/stream/consumers.d.ts +0 -38
  331. package/framework-mcp/node_modules/@types/node/stream/promises.d.ts +0 -90
  332. package/framework-mcp/node_modules/@types/node/stream/web.d.ts +0 -622
  333. package/framework-mcp/node_modules/@types/node/stream.d.ts +0 -1687
  334. package/framework-mcp/node_modules/@types/node/string_decoder.d.ts +0 -67
  335. package/framework-mcp/node_modules/@types/node/test.d.ts +0 -2163
  336. package/framework-mcp/node_modules/@types/node/timers/promises.d.ts +0 -108
  337. package/framework-mcp/node_modules/@types/node/timers.d.ts +0 -287
  338. package/framework-mcp/node_modules/@types/node/tls.d.ts +0 -1319
  339. package/framework-mcp/node_modules/@types/node/trace_events.d.ts +0 -197
  340. package/framework-mcp/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  341. package/framework-mcp/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  342. package/framework-mcp/node_modules/@types/node/ts5.6/index.d.ts +0 -97
  343. package/framework-mcp/node_modules/@types/node/tty.d.ts +0 -208
  344. package/framework-mcp/node_modules/@types/node/url.d.ts +0 -984
  345. package/framework-mcp/node_modules/@types/node/util.d.ts +0 -2606
  346. package/framework-mcp/node_modules/@types/node/v8.d.ts +0 -920
  347. package/framework-mcp/node_modules/@types/node/vm.d.ts +0 -1000
  348. package/framework-mcp/node_modules/@types/node/wasi.d.ts +0 -181
  349. package/framework-mcp/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  350. package/framework-mcp/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  351. package/framework-mcp/node_modules/@types/node/web-globals/events.d.ts +0 -97
  352. package/framework-mcp/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  353. package/framework-mcp/node_modules/@types/node/web-globals/navigator.d.ts +0 -22
  354. package/framework-mcp/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  355. package/framework-mcp/node_modules/@types/node/worker_threads.d.ts +0 -784
  356. package/framework-mcp/node_modules/@types/node/zlib.d.ts +0 -747
  357. package/framework-mcp/node_modules/typescript/LICENSE.txt +0 -55
  358. package/framework-mcp/node_modules/typescript/README.md +0 -50
  359. package/framework-mcp/node_modules/typescript/SECURITY.md +0 -41
  360. package/framework-mcp/node_modules/typescript/ThirdPartyNoticeText.txt +0 -193
  361. package/framework-mcp/node_modules/typescript/bin/tsc +0 -2
  362. package/framework-mcp/node_modules/typescript/bin/tsserver +0 -2
  363. package/framework-mcp/node_modules/typescript/lib/_tsc.js +0 -133818
  364. package/framework-mcp/node_modules/typescript/lib/_tsserver.js +0 -659
  365. package/framework-mcp/node_modules/typescript/lib/_typingsInstaller.js +0 -222
  366. package/framework-mcp/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  367. package/framework-mcp/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  368. package/framework-mcp/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  369. package/framework-mcp/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  370. package/framework-mcp/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  371. package/framework-mcp/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  372. package/framework-mcp/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  373. package/framework-mcp/node_modules/typescript/lib/lib.d.ts +0 -22
  374. package/framework-mcp/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  375. package/framework-mcp/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  376. package/framework-mcp/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  377. package/framework-mcp/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  378. package/framework-mcp/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  379. package/framework-mcp/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  380. package/framework-mcp/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  381. package/framework-mcp/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  382. package/framework-mcp/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  383. package/framework-mcp/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  384. package/framework-mcp/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  385. package/framework-mcp/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  386. package/framework-mcp/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  387. package/framework-mcp/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  388. package/framework-mcp/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  389. package/framework-mcp/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  390. package/framework-mcp/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  391. package/framework-mcp/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  392. package/framework-mcp/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  393. package/framework-mcp/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  394. package/framework-mcp/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  395. package/framework-mcp/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  396. package/framework-mcp/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  397. package/framework-mcp/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  398. package/framework-mcp/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  399. package/framework-mcp/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  400. package/framework-mcp/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  401. package/framework-mcp/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  402. package/framework-mcp/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  403. package/framework-mcp/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  404. package/framework-mcp/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  405. package/framework-mcp/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  406. package/framework-mcp/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  407. package/framework-mcp/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  408. package/framework-mcp/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  409. package/framework-mcp/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  410. package/framework-mcp/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  411. package/framework-mcp/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  412. package/framework-mcp/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  413. package/framework-mcp/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  414. package/framework-mcp/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  415. package/framework-mcp/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  416. package/framework-mcp/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  417. package/framework-mcp/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  418. package/framework-mcp/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  419. package/framework-mcp/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  420. package/framework-mcp/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  421. package/framework-mcp/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  422. package/framework-mcp/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  423. package/framework-mcp/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  424. package/framework-mcp/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  425. package/framework-mcp/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  426. package/framework-mcp/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  427. package/framework-mcp/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  428. package/framework-mcp/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  429. package/framework-mcp/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  430. package/framework-mcp/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  431. package/framework-mcp/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  432. package/framework-mcp/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  433. package/framework-mcp/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  434. package/framework-mcp/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  435. package/framework-mcp/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  436. package/framework-mcp/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  437. package/framework-mcp/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  438. package/framework-mcp/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  439. package/framework-mcp/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  440. package/framework-mcp/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  441. package/framework-mcp/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  442. package/framework-mcp/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  443. package/framework-mcp/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  444. package/framework-mcp/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  445. package/framework-mcp/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  446. package/framework-mcp/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  447. package/framework-mcp/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  448. package/framework-mcp/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  449. package/framework-mcp/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  450. package/framework-mcp/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  451. package/framework-mcp/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  452. package/framework-mcp/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  453. package/framework-mcp/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  454. package/framework-mcp/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  455. package/framework-mcp/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  456. package/framework-mcp/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  457. package/framework-mcp/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  458. package/framework-mcp/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  459. package/framework-mcp/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  460. package/framework-mcp/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  461. package/framework-mcp/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  462. package/framework-mcp/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  463. package/framework-mcp/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  464. package/framework-mcp/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  465. package/framework-mcp/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  466. package/framework-mcp/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  467. package/framework-mcp/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  468. package/framework-mcp/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  469. package/framework-mcp/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  470. package/framework-mcp/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  471. package/framework-mcp/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  472. package/framework-mcp/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  473. package/framework-mcp/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  474. package/framework-mcp/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  475. package/framework-mcp/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  476. package/framework-mcp/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  477. package/framework-mcp/node_modules/typescript/lib/tsc.js +0 -8
  478. package/framework-mcp/node_modules/typescript/lib/tsserver.js +0 -8
  479. package/framework-mcp/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
  480. package/framework-mcp/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  481. package/framework-mcp/node_modules/typescript/lib/typesMap.json +0 -497
  482. package/framework-mcp/node_modules/typescript/lib/typescript.d.ts +0 -11437
  483. package/framework-mcp/node_modules/typescript/lib/typescript.js +0 -200276
  484. package/framework-mcp/node_modules/typescript/lib/typingsInstaller.js +0 -8
  485. package/framework-mcp/node_modules/typescript/lib/watchGuard.js +0 -53
  486. package/framework-mcp/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
  487. package/framework-mcp/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
  488. package/framework-mcp/node_modules/typescript/package.json +0 -120
  489. package/framework-mcp/node_modules/undici-types/LICENSE +0 -21
  490. package/framework-mcp/node_modules/undici-types/README.md +0 -6
  491. package/framework-mcp/node_modules/undici-types/agent.d.ts +0 -31
  492. package/framework-mcp/node_modules/undici-types/api.d.ts +0 -43
  493. package/framework-mcp/node_modules/undici-types/balanced-pool.d.ts +0 -29
  494. package/framework-mcp/node_modules/undici-types/cache.d.ts +0 -36
  495. package/framework-mcp/node_modules/undici-types/client.d.ts +0 -108
  496. package/framework-mcp/node_modules/undici-types/connector.d.ts +0 -34
  497. package/framework-mcp/node_modules/undici-types/content-type.d.ts +0 -21
  498. package/framework-mcp/node_modules/undici-types/cookies.d.ts +0 -28
  499. package/framework-mcp/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  500. package/framework-mcp/node_modules/undici-types/dispatcher.d.ts +0 -256
  501. package/framework-mcp/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  502. package/framework-mcp/node_modules/undici-types/errors.d.ts +0 -149
  503. package/framework-mcp/node_modules/undici-types/eventsource.d.ts +0 -61
  504. package/framework-mcp/node_modules/undici-types/fetch.d.ts +0 -209
  505. package/framework-mcp/node_modules/undici-types/file.d.ts +0 -39
  506. package/framework-mcp/node_modules/undici-types/filereader.d.ts +0 -54
  507. package/framework-mcp/node_modules/undici-types/formdata.d.ts +0 -108
  508. package/framework-mcp/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  509. package/framework-mcp/node_modules/undici-types/global-origin.d.ts +0 -7
  510. package/framework-mcp/node_modules/undici-types/handlers.d.ts +0 -15
  511. package/framework-mcp/node_modules/undici-types/header.d.ts +0 -4
  512. package/framework-mcp/node_modules/undici-types/index.d.ts +0 -71
  513. package/framework-mcp/node_modules/undici-types/interceptors.d.ts +0 -17
  514. package/framework-mcp/node_modules/undici-types/mock-agent.d.ts +0 -50
  515. package/framework-mcp/node_modules/undici-types/mock-client.d.ts +0 -25
  516. package/framework-mcp/node_modules/undici-types/mock-errors.d.ts +0 -12
  517. package/framework-mcp/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  518. package/framework-mcp/node_modules/undici-types/mock-pool.d.ts +0 -25
  519. package/framework-mcp/node_modules/undici-types/package.json +0 -55
  520. package/framework-mcp/node_modules/undici-types/patch.d.ts +0 -33
  521. package/framework-mcp/node_modules/undici-types/pool-stats.d.ts +0 -19
  522. package/framework-mcp/node_modules/undici-types/pool.d.ts +0 -39
  523. package/framework-mcp/node_modules/undici-types/proxy-agent.d.ts +0 -28
  524. package/framework-mcp/node_modules/undici-types/readable.d.ts +0 -65
  525. package/framework-mcp/node_modules/undici-types/retry-agent.d.ts +0 -8
  526. package/framework-mcp/node_modules/undici-types/retry-handler.d.ts +0 -116
  527. package/framework-mcp/node_modules/undici-types/util.d.ts +0 -18
  528. package/framework-mcp/node_modules/undici-types/webidl.d.ts +0 -228
  529. package/framework-mcp/node_modules/undici-types/websocket.d.ts +0 -150
  530. package/framework-mcp/tests/tools/file_system/replace_text.test.js +0 -68
  531. package/framework-mcp/tests/tools/file_system/replace_text.test.ts +0 -77
  532. package/mcp.json +0 -11
  533. package/panda.config.ts +0 -100
@@ -1,144 +0,0 @@
1
- # Corporate Project Kickoff Simulation
2
-
3
- **Purpose**: This document provides a realistic, step-by-step simulation of how @manager should conduct the first sessions when a user starts a new corporate/enterprise project using Agent Enderun.
4
-
5
- **Scenario**: A company wants to build an internal "Enterprise User & Access Management" platform. The project will have normal CRUD operations plus high-risk administrative actions (role elevation, system configuration changes).
6
-
7
- ---
8
-
9
- ## Session 1 – Initial Contact & Governance Baseline
10
-
11
- **User**:
12
- "Hi, I need to build a user management system for our company. It should support roles like User, Admin, and SuperAdmin. Admins should be able to promote users, but promoting to SuperAdmin should be very controlled."
13
-
14
- **@manager (after loading all corporate-governance knowledge)**:
15
-
16
- Thank you. Before we discuss any features or technology, we need to establish the governance foundation for this project.
17
-
18
- This appears to be a corporate/enterprise project involving privileged operations. Therefore, we will follow Agent Enderun’s corporate standards from day one.
19
-
20
- The non-negotiable pillars are:
21
-
22
- 1. **Branded Types** for all identifiers (see `branded-types-law.md`)
23
- 2. **High-Risk Administrative Actions** protected by explicit `managerApproval` + Hermes coordination (see `high-risk-actions-managerapproval.md`)
24
- 3. **Contract-first development** — types before implementation
25
- 4. **Audit logging** for all privileged operations (see `audit-logging-standard.md`)
26
- 5. **Typed Domain Errors** instead of generic exceptions (see `domain-error-handling-standard.md`)
27
-
28
- These standards exist to make the system safe, auditable, and maintainable at scale.
29
-
30
- I have prepared the **Corporate Project Kickoff Checklist**. We will go through the relevant parts together over the next sessions.
31
-
32
- Do you accept these operating rules for this project?
33
-
34
- **User**:
35
- "Yes, that makes sense. We need proper controls especially around SuperAdmin promotions."
36
-
37
- **@manager**:
38
- Excellent. Acknowledgment recorded.
39
-
40
- We will now begin Phase 0 and Phase 1 of the Corporate Project Scaffolding SOP.
41
-
42
- First action: We will establish the type foundation before writing any feature code.
43
-
44
- ---
45
-
46
- ## Session 2 – Contract & Type Foundation
47
-
48
- **@manager** (briefing to @backend and @frontend):
49
-
50
- Team,
51
-
52
- We are now in Phase 1 of the Corporate Project Scaffolding SOP.
53
-
54
- Required immediate deliverables:
55
-
56
- **@backend**:
57
- - Create `apps/backend/src/types/brand.ts`
58
- - Create `apps/backend/src/types/identifiers.ts` with `UserID`, `RoleID`, `ApprovalID`, `TraceID`
59
- - Create `apps/backend/src/types/approval.ts` with `ManagerApproval` and `HighRiskActionPayload`
60
- - Create `apps/backend/src/types/errors.ts` including `HighRiskActionRequiresApprovalError`
61
- - Initialize `apps/backend/contract.version.json`
62
-
63
- **@frontend**:
64
- - Create matching type copies in `apps/web/src/types/api-contracts.ts`
65
- - Begin designing the base `HighRiskSecurityModal` component structure (implementation will come in Phase 2)
66
-
67
- **@analyst**:
68
- - Establish contract integrity verification process
69
-
70
- No backend routes or frontend pages may be implemented until these contracts are defined and approved by me.
71
-
72
- Please confirm when the type foundation is ready for review.
73
-
74
- ---
75
-
76
- ## Session 3 – High-Risk Governance Infrastructure
77
-
78
- **User**:
79
- "We need to implement the 'Promote to SuperAdmin' feature soon."
80
-
81
- **@manager**:
82
-
83
- Understood. However, according to the Corporate Project Scaffolding SOP (Phase 2), we must build the high-risk governance infrastructure **before** implementing any privileged feature.
84
-
85
- This means:
86
-
87
- - @backend must implement strict validation that rejects any role elevation request unless `isHighRiskAdminAction: true` + valid `managerApproval` is present.
88
- - @frontend must build a prominent, non-dismissible Security Modal that forces the user to provide a reason before initiating the Hermes briefing to me (@manager).
89
- - Audit logging must be designed for every high-risk action (see `audit-logging-standard.md`).
90
-
91
- Only after these two layers exist will we proceed to implement the actual promotion feature.
92
-
93
- @backend and @frontend — I am now issuing the official briefing for Phase 2.
94
-
95
- Please reference:
96
- - `high-risk-actions-managerapproval.md`
97
- - `high-risk-security-modal-hermes-flow.md`
98
- - `domain-error-handling-standard.md`
99
-
100
- Confirm when the infrastructure design is ready for my approval.
101
-
102
- ---
103
-
104
- ## Session 4 – Delegation Example (After Infrastructure Approval)
105
-
106
- **@manager** (to @backend):
107
-
108
- @backend,
109
-
110
- The high-risk infrastructure has been approved.
111
-
112
- You may now implement the following:
113
-
114
- **Feature**: `POST /api/v1/users/:id/role`
115
-
116
- Requirements:
117
- - Must use branded types only (`UserID`, `RoleID`, `ApprovalID`)
118
- - Must reject the request with `HighRiskActionRequiresApprovalError` if the high-risk payload is missing or invalid
119
- - Must create an audit log entry using the `AuditLog` domain (see `audit-logging-standard.md`)
120
- - Must follow the contract defined in `apps/backend/src/types/api-contracts.ts`
121
-
122
- Reference files:
123
- - `high-risk-actions-managerapproval.md`
124
- - `branded-types-law.md`
125
- - `domain-error-handling-standard.md`
126
-
127
- Do not proceed with any other privileged features until this endpoint is complete and reviewed.
128
-
129
- ---
130
-
131
- ## Key Behaviors Demonstrated in This Simulation
132
-
133
- - @manager never allows feature work before governance foundation
134
- - @manager consistently references the knowledge files
135
- - @manager uses the Corporate Project Kickoff Checklist and Scaffolding SOP as the operating process
136
- - @manager educates the user while protecting the standards
137
- - All delegations are precise and reference the corporate governance documents
138
-
139
- This is the expected behavior for any corporate project.
140
-
141
- ---
142
-
143
- **Note for Agents**:
144
- When conducting real sessions, adapt the language but never skip the governance steps. Shortcuts at the beginning create expensive problems later.
@@ -1,103 +0,0 @@
1
- # Corporate Enterprise Project Scaffolding SOP (for @manager)
2
-
3
- **Version:** 1.1
4
- **Purpose**: This is the mandatory standard process that @manager must follow when a user initiates a new project with corporate, enterprise, or regulated characteristics.
5
-
6
- **Core Philosophy**:
7
- Agent Enderun does **not** ship pre-built reference applications inside `apps/`.
8
- Our value is in internalizing governance standards into the agents so that we can **guide the user** to build correctly, step by step, from the very first file.
9
-
10
- ---
11
-
12
- ## Phase 0 – Discovery & Governance Baseline (Non-Negotiable First Step)
13
-
14
- Before any code is written or any feature is discussed in detail:
15
-
16
- 1. **Load Corporate Governance Knowledge** (mandatory reads):
17
- - `branded-types-law.md`
18
- - `high-risk-actions-managerapproval.md`
19
- - `high-risk-security-modal-hermes-flow.md`
20
- - `audit-logging-standard.md`
21
- - `governance-baseline-briefing-template.md`
22
- - `audit-logging-standard.md` (when created)
23
-
24
- 2. **Assess Project Context**:
25
- - Does the project involve multiple users, roles, permissions, or privileged operations?
26
- - Is there any requirement for audit trails, compliance, or high-risk administrative actions?
27
- - Default assumption: Treat every new project as enterprise-grade unless the user explicitly states it is a simple internal prototype with no privileged actions.
28
-
29
- 3. **Establish the Governance Contract** (before any technical discussion):
30
- - Clearly communicate that the project will follow Agent Enderun corporate standards.
31
- - Introduce the non-negotiable pillars:
32
- - Branded Types for all domain identifiers
33
- - High-risk actions protected exclusively by `managerApproval` + Hermes coordination
34
- - Contract-first development (types before implementation)
35
- - Comprehensive audit logging for privileged operations
36
- - Obtain explicit user acknowledgment.
37
-
38
- 4. **Document the Baseline Decision** in `docs/architecture/decisions/`.
39
-
40
- **Rule**: No feature work, no architecture discussion, and no delegation may begin until Phase 0 is complete and acknowledged.
41
-
42
- ---
43
-
44
- ## Phase 1 – Foundation Layer (Contracts Before Any Implementation)
45
-
46
- 1. **Create the Type System First** (`apps/backend/src/types`):
47
- - `brand.ts` – Generic `Brand<T, Name>` utility
48
- - `identifiers.ts` – `UserID`, `RoleID`, `ApprovalID`, `TraceID`, etc.
49
- - `approval.ts` – `ManagerApproval` and `HighRiskActionPayload`
50
- - `errors.ts` – DomainError base + concrete errors (including `HighRiskActionRequiresApprovalError`)
51
- - `user.ts` / `role.ts` – Core domain entities
52
- - `api-contracts.ts` – Initial request/response shapes for the first feature
53
-
54
- 2. **Initialize Contract Versioning**:
55
- - Create `apps/backend/contract.version.json` with proper MAJOR.MINOR version and hash.
56
-
57
- 3. **Brief Supporting Agents**:
58
- - Brief `@analyst` to establish contract integrity verification process.
59
- - Brief `@frontend` to create parallel type copies and the base Security Modal component.
60
-
61
- **Strict Rule**: No backend route, no React component, and no database schema may be implemented until the relevant contracts are defined and approved by @manager.
62
-
63
- ---
64
-
65
- ## Phase 2 – High-Risk Governance Infrastructure (Before Any Privileged Feature)
66
-
67
- If the project will contain user/role management, configuration changes, or any privileged operations:
68
-
69
- 1. Design and document the complete `managerApproval` validation flow with `@backend`.
70
- 2. Design and implement the Security Modal + Hermes briefing user flow with `@frontend`.
71
- 3. Ensure both specialist agents have explicit instructions in their briefings referencing the corporate governance knowledge files.
72
- 4. Verify that `@backend` will reject any high-risk request lacking the proper payload, and that `@frontend` will never bypass the modal.
73
-
74
- Only after these two infrastructure layers exist may actual feature development for privileged areas begin.
75
-
76
- ---
77
-
78
- ## Phase 3 – Feature Development Under Strict Governance
79
-
80
- When delegating any work to `@backend` or `@frontend`:
81
-
82
- The briefing message **must** include:
83
- - Exact path to the contract types for this feature.
84
- - Classification of whether the feature contains high-risk actions.
85
- - Explicit references to the relevant files in `.enderun/knowledge/corporate-governance/`.
86
- - Requirement to notify @manager before implementing any high-risk path.
87
- - Mandate to produce ADR documentation for any new governance decisions.
88
-
89
- After delivery:
90
- - Require `@analyst` to perform contract alignment verification.
91
- - Require documentation of the implementation in the project’s decision records.
92
-
93
- ---
94
-
95
- ## Phase 4 – Continuous Enforcement & Education
96
-
97
- - At the start of every session, re-read the corporate governance knowledge files.
98
- - Any proposal to “add governance later” or bypass standards must be treated as a process violation and rejected.
99
- - @manager is responsible for continuously educating the user and the specialist agents on the standards throughout the lifetime of the project.
100
-
101
- ---
102
-
103
- **This SOP is the primary mechanism by which Agent Enderun scales enterprise discipline without shipping example code.**
@@ -1,75 +0,0 @@
1
- # Domain Error Handling & Typed Errors Standard
2
-
3
- **Applies to**: All backend and shared contract code in enterprise projects using Agent Enderun.
4
-
5
- ## Purpose
6
- In large-scale corporate systems, generic `Error` or string-based error messages lead to fragile code, poor debugging, and insecure error handling. We enforce a typed, domain-aware error system.
7
-
8
- ## Core Principles
9
-
10
- 1. Every domain error must be represented by a dedicated class that extends a base `DomainError`.
11
- 2. Errors must carry machine-readable codes, not just human messages.
12
- 3. Errors must be serializable in a consistent, safe format for API responses.
13
- 4. Never use `throw new Error("something went wrong")` in production business logic.
14
-
15
- ## Standard Error Hierarchy
16
-
17
- ```ts
18
- // apps/backend/src/types/errors.ts
19
-
20
- export abstract class DomainError extends Error {
21
- abstract readonly code: string;
22
- abstract readonly statusCode: number;
23
- readonly details?: Record<string, unknown>;
24
-
25
- constructor(message: string, details?: Record<string, unknown>) {
26
- super(message);
27
- this.details = details;
28
- Object.setPrototypeOf(this, new.target.prototype);
29
- }
30
-
31
- toJSON() {
32
- return {
33
- error: {
34
- code: this.code,
35
- message: this.message,
36
- details: this.details,
37
- },
38
- };
39
- }
40
- }
41
-
42
- // Example concrete errors
43
- export class UserNotFoundError extends DomainError {
44
- readonly code = 'USER_NOT_FOUND';
45
- readonly statusCode = 404;
46
- }
47
-
48
- export class InsufficientPermissionsError extends DomainError {
49
- readonly code = 'INSUFFICIENT_PERMISSIONS';
50
- readonly statusCode = 403;
51
- }
52
-
53
- export class HighRiskActionRequiresApprovalError extends DomainError {
54
- readonly code = 'HIGH_RISK_ACTION_REQUIRES_APPROVAL';
55
- readonly statusCode = 403;
56
- }
57
- ```
58
-
59
- ## Usage Rules
60
-
61
- - Business logic must throw specific domain errors, never generic ones.
62
- - API layer (Fastify error handler) converts `DomainError` instances into safe JSON responses.
63
- - Never expose stack traces or internal details to clients.
64
- - Frontend must be able to handle known error codes and show appropriate user-facing messages.
65
-
66
- ## Integration with High-Risk Governance
67
-
68
- When a high-risk action is attempted without proper `managerApproval`, the backend **must** throw `HighRiskActionRequiresApprovalError`. This error code is then used by the frontend to trigger the security modal flow.
69
-
70
- ## Enforcement
71
-
72
- - `@backend` must reject any implementation that uses raw `Error` or `throw new Error(...)` for domain cases.
73
- - `@analyst` will periodically scan for anti-patterns using static analysis.
74
-
75
- This standard ensures consistent, safe, and debuggable error handling across the entire system.
@@ -1,211 +0,0 @@
1
- # Security Modal + Hermes Briefing Component Implementation Guide (@frontend)
2
-
3
- **Applies to**: Any UI flow that can trigger high-risk administrative actions.
4
-
5
- **Goal**: Provide @frontend with a concrete, reusable, and governance-compliant pattern using Panda CSS and proper state management.
6
-
7
- ---
8
-
9
- ## 1. Component Architecture (Recommended)
10
-
11
- ```
12
- apps/web/src/components/ui/
13
- ├── HighRiskSecurityModal/
14
- │ ├── HighRiskSecurityModal.tsx
15
- │ ├── HighRiskSecurityModal.types.ts
16
- │ └── HighRiskSecurityModal.styles.ts (Panda CSS)
17
- ├── hooks/
18
- │ └── useHighRiskApproval.ts (Hermes briefing logic)
19
- ```
20
-
21
- ---
22
-
23
- ## 2. Core Types
24
-
25
- ```ts
26
- // HighRiskSecurityModal.types.ts
27
- import { ManagerApproval, TraceID } from '../../../types/api-contracts';
28
-
29
- export interface HighRiskActionContext {
30
- actionType: string; // e.g. "PROMOTE_TO_SUPERADMIN"
31
- targetId: string;
32
- targetDescription: string;
33
- }
34
-
35
- export interface HighRiskApprovalResult {
36
- approved: boolean;
37
- managerApproval?: ManagerApproval;
38
- }
39
- ```
40
-
41
- ---
42
-
43
- ## 3. Hook: useHighRiskApproval (Hermes Coordination)
44
-
45
- ```ts
46
- // hooks/useHighRiskApproval.ts
47
-
48
- export function useHighRiskApproval() {
49
- const [status, setStatus] = useState<'idle' | 'awaiting_manager' | 'approved' | 'rejected'>('idle');
50
- const [approval, setApproval] = useState<ManagerApproval | null>(null);
51
-
52
- const requestApproval = async (context: HighRiskActionContext, reason: string) => {
53
- setStatus('awaiting_manager');
54
-
55
- // In real implementation, this sends a Hermes message to @manager
56
- const hermesMessage = {
57
- type: 'high_risk_approval_request',
58
- traceId: generateTraceId() as TraceID,
59
- payload: {
60
- action: context.actionType,
61
- targetId: context.targetId,
62
- reason,
63
- },
64
- };
65
-
66
- // Simulated Hermes round-trip (in real system this would be async via MCP/tools)
67
- const response = await sendHermesToManager(hermesMessage);
68
-
69
- if (response.status === 'approved') {
70
- setApproval(response.managerApproval);
71
- setStatus('approved');
72
- return { approved: true, managerApproval: response.managerApproval };
73
- } else {
74
- setStatus('rejected');
75
- return { approved: false };
76
- }
77
- };
78
-
79
- return { status, approval, requestApproval };
80
- }
81
- ```
82
-
83
- ---
84
-
85
- ## 4. Security Modal Component (Panda CSS)
86
-
87
- ```tsx
88
- // HighRiskSecurityModal.tsx
89
-
90
- import { css } from '../../../styled-system/css';
91
-
92
- interface Props {
93
- isOpen: boolean;
94
- context: HighRiskActionContext;
95
- onClose: () => void;
96
- onApproved: (approval: ManagerApproval) => void;
97
- }
98
-
99
- export function HighRiskSecurityModal({ isOpen, context, onClose, onApproved }: Props) {
100
- const [reason, setReason] = useState('');
101
- const [isSubmitting, setIsSubmitting] = useState(false);
102
- const { status, approval, requestApproval } = useHighRiskApproval();
103
-
104
- const handleRequestApproval = async () => {
105
- if (!reason.trim()) return;
106
-
107
- setIsSubmitting(true);
108
- const result = await requestApproval(context, reason);
109
-
110
- if (result.approved && result.managerApproval) {
111
- onApproved(result.managerApproval);
112
- onClose();
113
- }
114
- setIsSubmitting(false);
115
- };
116
-
117
- if (!isOpen) return null;
118
-
119
- return (
120
- <div className={css({ position: 'fixed', inset: 0, bg: 'rgba(0,0,0,0.7)', zIndex: 1000 })}>
121
- <div className={css({
122
- bg: 'white',
123
- maxW: '480px',
124
- mx: 'auto',
125
- mt: '10vh',
126
- p: '6',
127
- borderRadius: 'lg',
128
- border: '2px solid {colors.red.600}',
129
- })}>
130
- <h2 className={css({ color: 'red.600', fontSize: 'xl', fontWeight: 'bold' })}>
131
- ⚠️ High-Risk Administrative Action
132
- </h2>
133
-
134
- <p className={css({ mt: 3 })}>
135
- You are about to perform: <strong>{context.actionType}</strong><br />
136
- Target: {context.targetDescription}
137
- </p>
138
-
139
- <label className={css({ display: 'block', mt: 4, fontWeight: 'medium' })}>
140
- Reason for this action (required for audit and approval):
141
- </label>
142
- <textarea
143
- value={reason}
144
- onChange={(e) => setReason(e.target.value)}
145
- className={css({ w: 'full', h: '100px', mt: 2, p: 3, border: '1px solid gray' })}
146
- placeholder="Explain why this privileged action is necessary..."
147
- />
148
-
149
- <div className={css({ display: 'flex', gap: 3, mt: 5 })}>
150
- <button onClick={onClose} disabled={isSubmitting}>
151
- Cancel
152
- </button>
153
- <button
154
- onClick={handleRequestApproval}
155
- disabled={isSubmitting || !reason.trim()}
156
- className={css({ bg: 'red.600', color: 'white' })}
157
- >
158
- {status === 'awaiting_manager'
159
- ? 'Waiting for @manager approval via Hermes...'
160
- : 'Request Manager Approval'}
161
- </button>
162
- </div>
163
-
164
- <p className={css({ fontSize: 'xs', color: 'gray.500', mt: 4 })}>
165
- This action will be fully audited. A valid managerApproval token is required.
166
- </p>
167
- </div>
168
- </div>
169
- );
170
- }
171
- ```
172
-
173
- ---
174
-
175
- ## 5. Usage in a Page
176
-
177
- ```tsx
178
- const handlePromoteClick = (user: User) => {
179
- setSelectedUser(user);
180
- setModalOpen(true);
181
- };
182
-
183
- const handleApproved = (approval: ManagerApproval) => {
184
- // Now safe to call the high-risk API with the token
185
- promoteUser(user.id, approval);
186
- };
187
- ```
188
-
189
- ---
190
-
191
- ## 6. Anti-Patterns (Forbidden)
192
-
193
- - Calling high-risk API endpoints directly from event handlers
194
- - Generating fake `managerApproval` objects on the client
195
- - Making the modal dismissible while the Hermes request is in flight
196
- - Storing approval tokens in localStorage for later reuse
197
- - Skipping the “reason” field
198
-
199
- ---
200
-
201
- ## 7. Testing Requirements
202
-
203
- - Modal appears when high-risk action is triggered
204
- - API call is blocked until valid approval is received
205
- - Reason field is mandatory
206
- - Proper error states when @manager rejects the request
207
-
208
- **Reference files**:
209
- - `high-risk-security-modal-hermes-flow.md`
210
- - `high-risk-action-approval-flow-simulation.md`
211
- - `corporate-project-scaffolding-sop.md`
@@ -1,54 +0,0 @@
1
- # Governance Baseline Briefing Template (for @manager)
2
-
3
- **Use Case**: Use this as the foundation for the first major response when a user starts a new project that appears to be corporate or enterprise in nature.
4
-
5
- **Goal**: Establish the governance contract early, set expectations, and position the standards as non-negotiable enablers rather than obstacles.
6
-
7
- ---
8
-
9
- ## Template
10
-
11
- Thank you for initiating this project with Agent Enderun.
12
-
13
- Before we discuss any specific features, architecture, or technology choices, we must establish the governance baseline that will guide all work.
14
-
15
- ### Corporate Governance Standards
16
-
17
- This project will follow Agent Enderun’s enterprise governance model. The three foundational pillars are:
18
-
19
- 1. **Branded Types Law**
20
- All domain identifiers (UserID, RoleID, ApprovalID, etc.) must use compile-time branded types. Plain strings or numbers for identifiers are not permitted.
21
-
22
- 2. **High-Risk Administrative Action Governance**
23
- Any operation that elevates roles, changes system configuration, performs bulk operations, or accesses sensitive audit data is classified as high-risk. These actions may only be executed after:
24
- - Explicit `isHighRiskAdminAction: true` flag, and
25
- - A valid `managerApproval` token containing a signed reason and trace ID.
26
-
27
- 3. **Contract-First Development + Hermes Coordination**
28
- API contracts and type definitions are created before implementation. Any change to shared contracts must be communicated via Hermes to the relevant specialist agents.
29
-
30
- These standards exist to make the system auditable, safe, and maintainable at scale. They are not optional.
31
-
32
- ### How We Will Work Together
33
-
34
- - We will **not** start by building features.
35
- - We will first define the type foundation and governance infrastructure.
36
- - Only after the foundation is in place will we proceed to implement user-facing functionality.
37
- - I (@manager) will personally review and approve the governance approach for any high-risk area before implementation begins.
38
-
39
- ### Next Immediate Steps
40
-
41
- If you agree with this approach, please confirm. Once confirmed, we will begin with:
42
-
43
- 1. Creation of the Branded Types foundation and core `ManagerApproval` contract.
44
- 2. Definition of the first set of API contracts.
45
- 3. (If privileged operations are expected) Design of the high-risk approval flow and security modal pattern.
46
-
47
- Would you like to proceed with this governance-first approach, or do you have any questions or concerns before we begin?
48
-
49
- ---
50
-
51
- **Usage Notes for @manager**:
52
- - Adapt the language based on how much the user already understands.
53
- - If the user pushes back on governance, treat it as a signal to spend more time on education rather than proceeding faster.
54
- - Always document the user’s acknowledgment in `PROJECT_MEMORY.md` under Critical Decisions.