dojo.md 0.1.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 (459) hide show
  1. package/courses/GENERATION_LOG.md +72 -0
  2. package/courses/api-error-handling/course.yaml +16 -0
  3. package/courses/api-error-handling/scenarios/level-1/error-response-format.yaml +131 -0
  4. package/courses/api-error-handling/scenarios/level-1/http-status-codes-basics.yaml +90 -0
  5. package/courses/api-error-handling/scenarios/level-1/rate-limiting-basics.yaml +135 -0
  6. package/courses/api-error-handling/scenarios/level-1/request-validation-errors.yaml +208 -0
  7. package/courses/api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +189 -0
  8. package/courses/api-error-handling/scenarios/level-2/idempotency-retry-logic.yaml +159 -0
  9. package/courses/api-error-handling/scenarios/level-2/rfc-7807-problem-details.yaml +178 -0
  10. package/courses/api-error-handling/scenarios/level-2/webhook-error-handling.yaml +211 -0
  11. package/courses/api-error-handling/scenarios/level-3/distributed-tracing-errors.yaml +275 -0
  12. package/courses/aws-lambda-debugging/course.yaml +11 -0
  13. package/courses/aws-lambda-debugging/scenarios/level-1/api-gateway-integration.yaml +71 -0
  14. package/courses/aws-lambda-debugging/scenarios/level-1/cloudwatch-logs-basics.yaml +64 -0
  15. package/courses/aws-lambda-debugging/scenarios/level-1/cold-start-basics.yaml +70 -0
  16. package/courses/aws-lambda-debugging/scenarios/level-1/environment-variable-issues.yaml +72 -0
  17. package/courses/aws-lambda-debugging/scenarios/level-1/first-debugging-shift.yaml +73 -0
  18. package/courses/aws-lambda-debugging/scenarios/level-1/handler-import-errors.yaml +71 -0
  19. package/courses/aws-lambda-debugging/scenarios/level-1/iam-permission-errors.yaml +68 -0
  20. package/courses/aws-lambda-debugging/scenarios/level-1/invocation-errors.yaml +72 -0
  21. package/courses/aws-lambda-debugging/scenarios/level-1/lambda-timeout-errors.yaml +65 -0
  22. package/courses/aws-lambda-debugging/scenarios/level-1/memory-and-oom.yaml +70 -0
  23. package/courses/aws-lambda-debugging/scenarios/level-2/async-invocation-failures.yaml +72 -0
  24. package/courses/aws-lambda-debugging/scenarios/level-2/cold-start-optimization.yaml +76 -0
  25. package/courses/aws-lambda-debugging/scenarios/level-2/dynamodb-streams-debugging.yaml +70 -0
  26. package/courses/aws-lambda-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +71 -0
  27. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-concurrency-management.yaml +70 -0
  28. package/courses/aws-lambda-debugging/scenarios/level-2/lambda-layers-debugging.yaml +76 -0
  29. package/courses/aws-lambda-debugging/scenarios/level-2/sam-local-debugging.yaml +74 -0
  30. package/courses/aws-lambda-debugging/scenarios/level-2/sqs-event-source.yaml +72 -0
  31. package/courses/aws-lambda-debugging/scenarios/level-2/vpc-networking-issues.yaml +71 -0
  32. package/courses/aws-lambda-debugging/scenarios/level-2/xray-tracing.yaml +62 -0
  33. package/courses/aws-lambda-debugging/scenarios/level-3/advanced-debugging-shift.yaml +72 -0
  34. package/courses/aws-lambda-debugging/scenarios/level-3/container-image-lambda.yaml +79 -0
  35. package/courses/aws-lambda-debugging/scenarios/level-3/cross-account-invocation.yaml +72 -0
  36. package/courses/aws-lambda-debugging/scenarios/level-3/eventbridge-patterns.yaml +79 -0
  37. package/courses/aws-lambda-debugging/scenarios/level-3/iac-deployment-debugging.yaml +68 -0
  38. package/courses/aws-lambda-debugging/scenarios/level-3/kinesis-stream-processing.yaml +64 -0
  39. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-at-edge.yaml +64 -0
  40. package/courses/aws-lambda-debugging/scenarios/level-3/lambda-extensions-debugging.yaml +67 -0
  41. package/courses/aws-lambda-debugging/scenarios/level-3/powertools-observability.yaml +79 -0
  42. package/courses/aws-lambda-debugging/scenarios/level-3/step-functions-debugging.yaml +80 -0
  43. package/courses/aws-lambda-debugging/scenarios/level-4/cost-optimization-strategy.yaml +67 -0
  44. package/courses/aws-lambda-debugging/scenarios/level-4/expert-debugging-shift.yaml +62 -0
  45. package/courses/aws-lambda-debugging/scenarios/level-4/incident-management-serverless.yaml +61 -0
  46. package/courses/aws-lambda-debugging/scenarios/level-4/multi-region-serverless.yaml +67 -0
  47. package/courses/aws-lambda-debugging/scenarios/level-4/observability-platform-design.yaml +71 -0
  48. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-architecture-design.yaml +64 -0
  49. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-data-architecture.yaml +66 -0
  50. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-migration-strategy.yaml +65 -0
  51. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-security-design.yaml +60 -0
  52. package/courses/aws-lambda-debugging/scenarios/level-4/serverless-testing-strategy.yaml +62 -0
  53. package/courses/aws-lambda-debugging/scenarios/level-5/board-serverless-strategy.yaml +63 -0
  54. package/courses/aws-lambda-debugging/scenarios/level-5/consulting-serverless-adoption.yaml +57 -0
  55. package/courses/aws-lambda-debugging/scenarios/level-5/industry-serverless-patterns.yaml +62 -0
  56. package/courses/aws-lambda-debugging/scenarios/level-5/ma-serverless-integration.yaml +75 -0
  57. package/courses/aws-lambda-debugging/scenarios/level-5/master-debugging-shift.yaml +61 -0
  58. package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml +65 -0
  59. package/courses/aws-lambda-debugging/scenarios/level-5/regulatory-serverless.yaml +61 -0
  60. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-economics.yaml +65 -0
  61. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-future-technology.yaml +66 -0
  62. package/courses/aws-lambda-debugging/scenarios/level-5/serverless-platform-design.yaml +71 -0
  63. package/courses/docker-container-debugging/course.yaml +11 -0
  64. package/courses/docker-container-debugging/scenarios/level-1/container-exit-codes.yaml +59 -0
  65. package/courses/docker-container-debugging/scenarios/level-1/container-networking-basics.yaml +69 -0
  66. package/courses/docker-container-debugging/scenarios/level-1/docker-logs-debugging.yaml +67 -0
  67. package/courses/docker-container-debugging/scenarios/level-1/dockerfile-build-failures.yaml +71 -0
  68. package/courses/docker-container-debugging/scenarios/level-1/environment-variable-issues.yaml +74 -0
  69. package/courses/docker-container-debugging/scenarios/level-1/first-debugging-shift.yaml +70 -0
  70. package/courses/docker-container-debugging/scenarios/level-1/image-pull-failures.yaml +68 -0
  71. package/courses/docker-container-debugging/scenarios/level-1/port-mapping-issues.yaml +67 -0
  72. package/courses/docker-container-debugging/scenarios/level-1/resource-limits-oom.yaml +70 -0
  73. package/courses/docker-container-debugging/scenarios/level-1/volume-mount-problems.yaml +66 -0
  74. package/courses/docker-container-debugging/scenarios/level-2/container-health-checks.yaml +73 -0
  75. package/courses/docker-container-debugging/scenarios/level-2/docker-compose-debugging.yaml +66 -0
  76. package/courses/docker-container-debugging/scenarios/level-2/docker-exec-debugging.yaml +71 -0
  77. package/courses/docker-container-debugging/scenarios/level-2/image-layer-optimization.yaml +81 -0
  78. package/courses/docker-container-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +73 -0
  79. package/courses/docker-container-debugging/scenarios/level-2/logging-and-log-rotation.yaml +76 -0
  80. package/courses/docker-container-debugging/scenarios/level-2/multi-stage-build-debugging.yaml +76 -0
  81. package/courses/docker-container-debugging/scenarios/level-2/network-debugging-tools.yaml +67 -0
  82. package/courses/docker-container-debugging/scenarios/level-2/pid1-signal-handling.yaml +71 -0
  83. package/courses/docker-container-debugging/scenarios/level-2/security-scanning-basics.yaml +67 -0
  84. package/courses/docker-container-debugging/scenarios/level-3/advanced-debugging-shift.yaml +77 -0
  85. package/courses/docker-container-debugging/scenarios/level-3/buildkit-optimization.yaml +67 -0
  86. package/courses/docker-container-debugging/scenarios/level-3/container-filesystem-debugging.yaml +70 -0
  87. package/courses/docker-container-debugging/scenarios/level-3/container-security-hardening.yaml +74 -0
  88. package/courses/docker-container-debugging/scenarios/level-3/disk-space-management.yaml +74 -0
  89. package/courses/docker-container-debugging/scenarios/level-3/docker-api-automation.yaml +72 -0
  90. package/courses/docker-container-debugging/scenarios/level-3/docker-daemon-issues.yaml +73 -0
  91. package/courses/docker-container-debugging/scenarios/level-3/docker-in-docker-ci.yaml +69 -0
  92. package/courses/docker-container-debugging/scenarios/level-3/overlay-network-debugging.yaml +70 -0
  93. package/courses/docker-container-debugging/scenarios/level-3/production-container-ops.yaml +71 -0
  94. package/courses/docker-container-debugging/scenarios/level-4/cicd-pipeline-design.yaml +66 -0
  95. package/courses/docker-container-debugging/scenarios/level-4/container-monitoring-observability.yaml +63 -0
  96. package/courses/docker-container-debugging/scenarios/level-4/container-orchestration-strategy.yaml +62 -0
  97. package/courses/docker-container-debugging/scenarios/level-4/container-performance-engineering.yaml +64 -0
  98. package/courses/docker-container-debugging/scenarios/level-4/container-security-architecture.yaml +66 -0
  99. package/courses/docker-container-debugging/scenarios/level-4/enterprise-image-management.yaml +58 -0
  100. package/courses/docker-container-debugging/scenarios/level-4/expert-debugging-shift.yaml +63 -0
  101. package/courses/docker-container-debugging/scenarios/level-4/incident-response-containers.yaml +70 -0
  102. package/courses/docker-container-debugging/scenarios/level-4/multi-environment-management.yaml +65 -0
  103. package/courses/docker-container-debugging/scenarios/level-4/stateful-service-containers.yaml +65 -0
  104. package/courses/docker-container-debugging/scenarios/level-5/board-infrastructure-strategy.yaml +58 -0
  105. package/courses/docker-container-debugging/scenarios/level-5/consulting-container-strategy.yaml +61 -0
  106. package/courses/docker-container-debugging/scenarios/level-5/container-platform-architecture.yaml +67 -0
  107. package/courses/docker-container-debugging/scenarios/level-5/container-platform-economics.yaml +67 -0
  108. package/courses/docker-container-debugging/scenarios/level-5/container-technology-evolution.yaml +67 -0
  109. package/courses/docker-container-debugging/scenarios/level-5/disaster-recovery-containers.yaml +66 -0
  110. package/courses/docker-container-debugging/scenarios/level-5/industry-container-patterns.yaml +71 -0
  111. package/courses/docker-container-debugging/scenarios/level-5/master-debugging-shift.yaml +62 -0
  112. package/courses/docker-container-debugging/scenarios/level-5/organizational-transformation.yaml +67 -0
  113. package/courses/docker-container-debugging/scenarios/level-5/regulatory-compliance-containers.yaml +61 -0
  114. package/courses/github-actions-cicd/course.yaml +10 -0
  115. package/courses/github-actions-cicd/scenarios/level-1/actions-and-runners.yaml +58 -0
  116. package/courses/github-actions-cicd/scenarios/level-1/basic-workflow-syntax.yaml +52 -0
  117. package/courses/github-actions-cicd/scenarios/level-1/branch-protection-checks.yaml +63 -0
  118. package/courses/github-actions-cicd/scenarios/level-1/environment-variables-secrets.yaml +65 -0
  119. package/courses/github-actions-cicd/scenarios/level-1/first-cicd-shift.yaml +62 -0
  120. package/courses/github-actions-cicd/scenarios/level-1/job-dependencies-outputs.yaml +62 -0
  121. package/courses/github-actions-cicd/scenarios/level-1/simple-ci-pipeline.yaml +57 -0
  122. package/courses/github-actions-cicd/scenarios/level-1/workflow-debugging.yaml +90 -0
  123. package/courses/github-actions-cicd/scenarios/level-1/workflow-status-notifications.yaml +59 -0
  124. package/courses/github-actions-cicd/scenarios/level-1/workflow-triggers.yaml +56 -0
  125. package/courses/github-actions-cicd/scenarios/level-2/concurrency-control.yaml +58 -0
  126. package/courses/github-actions-cicd/scenarios/level-2/conditional-execution.yaml +60 -0
  127. package/courses/github-actions-cicd/scenarios/level-2/custom-actions-development.yaml +55 -0
  128. package/courses/github-actions-cicd/scenarios/level-2/dependency-caching.yaml +58 -0
  129. package/courses/github-actions-cicd/scenarios/level-2/deployment-workflows.yaml +61 -0
  130. package/courses/github-actions-cicd/scenarios/level-2/github-packages-publishing.yaml +59 -0
  131. package/courses/github-actions-cicd/scenarios/level-2/intermediate-cicd-shift.yaml +68 -0
  132. package/courses/github-actions-cicd/scenarios/level-2/matrix-builds.yaml +59 -0
  133. package/courses/github-actions-cicd/scenarios/level-2/reusable-workflows.yaml +61 -0
  134. package/courses/github-actions-cicd/scenarios/level-2/workflow-cost-optimization.yaml +61 -0
  135. package/courses/github-actions-cicd/scenarios/level-3/advanced-cicd-shift.yaml +64 -0
  136. package/courses/github-actions-cicd/scenarios/level-3/compliance-automation.yaml +68 -0
  137. package/courses/github-actions-cicd/scenarios/level-3/docker-action-development.yaml +65 -0
  138. package/courses/github-actions-cicd/scenarios/level-3/github-environments.yaml +65 -0
  139. package/courses/github-actions-cicd/scenarios/level-3/monorepo-ci.yaml +68 -0
  140. package/courses/github-actions-cicd/scenarios/level-3/oidc-cloud-deployments.yaml +55 -0
  141. package/courses/github-actions-cicd/scenarios/level-3/release-automation.yaml +61 -0
  142. package/courses/github-actions-cicd/scenarios/level-3/security-hardening.yaml +63 -0
  143. package/courses/github-actions-cicd/scenarios/level-3/self-hosted-runners.yaml +60 -0
  144. package/courses/github-actions-cicd/scenarios/level-3/workflow-optimization.yaml +59 -0
  145. package/courses/github-actions-cicd/scenarios/level-4/cicd-data-architecture.yaml +63 -0
  146. package/courses/github-actions-cicd/scenarios/level-4/cicd-economics-roi.yaml +63 -0
  147. package/courses/github-actions-cicd/scenarios/level-4/cicd-executive-communication.yaml +58 -0
  148. package/courses/github-actions-cicd/scenarios/level-4/cicd-incident-response.yaml +60 -0
  149. package/courses/github-actions-cicd/scenarios/level-4/cicd-org-design.yaml +59 -0
  150. package/courses/github-actions-cicd/scenarios/level-4/cicd-platform-architecture.yaml +63 -0
  151. package/courses/github-actions-cicd/scenarios/level-4/cicd-training-program.yaml +65 -0
  152. package/courses/github-actions-cicd/scenarios/level-4/cicd-vendor-evaluation.yaml +59 -0
  153. package/courses/github-actions-cicd/scenarios/level-4/enterprise-cicd-governance.yaml +55 -0
  154. package/courses/github-actions-cicd/scenarios/level-4/expert-cicd-shift.yaml +60 -0
  155. package/courses/github-actions-cicd/scenarios/level-5/cicd-ai-future.yaml +63 -0
  156. package/courses/github-actions-cicd/scenarios/level-5/cicd-behavioral-science.yaml +70 -0
  157. package/courses/github-actions-cicd/scenarios/level-5/cicd-board-strategy.yaml +56 -0
  158. package/courses/github-actions-cicd/scenarios/level-5/cicd-consulting-engagement.yaml +61 -0
  159. package/courses/github-actions-cicd/scenarios/level-5/cicd-industry-benchmarks.yaml +63 -0
  160. package/courses/github-actions-cicd/scenarios/level-5/cicd-ma-integration.yaml +73 -0
  161. package/courses/github-actions-cicd/scenarios/level-5/cicd-product-development.yaml +68 -0
  162. package/courses/github-actions-cicd/scenarios/level-5/cicd-regulatory-landscape.yaml +72 -0
  163. package/courses/github-actions-cicd/scenarios/level-5/comprehensive-cicd-system.yaml +66 -0
  164. package/courses/github-actions-cicd/scenarios/level-5/master-cicd-shift.yaml +76 -0
  165. package/courses/github-pr-review/scenarios/level-2/api-change-review.yaml +82 -0
  166. package/courses/github-pr-review/scenarios/level-2/automated-review-tooling.yaml +53 -0
  167. package/courses/github-pr-review/scenarios/level-2/cross-team-review.yaml +61 -0
  168. package/courses/github-pr-review/scenarios/level-2/intermediate-review-shift.yaml +66 -0
  169. package/courses/github-pr-review/scenarios/level-2/performance-review-patterns.yaml +99 -0
  170. package/courses/github-pr-review/scenarios/level-2/review-disagreement-resolution.yaml +64 -0
  171. package/courses/github-pr-review/scenarios/level-2/review-metrics-analysis.yaml +63 -0
  172. package/courses/github-pr-review/scenarios/level-2/review-turnaround-sla.yaml +54 -0
  173. package/courses/github-pr-review/scenarios/level-2/stacked-pr-review.yaml +65 -0
  174. package/courses/github-pr-review/scenarios/level-3/advanced-review-shift.yaml +65 -0
  175. package/courses/github-pr-review/scenarios/level-3/ai-powered-review.yaml +58 -0
  176. package/courses/github-pr-review/scenarios/level-3/compliance-review-process.yaml +64 -0
  177. package/courses/github-pr-review/scenarios/level-3/cross-functional-review.yaml +60 -0
  178. package/courses/github-pr-review/scenarios/level-3/incident-driven-review.yaml +63 -0
  179. package/courses/github-pr-review/scenarios/level-3/large-scale-review-operations.yaml +55 -0
  180. package/courses/github-pr-review/scenarios/level-3/monorepo-review-process.yaml +68 -0
  181. package/courses/github-pr-review/scenarios/level-3/review-automation-platform.yaml +61 -0
  182. package/courses/github-pr-review/scenarios/level-3/review-culture-design.yaml +62 -0
  183. package/courses/github-pr-review/scenarios/level-3/review-data-pipeline.yaml +62 -0
  184. package/courses/github-pr-review/scenarios/level-4/enterprise-review-operations.yaml +61 -0
  185. package/courses/github-pr-review/scenarios/level-4/expert-review-shift.yaml +62 -0
  186. package/courses/github-pr-review/scenarios/level-4/review-data-architecture.yaml +69 -0
  187. package/courses/github-pr-review/scenarios/level-4/review-economics-roi.yaml +63 -0
  188. package/courses/github-pr-review/scenarios/level-4/review-executive-communication.yaml +61 -0
  189. package/courses/github-pr-review/scenarios/level-4/review-incident-postmortem.yaml +69 -0
  190. package/courses/github-pr-review/scenarios/level-4/review-org-design.yaml +62 -0
  191. package/courses/github-pr-review/scenarios/level-4/review-platform-architecture.yaml +64 -0
  192. package/courses/github-pr-review/scenarios/level-4/review-training-program.yaml +66 -0
  193. package/courses/github-pr-review/scenarios/level-4/review-vendor-evaluation.yaml +76 -0
  194. package/courses/github-pr-review/scenarios/level-5/comprehensive-review-system.yaml +68 -0
  195. package/courses/github-pr-review/scenarios/level-5/master-review-shift.yaml +73 -0
  196. package/courses/github-pr-review/scenarios/level-5/review-ai-future.yaml +69 -0
  197. package/courses/github-pr-review/scenarios/level-5/review-behavioral-science.yaml +66 -0
  198. package/courses/github-pr-review/scenarios/level-5/review-board-strategy.yaml +62 -0
  199. package/courses/github-pr-review/scenarios/level-5/review-consulting-engagement.yaml +62 -0
  200. package/courses/github-pr-review/scenarios/level-5/review-devtools-product.yaml +71 -0
  201. package/courses/github-pr-review/scenarios/level-5/review-industry-benchmarks.yaml +64 -0
  202. package/courses/github-pr-review/scenarios/level-5/review-ma-integration.yaml +76 -0
  203. package/courses/github-pr-review/scenarios/level-5/review-regulatory-landscape.yaml +78 -0
  204. package/courses/kubernetes-deployment-troubleshooting/course.yaml +12 -0
  205. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/configmap-secret-issues.yaml +69 -0
  206. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/crashloopbackoff.yaml +68 -0
  207. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/deployment-rollout.yaml +56 -0
  208. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/first-troubleshooting-shift.yaml +65 -0
  209. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/health-probe-failures.yaml +70 -0
  210. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/imagepullbackoff.yaml +57 -0
  211. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/kubectl-debugging-basics.yaml +56 -0
  212. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/oomkilled.yaml +70 -0
  213. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/pending-pods.yaml +68 -0
  214. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/service-not-reachable.yaml +66 -0
  215. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/dns-resolution-failures.yaml +63 -0
  216. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/helm-deployment-failures.yaml +63 -0
  217. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/hpa-scaling-issues.yaml +62 -0
  218. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/ingress-routing-issues.yaml +63 -0
  219. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/init-container-failures.yaml +63 -0
  220. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/intermediate-troubleshooting-shift.yaml +66 -0
  221. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/network-policy-blocking.yaml +67 -0
  222. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/persistent-volume-issues.yaml +69 -0
  223. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/rbac-permission-denied.yaml +57 -0
  224. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/resource-quota-limits.yaml +64 -0
  225. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/advanced-troubleshooting-shift.yaml +69 -0
  226. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/cluster-upgrade-failures.yaml +71 -0
  227. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/gitops-drift-detection.yaml +62 -0
  228. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/job-cronjob-failures.yaml +67 -0
  229. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/monitoring-alerting-gaps.yaml +64 -0
  230. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/multi-container-debugging.yaml +68 -0
  231. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/node-pressure-evictions.yaml +70 -0
  232. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/pod-disruption-budgets.yaml +59 -0
  233. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/service-mesh-debugging.yaml +64 -0
  234. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/statefulset-troubleshooting.yaml +69 -0
  235. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/capacity-planning.yaml +65 -0
  236. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/cost-optimization.yaml +57 -0
  237. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/disaster-recovery-design.yaml +56 -0
  238. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/executive-communication.yaml +62 -0
  239. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/expert-troubleshooting-shift.yaml +65 -0
  240. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/incident-management-process.yaml +59 -0
  241. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-cluster-operations.yaml +62 -0
  242. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-tenancy-design.yaml +55 -0
  243. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/platform-engineering.yaml +59 -0
  244. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/security-hardening.yaml +58 -0
  245. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/behavioral-science.yaml +62 -0
  246. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/board-strategy.yaml +61 -0
  247. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/cloud-native-future.yaml +65 -0
  248. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/comprehensive-platform.yaml +57 -0
  249. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/consulting-engagement.yaml +62 -0
  250. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/industry-benchmarks.yaml +58 -0
  251. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/ma-integration.yaml +62 -0
  252. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/master-troubleshooting-shift.yaml +73 -0
  253. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/product-development.yaml +65 -0
  254. package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/regulatory-compliance.yaml +76 -0
  255. package/courses/mysql-query-optimization/course.yaml +11 -0
  256. package/courses/mysql-query-optimization/scenarios/level-1/buffer-pool-basics.yaml +65 -0
  257. package/courses/mysql-query-optimization/scenarios/level-1/explain-basics.yaml +66 -0
  258. package/courses/mysql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +78 -0
  259. package/courses/mysql-query-optimization/scenarios/level-1/innodb-index-fundamentals.yaml +68 -0
  260. package/courses/mysql-query-optimization/scenarios/level-1/join-basics.yaml +66 -0
  261. package/courses/mysql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +67 -0
  262. package/courses/mysql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +66 -0
  263. package/courses/mysql-query-optimization/scenarios/level-1/select-star-problems.yaml +68 -0
  264. package/courses/mysql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +65 -0
  265. package/courses/mysql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +65 -0
  266. package/courses/mysql-query-optimization/scenarios/level-2/buffer-pool-tuning.yaml +64 -0
  267. package/courses/mysql-query-optimization/scenarios/level-2/composite-index-design.yaml +71 -0
  268. package/courses/mysql-query-optimization/scenarios/level-2/covering-and-invisible-indexes.yaml +69 -0
  269. package/courses/mysql-query-optimization/scenarios/level-2/cte-and-window-functions.yaml +78 -0
  270. package/courses/mysql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +68 -0
  271. package/courses/mysql-query-optimization/scenarios/level-2/join-optimization.yaml +67 -0
  272. package/courses/mysql-query-optimization/scenarios/level-2/performance-schema-analysis.yaml +69 -0
  273. package/courses/mysql-query-optimization/scenarios/level-2/query-optimizer-hints.yaml +74 -0
  274. package/courses/mysql-query-optimization/scenarios/level-2/subquery-optimization.yaml +70 -0
  275. package/courses/mysql-query-optimization/scenarios/level-2/write-optimization.yaml +63 -0
  276. package/courses/mysql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
  277. package/courses/mysql-query-optimization/scenarios/level-3/connection-management.yaml +67 -0
  278. package/courses/mysql-query-optimization/scenarios/level-3/full-text-search.yaml +77 -0
  279. package/courses/mysql-query-optimization/scenarios/level-3/json-optimization.yaml +87 -0
  280. package/courses/mysql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +68 -0
  281. package/courses/mysql-query-optimization/scenarios/level-3/monitoring-alerting.yaml +63 -0
  282. package/courses/mysql-query-optimization/scenarios/level-3/online-schema-changes.yaml +79 -0
  283. package/courses/mysql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +83 -0
  284. package/courses/mysql-query-optimization/scenarios/level-3/query-profiling-deep-dive.yaml +84 -0
  285. package/courses/mysql-query-optimization/scenarios/level-3/replication-optimization.yaml +66 -0
  286. package/courses/mysql-query-optimization/scenarios/level-4/aurora-vs-rds-evaluation.yaml +61 -0
  287. package/courses/mysql-query-optimization/scenarios/level-4/data-architecture.yaml +62 -0
  288. package/courses/mysql-query-optimization/scenarios/level-4/database-migration-planning.yaml +59 -0
  289. package/courses/mysql-query-optimization/scenarios/level-4/enterprise-governance.yaml +50 -0
  290. package/courses/mysql-query-optimization/scenarios/level-4/executive-communication.yaml +54 -0
  291. package/courses/mysql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +67 -0
  292. package/courses/mysql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +60 -0
  293. package/courses/mysql-query-optimization/scenarios/level-4/optimizer-internals.yaml +62 -0
  294. package/courses/mysql-query-optimization/scenarios/level-4/performance-sla-design.yaml +52 -0
  295. package/courses/mysql-query-optimization/scenarios/level-4/read-replica-scaling.yaml +51 -0
  296. package/courses/mysql-query-optimization/scenarios/level-5/ai-database-future.yaml +45 -0
  297. package/courses/mysql-query-optimization/scenarios/level-5/behavioral-science.yaml +44 -0
  298. package/courses/mysql-query-optimization/scenarios/level-5/benchmark-design.yaml +47 -0
  299. package/courses/mysql-query-optimization/scenarios/level-5/board-strategy.yaml +48 -0
  300. package/courses/mysql-query-optimization/scenarios/level-5/comprehensive-platform.yaml +49 -0
  301. package/courses/mysql-query-optimization/scenarios/level-5/consulting-engagement.yaml +52 -0
  302. package/courses/mysql-query-optimization/scenarios/level-5/ma-database-integration.yaml +47 -0
  303. package/courses/mysql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +56 -0
  304. package/courses/mysql-query-optimization/scenarios/level-5/product-development.yaml +48 -0
  305. package/courses/mysql-query-optimization/scenarios/level-5/regulatory-compliance.yaml +48 -0
  306. package/courses/postgresql-query-optimization/course.yaml +11 -0
  307. package/courses/postgresql-query-optimization/scenarios/level-1/explain-analyze-basics.yaml +80 -0
  308. package/courses/postgresql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +77 -0
  309. package/courses/postgresql-query-optimization/scenarios/level-1/index-fundamentals.yaml +76 -0
  310. package/courses/postgresql-query-optimization/scenarios/level-1/join-basics.yaml +73 -0
  311. package/courses/postgresql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +62 -0
  312. package/courses/postgresql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +69 -0
  313. package/courses/postgresql-query-optimization/scenarios/level-1/select-star-problems.yaml +69 -0
  314. package/courses/postgresql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +63 -0
  315. package/courses/postgresql-query-optimization/scenarios/level-1/vacuum-and-statistics.yaml +62 -0
  316. package/courses/postgresql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +74 -0
  317. package/courses/postgresql-query-optimization/scenarios/level-2/autovacuum-tuning.yaml +76 -0
  318. package/courses/postgresql-query-optimization/scenarios/level-2/composite-index-design.yaml +81 -0
  319. package/courses/postgresql-query-optimization/scenarios/level-2/covering-indexes.yaml +74 -0
  320. package/courses/postgresql-query-optimization/scenarios/level-2/cte-optimization.yaml +83 -0
  321. package/courses/postgresql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +66 -0
  322. package/courses/postgresql-query-optimization/scenarios/level-2/join-optimization.yaml +72 -0
  323. package/courses/postgresql-query-optimization/scenarios/level-2/partial-and-expression-indexes.yaml +75 -0
  324. package/courses/postgresql-query-optimization/scenarios/level-2/query-planner-settings.yaml +62 -0
  325. package/courses/postgresql-query-optimization/scenarios/level-2/subquery-optimization.yaml +67 -0
  326. package/courses/postgresql-query-optimization/scenarios/level-2/window-function-optimization.yaml +63 -0
  327. package/courses/postgresql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
  328. package/courses/postgresql-query-optimization/scenarios/level-3/connection-pooling.yaml +60 -0
  329. package/courses/postgresql-query-optimization/scenarios/level-3/full-text-search-optimization.yaml +66 -0
  330. package/courses/postgresql-query-optimization/scenarios/level-3/jsonb-optimization.yaml +88 -0
  331. package/courses/postgresql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +80 -0
  332. package/courses/postgresql-query-optimization/scenarios/level-3/materialized-view-optimization.yaml +73 -0
  333. package/courses/postgresql-query-optimization/scenarios/level-3/parallel-query-execution.yaml +74 -0
  334. package/courses/postgresql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +71 -0
  335. package/courses/postgresql-query-optimization/scenarios/level-3/specialized-index-types.yaml +67 -0
  336. package/courses/postgresql-query-optimization/scenarios/level-3/write-optimization.yaml +65 -0
  337. package/courses/postgresql-query-optimization/scenarios/level-4/data-architecture-analytics.yaml +64 -0
  338. package/courses/postgresql-query-optimization/scenarios/level-4/database-executive-communication.yaml +64 -0
  339. package/courses/postgresql-query-optimization/scenarios/level-4/database-migration-planning.yaml +57 -0
  340. package/courses/postgresql-query-optimization/scenarios/level-4/enterprise-database-governance.yaml +52 -0
  341. package/courses/postgresql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +73 -0
  342. package/courses/postgresql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +62 -0
  343. package/courses/postgresql-query-optimization/scenarios/level-4/optimizer-internals.yaml +69 -0
  344. package/courses/postgresql-query-optimization/scenarios/level-4/performance-sla-design.yaml +58 -0
  345. package/courses/postgresql-query-optimization/scenarios/level-4/read-replica-optimization.yaml +62 -0
  346. package/courses/postgresql-query-optimization/scenarios/level-4/vendor-evaluation.yaml +73 -0
  347. package/courses/postgresql-query-optimization/scenarios/level-5/comprehensive-database-system.yaml +70 -0
  348. package/courses/postgresql-query-optimization/scenarios/level-5/database-ai-future.yaml +81 -0
  349. package/courses/postgresql-query-optimization/scenarios/level-5/database-behavioral-science.yaml +63 -0
  350. package/courses/postgresql-query-optimization/scenarios/level-5/database-board-strategy.yaml +77 -0
  351. package/courses/postgresql-query-optimization/scenarios/level-5/database-consulting-engagement.yaml +61 -0
  352. package/courses/postgresql-query-optimization/scenarios/level-5/database-industry-benchmarks.yaml +64 -0
  353. package/courses/postgresql-query-optimization/scenarios/level-5/database-ma-integration.yaml +71 -0
  354. package/courses/postgresql-query-optimization/scenarios/level-5/database-product-development.yaml +72 -0
  355. package/courses/postgresql-query-optimization/scenarios/level-5/database-regulatory-landscape.yaml +76 -0
  356. package/courses/postgresql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +66 -0
  357. package/courses/rest-api-error-handling/course.yaml +11 -0
  358. package/courses/rest-api-error-handling/scenarios/level-1/authentication-errors.yaml +71 -0
  359. package/courses/rest-api-error-handling/scenarios/level-1/content-negotiation-errors.yaml +63 -0
  360. package/courses/rest-api-error-handling/scenarios/level-1/error-logging-basics.yaml +63 -0
  361. package/courses/rest-api-error-handling/scenarios/level-1/error-response-format.yaml +58 -0
  362. package/courses/rest-api-error-handling/scenarios/level-1/first-error-handling-shift.yaml +67 -0
  363. package/courses/rest-api-error-handling/scenarios/level-1/http-status-codes.yaml +46 -0
  364. package/courses/rest-api-error-handling/scenarios/level-1/not-found-errors.yaml +52 -0
  365. package/courses/rest-api-error-handling/scenarios/level-1/rate-limiting-errors.yaml +56 -0
  366. package/courses/rest-api-error-handling/scenarios/level-1/request-validation-errors.yaml +59 -0
  367. package/courses/rest-api-error-handling/scenarios/level-1/server-error-handling.yaml +55 -0
  368. package/courses/rest-api-error-handling/scenarios/level-2/api-versioning-errors.yaml +66 -0
  369. package/courses/rest-api-error-handling/scenarios/level-2/batch-request-errors.yaml +61 -0
  370. package/courses/rest-api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +52 -0
  371. package/courses/rest-api-error-handling/scenarios/level-2/error-code-taxonomy.yaml +62 -0
  372. package/courses/rest-api-error-handling/scenarios/level-2/error-monitoring-alerting.yaml +53 -0
  373. package/courses/rest-api-error-handling/scenarios/level-2/intermediate-error-shift.yaml +69 -0
  374. package/courses/rest-api-error-handling/scenarios/level-2/pagination-errors.yaml +66 -0
  375. package/courses/rest-api-error-handling/scenarios/level-2/retry-and-idempotency.yaml +60 -0
  376. package/courses/rest-api-error-handling/scenarios/level-2/rfc7807-problem-details.yaml +60 -0
  377. package/courses/rest-api-error-handling/scenarios/level-2/webhook-error-handling.yaml +55 -0
  378. package/courses/rest-api-error-handling/scenarios/level-3/advanced-error-shift.yaml +72 -0
  379. package/courses/rest-api-error-handling/scenarios/level-3/api-gateway-errors.yaml +71 -0
  380. package/courses/rest-api-error-handling/scenarios/level-3/async-api-errors.yaml +67 -0
  381. package/courses/rest-api-error-handling/scenarios/level-3/caching-error-scenarios.yaml +65 -0
  382. package/courses/rest-api-error-handling/scenarios/level-3/chaos-engineering-apis.yaml +62 -0
  383. package/courses/rest-api-error-handling/scenarios/level-3/database-error-handling.yaml +79 -0
  384. package/courses/rest-api-error-handling/scenarios/level-3/distributed-error-propagation.yaml +63 -0
  385. package/courses/rest-api-error-handling/scenarios/level-3/error-budgets-sre.yaml +61 -0
  386. package/courses/rest-api-error-handling/scenarios/level-3/error-correlation.yaml +58 -0
  387. package/courses/rest-api-error-handling/scenarios/level-3/graphql-vs-rest-errors.yaml +73 -0
  388. package/courses/rest-api-error-handling/scenarios/level-4/compliance-error-handling.yaml +65 -0
  389. package/courses/rest-api-error-handling/scenarios/level-4/enterprise-error-governance.yaml +62 -0
  390. package/courses/rest-api-error-handling/scenarios/level-4/error-analytics-platform.yaml +65 -0
  391. package/courses/rest-api-error-handling/scenarios/level-4/error-cost-optimization.yaml +63 -0
  392. package/courses/rest-api-error-handling/scenarios/level-4/error-executive-communication.yaml +60 -0
  393. package/courses/rest-api-error-handling/scenarios/level-4/error-handling-architecture.yaml +67 -0
  394. package/courses/rest-api-error-handling/scenarios/level-4/error-org-design.yaml +68 -0
  395. package/courses/rest-api-error-handling/scenarios/level-4/error-sla-design.yaml +65 -0
  396. package/courses/rest-api-error-handling/scenarios/level-4/error-training-program.yaml +61 -0
  397. package/courses/rest-api-error-handling/scenarios/level-4/expert-error-shift.yaml +63 -0
  398. package/courses/rest-api-error-handling/scenarios/level-5/comprehensive-error-system.yaml +68 -0
  399. package/courses/rest-api-error-handling/scenarios/level-5/error-ai-future.yaml +75 -0
  400. package/courses/rest-api-error-handling/scenarios/level-5/error-behavioral-science.yaml +73 -0
  401. package/courses/rest-api-error-handling/scenarios/level-5/error-board-strategy.yaml +60 -0
  402. package/courses/rest-api-error-handling/scenarios/level-5/error-consulting-engagement.yaml +58 -0
  403. package/courses/rest-api-error-handling/scenarios/level-5/error-industry-benchmarks.yaml +72 -0
  404. package/courses/rest-api-error-handling/scenarios/level-5/error-ma-integration.yaml +68 -0
  405. package/courses/rest-api-error-handling/scenarios/level-5/error-product-development.yaml +66 -0
  406. package/courses/rest-api-error-handling/scenarios/level-5/error-regulatory-landscape.yaml +80 -0
  407. package/courses/rest-api-error-handling/scenarios/level-5/master-error-shift.yaml +73 -0
  408. package/courses/terraform-infrastructure-setup/course.yaml +11 -0
  409. package/courses/terraform-infrastructure-setup/scenarios/level-1/terraform-init-errors.yaml +72 -0
  410. package/dist/cli/commands/add.d.ts.map +1 -1
  411. package/dist/cli/commands/add.js +6 -5
  412. package/dist/cli/commands/add.js.map +1 -1
  413. package/dist/cli/commands/generate.d.ts.map +1 -1
  414. package/dist/cli/commands/generate.js +4 -0
  415. package/dist/cli/commands/generate.js.map +1 -1
  416. package/dist/cli/commands/list.d.ts.map +1 -1
  417. package/dist/cli/commands/list.js +6 -18
  418. package/dist/cli/commands/list.js.map +1 -1
  419. package/dist/cli/commands/train.d.ts.map +1 -1
  420. package/dist/cli/commands/train.js +18 -18
  421. package/dist/cli/commands/train.js.map +1 -1
  422. package/dist/cli/index.js +93 -55
  423. package/dist/cli/index.js.map +1 -1
  424. package/dist/cli/run-demo.js +2 -1
  425. package/dist/cli/run-demo.js.map +1 -1
  426. package/dist/cli/setup.d.ts +18 -0
  427. package/dist/cli/setup.d.ts.map +1 -0
  428. package/dist/cli/setup.js +154 -0
  429. package/dist/cli/setup.js.map +1 -0
  430. package/dist/engine/agent-bridge.d.ts +5 -2
  431. package/dist/engine/agent-bridge.d.ts.map +1 -1
  432. package/dist/engine/agent-bridge.js +36 -9
  433. package/dist/engine/agent-bridge.js.map +1 -1
  434. package/dist/engine/loader.d.ts +21 -0
  435. package/dist/engine/loader.d.ts.map +1 -1
  436. package/dist/engine/loader.js +54 -1
  437. package/dist/engine/loader.js.map +1 -1
  438. package/dist/engine/training-loop.d.ts.map +1 -1
  439. package/dist/engine/training-loop.js +1 -0
  440. package/dist/engine/training-loop.js.map +1 -1
  441. package/dist/engine/training.d.ts.map +1 -1
  442. package/dist/engine/training.js +1 -0
  443. package/dist/engine/training.js.map +1 -1
  444. package/dist/generator/skill-generator.d.ts +1 -1
  445. package/dist/generator/skill-generator.d.ts.map +1 -1
  446. package/dist/generator/skill-generator.js +21 -2
  447. package/dist/generator/skill-generator.js.map +1 -1
  448. package/dist/mcp/server.d.ts.map +1 -1
  449. package/dist/mcp/server.js +11 -26
  450. package/dist/mcp/server.js.map +1 -1
  451. package/dist/mcp/session-manager.d.ts +9 -4
  452. package/dist/mcp/session-manager.d.ts.map +1 -1
  453. package/dist/mcp/session-manager.js +65 -28
  454. package/dist/mcp/session-manager.js.map +1 -1
  455. package/dist/types/schemas.d.ts +38 -13
  456. package/dist/types/schemas.d.ts.map +1 -1
  457. package/dist/types/schemas.js +9 -5
  458. package/dist/types/schemas.js.map +1 -1
  459. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ meta:
2
+ id: ai-database-future
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Explore AI-powered MySQL optimization — evaluate autonomous tuning, AI query optimization, and the evolving DBA role"
7
+ tags: [MySQL, AI, autonomous-tuning, machine-learning, future, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your CTO asks you to evaluate how AI will transform MySQL operations
13
+ and recommend which AI-powered technologies to invest in.
14
+
15
+ Current AI-database landscape:
16
+ 1. Autonomous tuning (OtterTune/Releem): ML-based my.cnf optimization
17
+ 2. AI query optimization: learned optimizers replacing cost-based
18
+ 3. AI-powered indexing: automatic index recommendations
19
+ 4. AI monitoring: anomaly detection, predictive alerting
20
+ 5. Natural language to SQL: text-to-SQL for non-technical users
21
+ 6. MySQL HeatWave: Oracle's ML-in-database for analytics
22
+
23
+ Evaluation criteria:
24
+ - Production readiness
25
+ - ROI vs complexity
26
+ - Risk when AI is wrong
27
+ - Team skill requirements
28
+
29
+ Task: Write the technology evaluation. Include: assessment of each
30
+ technology, adoption roadmap, text-to-SQL safety framework, and
31
+ prediction of how the DBA role evolves.
32
+
33
+ assertions:
34
+ - type: llm_judge
35
+ criteria: "Technologies are honestly assessed — autonomous tuning (semi-ready, good ROI), learned optimizers (research stage), index advisors (ready), AI monitoring (production-ready, high ROI), text-to-SQL (risky without guardrails), HeatWave (production-ready for analytics). Avoids both hype and dismissiveness"
36
+ weight: 0.35
37
+ description: "Honest assessment"
38
+ - type: llm_judge
39
+ criteria: "Adoption roadmap is practical — separates 'adopt now' (AI monitoring, index advisors), 'evaluate' (autonomous tuning, text-to-SQL), and 'watch' (learned optimizers). Each has implementation complexity and expected timeline"
40
+ weight: 0.35
41
+ description: "Practical roadmap"
42
+ - type: llm_judge
43
+ criteria: "DBA role evolution and safety are addressed — AI augments not replaces DBAs, text-to-SQL needs guardrails (read-only, query cost limits, audit logging), and the shift from manual tuning to AI supervision"
44
+ weight: 0.30
45
+ description: "DBA evolution and safety"
@@ -0,0 +1,44 @@
1
+ meta:
2
+ id: behavioral-science
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Apply behavioral science to MySQL operations — nudge engineers toward good query practices and prevent performance anti-patterns at scale"
7
+ tags: [MySQL, behavioral-science, nudge-theory, developer-experience, culture, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your organization has 300 engineers writing MySQL queries. Despite
13
+ training and documentation, the same anti-patterns keep appearing:
14
+ SELECT *, missing indexes, N+1 queries, and long-running transactions.
15
+
16
+ Anti-pattern frequency (last quarter):
17
+ - SELECT * on wide tables: 90 new instances
18
+ - N+1 queries in new endpoints: 35 instances
19
+ - Missing WHERE on UPDATE/DELETE: 5 production incidents
20
+ - Queries without LIMIT: 50 instances
21
+ - Long transactions blocking replication: 20 incidents
22
+
23
+ Traditional approaches tried:
24
+ - Documentation wiki: 10% read rate
25
+ - Training sessions: attendance drops 60% after first
26
+ - Code review checklist: reviewers skip DB items under pressure
27
+
28
+ Task: Design a behavioral system for MySQL query excellence. Write:
29
+ choice architecture (good defaults), automated nudge system, feedback
30
+ loops, social proof mechanisms, and change management plan.
31
+
32
+ assertions:
33
+ - type: llm_judge
34
+ criteria: "Choice architecture makes good practices default — ORM defaults to explicit columns, query timeouts configured by default, CI/CD includes automatic EXPLAIN analysis, migration tools enforce safe patterns"
35
+ weight: 0.35
36
+ description: "Choice architecture"
37
+ - type: llm_judge
38
+ criteria: "Nudge system intervenes at the right moment — IDE warnings for SELECT *, PR bot with query performance estimates, pre-deploy checks showing estimated cost, post-deploy dashboards attributing latency to deployments"
39
+ weight: 0.35
40
+ description: "Timely nudges"
41
+ - type: llm_judge
42
+ criteria: "Feedback loops and social proof create sustainable change — real-time dashboards per team, automated performance reports, gamification elements, and change management addresses resistance with measurable success metrics"
43
+ weight: 0.30
44
+ description: "Sustainable feedback loops"
@@ -0,0 +1,47 @@
1
+ meta:
2
+ id: benchmark-design
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Design MySQL benchmarks — create rigorous performance tests, avoid common pitfalls, and translate results into infrastructure decisions"
7
+ tags: [MySQL, benchmarks, sysbench, performance-testing, capacity-planning, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company needs to decide between Aurora MySQL and self-managed
13
+ MySQL on EC2 for a $1.5M infrastructure decision. The CTO says "run
14
+ benchmarks by Friday." You know naive benchmarking leads to wrong
15
+ conclusions.
16
+
17
+ Context:
18
+ - Current: Self-managed MySQL 8.0 on r6g.4xlarge
19
+ - Candidate: Aurora MySQL 8.0 on db.r6g.4xlarge
20
+ - Workload: Mixed OLTP (75% reads, 25% writes), 80K TPS
21
+ - Data: 500GB active, 2TB total
22
+ - Critical queries: point lookups, range scans, JOINs, bulk inserts
23
+
24
+ Common mistakes you've seen:
25
+ 1. Using sysbench with data fitting in RAM (no I/O test)
26
+ 2. Running 5-minute benchmarks (not long enough)
27
+ 3. Testing with uniform data (not real distribution)
28
+ 4. Single-connection tests (not concurrent load)
29
+ 5. Ignoring storage (Aurora I/O costs vs EBS provisioned IOPS)
30
+ 6. Not testing failure scenarios
31
+
32
+ Task: Design the benchmark plan. Write: methodology, workload design,
33
+ metrics to collect, pitfalls to avoid, and decision framework.
34
+
35
+ assertions:
36
+ - type: llm_judge
37
+ criteria: "Methodology is rigorous — tests data larger than RAM (500GB+), runs for hours with warm-up phase, includes concurrent load matching production (100+ connections), and tests both normal and degraded modes (replica failure, high connections)"
38
+ weight: 0.35
39
+ description: "Rigorous methodology"
40
+ - type: llm_judge
41
+ criteria: "Workload represents real usage — captures 75/25 read/write mix, uses representative queries (not just simple SELECTs), realistic data distributions, and tests at multiple concurrency levels to find saturation"
42
+ weight: 0.35
43
+ description: "Realistic workload"
44
+ - type: llm_judge
45
+ criteria: "Decision framework considers more than QPS — includes latency percentiles, cost-per-transaction, operational overhead, failure behavior, and long-term cost trajectory. Acknowledges benchmarks are one input alongside operational and strategic factors"
46
+ weight: 0.30
47
+ description: "Holistic decision framework"
@@ -0,0 +1,48 @@
1
+ meta:
2
+ id: board-strategy
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Present MySQL strategy to the board — secure multi-year investment for database modernization and position infrastructure as competitive advantage"
7
+ tags: [MySQL, board-strategy, investment, modernization, governance, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're the CTO presenting database strategy to the Board of Directors.
13
+ You need to secure $4M over 3 years for MySQL modernization. IPO
14
+ planned in 24 months.
15
+
16
+ Company: $150M ARR SaaS, 3,000 enterprise customers
17
+ Current: 20 MySQL clusters, 30TB, 5 DBAs, $2.5M/year infrastructure
18
+ Issues: 4 major outages last year (20 hours downtime), SLA breach
19
+ (99.5% vs promised 99.9%)
20
+
21
+ The $4M program:
22
+ Year 1 ($1.8M): Upgrade MySQL 5.7→8.0, deploy HA, implement monitoring
23
+ Year 2 ($1.3M): Migrate to Aurora, implement auto-scaling, reduce team
24
+ Year 3 ($0.9M): Achieve 99.99% availability, self-service platform
25
+
26
+ Board concerns:
27
+ - "Why not just move to the cloud and let AWS handle it?"
28
+ - "Can't we just hire more DBAs?"
29
+ - "What if we delay until after IPO?"
30
+ - "How does this compare to competitors?"
31
+
32
+ Task: Write the board presentation. Include: strategic framing,
33
+ investment case with ROI, risk of inaction, phased plan, and
34
+ responses to board concerns.
35
+
36
+ assertions:
37
+ - type: llm_judge
38
+ criteria: "Strategic framing resonates with board — database as business asset, reliability as customer retention driver, IPO readiness (due diligence will examine infrastructure), uses business language for non-technical board members"
39
+ weight: 0.35
40
+ description: "Board-appropriate framing"
41
+ - type: llm_judge
42
+ criteria: "Investment case is compelling — ROI quantified (avoided downtime costs, SLA penalty avoidance, infrastructure cost reduction), risk of inaction (SLA breach exposure, IPO risk), phased approach reduces execution risk"
43
+ weight: 0.35
44
+ description: "Compelling investment case"
45
+ - type: llm_judge
46
+ criteria: "Board concerns addressed directly — cloud migration alone doesn't solve optimization problems, more DBAs is a band-aid, delaying increases cost and risk, competitive benchmarking provided. Responses are concise and business-focused"
47
+ weight: 0.30
48
+ description: "Concerns addressed"
@@ -0,0 +1,49 @@
1
+ meta:
2
+ id: comprehensive-platform
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Design a MySQL database platform — architect self-service provisioning, automated operations, and unified observability for a large organization"
7
+ tags: [MySQL, platform, self-service, automation, observability, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're VP of Database Platform at a company with 5,000 engineers.
13
+ The CEO mandates "database as a platform" — engineers should provision
14
+ and manage databases without DBA tickets.
15
+
16
+ Current state:
17
+ - 300 MySQL databases, 60 teams
18
+ - Provisioning time: 2 weeks (ticket-based)
19
+ - 12 DBAs handling all requests (bottleneck)
20
+ - No self-service, every change requires DBA approval
21
+ - No cost attribution — database costs are one lump sum
22
+
23
+ Target state:
24
+ - Self-service provisioning in <10 minutes
25
+ - Automated schema change review and deployment
26
+ - Unified observability across all 300 databases
27
+ - Cost attribution per team
28
+ - Automated incident detection and remediation
29
+
30
+ Budget: $3M/year for platform team (15 engineers)
31
+ Migration: 18 months to onboard all 300 databases
32
+
33
+ Task: Design the database platform. Write: platform architecture,
34
+ self-service provisioning, governance model, migration strategy for
35
+ 300 databases, and success metrics.
36
+
37
+ assertions:
38
+ - type: llm_judge
39
+ criteria: "Platform covers key components — provisioning (Terraform/Kubernetes operator), schema management (GitOps), query governance (CI/CD), observability (centralized monitoring), cost management (per-team attribution), security (automated RBAC), DR (automated backups)"
40
+ weight: 0.35
41
+ description: "Complete platform"
42
+ - type: llm_judge
43
+ criteria: "Self-service balances autonomy with governance — instant provisioning within guardrails, automated schema review, clear boundaries for self-service vs platform team approval"
44
+ weight: 0.35
45
+ description: "Balanced self-service"
46
+ - type: llm_judge
47
+ criteria: "Migration is phased and measurable — onboards 300 databases in phases, success metrics defined (provisioning time, incident MTTR, team satisfaction, cost per database), 15-engineer team structure with clear roles"
48
+ weight: 0.30
49
+ description: "Phased migration"
@@ -0,0 +1,52 @@
1
+ meta:
2
+ id: consulting-engagement
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Lead a MySQL consulting engagement — assess a client's infrastructure, deliver optimization roadmap, and quantify business impact"
7
+ tags: [MySQL, consulting, assessment, roadmap, business-impact, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're a MySQL consulting lead hired by a Series B e-commerce company
13
+ ($100M GMV) experiencing database growing pains. They've tripled
14
+ engineering from 50 to 150 in 18 months and MySQL is struggling.
15
+
16
+ Client briefing:
17
+ - Company: ShopFast (marketplace platform)
18
+ - Revenue: $100M GMV, $15M take rate
19
+ - Database: 6 MySQL clusters, 2TB total, all MySQL 5.7
20
+ - Team: 1 DBA (part-time, also does DevOps), 12 backend engineers
21
+ - Infrastructure cost: $80K/month (growing 25%/quarter)
22
+ - Incidents: 4 outages last quarter (18 hours total downtime)
23
+
24
+ Assessment findings:
25
+ 1. All 6 clusters still on MySQL 5.7 (approaching EOL)
26
+ 2. Buffer pool at 128MB default on 3 clusters (64GB RAM servers)
27
+ 3. 500+ queries with full table scans
28
+ 4. No connection pooling — services connect directly
29
+ 5. Single primary, 1 async replica — no HA
30
+ 6. Backups: mysqldump weekly (takes 8 hours), never tested restore
31
+ 7. No Performance Schema analysis ever performed
32
+ 8. 30% of tables have no primary key (InnoDB performance issue)
33
+ 9. Largest table: 500M rows, never partitioned, never optimized
34
+ 10. Application ORM generates N+1 queries extensively
35
+
36
+ Task: Write the consulting deliverable. Include: executive assessment,
37
+ prioritized roadmap (quick wins, medium-term, long-term), staffing
38
+ recommendations, cost projection, and risk register.
39
+
40
+ assertions:
41
+ - type: llm_judge
42
+ criteria: "Assessment quantifies business impact — translates each finding into cost/risk (18 hours downtime = $X revenue loss, 500+ full table scans = Y seconds of excess latency, MySQL 5.7 EOL = security risk). Prioritizes by business impact, not technical severity"
43
+ weight: 0.35
44
+ description: "Business-impact assessment"
45
+ - type: llm_judge
46
+ criteria: "Roadmap is phased and realistic — quick wins (buffer pool tuning, top 10 slow queries, add PKs to tables missing them) in weeks 1-2, medium-term (connection pooling, MySQL 8.0 upgrade, index cleanup) in months 1-3, long-term (HA setup, partitioning, monitoring) in months 3-6. Each phase has estimated cost savings"
47
+ weight: 0.35
48
+ description: "Phased roadmap"
49
+ - type: llm_judge
50
+ criteria: "Staffing and cost projections are realistic — recommends hiring a dedicated senior DBA, projects infrastructure costs with vs without optimization, and provides a framework for ongoing performance management (monitoring, query review process)"
51
+ weight: 0.30
52
+ description: "Staffing and cost"
@@ -0,0 +1,47 @@
1
+ meta:
2
+ id: ma-database-integration
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Plan database integration after M&A — merge two companies' MySQL databases while maintaining service continuity"
7
+ tags: [MySQL, M&A, integration, migration, schema-merge, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company ($150M ARR) acquired a competitor ($40M ARR). Both run
13
+ MySQL. The board mandates full integration within 12 months.
14
+
15
+ Acquirer: MySQL 8.0 on Aurora, 15 clusters, 20TB, well-documented
16
+ Acquired: MySQL 5.7 on EC2, 5 clusters, 5TB, monolithic, 1 DBA
17
+
18
+ Challenges:
19
+ 1. Schema conflicts: both have users, orders, payments tables with
20
+ different schemas and overlapping IDs
21
+ 2. 1,500 shared customers — data must be merged, not duplicated
22
+ 3. Acquired company stores PII in plain text
23
+ 4. MySQL 5.7→8.0 upgrade needed
24
+ 5. Both products must stay operational during integration
25
+ 6. API compatibility for 3rd-party integrations
26
+ 7. 7-year financial data retention requirement
27
+
28
+ CEO's directive: "One database, one platform, one team — 12 months.
29
+ Zero data loss."
30
+
31
+ Task: Write the integration plan. Include: system assessment, schema
32
+ unification strategy, data migration plan, phased timeline, and risk
33
+ mitigation.
34
+
35
+ assertions:
36
+ - type: llm_judge
37
+ criteria: "Schema unification handles conflicts — defines approach for merging tables (ID mapping, namespacing), resolves overlapping customer records (deduplication with merge rules), and preserves data lineage for regulatory compliance"
38
+ weight: 0.35
39
+ description: "Schema unification"
40
+ - type: llm_judge
41
+ criteria: "Timeline is phased and realistic — breaks into assessment, preparation, parallel run, migration, decommission phases. Includes MySQL 5.7→8.0 upgrade and PII encryption remediation. Both products remain operational throughout"
42
+ weight: 0.35
43
+ description: "Phased timeline"
44
+ - type: llm_judge
45
+ criteria: "Risk mitigation covers business-critical concerns — rollback plan at each phase, data validation (row counts, financial totals), parallel running period, API compatibility layer for 3rd parties, and kill switch if customer impact detected"
46
+ weight: 0.30
47
+ description: "Business-critical risk mitigation"
@@ -0,0 +1,56 @@
1
+ meta:
2
+ id: master-optimization-shift
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Master optimization shift — advise a CEO on a complete MySQL transformation combining M&A integration, compliance, and 10x scaling"
7
+ tags: [MySQL, shift-simulation, transformation, comprehensive, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're an external database strategy advisor. A CEO calls with an
13
+ urgent, complex situation.
14
+
15
+ DataFlow ($300M ARR, 1,500 engineers) acquired two companies:
16
+ - MedTrack ($30M ARR, healthcare SaaS, HIPAA-regulated)
17
+ - EuroPay ($60M ARR, EU fintech, GDPR + PCI DSS)
18
+
19
+ DataFlow: MySQL 8.0 on Aurora, 20 clusters, 60TB
20
+ MedTrack: MySQL 5.7 on EC2, 4 clusters, 5TB
21
+ EuroPay: MariaDB 10.6 on Galera Cluster, 8 clusters, 25TB
22
+
23
+ Board mandates (18-month timeline):
24
+ 1. Integrate all three databases into unified platform
25
+ 2. Achieve HIPAA + GDPR + PCI DSS compliance
26
+ 3. Prepare for IPO (99.99% availability, SOX compliance)
27
+ 4. Support 10x growth ($300M → $3B ARR in 5 years)
28
+
29
+ Constraints:
30
+ - Combined team: 10 DBAs
31
+ - Infrastructure cost: $1.5M/month
32
+ - Zero customer data loss
33
+ - All 3 products remain operational during integration
34
+ - EU healthcare data currently stored in US (violation)
35
+
36
+ CEO: "Give me the plan — architecture, timeline, budget, risk, and
37
+ what to tell the board."
38
+
39
+ Task: Write the comprehensive advisory. Include: unified architecture
40
+ (Aurora + EC2 + Galera), compliance strategy (4 frameworks),
41
+ integration timeline (18 months), budget projection, and board
42
+ communication strategy.
43
+
44
+ assertions:
45
+ - type: llm_judge
46
+ criteria: "Unified architecture handles all 3 platforms — addresses Aurora + self-managed MySQL + MariaDB/Galera consolidation, MySQL 5.7 and MariaDB 10.6 upgrade paths, and designs for 10x scale (60TB → 600TB trajectory). Architecture is realistic given 10 DBAs"
47
+ weight: 0.35
48
+ description: "Viable unified architecture"
49
+ - type: llm_judge
50
+ criteria: "Compliance achieves all 4 frameworks — HIPAA (PHI encryption, access logging), GDPR (EU data residency, right to erasure), PCI DSS (cardholder tokenization), SOX (audit trails, separation of duties). Addresses the immediate EU data residency violation. Identifies overlapping requirements to reduce effort"
51
+ weight: 0.35
52
+ description: "Multi-framework compliance"
53
+ - type: llm_judge
54
+ criteria: "Timeline, budget, and board communication are executive-ready — 18-month phased plan with milestones, budget includes infrastructure + personnel + migration costs, risk register with top 5 risks, and board narrative frames integration as competitive advantage not just cost"
55
+ weight: 0.30
56
+ description: "Executive-ready delivery"
@@ -0,0 +1,48 @@
1
+ meta:
2
+ id: product-development
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Build a MySQL performance product — design a SaaS tool for MySQL optimization from architecture to go-to-market"
7
+ tags: [MySQL, product-development, SaaS, monitoring, optimization, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're a technical co-founder building a SaaS product for MySQL
13
+ performance optimization. After 10 years as a MySQL DBA, you want
14
+ to productize your expertise.
15
+
16
+ Product vision: "Autopilot for MySQL performance"
17
+ - Connects to any MySQL database (RDS, Aurora, self-managed)
18
+ - Analyzes query performance via Performance Schema
19
+ - Recommends indexes, configuration changes, query rewrites
20
+ - Optionally applies safe optimizations automatically
21
+
22
+ Competitive landscape:
23
+ - Percona PMM (open-source monitoring)
24
+ - Datadog Database Monitoring ($23/host/mo)
25
+ - SolarWinds Database Performance Analyzer
26
+ - Releem (AI-powered MySQL tuning)
27
+ - VividCortex/SolarWinds (query analytics)
28
+
29
+ You have $2M seed funding, 5 engineers, 12 months to product-market
30
+ fit (40 paying customers).
31
+
32
+ Task: Write the product strategy. Include: product architecture,
33
+ MVP scope, go-to-market strategy, pricing model, and 12-month
34
+ technical roadmap.
35
+
36
+ assertions:
37
+ - type: llm_judge
38
+ criteria: "Architecture is technically sound — data collection via Performance Schema (minimal overhead), analysis engine for index/query recommendations, safe application path with testing, and multi-tenant data isolation"
39
+ weight: 0.35
40
+ description: "Sound architecture"
41
+ - type: llm_judge
42
+ criteria: "MVP is focused on fastest path to customers — identifies highest-value feature first, scopes achievable in 3-4 months, defines clear success metrics for product-market fit"
43
+ weight: 0.35
44
+ description: "Focused MVP"
45
+ - type: llm_judge
46
+ criteria: "GTM and pricing are realistic — target customer profile identified, distribution channels (MySQL community, DevOps conferences), pricing justified against competitors, 12-month roadmap with realistic milestones to 40 customers"
47
+ weight: 0.30
48
+ description: "Realistic GTM"
@@ -0,0 +1,48 @@
1
+ meta:
2
+ id: regulatory-compliance
3
+ level: 5
4
+ course: mysql-query-optimization
5
+ type: output
6
+ description: "Navigate MySQL regulatory compliance — design configurations for GDPR, PCI DSS, HIPAA, and SOX across multi-region deployments"
7
+ tags: [MySQL, compliance, GDPR, PCI-DSS, HIPAA, SOX, data-sovereignty, master]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ Your company is expanding into healthcare (HIPAA) and EU markets
13
+ (GDPR). Your MySQL infrastructure wasn't designed for regulatory
14
+ compliance. Legal gives you 6 months to comply or $25M in deals
15
+ will be lost.
16
+
17
+ Current MySQL infrastructure:
18
+ - 15 clusters, all US-East
19
+ - No data classification
20
+ - Audit logging: only general log (not tamper-evident)
21
+ - Encryption: TLS in transit, no at-rest encryption
22
+ - Access: 3 shared database users for 150 engineers
23
+ - Data retention: no automated deletion
24
+ - Backups: mysqldump, stored unencrypted
25
+
26
+ Requirements:
27
+ 1. GDPR: EU data residency, right to erasure, breach notification
28
+ 2. HIPAA: PHI encryption, access controls, 6-year audit retention
29
+ 3. PCI DSS: cardholder data encryption, quarterly scans
30
+ 4. SOX: change audit trail, separation of duties
31
+
32
+ Task: Design the compliance architecture. Write: data classification
33
+ strategy, encryption architecture, audit logging system, access
34
+ control redesign, and compliance automation.
35
+
36
+ assertions:
37
+ - type: llm_judge
38
+ criteria: "Data classification and encryption are addressed — defines tiers (public/internal/confidential/restricted), maps PII/PHI/cardholder data, designs multi-region for EU residency, implements InnoDB tablespace encryption and column-level encryption for sensitive fields"
39
+ weight: 0.35
40
+ description: "Classification and encryption"
41
+ - type: llm_judge
42
+ criteria: "Access control is redesigned — replaces 3 shared users with role-based access per engineer, implements MySQL Enterprise Audit or audit plugin for tamper-evident logging, retains per regulation requirements"
43
+ weight: 0.35
44
+ description: "Access control redesign"
45
+ - type: llm_judge
46
+ criteria: "Compliance automation is continuous — automated checks, drift detection, compliance dashboard rather than point-in-time audits. Addresses right-to-erasure with soft-delete and scheduled purge"
47
+ weight: 0.30
48
+ description: "Continuous compliance"
@@ -0,0 +1,11 @@
1
+ id: postgresql-query-optimization
2
+ name: "Database Query Optimization (PostgreSQL)"
3
+ description: >
4
+ Master PostgreSQL query optimization from reading execution plans to
5
+ enterprise database architecture. Learn indexing strategies, JOIN
6
+ optimization, partitioning, parallel queries, connection pooling,
7
+ write optimization, monitoring, and high-availability configurations
8
+ for large-scale PostgreSQL deployments.
9
+ levels: 5
10
+ scenarios_per_level: 10
11
+ tags: [development, PostgreSQL, database, query-optimization, performance, SQL, DevOps]
@@ -0,0 +1,80 @@
1
+ meta:
2
+ id: explain-analyze-basics
3
+ level: 1
4
+ course: postgresql-query-optimization
5
+ type: output
6
+ description: "Read EXPLAIN ANALYZE output — interpret PostgreSQL query execution plans to identify performance bottlenecks"
7
+ tags: [PostgreSQL, EXPLAIN, execution-plan, query-optimization, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're a junior developer working on an e-commerce app. The product
13
+ listing page takes 8 seconds to load. Your tech lead asks you to
14
+ run EXPLAIN ANALYZE on the query and figure out what's slow.
15
+
16
+ The query:
17
+ SELECT p.id, p.name, p.price, c.name as category,
18
+ AVG(r.rating) as avg_rating
19
+ FROM products p
20
+ JOIN categories c ON c.id = p.category_id
21
+ LEFT JOIN reviews r ON r.product_id = p.id
22
+ WHERE p.active = true AND p.price BETWEEN 10 AND 100
23
+ GROUP BY p.id, p.name, p.price, c.name
24
+ ORDER BY avg_rating DESC NULLS LAST
25
+ LIMIT 20;
26
+
27
+ EXPLAIN ANALYZE output:
28
+ Limit (cost=45892.12..45892.17 rows=20 width=76)
29
+ (actual time=8234.521..8234.534 rows=20 loops=1)
30
+ -> Sort (cost=45892.12..46142.12 rows=100000 width=76)
31
+ (actual time=8234.519..8234.527 rows=20 loops=1)
32
+ Sort Key: (avg(r.rating)) DESC NULLS LAST
33
+ Sort Method: top-N heapsort Memory: 27kB
34
+ -> HashAggregate (cost=42391.50..43391.50 rows=100000 width=76)
35
+ (actual time=7891.234..8102.456 rows=85000 loops=1)
36
+ Group Key: p.id, p.name, p.price, c.name
37
+ -> Hash Left Join (cost=3456.78..38141.50 rows=850000 width=48)
38
+ (actual time=234.567..5678.901 rows=850000 loops=1)
39
+ Hash Cond: (r.product_id = p.id)
40
+ -> Seq Scan on reviews r (cost=0..28456.00 rows=1200000
41
+ width=12) (actual time=0.023..1234.567 rows=1200000
42
+ loops=1)
43
+ -> Hash (cost=3206.78..3206.78 rows=20000 width=44)
44
+ (actual time=234.123..234.123 rows=18500 loops=1)
45
+ Buckets: 32768 Batches: 1 Memory Usage: 1234kB
46
+ -> Hash Join (cost=12.50..3206.78 rows=20000 width=44)
47
+ (actual time=0.345..198.765 rows=18500 loops=1)
48
+ Hash Cond: (p.category_id = c.id)
49
+ -> Seq Scan on products p (cost=0..3125.00
50
+ rows=20000 width=40)
51
+ (actual time=0.012..178.234 rows=18500
52
+ loops=1)
53
+ Filter: (active AND (price >= 10)
54
+ AND (price <= 100))
55
+ Rows Removed by Filter: 81500
56
+ -> Hash (cost=10.00..10.00 rows=200 width=12)
57
+ (actual time=0.234..0.234 rows=200 loops=1)
58
+
59
+ Table sizes: products (100K rows), reviews (1.2M rows),
60
+ categories (200 rows).
61
+
62
+ Task: Analyze this execution plan. Explain: what each node means
63
+ (in plain English), where the time is being spent, why it's doing
64
+ sequential scans, what indexes would help, and write the optimized
65
+ version of this query with the recommended indexes. Explain the
66
+ difference between estimated and actual rows.
67
+
68
+ assertions:
69
+ - type: llm_judge
70
+ criteria: "Execution plan is correctly interpreted — identifies that the sequential scan on reviews (1.2M rows) is the biggest bottleneck, explains cost vs actual time, estimated vs actual rows, and each node type (Seq Scan, Hash Join, HashAggregate, Sort, Limit). The explanation is in plain English a junior developer can understand"
71
+ weight: 0.35
72
+ description: "Correct plan interpretation"
73
+ - type: llm_judge
74
+ criteria: "Optimization recommendations are specific — suggests index on reviews(product_id) for the JOIN, index on products(active, price) for the filter, and explains why these indexes would replace sequential scans with index scans. May suggest a materialized view or covering index for further optimization"
75
+ weight: 0.35
76
+ description: "Specific optimization recommendations"
77
+ - type: llm_judge
78
+ criteria: "Explains key EXPLAIN ANALYZE concepts — cost units (arbitrary but relative), actual time (milliseconds), loops, rows removed by filter, sort methods, hash bucket sizing, and how to identify the slowest node by looking at actual time differences between parent and child nodes"
79
+ weight: 0.30
80
+ description: "Key concepts explained"
@@ -0,0 +1,77 @@
1
+ meta:
2
+ id: first-optimization-shift
3
+ level: 1
4
+ course: postgresql-query-optimization
5
+ type: output
6
+ description: "First optimization shift — triage and fix multiple slow queries during a production performance incident"
7
+ tags: [PostgreSQL, optimization, shift-simulation, triage, beginner]
8
+
9
+ state: {}
10
+
11
+ trigger: |
12
+ You're on-call for a SaaS application when alerts fire at 9:00 AM
13
+ Monday (peak traffic). Database CPU is at 95% and climbing.
14
+ Response times have tripled. Users are complaining on Twitter.
15
+
16
+ Your monitoring dashboard shows:
17
+
18
+ Active connections: 180/200 (at limit)
19
+ Query queue: 45 queries waiting
20
+ Longest running query: 180 seconds (and counting)
21
+ Database CPU: 95%
22
+ Disk I/O: 98% utilization
23
+
24
+ Top 5 queries by current CPU consumption:
25
+
26
+ 1. (45% CPU) Running for 180 seconds:
27
+ SELECT * FROM audit_logs WHERE created_at > '2020-01-01'
28
+ ORDER BY created_at;
29
+ (audit_logs has 200M rows, no LIMIT, someone ran it from an
30
+ admin panel)
31
+
32
+ 2. (20% CPU) Running 500 concurrent copies:
33
+ SELECT u.*, p.* FROM users u
34
+ JOIN profiles p ON p.user_id = u.id
35
+ WHERE u.email = $1;
36
+ (Seq Scan on users — missing index on email)
37
+
38
+ 3. (15% CPU) Running 200 concurrent copies:
39
+ SELECT COUNT(*) FROM products
40
+ WHERE category_id = $1 AND active = true;
41
+ (Seq Scan on products — missing index)
42
+
43
+ 4. (10% CPU) Running every 5 seconds (background job):
44
+ UPDATE notifications SET checked_at = NOW()
45
+ WHERE user_id = $1 AND checked_at IS NULL;
46
+ (Seq Scan + row lock contention)
47
+
48
+ 5. (5% CPU) Running 50 concurrent copies:
49
+ SELECT * FROM orders WHERE customer_id = $1
50
+ ORDER BY created_at DESC LIMIT 10;
51
+ (Using an index but fetching too many columns)
52
+
53
+ Available actions:
54
+ - Kill specific queries (pg_terminate_backend)
55
+ - Create indexes (takes time on large tables)
56
+ - Modify application code (requires deploy)
57
+ - Add connection pooling (PgBouncer not yet set up)
58
+ - Scale up database instance
59
+
60
+ Task: Triage and fix this incident. Write: the immediate actions
61
+ (first 5 minutes), the short-term fixes (next hour), the medium-
62
+ term improvements (this week), and the monitoring setup to prevent
63
+ this from recurring.
64
+
65
+ assertions:
66
+ - type: llm_judge
67
+ criteria: "Immediate triage is correct — kills the 200M-row audit_logs query first (45% CPU), considers killing or limiting long-running queries, and doesn't create indexes under 95% CPU load (would make things worse). Prioritizes by impact"
68
+ weight: 0.35
69
+ description: "Correct immediate triage"
70
+ - type: llm_judge
71
+ criteria: "Short-term fixes address root causes — index on users(email) for the most frequent query, index on products(category_id, active) for the product count, application-level statement_timeout to prevent unbounded queries, and connection pooling to handle the 180/200 connection pressure"
72
+ weight: 0.35
73
+ description: "Root cause fixes"
74
+ - type: llm_judge
75
+ criteria: "Prevention measures are practical — sets statement_timeout for different query types, implements pg_stat_statements monitoring, adds connection pooling, puts row limits on admin panel queries, and sets up alerting on slow queries and connection count before hitting limits"
76
+ weight: 0.30
77
+ description: "Practical prevention measures"