blockmine 1.21.0 → 1.22.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 (433) hide show
  1. package/.claude/agents/README.md +469 -0
  2. package/.claude/agents/auth-route-debugger.md +118 -0
  3. package/.claude/agents/auth-route-tester.md +93 -0
  4. package/.claude/agents/auto-error-resolver.md +97 -0
  5. package/.claude/agents/build-optimizer.md +236 -0
  6. package/.claude/agents/code-architecture-reviewer.md +83 -0
  7. package/.claude/agents/code-refactor-master.md +94 -0
  8. package/.claude/agents/cost-optimizer.md +134 -0
  9. package/.claude/agents/deployment-orchestrator.md +113 -0
  10. package/.claude/agents/documentation-architect.md +82 -0
  11. package/.claude/agents/frontend-error-fixer.md +77 -0
  12. package/.claude/agents/iac-code-generator.md +71 -0
  13. package/.claude/agents/incident-responder.md +346 -0
  14. package/.claude/agents/infrastructure-architect.md +31 -0
  15. package/.claude/agents/kubernetes-specialist.md +56 -0
  16. package/.claude/agents/migration-planner.md +181 -0
  17. package/.claude/agents/network-architect.md +196 -0
  18. package/.claude/agents/plan-reviewer.md +52 -0
  19. package/.claude/agents/refactor-planner.md +63 -0
  20. package/.claude/agents/security-scanner.md +102 -0
  21. package/.claude/agents/web-research-specialist.md +78 -0
  22. package/.claude/commands/cost-analysis.md +315 -0
  23. package/.claude/commands/dev-docs-update.md +55 -0
  24. package/.claude/commands/dev-docs.md +51 -0
  25. package/.claude/commands/incident-debug.md +247 -0
  26. package/.claude/commands/infra-plan.md +81 -0
  27. package/.claude/commands/migration-plan.md +478 -0
  28. package/.claude/commands/route-research-for-testing.md +37 -0
  29. package/.claude/commands/security-review.md +66 -0
  30. package/.claude/hooks/CONFIG.md +448 -0
  31. package/.claude/hooks/README.md +163 -0
  32. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
  33. package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
  34. package/.claude/hooks/add-skill-activation-banners.ts +132 -0
  35. package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
  36. package/.claude/hooks/error-handling-reminder.sh +12 -0
  37. package/.claude/hooks/error-handling-reminder.ts +222 -0
  38. package/.claude/hooks/k8s-manifest-validator.sh +56 -0
  39. package/.claude/hooks/package-lock.json +556 -0
  40. package/.claude/hooks/package.json +16 -0
  41. package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
  42. package/.claude/hooks/post-tool-use-tracker.sh +183 -0
  43. package/.claude/hooks/security-policy-check.sh +247 -0
  44. package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
  45. package/.claude/hooks/skill-activation-prompt.sh +10 -0
  46. package/.claude/hooks/skill-activation-prompt.ts +141 -0
  47. package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
  48. package/.claude/hooks/terraform-validator.sh +53 -0
  49. package/.claude/hooks/test-input.json +7 -0
  50. package/.claude/hooks/test-skill-activation.ts +427 -0
  51. package/.claude/hooks/trigger-build-resolver.sh +79 -0
  52. package/.claude/hooks/tsc-check.sh +173 -0
  53. package/.claude/hooks/tsconfig.json +19 -0
  54. package/.claude/settings.json +55 -0
  55. package/.claude/settings.local.json +27 -14
  56. package/.claude/skills/README.md +507 -0
  57. package/.claude/skills/api-engineering/SKILL.md +63 -0
  58. package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
  59. package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
  60. package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
  61. package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
  62. package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
  63. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  64. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  65. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  66. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  67. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  68. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  69. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  70. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  71. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  72. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  73. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  74. package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
  75. package/.claude/skills/build-engineering/SKILL.md +431 -0
  76. package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
  77. package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
  78. package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
  79. package/.claude/skills/build-engineering/resources/build-security.md +95 -0
  80. package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
  81. package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
  82. package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
  83. package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
  84. package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
  85. package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
  86. package/.claude/skills/cloud-engineering/SKILL.md +675 -0
  87. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
  88. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
  89. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
  90. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
  91. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
  92. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
  93. package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
  94. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
  95. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
  96. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
  97. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
  98. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
  99. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
  100. package/.claude/skills/cybersecurity/SKILL.md +409 -0
  101. package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
  102. package/.claude/skills/database-engineering/SKILL.md +61 -0
  103. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
  104. package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
  105. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
  106. package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
  107. package/.claude/skills/devsecops/SKILL.md +374 -0
  108. package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
  109. package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
  110. package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
  111. package/.claude/skills/devsecops/resources/container-security.md +915 -0
  112. package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
  113. package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
  114. package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
  115. package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
  116. package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
  117. package/.claude/skills/devsecops/resources/security-testing.md +203 -0
  118. package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
  119. package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
  120. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
  121. package/.claude/skills/documentation-as-code/SKILL.md +323 -0
  122. package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
  123. package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
  124. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
  125. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
  126. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
  127. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
  128. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
  129. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
  130. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
  131. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
  132. package/.claude/skills/engineering-management/SKILL.md +356 -0
  133. package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
  134. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
  135. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
  136. package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
  137. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
  138. package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
  139. package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
  140. package/.claude/skills/error-tracking/SKILL.md +379 -0
  141. package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
  142. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  143. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  144. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  145. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  146. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  147. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  148. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  149. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  150. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  151. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  152. package/.claude/skills/general-it-engineering/SKILL.md +393 -0
  153. package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
  154. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
  155. package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
  156. package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
  157. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
  158. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
  159. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
  160. package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
  161. package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
  162. package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
  163. package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
  164. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
  165. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
  166. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
  167. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
  168. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
  169. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
  170. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
  171. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
  172. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
  173. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
  174. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
  175. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
  176. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
  177. package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
  178. package/.claude/skills/network-engineering/SKILL.md +385 -0
  179. package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
  180. package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
  181. package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
  182. package/.claude/skills/network-engineering/resources/network-security.md +921 -0
  183. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
  184. package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
  185. package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
  186. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
  187. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
  188. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
  189. package/.claude/skills/observability-engineering/SKILL.md +101 -0
  190. package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
  191. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
  192. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
  193. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
  194. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
  195. package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
  196. package/.claude/skills/platform-engineering/SKILL.md +555 -0
  197. package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
  198. package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
  199. package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
  200. package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
  201. package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
  202. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
  203. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
  204. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
  205. package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
  206. package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
  207. package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
  208. package/.claude/skills/release-engineering/SKILL.md +393 -0
  209. package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
  210. package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
  211. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
  212. package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
  213. package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
  214. package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
  215. package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
  216. package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
  217. package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
  218. package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
  219. package/.claude/skills/route-tester/SKILL.md +392 -0
  220. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  221. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  222. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  223. package/.claude/skills/skill-developer/SKILL.md +430 -0
  224. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  225. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  226. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  227. package/.claude/skills/skill-rules.json +2940 -0
  228. package/.claude/skills/sre/SKILL.md +464 -0
  229. package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
  230. package/.claude/skills/sre/resources/capacity-planning.md +226 -0
  231. package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
  232. package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
  233. package/.claude/skills/sre/resources/incident-management.md +436 -0
  234. package/.claude/skills/sre/resources/observability-stack.md +240 -0
  235. package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
  236. package/.claude/skills/sre/resources/performance-optimization.md +108 -0
  237. package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
  238. package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
  239. package/.claude/skills/sre/resources/toil-reduction.md +145 -0
  240. package/.claude/skills/systems-engineering/SKILL.md +648 -0
  241. package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
  242. package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
  243. package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
  244. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
  245. package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
  246. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
  247. package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
  248. package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
  249. package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
  250. package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
  251. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
  252. package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
  253. package/.claude/skills/technical-leadership/SKILL.md +728 -0
  254. package/CHANGELOG.md +90 -54
  255. package/README.md +94 -0
  256. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  257. package/backend/jest.config.js +59 -0
  258. package/backend/package-lock.json +6129 -0
  259. package/backend/package.json +16 -4
  260. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  261. package/backend/prisma/schema.prisma +33 -0
  262. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  263. package/backend/src/__tests__/core/UserService.test.js +875 -0
  264. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  265. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  266. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  267. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  268. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  269. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  270. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  271. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  272. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  273. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  274. package/backend/src/__tests__/services/BotLifecycleService.test.js +411 -0
  275. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  276. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  277. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  278. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  279. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  280. package/backend/src/__tests__/setup.js +25 -0
  281. package/backend/src/api/routes/apiKeys.js +181 -0
  282. package/backend/src/api/routes/bots.js +49 -7
  283. package/backend/src/api/routes/plugins.js +2 -1
  284. package/backend/src/api/routes/system.js +174 -0
  285. package/backend/src/container.js +82 -0
  286. package/backend/src/core/BotManager.js +142 -871
  287. package/backend/src/core/BotManager.old.js +1093 -0
  288. package/backend/src/core/BotProcess.js +1092 -858
  289. package/backend/src/core/EventGraphManager.js +280 -198
  290. package/backend/src/core/GraphExecutionEngine.js +321 -325
  291. package/backend/src/core/MessageQueue.js +27 -6
  292. package/backend/src/core/NodeRegistry.js +37 -1134
  293. package/backend/src/core/PluginManager.js +62 -12
  294. package/backend/src/core/PrismaService.js +32 -0
  295. package/backend/src/core/UserService.js +3 -3
  296. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  297. package/backend/src/core/commands/README.md +305 -0
  298. package/backend/src/core/commands/dev.js +13 -7
  299. package/backend/src/core/commands/ping.js +10 -4
  300. package/backend/src/core/commands/whois.js +63 -0
  301. package/backend/src/core/config/validation.js +27 -0
  302. package/backend/src/core/constants/graphTypes.js +21 -0
  303. package/backend/src/core/node-registries/actions.js +132 -0
  304. package/backend/src/core/node-registries/arrays.js +137 -0
  305. package/backend/src/core/node-registries/bot.js +23 -0
  306. package/backend/src/core/node-registries/data.js +290 -0
  307. package/backend/src/core/node-registries/debug.js +26 -0
  308. package/backend/src/core/node-registries/events.js +187 -0
  309. package/backend/src/core/node-registries/flow.js +139 -0
  310. package/backend/src/core/node-registries/logic.js +45 -0
  311. package/backend/src/core/node-registries/math.js +42 -0
  312. package/backend/src/core/node-registries/objects.js +98 -0
  313. package/backend/src/core/node-registries/strings.js +153 -0
  314. package/backend/src/core/node-registries/time.js +113 -0
  315. package/backend/src/core/node-registries/users.js +79 -0
  316. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  317. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  318. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  319. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  320. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  321. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  322. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +8 -0
  323. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  324. package/backend/src/core/nodes/data/entity_info.js +69 -0
  325. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  326. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  327. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  328. package/backend/src/core/nodes/data/type_check.js +53 -0
  329. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  330. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  331. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  332. package/backend/src/core/nodes/flow/delay.js +43 -0
  333. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  334. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  335. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  336. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  337. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  338. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  339. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  340. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  341. package/backend/src/core/nodes/time/add.js +33 -0
  342. package/backend/src/core/nodes/time/compare.js +35 -0
  343. package/backend/src/core/nodes/time/diff.js +29 -0
  344. package/backend/src/core/nodes/time/format.js +32 -0
  345. package/backend/src/core/nodes/time/now.js +18 -0
  346. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  347. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  348. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  349. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  350. package/backend/src/core/services/BotLifecycleService.js +596 -0
  351. package/backend/src/core/services/BotProcessManager.js +163 -0
  352. package/backend/src/core/services/CacheManager.js +111 -0
  353. package/backend/src/core/services/CommandExecutionService.js +351 -0
  354. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  355. package/backend/src/core/services/TelemetryService.js +124 -0
  356. package/backend/src/core/services/ValidationService.js +132 -0
  357. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  358. package/backend/src/core/services.js +20 -5
  359. package/backend/src/core/system/CommandContext.js +84 -0
  360. package/backend/src/core/system/Transport.js +78 -0
  361. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  362. package/backend/src/core/utils/jsonParser.js +18 -0
  363. package/backend/src/core/utils/secretsFilter.js +262 -0
  364. package/backend/src/core/utils/variableParser.js +89 -0
  365. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  366. package/backend/src/core/validation/nodeSchemas.js +112 -0
  367. package/backend/src/lib/prisma.js +2 -4
  368. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  369. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  370. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  371. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  372. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  373. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  374. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  375. package/backend/src/real-time/botApi/index.js +40 -0
  376. package/backend/src/real-time/botApi/middleware.js +79 -0
  377. package/backend/src/real-time/botApi/utils.js +54 -0
  378. package/backend/src/real-time/socketHandler.js +6 -2
  379. package/backend/src/repositories/BaseRepository.js +43 -0
  380. package/backend/src/repositories/BotRepository.js +42 -0
  381. package/backend/src/repositories/CommandRepository.js +53 -0
  382. package/backend/src/repositories/EventGraphRepository.js +40 -0
  383. package/backend/src/repositories/GroupRepository.js +69 -0
  384. package/backend/src/repositories/PermissionRepository.js +48 -0
  385. package/backend/src/repositories/PluginRepository.js +42 -0
  386. package/backend/src/repositories/ServerRepository.js +27 -0
  387. package/backend/src/repositories/UserRepository.js +48 -0
  388. package/backend/src/server.js +3 -0
  389. package/backend/src/test-refactor.js +85 -0
  390. package/frontend/dist/assets/index-CfTo92bP.css +1 -0
  391. package/frontend/dist/assets/index-CiFD5X9Z.js +8344 -0
  392. package/frontend/dist/index.html +2 -2
  393. package/frontend/package.json +0 -5
  394. package/package.json +2 -1
  395. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  396. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  397. package/nul +0 -0
  398. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  399. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  400. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  401. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  402. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  403. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  404. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  405. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  406. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  407. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  408. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  409. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  410. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  411. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  412. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  413. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  414. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  415. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  416. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  417. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  418. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  419. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  420. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  421. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  422. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  423. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  424. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  425. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  426. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  427. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  428. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  429. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  430. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  431. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  432. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
  433. /package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +0 -0
@@ -0,0 +1,609 @@
1
+ # Career Ladders for Infrastructure Engineers
2
+
3
+ **Comprehensive career progression frameworks for individual contributors and managers.**
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ **Career ladders provide:**
10
+ - Clear expectations at each level
11
+ - Transparent path to promotion
12
+ - Fair and consistent evaluation
13
+ - Motivation and retention
14
+
15
+ **Two tracks:**
16
+ 1. **Individual Contributor (IC):** L3 → L4 → L5 → L6 → L7+
17
+ 2. **Manager (M):** M3 → M4 → M5 → M6+
18
+
19
+ **Key principle:** IC and Manager tracks are **parallel and equal** - neither is "better" or "higher"
20
+
21
+ ---
22
+
23
+ ## Individual Contributor (IC) Track
24
+
25
+ ### L3: Junior Engineer (0-2 years experience)
26
+
27
+ **Scope:** Executes well-defined tasks with guidance
28
+
29
+ **Technical Skills:**
30
+ - Learning fundamentals of domain (cloud, K8s, CI/CD, etc.)
31
+ - Can implement solutions following team patterns
32
+ - Asks good questions and seeks help appropriately
33
+ - Basic troubleshooting and debugging skills
34
+
35
+ **Impact:**
36
+ - Completes assigned tasks on time
37
+ - Minimal re-work needed on code reviews
38
+ - Contributes to team velocity
39
+
40
+ **Collaboration:**
41
+ - Actively participates in team meetings
42
+ - Responsive to code review feedback
43
+ - Documents work clearly
44
+ - Seeks mentorship and feedback
45
+
46
+ **Typical Projects:**
47
+ - Implement feature using existing patterns
48
+ - Fix bugs in well-understood systems
49
+ - Write tests and documentation
50
+ - Participate in on-call (shadowing)
51
+
52
+ **Promotion to L4:**
53
+ - 12-18 months at L3 (depending on growth)
54
+ - Consistently delivers tasks independently
55
+ - Shows readiness for bigger scope
56
+
57
+ ---
58
+
59
+ ### L4: Engineer (2-5 years experience)
60
+
61
+ **Scope:** Owns small-to-medium projects independently
62
+
63
+ **Technical Skills:**
64
+ - Proficient in core technologies of domain
65
+ - Can design and implement solutions with minimal guidance
66
+ - Understands trade-offs and makes reasonable technical decisions
67
+ - Effective at debugging complex issues
68
+
69
+ **Impact:**
70
+ - Owns projects end-to-end (design, implement, deploy, monitor)
71
+ - Delivers high-quality work consistently
72
+ - Reduces technical debt through refactoring
73
+ - Participates in on-call rotation effectively
74
+
75
+ **Collaboration:**
76
+ - Gives thoughtful code reviews
77
+ - Mentors L3 engineers informally
78
+ - Shares knowledge through documentation and demos
79
+ - Collaborates across teams when needed
80
+
81
+ **Typical Projects:**
82
+ - Design and implement new CI/CD pipeline
83
+ - Build self-service infrastructure provisioning
84
+ - Lead observability implementation
85
+ - Migrate service to new infrastructure
86
+
87
+ **Promotion to L5:**
88
+ - 2-3 years at L4
89
+ - Consistently delivers complex projects
90
+ - Shows technical leadership potential
91
+ - Ready for broader scope and mentorship
92
+
93
+ ---
94
+
95
+ ### L5: Senior Engineer (5-8 years experience)
96
+
97
+ **Scope:** Owns large, ambiguous projects; mentors engineers
98
+
99
+ **Technical Skills:**
100
+ - Expert in domain with broad knowledge across stack
101
+ - Designs systems with scalability, reliability, and maintainability
102
+ - Makes complex technical decisions with sound reasoning
103
+ - Debugs and resolves production incidents quickly
104
+
105
+ **Impact:**
106
+ - Leads major initiatives that span multiple quarters
107
+ - Significantly improves team productivity or reliability
108
+ - Reduces on-call burden through automation and prevention
109
+ - Influences technical direction of team
110
+
111
+ **Collaboration:**
112
+ - Actively mentors L3/L4 engineers
113
+ - Leads architecture discussions and design reviews
114
+ - Writes detailed design docs and RFCs
115
+ - Builds consensus across teams
116
+ - Represents team in cross-functional forums
117
+
118
+ **Typical Projects:**
119
+ - Design and implement internal developer platform
120
+ - Lead Kubernetes migration for 50+ services
121
+ - Build observability platform from scratch
122
+ - Design and implement disaster recovery strategy
123
+
124
+ **Promotion to L6:**
125
+ - 3-5 years at L5
126
+ - Consistent track record of high-impact technical leadership
127
+ - Recognized expert in domain
128
+ - Operates at multi-team scope
129
+
130
+ ---
131
+
132
+ ### L6: Staff Engineer (8-12 years experience)
133
+
134
+ **Scope:** Drives multi-team initiatives; sets technical direction
135
+
136
+ **Technical Skills:**
137
+ - Domain expert; deep and broad technical knowledge
138
+ - Designs systems at org scale (hundreds of services)
139
+ - Anticipates future needs and plans strategically
140
+ - Debugs the most complex, ambiguous issues
141
+
142
+ **Impact:**
143
+ - Drives initiatives that span multiple teams/quarters
144
+ - Defines technical strategy for domain (platform, SRE, security, etc.)
145
+ - Unblocks teams through technical leadership
146
+ - Improves engineering productivity across org
147
+ - Reduces major risks and prevents outages
148
+
149
+ **Collaboration:**
150
+ - Mentors L5 engineers and helps them grow to Staff
151
+ - Leads org-wide architecture discussions
152
+ - Influences engineering culture and best practices
153
+ - Partners with senior management on technical strategy
154
+ - Represents company at conferences or open-source communities
155
+
156
+ **Typical Projects:**
157
+ - Design and lead multi-region active-active migration
158
+ - Build developer platform that enables 100+ engineers
159
+ - Define and implement org-wide observability strategy
160
+ - Lead technical due diligence for acquisition
161
+
162
+ **Archetypes (different Staff eng paths):**
163
+ - **Tech Lead:** Leads critical team/initiative
164
+ - **Architect:** Designs org-wide systems and standards
165
+ - **Solver:** Tackles the hardest, most ambiguous problems
166
+ - **Right Hand:** Partners with eng leadership on technical strategy
167
+
168
+ **Promotion to L7:**
169
+ - 3-5+ years at L6
170
+ - Organization-wide impact and recognition
171
+ - Seen as THE expert in domain
172
+ - Ready for industry-level influence
173
+
174
+ ---
175
+
176
+ ### L7+: Principal / Distinguished Engineer (12+ years)
177
+
178
+ **Scope:** Drives technical vision for organization; industry expert
179
+
180
+ **Technical Skills:**
181
+ - Industry expert; recognized externally
182
+ - Designs systems at scale (thousands of services, millions of users)
183
+ - Creates new technologies or patterns adopted widely
184
+ - Thinks 3-5 years ahead strategically
185
+
186
+ **Impact:**
187
+ - Drives technical strategy for entire organization
188
+ - Defines the technical future of company
189
+ - Influences engineering culture and hiring bar
190
+ - Prevents major technical risks before they occur
191
+ - Represents company as technical authority
192
+
193
+ **Collaboration:**
194
+ - Mentors Staff+ engineers
195
+ - Advises C-suite on technical strategy
196
+ - Builds partnerships across industry
197
+ - Speaks at major conferences, publishes papers
198
+ - Open-source leadership or standards bodies
199
+
200
+ **Typical Projects:**
201
+ - Design next-generation platform architecture
202
+ - Lead company-wide technical transformation
203
+ - Define technical vision for 3-5 year roadmap
204
+ - Build industry partnerships and thought leadership
205
+
206
+ **Terminal level:** L7+ is terminal level for many engineers - continued growth through increasing impact, not levels
207
+
208
+ ---
209
+
210
+ ## Manager (M) Track
211
+
212
+ ### M3: Engineering Manager (5-8 years total, 0-2 years managing)
213
+
214
+ **Scope:** Manages team of 5-8 engineers (typically L3-L5)
215
+
216
+ **People Management:**
217
+ - Conducts effective 1-on-1s and career conversations
218
+ - Provides clear, actionable feedback
219
+ - Handles performance issues proactively
220
+ - Recruits and hires for team
221
+ - Develops direct reports through coaching and stretch projects
222
+
223
+ **Delivery:**
224
+ - Owns team roadmap and quarterly planning
225
+ - Removes blockers and provides context
226
+ - Ensures team delivers predictably and sustainably
227
+ - Balances feature work with tech debt and operations
228
+
229
+ **Technical:**
230
+ - Understands team's technical domain deeply
231
+ - Can review designs and code effectively
232
+ - Makes informed technical trade-off decisions
233
+ - Stays current with team's tech stack
234
+
235
+ **Collaboration:**
236
+ - Partners with product, design, and other teams
237
+ - Represents team in planning and prioritization
238
+ - Builds relationships across org
239
+ - Communicates team progress and needs clearly
240
+
241
+ **Typical Responsibilities:**
242
+ - Manage 5-8 engineers
243
+ - Deliver team OKRs quarterly
244
+ - Hire 2-4 engineers per year
245
+ - Handle performance and growth conversations
246
+ - Participate in on-call escalations
247
+
248
+ **Promotion to M4:**
249
+ - 2-3 years at M3
250
+ - Strong delivery track record
251
+ - Team members growing and happy
252
+ - Ready for broader scope
253
+
254
+ ---
255
+
256
+ ### M4: Senior Engineering Manager (8-12 years total, 2-5 years managing)
257
+
258
+ **Scope:** Manages 8-12 engineers OR 2-3 teams
259
+
260
+ **People Management:**
261
+ - Develops other managers (if managing managers)
262
+ - Builds high-performing teams through intentional culture
263
+ - Handles complex people situations (performance, conflict, reorganizations)
264
+ - Strategic recruiting and hiring (building team for future needs)
265
+ - Creates career development programs for team
266
+
267
+ **Delivery:**
268
+ - Owns multi-quarter roadmaps across teams
269
+ - Coordinates across departments (product, design, infra, security)
270
+ - Balances short-term delivery with long-term investment
271
+ - Drives process improvements across teams
272
+
273
+ **Technical:**
274
+ - Sets technical direction for teams
275
+ - Reviews and approves major technical decisions
276
+ - Ensures technical quality and consistency
277
+ - Invests in technical debt strategically
278
+
279
+ **Collaboration:**
280
+ - Influences department-level strategy and planning
281
+ - Partners with senior leadership on priorities
282
+ - Mentors other managers in org
283
+ - Represents org in company forums
284
+
285
+ **Typical Responsibilities:**
286
+ - Manage 8-12 ICs or 2-3 managers
287
+ - Deliver department-level OKRs
288
+ - Hire and develop managers
289
+ - Set technical standards across teams
290
+ - Drive org-level initiatives
291
+
292
+ **Promotion to M5:**
293
+ - 3-5 years at M4
294
+ - Consistent delivery at scale
295
+ - Strong people development track record
296
+ - Ready for org-level leadership
297
+
298
+ ---
299
+
300
+ ### M5: Director of Engineering (12+ years total, 5+ years managing)
301
+
302
+ **Scope:** Manages 30-50 engineers across multiple teams
303
+
304
+ **People Management:**
305
+ - Builds manager bench through hiring and development
306
+ - Creates org-level culture and values
307
+ - Handles org-wide people programs (performance, promotions, compensation)
308
+ - Strategic talent planning (skill gaps, succession, diversity)
309
+ - Represents org in company-wide people initiatives
310
+
311
+ **Delivery:**
312
+ - Sets annual roadmap and OKRs for org
313
+ - Allocates resources across teams and priorities
314
+ - Drives cross-org initiatives and dependencies
315
+ - Ensures org delivers predictably at scale
316
+
317
+ **Technical:**
318
+ - Sets technical vision and strategy for org
319
+ - Reviews and approves major architectural decisions
320
+ - Invests in technical infrastructure and platforms
321
+ - Balances innovation with stability
322
+
323
+ **Collaboration:**
324
+ - Partners with VP and C-level on company strategy
325
+ - Represents engineering in executive forums
326
+ - Builds partnerships across departments
327
+ - Influences company-wide technical decisions
328
+
329
+ **Typical Responsibilities:**
330
+ - Manage 4-7 managers (30-50 total engineers)
331
+ - Set org vision and annual plans
332
+ - Budget ownership ($5M-$20M+)
333
+ - Recruiting strategy for org
334
+ - Represent org to company leadership
335
+
336
+ **Promotion to M6:**
337
+ - 3-5+ years at M5
338
+ - Significant org-level impact
339
+ - Strong leadership reputation
340
+ - Ready for VP or C-level role
341
+
342
+ ---
343
+
344
+ ### M6+: VP Engineering / CTO
345
+
346
+ **Scope:** Entire engineering organization (100-1000+ engineers)
347
+
348
+ **People Management:**
349
+ - Builds and leads engineering leadership team
350
+ - Shapes company-wide engineering culture
351
+ - Strategic talent acquisition and retention
352
+ - Represents engineering at board level
353
+
354
+ **Delivery:**
355
+ - Sets multi-year technical strategy for company
356
+ - Owns engineering productivity and efficiency
357
+ - Drives major company-wide technical initiatives
358
+ - Ensures engineering scales with company growth
359
+
360
+ **Technical:**
361
+ - Defines technical vision for company
362
+ - Makes build-vs-buy and technology bets
363
+ - Ensures engineering excellence and quality
364
+ - Represents company as technical authority
365
+
366
+ **Collaboration:**
367
+ - Member of executive leadership team
368
+ - Partners with CEO and board
369
+ - Builds external partnerships and reputation
370
+ - Influences industry and technical community
371
+
372
+ ---
373
+
374
+ ## Compensation Bands
375
+
376
+ **Note:** These are rough guideline ranges for mid-market tech companies. Adjust for company size, location, and market conditions.
377
+
378
+ ### Individual Contributor
379
+
380
+ | Level | Title | Base Salary | Total Comp (with equity) |
381
+ |-------|-------|-------------|--------------------------|
382
+ | L3 | Junior Engineer | $100K-$130K | $110K-$150K |
383
+ | L4 | Engineer | $130K-$160K | $150K-$190K |
384
+ | L5 | Senior Engineer | $160K-$200K | $190K-$250K |
385
+ | L6 | Staff Engineer | $200K-$250K | $250K-$350K |
386
+ | L7 | Principal Engineer | $250K-$300K | $350K-$500K |
387
+ | L8 | Distinguished Engineer | $300K-$400K+ | $500K-$800K+ |
388
+
389
+ ### Manager Track
390
+
391
+ | Level | Title | Base Salary | Total Comp (with equity) |
392
+ |-------|-------|-------------|--------------------------|
393
+ | M3 | Engineering Manager | $170K-$210K | $200K-$270K |
394
+ | M4 | Senior EM | $210K-$260K | $260K-$350K |
395
+ | M5 | Director | $250K-$320K | $320K-$450K |
396
+ | M6 | VP Engineering | $300K-$400K+ | $450K-$700K+ |
397
+ | M7 | SVP / CTO | $350K-$500K+ | $600K-$1M+ |
398
+
399
+ **Regional multipliers:**
400
+ - SF Bay Area: 1.2-1.3x
401
+ - NYC/Seattle: 1.1-1.2x
402
+ - Austin/Denver: 1.0-1.1x
403
+ - Remote (US): 0.9-1.0x (location-based)
404
+
405
+ ---
406
+
407
+ ## Promotion Criteria
408
+
409
+ ### General Principles
410
+
411
+ **What promotion means:**
412
+ - Already operating at next level for 6+ months
413
+ - Consistent performance, not one-off projects
414
+ - Clear evidence of increased scope and impact
415
+
416
+ **What promotion is NOT:**
417
+ - Reward for tenure (time != promotion)
418
+ - Consolation for not getting other opportunities
419
+ - Response to external offer
420
+ - Given preemptively for "potential"
421
+
422
+ ### Promotion Process
423
+
424
+ ```
425
+ Typical promotion cycle:
426
+
427
+ 1. Manager Assessment (Continuous)
428
+ ├── Observes engineer operating at next level
429
+ ├── Collects evidence over 6+ months
430
+ └── Discusses readiness with engineer
431
+
432
+ 2. Promotion Packet (Quarterly)
433
+ ├── Manager writes promotion packet
434
+ ├── Evidence: Projects, impact, growth
435
+ ├── Peer feedback (360 reviews)
436
+ └── Scope comparison to others at level
437
+
438
+ 3. Calibration (Quarterly)
439
+ ├── Managers meet to review all packets
440
+ ├── Compare candidates across teams
441
+ ├── Ensure consistent bar across org
442
+ └── Approve or defer promotions
443
+
444
+ 4. Communication (After approval)
445
+ ├── Manager shares decision with engineer
446
+ ├── Celebration with team
447
+ ├── Updated title and compensation
448
+ └── New expectations discussed
449
+ ```
450
+
451
+ ### Common Promotion Mistakes
452
+
453
+ **Promoting too early:**
454
+ - Engineer not yet consistently operating at level
455
+ - Based on potential rather than demonstrated performance
456
+ - Result: Engineer struggles, loses confidence
457
+
458
+ **Promoting too late:**
459
+ - Engineer operating at level for 12+ months
460
+ - Manager delays due to process friction
461
+ - Result: Engineer leaves for better opportunity
462
+
463
+ **Promoting for wrong reasons:**
464
+ - Retention play after external offer
465
+ - "Owed" after missing previous cycle
466
+ - Political pressure from other teams
467
+
468
+ **Right approach:**
469
+ - Promote when ready (6-12 months at level)
470
+ - Based on consistent performance and scope
471
+ - Transparent criteria and decision process
472
+
473
+ ---
474
+
475
+ ## Lateral Moves and Career Pivots
476
+
477
+ ### IC → Manager Transition
478
+
479
+ **When to consider:**
480
+ - Strong interest in people and leadership
481
+ - Track record of mentorship and collaboration
482
+ - Willing to step back from hands-on technical work
483
+ - Comfortable with ambiguity and conflict
484
+
485
+ **Process:**
486
+ - Start with tech lead role (still IC)
487
+ - Manage 1-2 interns or junior engineers
488
+ - Transition to full-time manager (M3)
489
+ - First 6 months: probation period
490
+
491
+ **Important:** Manager track is NOT a "promotion" - it's a career change
492
+
493
+ ### Manager → IC Transition
494
+
495
+ **Why engineers return to IC:**
496
+ - Miss hands-on technical work
497
+ - Prefer deep work over meetings and politics
498
+ - Stronger fit for technical leadership
499
+ - Want to be principal/staff engineer
500
+
501
+ **Process:**
502
+ - Transparent conversation with leadership
503
+ - Transition plan (handoff team, find coverage)
504
+ - Return at appropriate IC level (usually L5 or L6)
505
+ - No stigma or penalty
506
+
507
+ **Important:** This is a valid career move, not a demotion
508
+
509
+ ---
510
+
511
+ ## Skills Development for Each Level
512
+
513
+ ### L3 → L4 (0-2 years)
514
+ **Focus:** Execution and learning
515
+ - Master 2-3 core technologies deeply
516
+ - Learn debugging and troubleshooting
517
+ - Write clear documentation
518
+ - Participate in code reviews
519
+ - Shadow on-call rotation
520
+
521
+ ### L4 → L5 (2-5 years)
522
+ **Focus:** Ownership and quality
523
+ - Own projects end-to-end
524
+ - Design solutions independently
525
+ - Mentor junior engineers
526
+ - Lead incident response
527
+ - Contribute to architecture discussions
528
+
529
+ ### L5 → L6 (5-8 years)
530
+ **Focus:** Technical leadership and strategy
531
+ - Lead multi-quarter initiatives
532
+ - Drive architecture decisions
533
+ - Mentor senior engineers
534
+ - Build consensus across teams
535
+ - Think strategically about technical debt
536
+
537
+ ### L6 → L7 (8-12+ years)
538
+ **Focus:** Organizational impact
539
+ - Drive org-wide technical strategy
540
+ - Influence engineering culture
541
+ - Mentor staff engineers
542
+ - Represent company externally
543
+ - Solve highest-impact problems
544
+
545
+ ---
546
+
547
+ ## Career Conversations
548
+
549
+ ### Quarterly Career 1-on-1
550
+
551
+ **Manager preparation:**
552
+ - Review engineer's goals from last quarter
553
+ - Collect feedback from peers and cross-functional partners
554
+ - Identify growth opportunities and gaps
555
+ - Prepare specific examples of performance
556
+
557
+ **Discussion structure:**
558
+ ```
559
+ 1. Reflection (15 min)
560
+ - "How do you feel about your growth this quarter?"
561
+ - "What are you most proud of?"
562
+ - "What was challenging?"
563
+
564
+ 2. Feedback (15 min)
565
+ - Share specific examples of strengths
566
+ - Discuss areas for development
567
+ - Compare to expectations for level
568
+
569
+ 3. Goals (20 min)
570
+ - Set 2-3 development goals for next quarter
571
+ - Identify projects or opportunities for growth
572
+ - Discuss longer-term career aspirations
573
+
574
+ 4. Action plan (10 min)
575
+ - What support does engineer need from you?
576
+ - What skills to develop?
577
+ - Timeline for next promotion discussion
578
+ ```
579
+
580
+ ### Annual Promotion Discussion
581
+
582
+ **If promotion is possible:**
583
+ - "You're on track for promotion to L[X] in next 6-12 months"
584
+ - Specific gaps to close: [list 2-3 areas]
585
+ - Projects to demonstrate readiness: [suggest opportunities]
586
+ - Timeline: Target [specific promotion cycle]
587
+
588
+ **If promotion is not yet ready:**
589
+ - "You're performing well at L[X], but not yet ready for L[X+1]"
590
+ - Clear feedback on gaps (scope, impact, technical depth)
591
+ - Specific development plan to get there
592
+ - Revisit in 3-6 months
593
+
594
+ ---
595
+
596
+ ## Key Takeaways for Managers
597
+
598
+ 1. **Make expectations clear** - Engineers should know what's expected at their level
599
+ 2. **Promote for performance, not potential** - Wait until consistently operating at level
600
+ 3. **Be transparent** - Regular career conversations prevent surprises
601
+ 4. **Calibrate across teams** - Ensure consistent bar across org
602
+ 5. **Support growth** - Provide opportunities and feedback to help engineers level up
603
+ 6. **IC and Manager tracks are equal** - Neither is superior
604
+ 7. **Career pivots are healthy** - Support lateral moves and transitions
605
+ 8. **Document progress** - Keep notes for promotion packets
606
+ 9. **Celebrate promotions** - Make it meaningful for engineer and team
607
+ 10. **Long-term thinking** - Career development takes years, not quarters
608
+
609
+ Your job is to help every engineer reach their full potential, whether that's Staff IC or Engineering Manager.