dojo.md 0.2.0 → 0.2.1

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 (222) hide show
  1. package/courses/GENERATION_LOG.md +45 -0
  2. package/courses/aws-lambda-debugging/course.yaml +11 -0
  3. package/courses/aws-lambda-debugging/scenarios/level-1/api-gateway-integration.yaml +71 -0
  4. package/courses/aws-lambda-debugging/scenarios/level-1/cloudwatch-logs-basics.yaml +64 -0
  5. package/courses/aws-lambda-debugging/scenarios/level-1/cold-start-basics.yaml +70 -0
  6. package/courses/aws-lambda-debugging/scenarios/level-1/environment-variable-issues.yaml +72 -0
  7. package/courses/aws-lambda-debugging/scenarios/level-1/first-debugging-shift.yaml +73 -0
  8. package/courses/aws-lambda-debugging/scenarios/level-1/handler-import-errors.yaml +71 -0
  9. package/courses/aws-lambda-debugging/scenarios/level-1/iam-permission-errors.yaml +68 -0
  10. package/courses/aws-lambda-debugging/scenarios/level-1/invocation-errors.yaml +72 -0
  11. package/courses/aws-lambda-debugging/scenarios/level-1/lambda-timeout-errors.yaml +65 -0
  12. package/courses/aws-lambda-debugging/scenarios/level-1/memory-and-oom.yaml +70 -0
  13. package/courses/aws-lambda-debugging/scenarios/level-2/async-invocation-failures.yaml +72 -0
  14. package/courses/aws-lambda-debugging/scenarios/level-2/cold-start-optimization.yaml +76 -0
  15. package/courses/aws-lambda-debugging/scenarios/level-2/dynamodb-streams-debugging.yaml +70 -0
  16. package/courses/aws-lambda-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +71 -0
  17. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-concurrency-management.yaml +70 -0
  18. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-layers-debugging.yaml +76 -0
  19. package/courses/aws-lambda-debugging/scenarios/level-2/sam-local-debugging.yaml +74 -0
  20. package/courses/aws-lambda-debugging/scenarios/level-2/sqs-event-source.yaml +72 -0
  21. package/courses/aws-lambda-debugging/scenarios/level-2/vpc-networking-issues.yaml +71 -0
  22. package/courses/aws-lambda-debugging/scenarios/level-2/xray-tracing.yaml +62 -0
  23. package/courses/aws-lambda-debugging/scenarios/level-3/advanced-debugging-shift.yaml +72 -0
  24. package/courses/aws-lambda-debugging/scenarios/level-3/container-image-lambda.yaml +79 -0
  25. package/courses/aws-lambda-debugging/scenarios/level-3/cross-account-invocation.yaml +72 -0
  26. package/courses/aws-lambda-debugging/scenarios/level-3/eventbridge-patterns.yaml +79 -0
  27. package/courses/aws-lambda-debugging/scenarios/level-3/iac-deployment-debugging.yaml +68 -0
  28. package/courses/aws-lambda-debugging/scenarios/level-3/kinesis-stream-processing.yaml +64 -0
  29. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-at-edge.yaml +64 -0
  30. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-extensions-debugging.yaml +67 -0
  31. package/courses/aws-lambda-debugging/scenarios/level-3/powertools-observability.yaml +79 -0
  32. package/courses/aws-lambda-debugging/scenarios/level-3/step-functions-debugging.yaml +80 -0
  33. package/courses/aws-lambda-debugging/scenarios/level-4/cost-optimization-strategy.yaml +67 -0
  34. package/courses/aws-lambda-debugging/scenarios/level-4/expert-debugging-shift.yaml +62 -0
  35. package/courses/aws-lambda-debugging/scenarios/level-4/incident-management-serverless.yaml +61 -0
  36. package/courses/aws-lambda-debugging/scenarios/level-4/multi-region-serverless.yaml +67 -0
  37. package/courses/aws-lambda-debugging/scenarios/level-4/observability-platform-design.yaml +71 -0
  38. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-architecture-design.yaml +64 -0
  39. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-data-architecture.yaml +66 -0
  40. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-migration-strategy.yaml +65 -0
  41. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-security-design.yaml +60 -0
  42. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-testing-strategy.yaml +62 -0
  43. package/courses/aws-lambda-debugging/scenarios/level-5/board-serverless-strategy.yaml +63 -0
  44. package/courses/aws-lambda-debugging/scenarios/level-5/consulting-serverless-adoption.yaml +57 -0
  45. package/courses/aws-lambda-debugging/scenarios/level-5/industry-serverless-patterns.yaml +62 -0
  46. package/courses/aws-lambda-debugging/scenarios/level-5/ma-serverless-integration.yaml +75 -0
  47. package/courses/aws-lambda-debugging/scenarios/level-5/master-debugging-shift.yaml +61 -0
  48. package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml +65 -0
  49. package/courses/aws-lambda-debugging/scenarios/level-5/regulatory-serverless.yaml +61 -0
  50. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-economics.yaml +65 -0
  51. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-future-technology.yaml +66 -0
  52. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-platform-design.yaml +71 -0
  53. package/courses/docker-container-debugging/course.yaml +11 -0
  54. package/courses/docker-container-debugging/scenarios/level-1/container-exit-codes.yaml +59 -0
  55. package/courses/docker-container-debugging/scenarios/level-1/container-networking-basics.yaml +69 -0
  56. package/courses/docker-container-debugging/scenarios/level-1/docker-logs-debugging.yaml +67 -0
  57. package/courses/docker-container-debugging/scenarios/level-1/dockerfile-build-failures.yaml +71 -0
  58. package/courses/docker-container-debugging/scenarios/level-1/environment-variable-issues.yaml +74 -0
  59. package/courses/docker-container-debugging/scenarios/level-1/first-debugging-shift.yaml +70 -0
  60. package/courses/docker-container-debugging/scenarios/level-1/image-pull-failures.yaml +68 -0
  61. package/courses/docker-container-debugging/scenarios/level-1/port-mapping-issues.yaml +67 -0
  62. package/courses/docker-container-debugging/scenarios/level-1/resource-limits-oom.yaml +70 -0
  63. package/courses/docker-container-debugging/scenarios/level-1/volume-mount-problems.yaml +66 -0
  64. package/courses/docker-container-debugging/scenarios/level-2/container-health-checks.yaml +73 -0
  65. package/courses/docker-container-debugging/scenarios/level-2/docker-compose-debugging.yaml +66 -0
  66. package/courses/docker-container-debugging/scenarios/level-2/docker-exec-debugging.yaml +71 -0
  67. package/courses/docker-container-debugging/scenarios/level-2/image-layer-optimization.yaml +81 -0
  68. package/courses/docker-container-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +73 -0
  69. package/courses/docker-container-debugging/scenarios/level-2/logging-and-log-rotation.yaml +76 -0
  70. package/courses/docker-container-debugging/scenarios/level-2/multi-stage-build-debugging.yaml +76 -0
  71. package/courses/docker-container-debugging/scenarios/level-2/network-debugging-tools.yaml +67 -0
  72. package/courses/docker-container-debugging/scenarios/level-2/pid1-signal-handling.yaml +71 -0
  73. package/courses/docker-container-debugging/scenarios/level-2/security-scanning-basics.yaml +67 -0
  74. package/courses/docker-container-debugging/scenarios/level-3/advanced-debugging-shift.yaml +77 -0
  75. package/courses/docker-container-debugging/scenarios/level-3/buildkit-optimization.yaml +67 -0
  76. package/courses/docker-container-debugging/scenarios/level-3/container-filesystem-debugging.yaml +70 -0
  77. package/courses/docker-container-debugging/scenarios/level-3/container-security-hardening.yaml +74 -0
  78. package/courses/docker-container-debugging/scenarios/level-3/disk-space-management.yaml +74 -0
  79. package/courses/docker-container-debugging/scenarios/level-3/docker-api-automation.yaml +72 -0
  80. package/courses/docker-container-debugging/scenarios/level-3/docker-daemon-issues.yaml +73 -0
  81. package/courses/docker-container-debugging/scenarios/level-3/docker-in-docker-ci.yaml +69 -0
  82. package/courses/docker-container-debugging/scenarios/level-3/overlay-network-debugging.yaml +70 -0
  83. package/courses/docker-container-debugging/scenarios/level-3/production-container-ops.yaml +71 -0
  84. package/courses/docker-container-debugging/scenarios/level-4/cicd-pipeline-design.yaml +66 -0
  85. package/courses/docker-container-debugging/scenarios/level-4/container-monitoring-observability.yaml +63 -0
  86. package/courses/docker-container-debugging/scenarios/level-4/container-orchestration-strategy.yaml +62 -0
  87. package/courses/docker-container-debugging/scenarios/level-4/container-performance-engineering.yaml +64 -0
  88. package/courses/docker-container-debugging/scenarios/level-4/container-security-architecture.yaml +66 -0
  89. package/courses/docker-container-debugging/scenarios/level-4/enterprise-image-management.yaml +58 -0
  90. package/courses/docker-container-debugging/scenarios/level-4/expert-debugging-shift.yaml +63 -0
  91. package/courses/docker-container-debugging/scenarios/level-4/incident-response-containers.yaml +70 -0
  92. package/courses/docker-container-debugging/scenarios/level-4/multi-environment-management.yaml +65 -0
  93. package/courses/docker-container-debugging/scenarios/level-4/stateful-service-containers.yaml +65 -0
  94. package/courses/docker-container-debugging/scenarios/level-5/board-infrastructure-strategy.yaml +58 -0
  95. package/courses/docker-container-debugging/scenarios/level-5/consulting-container-strategy.yaml +61 -0
  96. package/courses/docker-container-debugging/scenarios/level-5/container-platform-architecture.yaml +67 -0
  97. package/courses/docker-container-debugging/scenarios/level-5/container-platform-economics.yaml +67 -0
  98. package/courses/docker-container-debugging/scenarios/level-5/container-technology-evolution.yaml +67 -0
  99. package/courses/docker-container-debugging/scenarios/level-5/disaster-recovery-containers.yaml +66 -0
  100. package/courses/docker-container-debugging/scenarios/level-5/industry-container-patterns.yaml +71 -0
  101. package/courses/docker-container-debugging/scenarios/level-5/master-debugging-shift.yaml +62 -0
  102. package/courses/docker-container-debugging/scenarios/level-5/organizational-transformation.yaml +67 -0
  103. package/courses/docker-container-debugging/scenarios/level-5/regulatory-compliance-containers.yaml +61 -0
  104. package/courses/kubernetes-deployment-troubleshooting/course.yaml +12 -0
  105. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/configmap-secret-issues.yaml +69 -0
  106. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/crashloopbackoff.yaml +68 -0
  107. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/deployment-rollout.yaml +56 -0
  108. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/first-troubleshooting-shift.yaml +65 -0
  109. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/health-probe-failures.yaml +70 -0
  110. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/imagepullbackoff.yaml +57 -0
  111. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/kubectl-debugging-basics.yaml +56 -0
  112. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/oomkilled.yaml +70 -0
  113. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/pending-pods.yaml +68 -0
  114. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/service-not-reachable.yaml +66 -0
  115. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/dns-resolution-failures.yaml +63 -0
  116. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/helm-deployment-failures.yaml +63 -0
  117. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/hpa-scaling-issues.yaml +62 -0
  118. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/ingress-routing-issues.yaml +63 -0
  119. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/init-container-failures.yaml +63 -0
  120. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/intermediate-troubleshooting-shift.yaml +66 -0
  121. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/network-policy-blocking.yaml +67 -0
  122. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/persistent-volume-issues.yaml +69 -0
  123. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/rbac-permission-denied.yaml +57 -0
  124. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/resource-quota-limits.yaml +64 -0
  125. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/advanced-troubleshooting-shift.yaml +69 -0
  126. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/cluster-upgrade-failures.yaml +71 -0
  127. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/gitops-drift-detection.yaml +62 -0
  128. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/job-cronjob-failures.yaml +67 -0
  129. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/monitoring-alerting-gaps.yaml +64 -0
  130. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/multi-container-debugging.yaml +68 -0
  131. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/node-pressure-evictions.yaml +70 -0
  132. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/pod-disruption-budgets.yaml +59 -0
  133. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/service-mesh-debugging.yaml +64 -0
  134. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/statefulset-troubleshooting.yaml +69 -0
  135. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/capacity-planning.yaml +65 -0
  136. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/cost-optimization.yaml +57 -0
  137. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/disaster-recovery-design.yaml +56 -0
  138. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/executive-communication.yaml +62 -0
  139. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/expert-troubleshooting-shift.yaml +65 -0
  140. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/incident-management-process.yaml +59 -0
  141. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-cluster-operations.yaml +62 -0
  142. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-tenancy-design.yaml +55 -0
  143. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/platform-engineering.yaml +59 -0
  144. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/security-hardening.yaml +58 -0
  145. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/behavioral-science.yaml +62 -0
  146. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/board-strategy.yaml +61 -0
  147. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/cloud-native-future.yaml +65 -0
  148. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/comprehensive-platform.yaml +57 -0
  149. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/consulting-engagement.yaml +62 -0
  150. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/industry-benchmarks.yaml +58 -0
  151. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/ma-integration.yaml +62 -0
  152. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/master-troubleshooting-shift.yaml +73 -0
  153. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/product-development.yaml +65 -0
  154. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/regulatory-compliance.yaml +76 -0
  155. package/courses/mysql-query-optimization/course.yaml +11 -0
  156. package/courses/mysql-query-optimization/scenarios/level-1/buffer-pool-basics.yaml +65 -0
  157. package/courses/mysql-query-optimization/scenarios/level-1/explain-basics.yaml +66 -0
  158. package/courses/mysql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +78 -0
  159. package/courses/mysql-query-optimization/scenarios/level-1/innodb-index-fundamentals.yaml +68 -0
  160. package/courses/mysql-query-optimization/scenarios/level-1/join-basics.yaml +66 -0
  161. package/courses/mysql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +67 -0
  162. package/courses/mysql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +66 -0
  163. package/courses/mysql-query-optimization/scenarios/level-1/select-star-problems.yaml +68 -0
  164. package/courses/mysql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +65 -0
  165. package/courses/mysql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +65 -0
  166. package/courses/mysql-query-optimization/scenarios/level-2/buffer-pool-tuning.yaml +64 -0
  167. package/courses/mysql-query-optimization/scenarios/level-2/composite-index-design.yaml +71 -0
  168. package/courses/mysql-query-optimization/scenarios/level-2/covering-and-invisible-indexes.yaml +69 -0
  169. package/courses/mysql-query-optimization/scenarios/level-2/cte-and-window-functions.yaml +78 -0
  170. package/courses/mysql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +68 -0
  171. package/courses/mysql-query-optimization/scenarios/level-2/join-optimization.yaml +67 -0
  172. package/courses/mysql-query-optimization/scenarios/level-2/performance-schema-analysis.yaml +69 -0
  173. package/courses/mysql-query-optimization/scenarios/level-2/query-optimizer-hints.yaml +74 -0
  174. package/courses/mysql-query-optimization/scenarios/level-2/subquery-optimization.yaml +70 -0
  175. package/courses/mysql-query-optimization/scenarios/level-2/write-optimization.yaml +63 -0
  176. package/courses/mysql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
  177. package/courses/mysql-query-optimization/scenarios/level-3/connection-management.yaml +67 -0
  178. package/courses/mysql-query-optimization/scenarios/level-3/full-text-search.yaml +77 -0
  179. package/courses/mysql-query-optimization/scenarios/level-3/json-optimization.yaml +87 -0
  180. package/courses/mysql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +68 -0
  181. package/courses/mysql-query-optimization/scenarios/level-3/monitoring-alerting.yaml +63 -0
  182. package/courses/mysql-query-optimization/scenarios/level-3/online-schema-changes.yaml +79 -0
  183. package/courses/mysql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +83 -0
  184. package/courses/mysql-query-optimization/scenarios/level-3/query-profiling-deep-dive.yaml +84 -0
  185. package/courses/mysql-query-optimization/scenarios/level-3/replication-optimization.yaml +66 -0
  186. package/courses/mysql-query-optimization/scenarios/level-4/aurora-vs-rds-evaluation.yaml +61 -0
  187. package/courses/mysql-query-optimization/scenarios/level-4/data-architecture.yaml +62 -0
  188. package/courses/mysql-query-optimization/scenarios/level-4/database-migration-planning.yaml +59 -0
  189. package/courses/mysql-query-optimization/scenarios/level-4/enterprise-governance.yaml +50 -0
  190. package/courses/mysql-query-optimization/scenarios/level-4/executive-communication.yaml +54 -0
  191. package/courses/mysql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +67 -0
  192. package/courses/mysql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +60 -0
  193. package/courses/mysql-query-optimization/scenarios/level-4/optimizer-internals.yaml +62 -0
  194. package/courses/mysql-query-optimization/scenarios/level-4/performance-sla-design.yaml +52 -0
  195. package/courses/mysql-query-optimization/scenarios/level-4/read-replica-scaling.yaml +51 -0
  196. package/courses/mysql-query-optimization/scenarios/level-5/ai-database-future.yaml +45 -0
  197. package/courses/mysql-query-optimization/scenarios/level-5/behavioral-science.yaml +44 -0
  198. package/courses/mysql-query-optimization/scenarios/level-5/benchmark-design.yaml +47 -0
  199. package/courses/mysql-query-optimization/scenarios/level-5/board-strategy.yaml +48 -0
  200. package/courses/mysql-query-optimization/scenarios/level-5/comprehensive-platform.yaml +49 -0
  201. package/courses/mysql-query-optimization/scenarios/level-5/consulting-engagement.yaml +52 -0
  202. package/courses/mysql-query-optimization/scenarios/level-5/ma-database-integration.yaml +47 -0
  203. package/courses/mysql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +56 -0
  204. package/courses/mysql-query-optimization/scenarios/level-5/product-development.yaml +48 -0
  205. package/courses/mysql-query-optimization/scenarios/level-5/regulatory-compliance.yaml +48 -0
  206. package/courses/postgresql-query-optimization/scenarios/level-5/comprehensive-database-system.yaml +70 -0
  207. package/courses/postgresql-query-optimization/scenarios/level-5/database-ai-future.yaml +81 -0
  208. package/courses/postgresql-query-optimization/scenarios/level-5/database-behavioral-science.yaml +63 -0
  209. package/courses/postgresql-query-optimization/scenarios/level-5/database-board-strategy.yaml +77 -0
  210. package/courses/postgresql-query-optimization/scenarios/level-5/database-consulting-engagement.yaml +61 -0
  211. package/courses/postgresql-query-optimization/scenarios/level-5/database-industry-benchmarks.yaml +64 -0
  212. package/courses/postgresql-query-optimization/scenarios/level-5/database-ma-integration.yaml +71 -0
  213. package/courses/postgresql-query-optimization/scenarios/level-5/database-product-development.yaml +72 -0
  214. package/courses/postgresql-query-optimization/scenarios/level-5/database-regulatory-landscape.yaml +76 -0
  215. package/courses/postgresql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +66 -0
  216. package/courses/terraform-infrastructure-setup/course.yaml +11 -0
  217. package/courses/terraform-infrastructure-setup/scenarios/level-1/terraform-init-errors.yaml +72 -0
  218. package/dist/mcp/session-manager.d.ts +7 -4
  219. package/dist/mcp/session-manager.d.ts.map +1 -1
  220. package/dist/mcp/session-manager.js +23 -8
  221. package/dist/mcp/session-manager.js.map +1 -1
  222. package/package.json +1 -1
@@ -0,0 +1,58 @@
1
+ meta:
2
+ id: industry-benchmarks
3
+ level: 5
4
+ course: kubernetes-deployment-troubleshooting
5
+ type: output
6
+ description: "Kubernetes platform benchmarking — compare organizational maturity against industry standards, DORA metrics, and CNCF maturity model"
7
+ tags: [Kubernetes, benchmarking, DORA, CNCF, maturity-model, industry-standards, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're asked to benchmark your organization's Kubernetes platform
13
+ maturity against industry standards. The board wants to know: "Are
14
+ we best-in-class, average, or behind?"
15
+
16
+ Your organization's metrics:
17
+ | Metric | Your Org | Industry Avg | Elite |
18
+ |-------------------------------|-----------|--------------|----------|
19
+ | Deployment frequency | 50/week | 10/week | 500/week |
20
+ | Lead time (commit to prod) | 4 hours | 1 week | < 1 hour |
21
+ | Change failure rate | 12% | 15% | < 5% |
22
+ | Mean time to recovery (MTTR) | 30 min | 4 hours | < 10 min |
23
+ | Availability | 99.9% | 99.5% | 99.99% |
24
+ | Container adoption | 75% | 60% | 95% |
25
+ | GitOps adoption | 40% | 25% | 90% |
26
+ | Automated canary deployments | 10% | 5% | 60% |
27
+ | Security scan in CI/CD | 30% | 20% | 95% |
28
+ | Platform team ratio | 1:50 | 1:25 | 1:75 |
29
+
30
+ Your organization is above average but significantly behind elite
31
+ performers in several areas. The biggest gaps are in security scanning,
32
+ GitOps adoption, automated canary deployments, and MTTR.
33
+
34
+ The board asks:
35
+ 1. What would it take to reach "Elite" in 18 months?
36
+ 2. Where should we focus investment for maximum impact?
37
+ 3. How do we compare to specific competitors?
38
+ 4. What's the business value of each improvement?
39
+
40
+ Task: Write the benchmarking report with recommendations. Include:
41
+ maturity assessment against CNCF cloud-native maturity model, DORA
42
+ metrics analysis, gap prioritization (impact vs effort matrix),
43
+ investment roadmap to reach elite level, competitive positioning
44
+ analysis, and the business case for each improvement area.
45
+
46
+ assertions:
47
+ - type: llm_judge
48
+ criteria: "Maturity assessment is structured — use CNCF Cloud Native Maturity Model levels (Level 1-5: Build, Operate, Scale, Improve, Optimize). Organization is at Level 3 (Scale) for most dimensions, Level 2 (Operate) for security and observability. DORA metrics show High performer level (not Elite). Gap analysis identifies specific areas holding back each dimension"
49
+ weight: 0.35
50
+ description: "Maturity assessment"
51
+ - type: llm_judge
52
+ criteria: "Prioritization uses impact vs effort — highest ROI investments: (1) GitOps adoption (high impact, medium effort — standardizes deployments, reduces MTTR), (2) security scanning (high impact, low effort — integrate Trivy into CI/CD), (3) automated canary deployments (high impact, high effort — reduces change failure rate). Each priority has a business value quantification (reduced downtime $ impact, faster feature delivery)"
53
+ weight: 0.35
54
+ description: "Investment prioritization"
55
+ - type: llm_judge
56
+ criteria: "Roadmap and competitive framing are practical — 18-month roadmap: Q1 (GitOps + security scanning), Q2 (canary deployments + MTTR reduction), Q3 (platform self-service maturity), Q4-6 (advanced observability + chaos engineering). Competitive positioning: focus on areas that differentiate (deployment velocity directly impacts time-to-market). Don't compare to FAANG — compare to similar-sized companies in the same industry"
57
+ weight: 0.30
58
+ description: "Roadmap and framing"
@@ -0,0 +1,62 @@
1
+ meta:
2
+ id: ma-integration
3
+ level: 5
4
+ course: kubernetes-deployment-troubleshooting
5
+ type: output
6
+ description: "M&A Kubernetes platform integration — evaluate and merge acquired company's infrastructure with your platform"
7
+ tags: [Kubernetes, M&A, integration, migration, platform-consolidation, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company (running multi-cluster Kubernetes on AWS) just acquired
13
+ a competitor running on Azure with a completely different stack:
14
+
15
+ Your platform:
16
+ - AWS EKS across 3 regions, 200+ microservices
17
+ - GitOps with ArgoCD, Istio service mesh
18
+ - Go and Java services, gRPC + REST APIs
19
+ - PostgreSQL on RDS, Redis on ElastiCache
20
+ - Prometheus + Grafana monitoring stack
21
+
22
+ Acquired company (AcquireCo):
23
+ - Azure AKS single region, 80 microservices
24
+ - Jenkins CI/CD, no GitOps
25
+ - Python and Node.js services, REST-only APIs
26
+ - MongoDB Atlas, Azure Cache for Redis
27
+ - Datadog for monitoring
28
+
29
+ Integration challenges:
30
+ 1. Services need to communicate cross-platform during transition
31
+ 2. Different authentication systems (AWS IAM vs Azure AD)
32
+ 3. Different monitoring stacks create visibility gaps
33
+ 4. Cultural: AcquireCo team used to full Azure access, now must follow
34
+ your RBAC and GitOps policies
35
+ 5. Data residency: AcquireCo has EU customers, data must stay in EU
36
+ 6. Combined customer base requires 99.99% availability (was 99.9%)
37
+ 7. Timeline pressure: CEO wants "fully integrated" in 12 months
38
+ 8. Budget: $2M for integration project
39
+
40
+ The CTO asks you to develop the integration strategy and lead
41
+ execution. 40 AcquireCo engineers need to be productive on your
42
+ platform within 3 months.
43
+
44
+ Task: Design the M&A platform integration strategy. Write: the
45
+ assessment framework for evaluating AcquireCo's platform, the phased
46
+ migration approach (coexistence → migration → consolidation),
47
+ cross-cloud connectivity during transition, team onboarding plan,
48
+ data migration strategy, risk analysis, and timeline with milestones.
49
+
50
+ assertions:
51
+ - type: llm_judge
52
+ criteria: "Assessment and phased approach are defined — Phase 1 (months 1-3): Coexistence — establish cross-cloud connectivity (VPN/peering), unified monitoring (ship AcquireCo metrics to your Prometheus), single incident management process. Phase 2 (months 4-8): Migration — migrate AcquireCo services to your EKS clusters one by one, starting with stateless services. Phase 3 (months 9-12): Consolidation — decommission AKS, unified platform. Don't rush: premature migration causes outages"
53
+ weight: 0.35
54
+ description: "Phased approach"
55
+ - type: llm_judge
56
+ criteria: "Cross-cloud and data challenges are addressed — connectivity: site-to-site VPN or cloud interconnect (AWS-Azure), DNS delegation for service discovery. Authentication: federate Azure AD into AWS IAM or use platform-level auth (OIDC). Data residency: maintain EU region for AcquireCo EU data (EU EKS cluster), migrate MongoDB to PostgreSQL or run MongoDB on Kubernetes. Data migration must be carefully planned with rollback capability"
57
+ weight: 0.35
58
+ description: "Technical challenges"
59
+ - type: llm_judge
60
+ criteria: "Team and risk management are practical — onboarding plan: 2-week intensive on your platform (GitOps, ArgoCD, Istio), pair programming with your engineers, gradual RBAC permission expansion as comfort grows. Risk: rushing migration causes outages affecting combined customer base. Mitigation: feature-flag traffic routing to enable instant rollback to AKS. Budget allocation: $800K infrastructure, $600K team augmentation, $400K tooling, $200K contingency"
61
+ weight: 0.30
62
+ description: "Team and risk"
@@ -0,0 +1,73 @@
1
+ meta:
2
+ id: master-troubleshooting-shift
3
+ level: 5
4
+ course: kubernetes-deployment-troubleshooting
5
+ type: output
6
+ description: "Master-level troubleshooting shift — manage a global multi-cluster crisis combining technical failures, organizational challenges, and strategic decisions"
7
+ tags: [Kubernetes, troubleshooting, combined, shift-simulation, global-crisis, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the VP of Platform Engineering. It's 2:00 AM and you receive
13
+ a call: "We're having a global incident affecting all regions."
14
+
15
+ The situation (unfolding over the next 4 hours):
16
+
17
+ 2:00 AM — Initial alert:
18
+ - prod-us-1: 30% of pods OOMKilled after a memory leak in a shared
19
+ library updated 6 hours ago. HPA scaling rapidly.
20
+ - prod-eu-1: healthy but seeing 2x traffic as users retry failed US
21
+ requests through CDN failover
22
+
23
+ 2:15 AM — Escalation:
24
+ - The shared library was updated by 15 different services via
25
+ automated dependency bot (Renovate) — all merged without human
26
+ review
27
+ - Rollback requires coordinating 15 service teams
28
+ - The memory leak is slow: pods run fine for 1-2 hours then OOMKill
29
+ - HPA is scaling to max, exhausting cluster capacity
30
+
31
+ 2:45 AM — Cascade begins:
32
+ - prod-us-1 runs out of cluster capacity. New pods can't schedule.
33
+ - Cluster autoscaler hits AWS account EC2 limit (quota reached)
34
+ - prod-eu-1 starting to see memory growth in the same services
35
+ - EU compliance officer: "US traffic hitting EU cluster may violate
36
+ GDPR for certain customers"
37
+
38
+ 3:15 AM — Decision point:
39
+ - Board member calls: "I saw on Twitter we're having an outage. What's
40
+ the customer impact and when will it be resolved?"
41
+ - Customer success: "Our top 3 enterprise accounts are escalating.
42
+ One is threatening to invoke the SLA penalty clause ($500K)."
43
+ - Engineering: "We can rollback the library but it requires CI builds
44
+ for all 15 services — estimated 90 minutes"
45
+ - Security: "The dependency bot shouldn't have auto-merged. This is
46
+ a supply chain risk."
47
+
48
+ 4:00 AM — Resolution path:
49
+ You need to simultaneously: contain the blast radius, communicate
50
+ to all stakeholders, make strategic decisions about GDPR exposure,
51
+ and plan the remediation.
52
+
53
+ Task: Walk through managing this global crisis end-to-end. Write:
54
+ the technical incident response (contain → triage → remediate),
55
+ the multi-stakeholder communication strategy (board, customers,
56
+ teams, compliance), the strategic decisions required and their
57
+ trade-offs, the organizational failures that enabled this incident,
58
+ the post-incident improvement program, and how this incident shapes
59
+ future platform architecture and governance.
60
+
61
+ assertions:
62
+ - type: llm_judge
63
+ criteria: "Technical response is immediate and effective — containment: set memory limits on affected pods (kill early, restart fresh to buy time), disable HPA scaling to prevent cluster exhaustion, request AWS quota increase. Triage: identify the shared library as root cause, determine which services are affected. Remediate: pin the library to previous version in dependency bot, trigger CI builds for all 15 services, deploy rollbacks as they complete. Meanwhile: rate-limit CDN failover to prevent GDPR exposure"
64
+ weight: 0.35
65
+ description: "Technical response"
66
+ - type: llm_judge
67
+ criteria: "Communication is multi-layered and timely — board member: concise impact statement, ETA, reassurance of response capability (2 min update). Enterprise accounts: personal outreach from customer success with honest ETA, proactive SLA credit offer before they ask. Engineering teams: clear incident channel, assigned rollback owners per service, 15-min status updates. Compliance: document GDPR exposure window, assess if EU data was actually processed in wrong region, prepare breach assessment if needed"
68
+ weight: 0.35
69
+ description: "Stakeholder communication"
70
+ - type: llm_judge
71
+ criteria: "Organizational failures and improvements are systemic — failures: automated dependency updates without human review for critical libraries, no canary period for shared library updates, no memory limit enforcement, AWS quota not sized for surge, GDPR traffic routing not enforced at CDN level. Improvements: require human review for shared/transitive dependencies, implement dependency update canary (1 service first, monitor 24h), enforce memory limits as admission policy, implement traffic geo-fencing, regular capacity stress tests. Frame as governance evolution, not blame"
72
+ weight: 0.30
73
+ description: "Failures and improvements"
@@ -0,0 +1,65 @@
1
+ meta:
2
+ id: product-development
3
+ level: 5
4
+ course: kubernetes-deployment-troubleshooting
5
+ type: output
6
+ description: "Build a Kubernetes troubleshooting product — design a commercial platform for automated root cause analysis and remediation"
7
+ tags: [Kubernetes, product-development, troubleshooting-tool, automation, AI-ops, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're founding a startup that automates Kubernetes troubleshooting.
13
+ Your thesis: "80% of Kubernetes incidents have patterns that can be
14
+ detected and remediated automatically."
15
+
16
+ Market research:
17
+ - 78% of organizations report Kubernetes troubleshooting as their
18
+ #1 operational pain point
19
+ - Average MTTR for Kubernetes incidents: 2 hours
20
+ - $50K-500K cost per hour of downtime depending on company size
21
+ - Existing tools (Komodor, Robusta, Kubecost) address pieces but no
22
+ unified automated remediation platform
23
+
24
+ Product vision: An AI-powered platform that:
25
+ 1. Continuously monitors cluster health
26
+ 2. Detects anomalies before they become incidents
27
+ 3. Automatically diagnoses root cause using knowledge graph
28
+ 4. Suggests or auto-executes remediation
29
+ 5. Learns from past incidents to prevent recurrence
30
+
31
+ Technical challenges:
32
+ - How to access cluster state without excessive permissions
33
+ - How to distinguish normal behavior from anomalies
34
+ - How to safely auto-remediate without making things worse
35
+ - How to work across different Kubernetes distributions (EKS, GKE, AKS,
36
+ on-prem)
37
+ - How to handle the blast radius of automated actions
38
+ - How to build trust — engineers won't let automation touch production
39
+ without confidence
40
+
41
+ Your advisor asks:
42
+ - "What's the minimum viable product?"
43
+ - "How do you differentiate from kubectl + Prometheus + PagerDuty?"
44
+ - "What's the GTM strategy for selling to platform teams?"
45
+ - "How do you handle the 'it deleted my pod' support ticket?"
46
+
47
+ Task: Design the product and go-to-market strategy. Write: the
48
+ product architecture (data collection, analysis engine, remediation
49
+ framework), the MVP scope and features, differentiation and moat,
50
+ the trust-building approach (observe → suggest → auto-remediate
51
+ progression), pricing model, and go-to-market strategy.
52
+
53
+ assertions:
54
+ - type: llm_judge
55
+ criteria: "Product architecture is technically sound — data collection: read-only agent (DaemonSet) collecting events, logs, metrics, resource state via K8s API and node-level telemetry. Analysis engine: pattern matching against known failure modes (CrashLoopBackOff + specific log patterns), ML for anomaly detection on resource usage trends, knowledge graph linking symptoms to root causes. Remediation: runbook automation engine with approval workflows and blast radius controls"
56
+ weight: 0.35
57
+ description: "Product architecture"
58
+ - type: llm_judge
59
+ criteria: "Trust and GTM strategy are realistic — trust progression: Phase 1 (observe) just dashboards and alerts, Phase 2 (suggest) recommended actions with explanation, Phase 3 (auto-remediate) automated actions with undo capability and audit log. MVP: focus on top 10 failure patterns (CrashLoopBackOff, OOMKilled, Pending, ImagePullBackOff, etc.) with automated diagnosis. GTM: target platform engineering teams at 50-500 engineer companies, freemium for < 3 clusters, land-and-expand pricing"
60
+ weight: 0.35
61
+ description: "Trust and GTM"
62
+ - type: llm_judge
63
+ criteria: "Differentiation and business model are compelling — moat: incident knowledge graph grows with each customer (network effects), cross-cluster pattern detection impossible with single-cluster tools. Differentiation from kubectl+Prometheus: automated root cause analysis (not just alerting), cross-signal correlation (logs + events + metrics), remediation automation. Pricing: per-node or per-cluster SaaS ($X/node/month). Competitive positioning: 'reduce MTTR by 80%' with measurable before/after metrics"
64
+ weight: 0.30
65
+ description: "Differentiation and model"
@@ -0,0 +1,76 @@
1
+ meta:
2
+ id: regulatory-compliance
3
+ level: 5
4
+ course: kubernetes-deployment-troubleshooting
5
+ type: output
6
+ description: "Kubernetes regulatory compliance — navigate SOC2, PCI-DSS, HIPAA, and GDPR requirements in Kubernetes environments"
7
+ tags: [Kubernetes, compliance, SOC2, PCI-DSS, HIPAA, GDPR, regulatory, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company's Kubernetes platform must pass audits for multiple
13
+ compliance frameworks simultaneously. The compliance team has flagged
14
+ gaps that must be addressed before the next audit cycle (90 days).
15
+
16
+ Framework requirements and Kubernetes implications:
17
+
18
+ SOC2 (all services):
19
+ - Access control: Who can access what in the cluster?
20
+ - Change management: How are changes tracked and approved?
21
+ - Monitoring: Is there continuous monitoring and alerting?
22
+ - Incident response: Is there a documented process?
23
+ - Data protection: Are secrets and data encrypted?
24
+
25
+ PCI-DSS (payment services):
26
+ - Network segmentation: Payment services isolated from other workloads
27
+ - Encryption in transit: All communication encrypted (mTLS)
28
+ - Access logging: Every API call logged and auditable
29
+ - Vulnerability scanning: Container images scanned before deployment
30
+ - Penetration testing: Regular pen testing of the infrastructure
31
+
32
+ HIPAA (health services):
33
+ - PHI encryption: Patient data encrypted at rest and in transit
34
+ - Access controls: Minimum necessary access to PHI
35
+ - Audit trails: All access to PHI logged
36
+ - BAA with cloud provider: Business Associate Agreement
37
+ - Breach notification: Process for breach detection and notification
38
+
39
+ GDPR (EU customers):
40
+ - Data residency: EU customer data processed in EU region
41
+ - Data minimization: Only collect necessary data
42
+ - Right to deletion: Ability to purge user data across all services
43
+ - Data processing records: Document all data flows
44
+ - DPO appointment: Data Protection Officer
45
+
46
+ Current gaps (from pre-audit assessment):
47
+ 1. RBAC is too permissive (cluster-admin granted broadly)
48
+ 2. No network segmentation between namespaces
49
+ 3. Kubernetes audit logging not enabled
50
+ 4. Secrets not encrypted at rest in etcd
51
+ 5. No image vulnerability scanning
52
+ 6. No documented change management process
53
+ 7. EU data sometimes processed in US clusters (GDPR violation)
54
+ 8. No data deletion workflow across microservices
55
+
56
+ Task: Design the compliance remediation plan. Write: the mapping of
57
+ each compliance requirement to Kubernetes controls, the technical
58
+ implementation for each gap (RBAC tightening, NetworkPolicy, audit
59
+ logging, encryption, scanning), the organizational processes needed
60
+ (change management, incident response documentation), how to maintain
61
+ compliance continuously (not just for audits), and the evidence
62
+ collection automation for audit readiness.
63
+
64
+ assertions:
65
+ - type: llm_judge
66
+ criteria: "Compliance-to-Kubernetes control mapping is comprehensive — RBAC maps to SOC2 access control + PCI-DSS access + HIPAA minimum necessary. NetworkPolicy maps to PCI-DSS segmentation + HIPAA access controls. Kubernetes audit logging maps to SOC2 monitoring + PCI-DSS logging + HIPAA audit trails. etcd encryption maps to SOC2 + PCI-DSS + HIPAA data protection. Image scanning maps to PCI-DSS vulnerability management. Data residency controls map to GDPR requirements"
67
+ weight: 0.35
68
+ description: "Control mapping"
69
+ - type: llm_judge
70
+ criteria: "Technical implementations are specific — RBAC: namespace-scoped roles, remove cluster-admin, implement just-in-time access for emergency. NetworkPolicy: default-deny + explicit allow between payment services. Audit logging: configure kube-apiserver audit policy (log all write operations, log read operations on sensitive resources). etcd encryption: enable encryption provider with KMS integration. Image scanning: Trivy in CI/CD + admission controller blocking vulnerable images"
71
+ weight: 0.35
72
+ description: "Technical implementations"
73
+ - type: llm_judge
74
+ criteria: "Continuous compliance and automation are addressed — shift from point-in-time audits to continuous compliance. Implement: OPA/Kyverno policies enforcing compliance rules (prevent non-compliant resources), automated compliance dashboards (policy violations, RBAC drift, unscanned images), evidence collection automation (export audit logs, RBAC reports, scan results to compliance platform). Regular compliance reviews (monthly), automated drift detection. GDPR: implement data flow tracking, build cross-service data deletion API"
75
+ weight: 0.30
76
+ description: "Continuous compliance"
@@ -0,0 +1,11 @@
1
+ id: mysql-query-optimization
2
+ name: "Database Query Optimization (MySQL)"
3
+ description: >
4
+ Master MySQL query optimization from reading execution plans to
5
+ enterprise database architecture. Learn InnoDB internals, indexing
6
+ strategies, JOIN optimization, partitioning, replication, connection
7
+ management, write optimization, monitoring, and high-availability
8
+ configurations for large-scale MySQL deployments.
9
+ levels: 5
10
+ scenarios_per_level: 10
11
+ tags: [development, MySQL, database, query-optimization, performance, SQL, InnoDB, DevOps]
@@ -0,0 +1,65 @@
1
+ meta:
2
+ id: buffer-pool-basics
3
+ level: 1
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Understand InnoDB buffer pool — learn how MySQL caches data in memory, why buffer pool size matters, and how to monitor hit ratios"
7
+ tags: [MySQL, InnoDB, buffer-pool, memory, caching, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your MySQL server has 64GB of RAM but the InnoDB buffer pool is set
13
+ to the default 128MB. The server is hitting disk for almost every
14
+ query. A colleague says "just set innodb_buffer_pool_size to 48GB"
15
+ but you want to understand what that actually does before changing a
16
+ production setting.
17
+
18
+ Current state:
19
+ SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool%';
20
+ +-------------------------------------+----------+
21
+ | Variable_name | Value |
22
+ +-------------------------------------+----------+
23
+ | Innodb_buffer_pool_read_requests | 50000000 |
24
+ | Innodb_buffer_pool_reads | 15000000 |
25
+ | Innodb_buffer_pool_pages_total | 8192 |
26
+ | Innodb_buffer_pool_pages_data | 8100 |
27
+ | Innodb_buffer_pool_pages_dirty | 200 |
28
+ | Innodb_buffer_pool_pages_free | 12 |
29
+ +-------------------------------------+----------+
30
+
31
+ Calculations from this data:
32
+ - Buffer pool hit ratio: (50M - 15M) / 50M = 70% (terrible — should be 99%+)
33
+ - Buffer pool is full: only 12 free pages out of 8,192
34
+ - 200 dirty pages waiting to be flushed to disk
35
+ - Total data in buffer pool: 8,100 × 16KB = ~126MB (matches 128MB setting)
36
+
37
+ Database size: 30GB of data + 10GB of indexes = 40GB total
38
+ Available RAM: 64GB (OS and other processes need ~8GB)
39
+
40
+ Questions to answer:
41
+ 1. What is the buffer pool and why is it critical for InnoDB?
42
+ 2. What should innodb_buffer_pool_size be set to?
43
+ 3. What happens when data isn't in the buffer pool (disk read)?
44
+ 4. How does InnoDB decide what to evict (LRU algorithm)?
45
+ 5. What are dirty pages and how does flushing work?
46
+
47
+ Task: Explain the InnoDB buffer pool. Write: what it is (in-memory
48
+ cache for data and indexes), how to size it (rule of thumb and
49
+ monitoring approach), how the LRU eviction works (midpoint insertion),
50
+ what dirty pages are and how checkpoint/flushing works, and how to
51
+ monitor buffer pool health.
52
+
53
+ assertions:
54
+ - type: llm_judge
55
+ criteria: "Buffer pool is correctly explained — InnoDB's main memory cache holding both data pages and index pages (16KB each). All reads and writes go through the buffer pool first. A read request either finds the page in memory (cache hit) or reads from disk (cache miss). The 70% hit ratio is correctly identified as terrible and the 128MB setting is identified as far too small"
56
+ weight: 0.35
57
+ description: "Buffer pool basics"
58
+ - type: llm_judge
59
+ criteria: "Sizing recommendation is practical — suggests 70-80% of total RAM for dedicated MySQL servers (so ~48-50GB for this 64GB server), explains why the working set (40GB) should ideally fit in the buffer pool, mentions innodb_buffer_pool_instances for multi-core efficiency (1 instance per GB, up to 64), and notes that changing requires a restart in older versions but is dynamic in MySQL 8.0"
60
+ weight: 0.35
61
+ description: "Sizing recommendation"
62
+ - type: llm_judge
63
+ criteria: "LRU and flushing are explained — InnoDB uses a modified LRU with midpoint insertion (new pages go to midpoint, not head, to prevent one-time full table scans from evicting hot data), dirty pages are modified pages not yet written to disk, and checkpoint/flushing writes dirty pages back to tablespace files (controlled by innodb_io_capacity)"
64
+ weight: 0.30
65
+ description: "LRU and flushing explained"
@@ -0,0 +1,66 @@
1
+ meta:
2
+ id: explain-basics
3
+ level: 1
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Read MySQL EXPLAIN output — understand execution plans, access types, key usage, and rows examined to diagnose slow queries"
7
+ tags: [MySQL, EXPLAIN, execution-plan, access-types, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're a backend developer and your team lead asks you to investigate
13
+ why the product listing page takes 8 seconds to load. You've traced
14
+ it to this query:
15
+
16
+ SELECT p.*, c.name AS category_name, b.name AS brand_name
17
+ FROM products p
18
+ JOIN categories c ON c.id = p.category_id
19
+ JOIN brands b ON b.id = p.brand_id
20
+ WHERE p.status = 'active'
21
+ AND p.price BETWEEN 10 AND 100
22
+ ORDER BY p.created_at DESC
23
+ LIMIT 20;
24
+
25
+ You run EXPLAIN and get:
26
+
27
+ +----+------+-------+------+----------+------+----------+-----------+
28
+ | id | type | table | type | key | rows | filtered | Extra |
29
+ +----+------+-------+------+----------+------+----------+-----------+
30
+ | 1 | SIMPLE| p | ALL | NULL | 2M | 5.00 | Using where; Using filesort |
31
+ | 1 | SIMPLE| c | eq_ref| PRIMARY | 1 | 100.00 | NULL |
32
+ | 1 | SIMPLE| b | eq_ref| PRIMARY | 1 | 100.00 | NULL |
33
+ +----+------+-------+------+----------+------+----------+-----------+
34
+
35
+ The products table has 2 million rows. The EXPLAIN shows:
36
+ - type=ALL for products (full table scan)
37
+ - "Using filesort" in Extra (sorting on disk)
38
+ - rows=2M (examining all rows)
39
+ - filtered=5.00 (only 5% of rows match the WHERE)
40
+
41
+ Available indexes on products:
42
+ - PRIMARY (id)
43
+ - idx_category_id (category_id)
44
+ - idx_brand_id (brand_id)
45
+
46
+ No index covers the status + price + created_at combination.
47
+
48
+ Task: Explain what the EXPLAIN output means. Write: what each column
49
+ tells you (id, select_type, table, type, possible_keys, key, rows,
50
+ filtered, Extra), why this query is slow (full table scan + filesort),
51
+ what the access type hierarchy means (system > const > eq_ref > ref >
52
+ range > index > ALL), and what index you would add to fix this query.
53
+
54
+ assertions:
55
+ - type: llm_judge
56
+ criteria: "EXPLAIN columns are correctly explained — id (query identifier), select_type (SIMPLE, SUBQUERY, DERIVED, etc.), table (which table), type (access method), possible_keys (candidate indexes), key (chosen index), rows (estimated rows examined), filtered (percentage matching WHERE), Extra (additional information like Using index, Using filesort, Using temporary)"
57
+ weight: 0.35
58
+ description: "EXPLAIN columns explained"
59
+ - type: llm_judge
60
+ criteria: "Access type hierarchy is explained — from best to worst: system (1 row), const (unique index lookup), eq_ref (unique index per join row), ref (non-unique index), range (index range scan), index (full index scan), ALL (full table scan). The current ALL type is identified as the problem, and the eq_ref for categories/brands is correctly identified as optimal"
61
+ weight: 0.35
62
+ description: "Access type hierarchy"
63
+ - type: llm_judge
64
+ criteria: "Fix is correct — recommends a composite index like (status, price, created_at) or (status, created_at) to eliminate both the full table scan and the filesort. Explains why column order matters in the index (equality columns first, then range, then sort)"
65
+ weight: 0.30
66
+ description: "Correct index fix"
@@ -0,0 +1,78 @@
1
+ meta:
2
+ id: first-optimization-shift
3
+ level: 1
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "First optimization shift — diagnose and fix a slow e-commerce checkout combining multiple beginner optimization techniques"
7
+ tags: [MySQL, shift-simulation, checkout, diagnosis, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ It's your first on-call shift as a junior DBA. The checkout page is
13
+ loading slowly (8 seconds) and the engineering manager asks you to
14
+ investigate. You have access to the MySQL server and the application
15
+ logs.
16
+
17
+ Step 1 — You check SHOW PROCESSLIST and see 15 queries related to
18
+ the checkout endpoint, all from the same user session.
19
+
20
+ Step 2 — You enable the slow query log and capture these queries
21
+ from a single checkout request:
22
+
23
+ Query A (2 seconds):
24
+ SELECT * FROM products WHERE id IN (101, 205, 308, 412, 567);
25
+ -- EXPLAIN: type=range, key=PRIMARY, rows=5, Extra=NULL
26
+ -- Fast! Not the problem.
27
+
28
+ Query B (3 seconds):
29
+ SELECT * FROM inventory
30
+ WHERE product_id IN (101, 205, 308, 412, 567)
31
+ AND warehouse_id = 3
32
+ AND CAST(quantity AS CHAR) > '0';
33
+ -- EXPLAIN: type=ALL, rows=2M, Extra=Using where
34
+ -- Full table scan! The CAST prevents index usage.
35
+
36
+ Query C (0.5ms each, but called 5 times):
37
+ SELECT * FROM shipping_rates
38
+ WHERE zone_id = (SELECT zone_id FROM addresses WHERE user_id = 42);
39
+ -- Not slow individually, but it's an N+1 pattern (called per item)
40
+
41
+ Query D (2 seconds):
42
+ SELECT p.name, p.price, COUNT(r.id) AS review_count,
43
+ AVG(r.rating) AS avg_rating
44
+ FROM products p
45
+ LEFT JOIN reviews r ON r.product_id = p.id
46
+ WHERE p.id IN (101, 205, 308, 412, 567)
47
+ GROUP BY p.id;
48
+ -- EXPLAIN: reviews table type=ALL, rows=5M, Using temporary; Using filesort
49
+ -- No index on reviews.product_id!
50
+
51
+ Query E (1 second):
52
+ SELECT * FROM promotions
53
+ WHERE NOW() BETWEEN start_date AND end_date
54
+ AND minimum_order > 0
55
+ ORDER BY discount_percent DESC;
56
+ -- EXPLAIN: type=ALL, rows=50K
57
+ -- Function NOW() on every comparison prevents range scan optimization
58
+
59
+ Total: ~8 seconds across these queries.
60
+
61
+ Task: Diagnose and fix each slow query. Write: the root cause of each
62
+ query's performance problem, the specific fix (index, query rewrite,
63
+ or both), the expected improvement, and the priority order for
64
+ implementing fixes (which fix gives the biggest improvement first).
65
+
66
+ assertions:
67
+ - type: llm_judge
68
+ criteria: "All root causes identified — Query B: CAST() on indexed column prevents index usage (SARGable violation), Query C: N+1 pattern (should be single query with JOIN), Query D: missing index on reviews.product_id, Query E: function wrapping issue with NOW(). Query A is correctly identified as not a problem"
69
+ weight: 0.35
70
+ description: "Root causes identified"
71
+ - type: llm_judge
72
+ criteria: "Fixes are correct — Query B: change to quantity > 0 (no CAST needed for numeric comparison), Query C: rewrite as single JOIN query, Query D: ADD INDEX idx_product_id (product_id) on reviews, Query E: rewrite WHERE clause to compare dates directly or add composite index on (end_date, start_date). Priority order puts highest-impact fixes first"
73
+ weight: 0.35
74
+ description: "Correct fixes"
75
+ - type: llm_judge
76
+ criteria: "Expected improvements are realistic — quantifies improvement for each fix (e.g., Query B from 3s to <10ms with proper index, Query D from 2s to <50ms with index on reviews.product_id). Total checkout time reduction from 8s to well under 1 second"
77
+ weight: 0.30
78
+ description: "Realistic improvement estimates"
@@ -0,0 +1,68 @@
1
+ meta:
2
+ id: innodb-index-fundamentals
3
+ level: 1
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Understand InnoDB indexing — learn clustered indexes, secondary indexes, and how InnoDB's B+tree structure affects query performance"
7
+ tags: [MySQL, InnoDB, indexes, B-tree, clustered-index, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your team is debating whether to use UUID or auto-increment INT as
13
+ the primary key for a new high-traffic table. A senior engineer says
14
+ "UUIDs will kill insert performance in InnoDB." You need to understand
15
+ why.
16
+
17
+ Context:
18
+ - Table: user_events (expected 100M rows in first year)
19
+ - Current schema option A (auto-increment):
20
+ CREATE TABLE user_events (
21
+ id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
22
+ user_id BIGINT UNSIGNED NOT NULL,
23
+ event_type VARCHAR(50) NOT NULL,
24
+ payload JSON,
25
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
26
+ INDEX idx_user_events (user_id, created_at)
27
+ ) ENGINE=InnoDB;
28
+
29
+ - Current schema option B (UUID):
30
+ CREATE TABLE user_events (
31
+ id CHAR(36) PRIMARY KEY,
32
+ user_id BIGINT UNSIGNED NOT NULL,
33
+ event_type VARCHAR(50) NOT NULL,
34
+ payload JSON,
35
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
36
+ INDEX idx_user_events (user_id, created_at)
37
+ ) ENGINE=InnoDB;
38
+
39
+ Your measurements after inserting 10M rows:
40
+ - Option A: 15 minutes, 2GB on disk, sequential I/O during inserts
41
+ - Option B: 45 minutes, 3.5GB on disk, random I/O during inserts
42
+
43
+ The team wants to understand:
44
+ 1. What is a clustered index and why does InnoDB always have one?
45
+ 2. Why do UUIDs cause random I/O on insert?
46
+ 3. Why is Option B 75% larger on disk?
47
+ 4. How do secondary indexes work in InnoDB (why do they store the PK)?
48
+ 5. What is a "covering index" and how does it avoid table lookups?
49
+
50
+ Task: Explain InnoDB's indexing architecture. Write: how the clustered
51
+ index works (data stored in PK order), why UUIDs cause page splits
52
+ and random I/O, how secondary indexes reference the primary key (not
53
+ row pointers), what a covering index is (index-only scan), and your
54
+ recommendation for the primary key choice.
55
+
56
+ assertions:
57
+ - type: llm_judge
58
+ criteria: "Clustered index is correctly explained — InnoDB stores table data in primary key order (the clustered index IS the table), inserts with auto-increment append to the end (sequential I/O), while random UUIDs insert into random positions causing page splits and fragmentation"
59
+ weight: 0.35
60
+ description: "Clustered index explanation"
61
+ - type: llm_judge
62
+ criteria: "Secondary indexes are explained — InnoDB secondary indexes store the primary key value (not a row pointer), so lookups via secondary index require a 'bookmark lookup' back to the clustered index. This means larger PKs (UUID=36 bytes vs BIGINT=8 bytes) make every secondary index larger, explaining the 75% size difference"
63
+ weight: 0.35
64
+ description: "Secondary index mechanics"
65
+ - type: llm_judge
66
+ criteria: "Recommendation is practical — recommends auto-increment BIGINT for this use case (high insert volume), or if UUIDs are needed, suggests UUID_TO_BIN() with swap flag (ordered UUID) or ULID/UUIDv7 (time-sorted) as a compromise that preserves insert performance while maintaining uniqueness"
67
+ weight: 0.30
68
+ description: "Practical PK recommendation"