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.
- package/courses/GENERATION_LOG.md +72 -0
- package/courses/api-error-handling/course.yaml +16 -0
- package/courses/api-error-handling/scenarios/level-1/error-response-format.yaml +131 -0
- package/courses/api-error-handling/scenarios/level-1/http-status-codes-basics.yaml +90 -0
- package/courses/api-error-handling/scenarios/level-1/rate-limiting-basics.yaml +135 -0
- package/courses/api-error-handling/scenarios/level-1/request-validation-errors.yaml +208 -0
- package/courses/api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +189 -0
- package/courses/api-error-handling/scenarios/level-2/idempotency-retry-logic.yaml +159 -0
- package/courses/api-error-handling/scenarios/level-2/rfc-7807-problem-details.yaml +178 -0
- package/courses/api-error-handling/scenarios/level-2/webhook-error-handling.yaml +211 -0
- package/courses/api-error-handling/scenarios/level-3/distributed-tracing-errors.yaml +275 -0
- package/courses/aws-lambda-debugging/course.yaml +11 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/api-gateway-integration.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/cloudwatch-logs-basics.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/cold-start-basics.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/environment-variable-issues.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/first-debugging-shift.yaml +73 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/handler-import-errors.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/iam-permission-errors.yaml +68 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/invocation-errors.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/lambda-timeout-errors.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-1/memory-and-oom.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/async-invocation-failures.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/cold-start-optimization.yaml +76 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/dynamodb-streams-debugging.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/lambda-concurrency-management.yaml +70 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/lambda-layers-debugging.yaml +76 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/sam-local-debugging.yaml +74 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/sqs-event-source.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/vpc-networking-issues.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-2/xray-tracing.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/advanced-debugging-shift.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/container-image-lambda.yaml +79 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/cross-account-invocation.yaml +72 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/eventbridge-patterns.yaml +79 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/iac-deployment-debugging.yaml +68 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/kinesis-stream-processing.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/lambda-at-edge.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/lambda-extensions-debugging.yaml +67 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/powertools-observability.yaml +79 -0
- package/courses/aws-lambda-debugging/scenarios/level-3/step-functions-debugging.yaml +80 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/cost-optimization-strategy.yaml +67 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/expert-debugging-shift.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/incident-management-serverless.yaml +61 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/multi-region-serverless.yaml +67 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/observability-platform-design.yaml +71 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-architecture-design.yaml +64 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-data-architecture.yaml +66 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-migration-strategy.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-security-design.yaml +60 -0
- package/courses/aws-lambda-debugging/scenarios/level-4/serverless-testing-strategy.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/board-serverless-strategy.yaml +63 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/consulting-serverless-adoption.yaml +57 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/industry-serverless-patterns.yaml +62 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/ma-serverless-integration.yaml +75 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/master-debugging-shift.yaml +61 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/organizational-serverless-transformation.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/regulatory-serverless.yaml +61 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/serverless-economics.yaml +65 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/serverless-future-technology.yaml +66 -0
- package/courses/aws-lambda-debugging/scenarios/level-5/serverless-platform-design.yaml +71 -0
- package/courses/docker-container-debugging/course.yaml +11 -0
- package/courses/docker-container-debugging/scenarios/level-1/container-exit-codes.yaml +59 -0
- package/courses/docker-container-debugging/scenarios/level-1/container-networking-basics.yaml +69 -0
- package/courses/docker-container-debugging/scenarios/level-1/docker-logs-debugging.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-1/dockerfile-build-failures.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-1/environment-variable-issues.yaml +74 -0
- package/courses/docker-container-debugging/scenarios/level-1/first-debugging-shift.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-1/image-pull-failures.yaml +68 -0
- package/courses/docker-container-debugging/scenarios/level-1/port-mapping-issues.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-1/resource-limits-oom.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-1/volume-mount-problems.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-2/container-health-checks.yaml +73 -0
- package/courses/docker-container-debugging/scenarios/level-2/docker-compose-debugging.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-2/docker-exec-debugging.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-2/image-layer-optimization.yaml +81 -0
- package/courses/docker-container-debugging/scenarios/level-2/intermediate-debugging-shift.yaml +73 -0
- package/courses/docker-container-debugging/scenarios/level-2/logging-and-log-rotation.yaml +76 -0
- package/courses/docker-container-debugging/scenarios/level-2/multi-stage-build-debugging.yaml +76 -0
- package/courses/docker-container-debugging/scenarios/level-2/network-debugging-tools.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-2/pid1-signal-handling.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-2/security-scanning-basics.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-3/advanced-debugging-shift.yaml +77 -0
- package/courses/docker-container-debugging/scenarios/level-3/buildkit-optimization.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-3/container-filesystem-debugging.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-3/container-security-hardening.yaml +74 -0
- package/courses/docker-container-debugging/scenarios/level-3/disk-space-management.yaml +74 -0
- package/courses/docker-container-debugging/scenarios/level-3/docker-api-automation.yaml +72 -0
- package/courses/docker-container-debugging/scenarios/level-3/docker-daemon-issues.yaml +73 -0
- package/courses/docker-container-debugging/scenarios/level-3/docker-in-docker-ci.yaml +69 -0
- package/courses/docker-container-debugging/scenarios/level-3/overlay-network-debugging.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-3/production-container-ops.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-4/cicd-pipeline-design.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-monitoring-observability.yaml +63 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-orchestration-strategy.yaml +62 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-performance-engineering.yaml +64 -0
- package/courses/docker-container-debugging/scenarios/level-4/container-security-architecture.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-4/enterprise-image-management.yaml +58 -0
- package/courses/docker-container-debugging/scenarios/level-4/expert-debugging-shift.yaml +63 -0
- package/courses/docker-container-debugging/scenarios/level-4/incident-response-containers.yaml +70 -0
- package/courses/docker-container-debugging/scenarios/level-4/multi-environment-management.yaml +65 -0
- package/courses/docker-container-debugging/scenarios/level-4/stateful-service-containers.yaml +65 -0
- package/courses/docker-container-debugging/scenarios/level-5/board-infrastructure-strategy.yaml +58 -0
- package/courses/docker-container-debugging/scenarios/level-5/consulting-container-strategy.yaml +61 -0
- package/courses/docker-container-debugging/scenarios/level-5/container-platform-architecture.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/container-platform-economics.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/container-technology-evolution.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/disaster-recovery-containers.yaml +66 -0
- package/courses/docker-container-debugging/scenarios/level-5/industry-container-patterns.yaml +71 -0
- package/courses/docker-container-debugging/scenarios/level-5/master-debugging-shift.yaml +62 -0
- package/courses/docker-container-debugging/scenarios/level-5/organizational-transformation.yaml +67 -0
- package/courses/docker-container-debugging/scenarios/level-5/regulatory-compliance-containers.yaml +61 -0
- package/courses/github-actions-cicd/course.yaml +10 -0
- package/courses/github-actions-cicd/scenarios/level-1/actions-and-runners.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-1/basic-workflow-syntax.yaml +52 -0
- package/courses/github-actions-cicd/scenarios/level-1/branch-protection-checks.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-1/environment-variables-secrets.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-1/first-cicd-shift.yaml +62 -0
- package/courses/github-actions-cicd/scenarios/level-1/job-dependencies-outputs.yaml +62 -0
- package/courses/github-actions-cicd/scenarios/level-1/simple-ci-pipeline.yaml +57 -0
- package/courses/github-actions-cicd/scenarios/level-1/workflow-debugging.yaml +90 -0
- package/courses/github-actions-cicd/scenarios/level-1/workflow-status-notifications.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-1/workflow-triggers.yaml +56 -0
- package/courses/github-actions-cicd/scenarios/level-2/concurrency-control.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-2/conditional-execution.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-2/custom-actions-development.yaml +55 -0
- package/courses/github-actions-cicd/scenarios/level-2/dependency-caching.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-2/deployment-workflows.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-2/github-packages-publishing.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-2/intermediate-cicd-shift.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-2/matrix-builds.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-2/reusable-workflows.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-2/workflow-cost-optimization.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-3/advanced-cicd-shift.yaml +64 -0
- package/courses/github-actions-cicd/scenarios/level-3/compliance-automation.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-3/docker-action-development.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-3/github-environments.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-3/monorepo-ci.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-3/oidc-cloud-deployments.yaml +55 -0
- package/courses/github-actions-cicd/scenarios/level-3/release-automation.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-3/security-hardening.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-3/self-hosted-runners.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-3/workflow-optimization.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-data-architecture.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-economics-roi.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-executive-communication.yaml +58 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-incident-response.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-org-design.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-platform-architecture.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-training-program.yaml +65 -0
- package/courses/github-actions-cicd/scenarios/level-4/cicd-vendor-evaluation.yaml +59 -0
- package/courses/github-actions-cicd/scenarios/level-4/enterprise-cicd-governance.yaml +55 -0
- package/courses/github-actions-cicd/scenarios/level-4/expert-cicd-shift.yaml +60 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-ai-future.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-behavioral-science.yaml +70 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-board-strategy.yaml +56 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-consulting-engagement.yaml +61 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-industry-benchmarks.yaml +63 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-ma-integration.yaml +73 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-product-development.yaml +68 -0
- package/courses/github-actions-cicd/scenarios/level-5/cicd-regulatory-landscape.yaml +72 -0
- package/courses/github-actions-cicd/scenarios/level-5/comprehensive-cicd-system.yaml +66 -0
- package/courses/github-actions-cicd/scenarios/level-5/master-cicd-shift.yaml +76 -0
- package/courses/github-pr-review/scenarios/level-2/api-change-review.yaml +82 -0
- package/courses/github-pr-review/scenarios/level-2/automated-review-tooling.yaml +53 -0
- package/courses/github-pr-review/scenarios/level-2/cross-team-review.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-2/intermediate-review-shift.yaml +66 -0
- package/courses/github-pr-review/scenarios/level-2/performance-review-patterns.yaml +99 -0
- package/courses/github-pr-review/scenarios/level-2/review-disagreement-resolution.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-2/review-metrics-analysis.yaml +63 -0
- package/courses/github-pr-review/scenarios/level-2/review-turnaround-sla.yaml +54 -0
- package/courses/github-pr-review/scenarios/level-2/stacked-pr-review.yaml +65 -0
- package/courses/github-pr-review/scenarios/level-3/advanced-review-shift.yaml +65 -0
- package/courses/github-pr-review/scenarios/level-3/ai-powered-review.yaml +58 -0
- package/courses/github-pr-review/scenarios/level-3/compliance-review-process.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-3/cross-functional-review.yaml +60 -0
- package/courses/github-pr-review/scenarios/level-3/incident-driven-review.yaml +63 -0
- package/courses/github-pr-review/scenarios/level-3/large-scale-review-operations.yaml +55 -0
- package/courses/github-pr-review/scenarios/level-3/monorepo-review-process.yaml +68 -0
- package/courses/github-pr-review/scenarios/level-3/review-automation-platform.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-3/review-culture-design.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-3/review-data-pipeline.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-4/enterprise-review-operations.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-4/expert-review-shift.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-4/review-data-architecture.yaml +69 -0
- package/courses/github-pr-review/scenarios/level-4/review-economics-roi.yaml +63 -0
- package/courses/github-pr-review/scenarios/level-4/review-executive-communication.yaml +61 -0
- package/courses/github-pr-review/scenarios/level-4/review-incident-postmortem.yaml +69 -0
- package/courses/github-pr-review/scenarios/level-4/review-org-design.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-4/review-platform-architecture.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-4/review-training-program.yaml +66 -0
- package/courses/github-pr-review/scenarios/level-4/review-vendor-evaluation.yaml +76 -0
- package/courses/github-pr-review/scenarios/level-5/comprehensive-review-system.yaml +68 -0
- package/courses/github-pr-review/scenarios/level-5/master-review-shift.yaml +73 -0
- package/courses/github-pr-review/scenarios/level-5/review-ai-future.yaml +69 -0
- package/courses/github-pr-review/scenarios/level-5/review-behavioral-science.yaml +66 -0
- package/courses/github-pr-review/scenarios/level-5/review-board-strategy.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-5/review-consulting-engagement.yaml +62 -0
- package/courses/github-pr-review/scenarios/level-5/review-devtools-product.yaml +71 -0
- package/courses/github-pr-review/scenarios/level-5/review-industry-benchmarks.yaml +64 -0
- package/courses/github-pr-review/scenarios/level-5/review-ma-integration.yaml +76 -0
- package/courses/github-pr-review/scenarios/level-5/review-regulatory-landscape.yaml +78 -0
- package/courses/kubernetes-deployment-troubleshooting/course.yaml +12 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/configmap-secret-issues.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/crashloopbackoff.yaml +68 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/deployment-rollout.yaml +56 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/first-troubleshooting-shift.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/health-probe-failures.yaml +70 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/imagepullbackoff.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/kubectl-debugging-basics.yaml +56 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/oomkilled.yaml +70 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/pending-pods.yaml +68 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-1/service-not-reachable.yaml +66 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/dns-resolution-failures.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/helm-deployment-failures.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/hpa-scaling-issues.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/ingress-routing-issues.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/init-container-failures.yaml +63 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/intermediate-troubleshooting-shift.yaml +66 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/network-policy-blocking.yaml +67 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/persistent-volume-issues.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/rbac-permission-denied.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-2/resource-quota-limits.yaml +64 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/advanced-troubleshooting-shift.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/cluster-upgrade-failures.yaml +71 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/gitops-drift-detection.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/job-cronjob-failures.yaml +67 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/monitoring-alerting-gaps.yaml +64 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/multi-container-debugging.yaml +68 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/node-pressure-evictions.yaml +70 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/pod-disruption-budgets.yaml +59 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/service-mesh-debugging.yaml +64 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-3/statefulset-troubleshooting.yaml +69 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/capacity-planning.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/cost-optimization.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/disaster-recovery-design.yaml +56 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/executive-communication.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/expert-troubleshooting-shift.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/incident-management-process.yaml +59 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-cluster-operations.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/multi-tenancy-design.yaml +55 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/platform-engineering.yaml +59 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-4/security-hardening.yaml +58 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/behavioral-science.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/board-strategy.yaml +61 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/cloud-native-future.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/comprehensive-platform.yaml +57 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/consulting-engagement.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/industry-benchmarks.yaml +58 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/ma-integration.yaml +62 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/master-troubleshooting-shift.yaml +73 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/product-development.yaml +65 -0
- package/courses/kubernetes-deployment-troubleshooting/scenarios/level-5/regulatory-compliance.yaml +76 -0
- package/courses/mysql-query-optimization/course.yaml +11 -0
- package/courses/mysql-query-optimization/scenarios/level-1/buffer-pool-basics.yaml +65 -0
- package/courses/mysql-query-optimization/scenarios/level-1/explain-basics.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +78 -0
- package/courses/mysql-query-optimization/scenarios/level-1/innodb-index-fundamentals.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-1/join-basics.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-1/select-star-problems.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +65 -0
- package/courses/mysql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +65 -0
- package/courses/mysql-query-optimization/scenarios/level-2/buffer-pool-tuning.yaml +64 -0
- package/courses/mysql-query-optimization/scenarios/level-2/composite-index-design.yaml +71 -0
- package/courses/mysql-query-optimization/scenarios/level-2/covering-and-invisible-indexes.yaml +69 -0
- package/courses/mysql-query-optimization/scenarios/level-2/cte-and-window-functions.yaml +78 -0
- package/courses/mysql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-2/join-optimization.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-2/performance-schema-analysis.yaml +69 -0
- package/courses/mysql-query-optimization/scenarios/level-2/query-optimizer-hints.yaml +74 -0
- package/courses/mysql-query-optimization/scenarios/level-2/subquery-optimization.yaml +70 -0
- package/courses/mysql-query-optimization/scenarios/level-2/write-optimization.yaml +63 -0
- package/courses/mysql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
- package/courses/mysql-query-optimization/scenarios/level-3/connection-management.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-3/full-text-search.yaml +77 -0
- package/courses/mysql-query-optimization/scenarios/level-3/json-optimization.yaml +87 -0
- package/courses/mysql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +68 -0
- package/courses/mysql-query-optimization/scenarios/level-3/monitoring-alerting.yaml +63 -0
- package/courses/mysql-query-optimization/scenarios/level-3/online-schema-changes.yaml +79 -0
- package/courses/mysql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +83 -0
- package/courses/mysql-query-optimization/scenarios/level-3/query-profiling-deep-dive.yaml +84 -0
- package/courses/mysql-query-optimization/scenarios/level-3/replication-optimization.yaml +66 -0
- package/courses/mysql-query-optimization/scenarios/level-4/aurora-vs-rds-evaluation.yaml +61 -0
- package/courses/mysql-query-optimization/scenarios/level-4/data-architecture.yaml +62 -0
- package/courses/mysql-query-optimization/scenarios/level-4/database-migration-planning.yaml +59 -0
- package/courses/mysql-query-optimization/scenarios/level-4/enterprise-governance.yaml +50 -0
- package/courses/mysql-query-optimization/scenarios/level-4/executive-communication.yaml +54 -0
- package/courses/mysql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +67 -0
- package/courses/mysql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +60 -0
- package/courses/mysql-query-optimization/scenarios/level-4/optimizer-internals.yaml +62 -0
- package/courses/mysql-query-optimization/scenarios/level-4/performance-sla-design.yaml +52 -0
- package/courses/mysql-query-optimization/scenarios/level-4/read-replica-scaling.yaml +51 -0
- package/courses/mysql-query-optimization/scenarios/level-5/ai-database-future.yaml +45 -0
- package/courses/mysql-query-optimization/scenarios/level-5/behavioral-science.yaml +44 -0
- package/courses/mysql-query-optimization/scenarios/level-5/benchmark-design.yaml +47 -0
- package/courses/mysql-query-optimization/scenarios/level-5/board-strategy.yaml +48 -0
- package/courses/mysql-query-optimization/scenarios/level-5/comprehensive-platform.yaml +49 -0
- package/courses/mysql-query-optimization/scenarios/level-5/consulting-engagement.yaml +52 -0
- package/courses/mysql-query-optimization/scenarios/level-5/ma-database-integration.yaml +47 -0
- package/courses/mysql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +56 -0
- package/courses/mysql-query-optimization/scenarios/level-5/product-development.yaml +48 -0
- package/courses/mysql-query-optimization/scenarios/level-5/regulatory-compliance.yaml +48 -0
- package/courses/postgresql-query-optimization/course.yaml +11 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/explain-analyze-basics.yaml +80 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/first-optimization-shift.yaml +77 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/index-fundamentals.yaml +76 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/join-basics.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/n-plus-one-queries.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/query-rewriting-basics.yaml +69 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/select-star-problems.yaml +69 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/slow-query-diagnosis.yaml +63 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/vacuum-and-statistics.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-1/where-clause-optimization.yaml +74 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/autovacuum-tuning.yaml +76 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/composite-index-design.yaml +81 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/covering-indexes.yaml +74 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/cte-optimization.yaml +83 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/intermediate-optimization-shift.yaml +66 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/join-optimization.yaml +72 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/partial-and-expression-indexes.yaml +75 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/query-planner-settings.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/subquery-optimization.yaml +67 -0
- package/courses/postgresql-query-optimization/scenarios/level-2/window-function-optimization.yaml +63 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/advanced-optimization-shift.yaml +71 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/connection-pooling.yaml +60 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/full-text-search-optimization.yaml +66 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/jsonb-optimization.yaml +88 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/lock-contention-analysis.yaml +80 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/materialized-view-optimization.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/parallel-query-execution.yaml +74 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/partitioning-strategies.yaml +71 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/specialized-index-types.yaml +67 -0
- package/courses/postgresql-query-optimization/scenarios/level-3/write-optimization.yaml +65 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/data-architecture-analytics.yaml +64 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/database-executive-communication.yaml +64 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/database-migration-planning.yaml +57 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/enterprise-database-governance.yaml +52 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/expert-optimization-shift.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/high-availability-architecture.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/optimizer-internals.yaml +69 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/performance-sla-design.yaml +58 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/read-replica-optimization.yaml +62 -0
- package/courses/postgresql-query-optimization/scenarios/level-4/vendor-evaluation.yaml +73 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/comprehensive-database-system.yaml +70 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-ai-future.yaml +81 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-behavioral-science.yaml +63 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-board-strategy.yaml +77 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-consulting-engagement.yaml +61 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-industry-benchmarks.yaml +64 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-ma-integration.yaml +71 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-product-development.yaml +72 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/database-regulatory-landscape.yaml +76 -0
- package/courses/postgresql-query-optimization/scenarios/level-5/master-optimization-shift.yaml +66 -0
- package/courses/rest-api-error-handling/course.yaml +11 -0
- package/courses/rest-api-error-handling/scenarios/level-1/authentication-errors.yaml +71 -0
- package/courses/rest-api-error-handling/scenarios/level-1/content-negotiation-errors.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-1/error-logging-basics.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-1/error-response-format.yaml +58 -0
- package/courses/rest-api-error-handling/scenarios/level-1/first-error-handling-shift.yaml +67 -0
- package/courses/rest-api-error-handling/scenarios/level-1/http-status-codes.yaml +46 -0
- package/courses/rest-api-error-handling/scenarios/level-1/not-found-errors.yaml +52 -0
- package/courses/rest-api-error-handling/scenarios/level-1/rate-limiting-errors.yaml +56 -0
- package/courses/rest-api-error-handling/scenarios/level-1/request-validation-errors.yaml +59 -0
- package/courses/rest-api-error-handling/scenarios/level-1/server-error-handling.yaml +55 -0
- package/courses/rest-api-error-handling/scenarios/level-2/api-versioning-errors.yaml +66 -0
- package/courses/rest-api-error-handling/scenarios/level-2/batch-request-errors.yaml +61 -0
- package/courses/rest-api-error-handling/scenarios/level-2/circuit-breaker-pattern.yaml +52 -0
- package/courses/rest-api-error-handling/scenarios/level-2/error-code-taxonomy.yaml +62 -0
- package/courses/rest-api-error-handling/scenarios/level-2/error-monitoring-alerting.yaml +53 -0
- package/courses/rest-api-error-handling/scenarios/level-2/intermediate-error-shift.yaml +69 -0
- package/courses/rest-api-error-handling/scenarios/level-2/pagination-errors.yaml +66 -0
- package/courses/rest-api-error-handling/scenarios/level-2/retry-and-idempotency.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-2/rfc7807-problem-details.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-2/webhook-error-handling.yaml +55 -0
- package/courses/rest-api-error-handling/scenarios/level-3/advanced-error-shift.yaml +72 -0
- package/courses/rest-api-error-handling/scenarios/level-3/api-gateway-errors.yaml +71 -0
- package/courses/rest-api-error-handling/scenarios/level-3/async-api-errors.yaml +67 -0
- package/courses/rest-api-error-handling/scenarios/level-3/caching-error-scenarios.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-3/chaos-engineering-apis.yaml +62 -0
- package/courses/rest-api-error-handling/scenarios/level-3/database-error-handling.yaml +79 -0
- package/courses/rest-api-error-handling/scenarios/level-3/distributed-error-propagation.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-3/error-budgets-sre.yaml +61 -0
- package/courses/rest-api-error-handling/scenarios/level-3/error-correlation.yaml +58 -0
- package/courses/rest-api-error-handling/scenarios/level-3/graphql-vs-rest-errors.yaml +73 -0
- package/courses/rest-api-error-handling/scenarios/level-4/compliance-error-handling.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-4/enterprise-error-governance.yaml +62 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-analytics-platform.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-cost-optimization.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-executive-communication.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-handling-architecture.yaml +67 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-org-design.yaml +68 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-sla-design.yaml +65 -0
- package/courses/rest-api-error-handling/scenarios/level-4/error-training-program.yaml +61 -0
- package/courses/rest-api-error-handling/scenarios/level-4/expert-error-shift.yaml +63 -0
- package/courses/rest-api-error-handling/scenarios/level-5/comprehensive-error-system.yaml +68 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-ai-future.yaml +75 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-behavioral-science.yaml +73 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-board-strategy.yaml +60 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-consulting-engagement.yaml +58 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-industry-benchmarks.yaml +72 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-ma-integration.yaml +68 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-product-development.yaml +66 -0
- package/courses/rest-api-error-handling/scenarios/level-5/error-regulatory-landscape.yaml +80 -0
- package/courses/rest-api-error-handling/scenarios/level-5/master-error-shift.yaml +73 -0
- package/courses/terraform-infrastructure-setup/course.yaml +11 -0
- package/courses/terraform-infrastructure-setup/scenarios/level-1/terraform-init-errors.yaml +72 -0
- package/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +6 -5
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +4 -0
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +6 -18
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/train.d.ts.map +1 -1
- package/dist/cli/commands/train.js +18 -18
- package/dist/cli/commands/train.js.map +1 -1
- package/dist/cli/index.js +93 -55
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/run-demo.js +2 -1
- package/dist/cli/run-demo.js.map +1 -1
- package/dist/cli/setup.d.ts +18 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +154 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/engine/agent-bridge.d.ts +5 -2
- package/dist/engine/agent-bridge.d.ts.map +1 -1
- package/dist/engine/agent-bridge.js +36 -9
- package/dist/engine/agent-bridge.js.map +1 -1
- package/dist/engine/loader.d.ts +21 -0
- package/dist/engine/loader.d.ts.map +1 -1
- package/dist/engine/loader.js +54 -1
- package/dist/engine/loader.js.map +1 -1
- package/dist/engine/training-loop.d.ts.map +1 -1
- package/dist/engine/training-loop.js +1 -0
- package/dist/engine/training-loop.js.map +1 -1
- package/dist/engine/training.d.ts.map +1 -1
- package/dist/engine/training.js +1 -0
- package/dist/engine/training.js.map +1 -1
- package/dist/generator/skill-generator.d.ts +1 -1
- package/dist/generator/skill-generator.d.ts.map +1 -1
- package/dist/generator/skill-generator.js +21 -2
- package/dist/generator/skill-generator.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +11 -26
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session-manager.d.ts +9 -4
- package/dist/mcp/session-manager.d.ts.map +1 -1
- package/dist/mcp/session-manager.js +65 -28
- package/dist/mcp/session-manager.js.map +1 -1
- package/dist/types/schemas.d.ts +38 -13
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +9 -5
- package/dist/types/schemas.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: cicd-regulatory-landscape
|
|
3
|
+
level: 5
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Navigate CI/CD regulatory landscape — map how global regulations shape CI/CD requirements and prepare for emerging frameworks"
|
|
7
|
+
tags: [github, actions, regulatory, compliance, global, supply-chain, master]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're the Chief Compliance Officer of a global software company
|
|
13
|
+
operating in 30 countries. Regulations increasingly require
|
|
14
|
+
demonstrable CI/CD controls, and you need to map the landscape.
|
|
15
|
+
|
|
16
|
+
Current regulatory requirements affecting CI/CD:
|
|
17
|
+
|
|
18
|
+
1. EU Cyber Resilience Act (CRA, effective 2027):
|
|
19
|
+
- Requires documented secure development lifecycle for all software
|
|
20
|
+
sold in the EU
|
|
21
|
+
- CI/CD must produce verifiable build provenance (SLSA Level 3)
|
|
22
|
+
- Vulnerability management must be automated in the pipeline
|
|
23
|
+
- Penalty: up to 15M EUR or 2.5% of global turnover
|
|
24
|
+
|
|
25
|
+
2. US Executive Order 14028 (Software Supply Chain):
|
|
26
|
+
- Software Bill of Materials (SBOM) required for government contracts
|
|
27
|
+
- CI/CD must generate and sign SBOMs automatically
|
|
28
|
+
- Build environment integrity must be verifiable
|
|
29
|
+
- Applies to your $200M government contract portfolio
|
|
30
|
+
|
|
31
|
+
3. SEC Cybersecurity Rules:
|
|
32
|
+
- Material cybersecurity incidents must be disclosed in 4 days
|
|
33
|
+
- CI/CD audit trails are part of "reasonable controls"
|
|
34
|
+
- Board must oversee cybersecurity risk management
|
|
35
|
+
|
|
36
|
+
4. India CERT-In Directive:
|
|
37
|
+
- 6-hour incident reporting requirement
|
|
38
|
+
- CI/CD logs must be retained for 180 days
|
|
39
|
+
- Your Bangalore development center is affected
|
|
40
|
+
|
|
41
|
+
5. Proposed EU AI Act CI/CD implications:
|
|
42
|
+
- High-risk AI systems must have documented CI/CD processes
|
|
43
|
+
- Model training pipelines need audit trails
|
|
44
|
+
- Continuous monitoring must be built into deployment
|
|
45
|
+
|
|
46
|
+
Emerging trends:
|
|
47
|
+
- SLSA framework adoption for build provenance
|
|
48
|
+
- Sigstore/cosign for artifact signing
|
|
49
|
+
- OpenSSF Scorecard for repository security
|
|
50
|
+
- NIST SSDF (Secure Software Development Framework)
|
|
51
|
+
- Software Liability Act proposals (US + EU)
|
|
52
|
+
|
|
53
|
+
Task: Map the regulatory landscape. Write: the regulatory matrix
|
|
54
|
+
(which regulations apply to which CI/CD components), the compliance
|
|
55
|
+
gap analysis, the unified CI/CD compliance framework (one pipeline
|
|
56
|
+
that satisfies all regulations), the SLSA Level 3 implementation
|
|
57
|
+
plan, and the future-proofing strategy. Include the board brief on
|
|
58
|
+
regulatory risk.
|
|
59
|
+
|
|
60
|
+
assertions:
|
|
61
|
+
- type: llm_judge
|
|
62
|
+
criteria: "Regulatory matrix is comprehensive — maps each regulation to specific CI/CD controls (build provenance, SBOM generation, audit trail retention, artifact signing), identifies overlapping requirements, and handles jurisdictional complexity"
|
|
63
|
+
weight: 0.35
|
|
64
|
+
description: "Comprehensive regulatory matrix"
|
|
65
|
+
- type: llm_judge
|
|
66
|
+
criteria: "SLSA Level 3 implementation is technically correct — includes hermetic builds, build provenance generation, artifact signing with Sigstore, SBOM generation (CycloneDX or SPDX), and the GitHub Actions workflow modifications needed"
|
|
67
|
+
weight: 0.35
|
|
68
|
+
description: "Correct SLSA Level 3 implementation"
|
|
69
|
+
- type: llm_judge
|
|
70
|
+
criteria: "Future-proofing strategy anticipates emerging regulations — prepares for Software Liability Act, EU AI Act CI/CD requirements, and NIST SSDF compliance before they take effect, with a regulatory monitoring process"
|
|
71
|
+
weight: 0.30
|
|
72
|
+
description: "Anticipatory future-proofing"
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: comprehensive-cicd-system
|
|
3
|
+
level: 5
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Design a comprehensive CI/CD system — architect a 5-layer CI/CD platform for a Fortune 500 company"
|
|
7
|
+
tags: [github, actions, comprehensive, enterprise, architecture, Fortune-500, master]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're the CTO of a Fortune 500 company ($10B revenue, 4,000
|
|
13
|
+
engineers) designing a unified CI/CD system. The company has 8
|
|
14
|
+
business units acquired over 15 years, each with different platforms,
|
|
15
|
+
processes, and cultures. The board mandated unification after a
|
|
16
|
+
regulatory finding.
|
|
17
|
+
|
|
18
|
+
Current state:
|
|
19
|
+
- BU1 Cloud (800 eng): GitHub Actions, mature, 50 deploys/day
|
|
20
|
+
- BU2 Consumer (600 eng): GitLab CI, fast, no compliance
|
|
21
|
+
- BU3 Enterprise (500 eng): Jenkins, slow, SOX/SOC 2 compliant
|
|
22
|
+
- BU4 Data (400 eng): Airflow + custom scripts, no standard CI
|
|
23
|
+
- BU5 Mobile (300 eng): Bitrise + Fastlane, iOS/Android specific
|
|
24
|
+
- BU6 IoT (200 eng): Custom embedded CI, hardware-in-loop testing
|
|
25
|
+
- BU7 Fintech (150 eng): CircleCI, PCI DSS compliant
|
|
26
|
+
- BU8 AI Lab (50 eng): No CI, Jupyter notebooks + manual deploys
|
|
27
|
+
|
|
28
|
+
Design the CI/CD system in 5 layers:
|
|
29
|
+
|
|
30
|
+
Layer 1 — Governance: Universal policies, compliance mapping (SOX,
|
|
31
|
+
SOC 2, PCI DSS, HIPAA, FedRAMP), action allowlisting, audit trails
|
|
32
|
+
Layer 2 — Platform: GitHub Actions standardization, runner fleet,
|
|
33
|
+
reusable workflows, secret management (Vault)
|
|
34
|
+
Layer 3 — Delivery: Deployment pipelines per BU (web, mobile, IoT,
|
|
35
|
+
ML, data pipelines), environment management, release automation
|
|
36
|
+
Layer 4 — Intelligence: DORA metrics, cost optimization, failure
|
|
37
|
+
prediction, anomaly detection, compliance reporting
|
|
38
|
+
Layer 5 — Experience: Developer portal, workflow catalog, self-
|
|
39
|
+
service onboarding, documentation, training
|
|
40
|
+
|
|
41
|
+
Constraints:
|
|
42
|
+
- $20M budget over 3 years
|
|
43
|
+
- Cannot disrupt any BU's current shipping velocity
|
|
44
|
+
- Must handle specialized needs (IoT hardware testing, ML GPU
|
|
45
|
+
training, mobile signing)
|
|
46
|
+
- Must satisfy 5 compliance frameworks simultaneously
|
|
47
|
+
- Must handle 10,000+ pipeline runs per day
|
|
48
|
+
|
|
49
|
+
Task: Design all 5 layers. For each, write the detailed design,
|
|
50
|
+
migration plan, interactions with other layers, and success metrics.
|
|
51
|
+
Then write: the 3-year phased roadmap, the $20M budget allocation,
|
|
52
|
+
and the board presentation for approval.
|
|
53
|
+
|
|
54
|
+
assertions:
|
|
55
|
+
- type: llm_judge
|
|
56
|
+
criteria: "5-layer design is coherent — each layer builds on the one below, there are clear interfaces, and the design handles the extreme diversity of 8 BUs without over-simplifying. Specialized needs (IoT, ML, mobile) are accommodated, not forced into a single template"
|
|
57
|
+
weight: 0.35
|
|
58
|
+
description: "Coherent 5-layer design"
|
|
59
|
+
- type: llm_judge
|
|
60
|
+
criteria: "Migration plan handles complexity — phases the 8 BUs based on difficulty and business criticality, doesn't force simultaneous migration, provides BU-specific migration paths (Jenkins→Actions, GitLab→Actions, custom→Actions), and has rollback plans"
|
|
61
|
+
weight: 0.35
|
|
62
|
+
description: "Complexity-handling migration plan"
|
|
63
|
+
- type: llm_judge
|
|
64
|
+
criteria: "Budget allocation is justified — the $20M is distributed across layers, BUs, and years with clear rationale, build-vs-buy decisions for each component, and the ROI projection shows when the investment pays back"
|
|
65
|
+
weight: 0.30
|
|
66
|
+
description: "Justified budget allocation"
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: master-cicd-shift
|
|
3
|
+
level: 5
|
|
4
|
+
course: github-actions-cicd
|
|
5
|
+
type: output
|
|
6
|
+
description: "Master CI/CD shift — navigate existential threats to the CI/CD platform while maintaining organizational trust and delivery velocity"
|
|
7
|
+
tags: [github, actions, shift-simulation, crisis, existential, master]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're the CTO facing a perfect storm of CI/CD-related crises that
|
|
13
|
+
threaten the company's delivery capability, compliance posture, and
|
|
14
|
+
competitive position simultaneously.
|
|
15
|
+
|
|
16
|
+
Crisis 1 — Supply chain attack:
|
|
17
|
+
A critical supply chain attack was discovered in a widely-used GitHub
|
|
18
|
+
Action (200K+ installations). The malicious version was active for
|
|
19
|
+
48 hours before detection. Your organization used this action in 85
|
|
20
|
+
repositories. The malicious code exfiltrated GITHUB_TOKEN and any
|
|
21
|
+
secrets passed to the action. GitHub has revoked the compromised
|
|
22
|
+
action but the damage may be done.
|
|
23
|
+
Questions: How many of your secrets are compromised? Was production
|
|
24
|
+
code tampered with? Can you trust any deployment from the last 48
|
|
25
|
+
hours?
|
|
26
|
+
|
|
27
|
+
Crisis 2 — Regulatory enforcement:
|
|
28
|
+
The SEC issued an enforcement action against your company for
|
|
29
|
+
"inadequate change management controls." They cite: deployments
|
|
30
|
+
without code review (12% via workflow_dispatch), missing audit trails
|
|
31
|
+
for 3 months of workflow runs (GitHub data retention expired), and
|
|
32
|
+
inability to prove who approved what change. The hearing is in 45
|
|
33
|
+
days. Legal estimates potential fines of $5-10M.
|
|
34
|
+
|
|
35
|
+
Crisis 3 — Platform vendor risk:
|
|
36
|
+
GitHub announced they're deprecating key features you depend on:
|
|
37
|
+
(a) self-hosted runner auto-scaling API changes in 60 days,
|
|
38
|
+
(b) organization-level required workflows moving to a new system,
|
|
39
|
+
(c) pricing restructure eliminating the large runner discount.
|
|
40
|
+
The changes require 3 months of engineering work with your current
|
|
41
|
+
(depleted) team.
|
|
42
|
+
|
|
43
|
+
Crisis 4 — Engineering exodus:
|
|
44
|
+
The "State of CI/CD" blog post by your competitor (the one in Crisis
|
|
45
|
+
2's news) went viral. 8 senior engineers cited it in exit interviews:
|
|
46
|
+
"Our CI/CD is years behind. I want to work somewhere with modern
|
|
47
|
+
infrastructure." Your platform team lost 5 of 15 engineers in the
|
|
48
|
+
last quarter.
|
|
49
|
+
|
|
50
|
+
Crisis 5 — Board emergency meeting:
|
|
51
|
+
The board called an emergency session in 48 hours. They want a
|
|
52
|
+
unified briefing on all 4 crises above and a strategic response.
|
|
53
|
+
Two board members are pushing to "abandon GitHub Actions entirely."
|
|
54
|
+
One board member (former CISO) is pushing to "freeze all deployments
|
|
55
|
+
until the supply chain attack is fully investigated."
|
|
56
|
+
|
|
57
|
+
Task: Navigate all 5 crises. Write: the 48-hour action plan, the
|
|
58
|
+
supply chain attack response (forensics, containment, communication),
|
|
59
|
+
the SEC response strategy (legal coordination, evidence preservation,
|
|
60
|
+
remediation), the vendor risk mitigation plan, the talent retention
|
|
61
|
+
strategy, and the board presentation that unifies everything into a
|
|
62
|
+
coherent strategic response.
|
|
63
|
+
|
|
64
|
+
assertions:
|
|
65
|
+
- type: llm_judge
|
|
66
|
+
criteria: "Board presentation unifies all crises — shows interconnections (supply chain attack worsens SEC case, talent loss impacts remediation capacity), doesn't present 5 separate plans but a coherent strategy, and addresses both board extremes (abandon GitHub vs freeze deployments)"
|
|
67
|
+
weight: 0.35
|
|
68
|
+
description: "Unified crisis board presentation"
|
|
69
|
+
- type: llm_judge
|
|
70
|
+
criteria: "Supply chain response is forensically sound — identifies all 85 affected repos, traces which secrets were exfiltrated, verifies deployment integrity for the 48-hour window, rotates all compromised credentials, and implements permanent supply chain protections (SHA pinning, action allowlist)"
|
|
71
|
+
weight: 0.35
|
|
72
|
+
description: "Forensically sound supply chain response"
|
|
73
|
+
- type: llm_judge
|
|
74
|
+
criteria: "SEC response balances legal and technical — coordinates with legal counsel, preserves evidence (does not delete any data), presents a proactive remediation plan, and the corrective actions address the specific findings (workflow_dispatch controls, audit trail retention, approval documentation)"
|
|
75
|
+
weight: 0.30
|
|
76
|
+
description: "Legal-technical SEC response"
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: api-change-review
|
|
3
|
+
level: 2
|
|
4
|
+
course: github-pr-review
|
|
5
|
+
type: output
|
|
6
|
+
description: "Review API changes — evaluate backward compatibility, versioning strategy, and migration paths in API-modifying PRs"
|
|
7
|
+
tags: [github, pr-review, API, backward-compatibility, versioning, intermediate]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're reviewing a PR titled "Update user API — v2 endpoints." The PR
|
|
13
|
+
modifies the public REST API consumed by 3 mobile apps and 12 third-
|
|
14
|
+
party integrations. The changes include:
|
|
15
|
+
|
|
16
|
+
Change 1 — Response format change:
|
|
17
|
+
```
|
|
18
|
+
// Before (v1)
|
|
19
|
+
GET /api/users/123
|
|
20
|
+
{ "id": 123, "name": "Jane Doe", "email": "jane@example.com",
|
|
21
|
+
"created": "2024-01-15" }
|
|
22
|
+
|
|
23
|
+
// After (v2 in this PR)
|
|
24
|
+
GET /api/users/123
|
|
25
|
+
{ "id": "usr_123", "fullName": "Jane Doe",
|
|
26
|
+
"contact": { "email": "jane@example.com" },
|
|
27
|
+
"metadata": { "createdAt": "2024-01-15T00:00:00Z" } }
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Change 2 — Endpoint restructuring:
|
|
31
|
+
```
|
|
32
|
+
// Before
|
|
33
|
+
GET /api/users/:id/orders
|
|
34
|
+
POST /api/users/:id/orders
|
|
35
|
+
|
|
36
|
+
// After
|
|
37
|
+
GET /api/v2/users/:id/orders?include=items,shipping
|
|
38
|
+
POST /api/v2/orders (userId in request body instead of URL)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Change 3 — Authentication change:
|
|
42
|
+
```
|
|
43
|
+
// Before: API key in query parameter
|
|
44
|
+
GET /api/users?api_key=abc123
|
|
45
|
+
|
|
46
|
+
// After: Bearer token in header
|
|
47
|
+
GET /api/v2/users
|
|
48
|
+
Authorization: Bearer <token>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Change 4 — New pagination:
|
|
52
|
+
```
|
|
53
|
+
// Before: offset-based
|
|
54
|
+
GET /api/users?page=2&per_page=20
|
|
55
|
+
|
|
56
|
+
// After: cursor-based
|
|
57
|
+
GET /api/v2/users?cursor=eyJpZCI6MTIzfQ&limit=20
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The PR has no migration guide, no deprecation timeline, and the old
|
|
61
|
+
endpoints are removed (not deprecated).
|
|
62
|
+
|
|
63
|
+
Task: Review the API changes. Write: the backward compatibility
|
|
64
|
+
assessment (what breaks and for whom), the versioning strategy
|
|
65
|
+
recommendation (how v1 and v2 should coexist), the migration plan for
|
|
66
|
+
consumers (timeline, communication, tooling), the review comments for
|
|
67
|
+
each change (what to keep, what to change, what to add), and the
|
|
68
|
+
checklist for future API-breaking PRs.
|
|
69
|
+
|
|
70
|
+
assertions:
|
|
71
|
+
- type: llm_judge
|
|
72
|
+
criteria: "Breaking changes are comprehensively identified — field renames (name→fullName), nested restructuring (email→contact.email), ID format change (123→usr_123), endpoint moves, auth mechanism change, and pagination model change are all flagged as breaking"
|
|
73
|
+
weight: 0.35
|
|
74
|
+
description: "Comprehensive breaking change identification"
|
|
75
|
+
- type: llm_judge
|
|
76
|
+
criteria: "Versioning strategy is sound — recommends keeping v1 endpoints active with deprecation timeline (not immediate removal), API versioning approach (URL path vs header), and coexistence strategy during migration period"
|
|
77
|
+
weight: 0.35
|
|
78
|
+
description: "Sound versioning strategy"
|
|
79
|
+
- type: llm_judge
|
|
80
|
+
criteria: "Migration plan is actionable — includes consumer communication (changelog, migration guide), timeline with milestones, tooling suggestions (compatibility layer, SDK updates), and a checklist that would prevent this situation in future API PRs"
|
|
81
|
+
weight: 0.30
|
|
82
|
+
description: "Actionable migration plan"
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: automated-review-tooling
|
|
3
|
+
level: 2
|
|
4
|
+
course: github-pr-review
|
|
5
|
+
type: output
|
|
6
|
+
description: "Set up automated review tools — configure linters, CodeQL, and automated checks to catch issues before human review"
|
|
7
|
+
tags: [github, pr-review, automation, linting, CodeQL, CI, intermediate]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
Your team spends 40% of review time on issues that could be caught
|
|
13
|
+
automatically: formatting inconsistencies, unused imports, type errors,
|
|
14
|
+
known vulnerability patterns, and missing test coverage. You've been
|
|
15
|
+
tasked with setting up automated review tools to reduce this burden.
|
|
16
|
+
|
|
17
|
+
Current state:
|
|
18
|
+
- TypeScript/React monorepo with Node.js backend
|
|
19
|
+
- GitHub Actions CI runs build and tests only
|
|
20
|
+
- No linting in CI (only local, inconsistently used)
|
|
21
|
+
- No security scanning
|
|
22
|
+
- No automated review comments
|
|
23
|
+
- PRs average 3 review rounds before merge (1st round is mostly
|
|
24
|
+
formatting and lint issues)
|
|
25
|
+
|
|
26
|
+
Available tools to evaluate and configure:
|
|
27
|
+
1. ESLint + Prettier (formatting/linting)
|
|
28
|
+
2. GitHub CodeQL (security analysis)
|
|
29
|
+
3. Codecov/Coveralls (test coverage reporting)
|
|
30
|
+
4. danger.js (custom PR checks: size, description, labels)
|
|
31
|
+
5. GitHub branch protection rules
|
|
32
|
+
|
|
33
|
+
Task: Design the automated review pipeline. Write: the GitHub Actions
|
|
34
|
+
workflow file(s) for the automated checks, the configuration for each
|
|
35
|
+
tool (ESLint rules focused on bugs not style, Prettier config, CodeQL
|
|
36
|
+
queries, danger.js rules for PR hygiene), the branch protection rules
|
|
37
|
+
that require these checks to pass, and the team rollout plan (how to
|
|
38
|
+
introduce without disrupting existing workflows). Include the expected
|
|
39
|
+
impact on review time and number of review rounds.
|
|
40
|
+
|
|
41
|
+
assertions:
|
|
42
|
+
- type: llm_judge
|
|
43
|
+
criteria: "GitHub Actions workflow is correct and complete — runs lint, type-check, CodeQL, coverage, and danger.js as separate jobs or steps, uses proper triggers (pull_request), caches dependencies, and handles monorepo paths correctly"
|
|
44
|
+
weight: 0.35
|
|
45
|
+
description: "Complete CI workflow"
|
|
46
|
+
- type: llm_judge
|
|
47
|
+
criteria: "Tool configurations are practical — ESLint focuses on bug-catching rules over style (since Prettier handles formatting), CodeQL uses relevant queries for JS/TS, danger.js checks PR size/description/labels, and coverage thresholds are reasonable"
|
|
48
|
+
weight: 0.35
|
|
49
|
+
description: "Practical tool configurations"
|
|
50
|
+
- type: llm_judge
|
|
51
|
+
criteria: "Rollout plan is realistic — addresses existing code that won't pass new rules (baseline approach), gradual enforcement strategy, team communication, and doesn't block all PRs on day one"
|
|
52
|
+
weight: 0.30
|
|
53
|
+
description: "Realistic rollout plan"
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: cross-team-review
|
|
3
|
+
level: 2
|
|
4
|
+
course: github-pr-review
|
|
5
|
+
type: output
|
|
6
|
+
description: "Cross-team code review — review PRs outside your domain expertise, ask effective questions, and provide value without deep context"
|
|
7
|
+
tags: [github, pr-review, cross-team, knowledge-sharing, communication, intermediate]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're a frontend engineer asked to review 3 PRs from teams outside
|
|
13
|
+
your usual domain. You need to provide valuable feedback despite not
|
|
14
|
+
being a domain expert.
|
|
15
|
+
|
|
16
|
+
PR #401 — From the Data team: "Add real-time analytics pipeline"
|
|
17
|
+
You don't know Kafka or Spark, but the PR touches shared API contracts
|
|
18
|
+
your frontend consumes. Changes include:
|
|
19
|
+
- New event schema for user interactions (affects your tracking code)
|
|
20
|
+
- API response format change for the analytics dashboard endpoint
|
|
21
|
+
- New WebSocket endpoint for real-time data
|
|
22
|
+
The PR has 400 lines, good tests, but the API changes aren't
|
|
23
|
+
documented and the response format breaks backward compatibility.
|
|
24
|
+
|
|
25
|
+
PR #402 — From the Infrastructure team: "Migrate to Kubernetes"
|
|
26
|
+
You don't know K8s well, but the PR modifies environment variables and
|
|
27
|
+
deployment configuration that affect your app. Changes include:
|
|
28
|
+
- New environment variable naming convention (REACT_APP_ → NEXT_PUBLIC_)
|
|
29
|
+
- Health check endpoint added (your app needs to implement /healthz)
|
|
30
|
+
- Changed base URL configuration from hardcoded to dynamic
|
|
31
|
+
The PR is 600 lines of YAML and config, with a migration guide buried
|
|
32
|
+
in a comment.
|
|
33
|
+
|
|
34
|
+
PR #403 — From the Mobile team: "Add shared component library"
|
|
35
|
+
The mobile team is creating a shared React Native component library
|
|
36
|
+
that should share design tokens with your web components. Changes:
|
|
37
|
+
- New design token format (different from your current CSS variables)
|
|
38
|
+
- Shared TypeScript types for API responses
|
|
39
|
+
- A utility function that duplicates logic from your web codebase
|
|
40
|
+
The PR is 250 lines with no mention of the web team in the description.
|
|
41
|
+
|
|
42
|
+
Task: Review all 3 PRs. For each, write: what you can and can't
|
|
43
|
+
evaluate as a non-domain expert, the specific feedback you can provide
|
|
44
|
+
(API contracts, compatibility, shared code), the questions to ask the
|
|
45
|
+
authors (framed constructively, not "I don't understand"), and the
|
|
46
|
+
cross-team concerns to raise. Include a meta-analysis of what this
|
|
47
|
+
cross-team review experience reveals about organizational communication.
|
|
48
|
+
|
|
49
|
+
assertions:
|
|
50
|
+
- type: llm_judge
|
|
51
|
+
criteria: "Reviews add value despite limited domain knowledge — identifies API contract breaks in #401, environment variable migration risks in #402, and code duplication in #403, all from the frontend perspective without pretending to understand Kafka/K8s internals"
|
|
52
|
+
weight: 0.35
|
|
53
|
+
description: "Value-adding cross-team reviews"
|
|
54
|
+
- type: llm_judge
|
|
55
|
+
criteria: "Questions are constructive and specific — asks about backward compatibility plans (not 'will this break things?'), migration timeline for env vars, and design token unification strategy, showing respect for the authors' domain expertise"
|
|
56
|
+
weight: 0.35
|
|
57
|
+
description: "Constructive cross-team questions"
|
|
58
|
+
- type: llm_judge
|
|
59
|
+
criteria: "Organizational patterns are identified — notes that cross-team PRs need better API change documentation, shared code should have cross-team visibility, and suggests process improvements (RFC for cross-team changes, shared API contract tests)"
|
|
60
|
+
weight: 0.30
|
|
61
|
+
description: "Organizational pattern recognition"
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: intermediate-review-shift
|
|
3
|
+
level: 2
|
|
4
|
+
course: github-pr-review
|
|
5
|
+
type: output
|
|
6
|
+
description: "Intermediate review shift — handle a complex batch of PRs requiring security, performance, and cross-team review skills"
|
|
7
|
+
tags: [github, pr-review, shift-simulation, batch-review, intermediate]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're doing a review shift with 4 challenging PRs. Each requires
|
|
13
|
+
different intermediate skills.
|
|
14
|
+
|
|
15
|
+
PR #501 (critical, 2 hours old): "Hotfix: Rate limit the signup
|
|
16
|
+
endpoint"
|
|
17
|
+
Author: On-call engineer. Context: The signup endpoint is being
|
|
18
|
+
abused — 10,000 fake accounts created in the last hour. The fix adds
|
|
19
|
+
Redis-based rate limiting: 5 signups per IP per hour.
|
|
20
|
+
Code concern: The rate limit key is based only on IP address (easily
|
|
21
|
+
bypassed with proxies), the Redis connection has no error handling (if
|
|
22
|
+
Redis is down, all signups fail), and the rate limit response doesn't
|
|
23
|
+
include Retry-After header.
|
|
24
|
+
Urgency: Active abuse happening now.
|
|
25
|
+
|
|
26
|
+
PR #502 (medium, 1 day old): "Add real-time notifications via SSE"
|
|
27
|
+
Author: Mid-level engineer. 350 lines adding Server-Sent Events for
|
|
28
|
+
notification delivery. The implementation keeps all SSE connections in
|
|
29
|
+
a Map in memory, with no connection limit, no heartbeat, and no
|
|
30
|
+
cleanup of dead connections. In production with 50K concurrent users,
|
|
31
|
+
this would exhaust memory.
|
|
32
|
+
Tests: Only tests the happy path with 1 connection.
|
|
33
|
+
|
|
34
|
+
PR #503 (low urgency, 3 days old): "Migrate from Moment.js to
|
|
35
|
+
date-fns"
|
|
36
|
+
Author: Junior engineer. 800 lines of date library migration. Most
|
|
37
|
+
changes are mechanical (moment().format() → format(new Date())), but
|
|
38
|
+
3 timezone conversions are incorrect — they use local timezone instead
|
|
39
|
+
of UTC, which would break for users in non-UTC timezones.
|
|
40
|
+
CI: Green (tests don't cover timezone edge cases).
|
|
41
|
+
|
|
42
|
+
PR #504 (medium, 4 hours old): "Stacked PR 2/3: Add payment webhooks"
|
|
43
|
+
This is the second PR in a 3-PR stack. PR 1/3 (payment model) was
|
|
44
|
+
merged with a review comment about adding an index that was never
|
|
45
|
+
addressed. This PR adds webhook handling but references the unindexed
|
|
46
|
+
column in queries that will be called for every webhook event.
|
|
47
|
+
|
|
48
|
+
Task: Review all 4 PRs. For each, write: the priority order with
|
|
49
|
+
justification, a focused review addressing the key technical concern,
|
|
50
|
+
the decision (approve/request changes/comment) with rationale, and
|
|
51
|
+
specific code-level feedback. End with a shift summary noting patterns
|
|
52
|
+
and team-level observations.
|
|
53
|
+
|
|
54
|
+
assertions:
|
|
55
|
+
- type: llm_judge
|
|
56
|
+
criteria: "Priority order balances urgency with risk — PR #501 is first (active abuse), but the review still catches security gaps in the rate limit implementation rather than rubber-stamping the hotfix. The stacked PR #504 gets attention for the carried-over tech debt"
|
|
57
|
+
weight: 0.35
|
|
58
|
+
description: "Urgency-balanced priority order"
|
|
59
|
+
- type: llm_judge
|
|
60
|
+
criteria: "Technical depth is appropriate per PR — #501 gets security-focused review (rate limit bypass, Redis failure mode), #502 gets scalability review (memory exhaustion, connection management), #503 catches timezone bugs, #504 addresses the unresolved index issue from the previous PR"
|
|
61
|
+
weight: 0.35
|
|
62
|
+
description: "Appropriate technical depth"
|
|
63
|
+
- type: llm_judge
|
|
64
|
+
criteria: "Shift summary identifies systemic issues — notes patterns across PRs (missing error handling, insufficient test coverage for edge cases, tech debt carried across stacked PRs) and recommends team-level improvements"
|
|
65
|
+
weight: 0.30
|
|
66
|
+
description: "Systemic issue identification"
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: performance-review-patterns
|
|
3
|
+
level: 2
|
|
4
|
+
course: github-pr-review
|
|
5
|
+
type: output
|
|
6
|
+
description: "Performance-focused code review — identify N+1 queries, memory leaks, and inefficient patterns in pull requests"
|
|
7
|
+
tags: [github, pr-review, performance, N+1, memory-leaks, intermediate]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're reviewing a PR titled "Add order history page with product
|
|
13
|
+
details." The PR loads a user's order history and displays product
|
|
14
|
+
information. Review these code sections for performance issues:
|
|
15
|
+
|
|
16
|
+
Section 1 — API endpoint:
|
|
17
|
+
```javascript
|
|
18
|
+
app.get('/api/orders', async (req, res) => {
|
|
19
|
+
const orders = await Order.findAll({ where: { userId: req.user.id } });
|
|
20
|
+
const result = [];
|
|
21
|
+
for (const order of orders) {
|
|
22
|
+
const items = await OrderItem.findAll({ where: { orderId: order.id } });
|
|
23
|
+
for (const item of items) {
|
|
24
|
+
item.product = await Product.findOne({ where: { id: item.productId } });
|
|
25
|
+
item.reviews = await Review.findAll({ where: { productId: item.productId } });
|
|
26
|
+
}
|
|
27
|
+
result.push({ ...order.toJSON(), items });
|
|
28
|
+
}
|
|
29
|
+
res.json(result);
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Section 2 — React component:
|
|
34
|
+
```jsx
|
|
35
|
+
function OrderHistory() {
|
|
36
|
+
const [orders, setOrders] = useState([]);
|
|
37
|
+
const [enrichedOrders, setEnrichedOrders] = useState([]);
|
|
38
|
+
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
fetch('/api/orders').then(r => r.json()).then(setOrders);
|
|
41
|
+
}, []);
|
|
42
|
+
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
orders.forEach(async (order) => {
|
|
45
|
+
const shipping = await fetch(`/api/shipping/${order.id}`).then(r => r.json());
|
|
46
|
+
setEnrichedOrders(prev => [...prev, { ...order, shipping }]);
|
|
47
|
+
});
|
|
48
|
+
}, [orders]);
|
|
49
|
+
|
|
50
|
+
return (
|
|
51
|
+
<div>
|
|
52
|
+
{enrichedOrders.map(order => (
|
|
53
|
+
<OrderCard key={order.id} order={order} />
|
|
54
|
+
))}
|
|
55
|
+
</div>
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Section 3 — Utility function:
|
|
61
|
+
```javascript
|
|
62
|
+
function formatOrdersForExport(orders) {
|
|
63
|
+
const allProducts = [];
|
|
64
|
+
orders.forEach(order => {
|
|
65
|
+
order.items.forEach(item => {
|
|
66
|
+
allProducts.push(JSON.parse(JSON.stringify(item.product)));
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
return allProducts.map(p => ({
|
|
70
|
+
...p,
|
|
71
|
+
formattedPrice: new Intl.NumberFormat('en-US', {
|
|
72
|
+
style: 'currency', currency: 'USD'
|
|
73
|
+
}).format(p.price)
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The user has 50 orders on average, each with 3-5 items. The page
|
|
79
|
+
currently takes 8 seconds to load.
|
|
80
|
+
|
|
81
|
+
Task: Write a performance-focused review. For each section: name the
|
|
82
|
+
performance anti-pattern, estimate the impact (number of queries,
|
|
83
|
+
memory usage, render cycles), provide the optimized solution with code,
|
|
84
|
+
and explain why the optimization works. Include a summary of expected
|
|
85
|
+
performance improvement.
|
|
86
|
+
|
|
87
|
+
assertions:
|
|
88
|
+
- type: llm_judge
|
|
89
|
+
criteria: "N+1 query problem is identified and fixed — Section 1 has nested N+1 queries (orders → items → products → reviews), and the fix uses eager loading (includes/joins) or batch queries to reduce from O(n*m) queries to O(1) or O(k)"
|
|
90
|
+
weight: 0.35
|
|
91
|
+
description: "N+1 query identification and fix"
|
|
92
|
+
- type: llm_judge
|
|
93
|
+
criteria: "Frontend performance issues are identified — Section 2 causes waterfall API calls (one per order), causes re-renders on every setState in the loop, and has a race condition with the enrichedOrders accumulation. Fix uses Promise.all or batched endpoint"
|
|
94
|
+
weight: 0.35
|
|
95
|
+
description: "Frontend performance issues"
|
|
96
|
+
- type: llm_judge
|
|
97
|
+
criteria: "Memory and computation waste identified — Section 3 deep-clones objects unnecessarily with JSON.parse/JSON.stringify, creates a new Intl.NumberFormat for each item instead of reusing it, and the fixes show proper optimization with minimal memory allocation"
|
|
98
|
+
weight: 0.30
|
|
99
|
+
description: "Memory and computation optimization"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
meta:
|
|
2
|
+
id: review-disagreement-resolution
|
|
3
|
+
level: 2
|
|
4
|
+
course: github-pr-review
|
|
5
|
+
type: output
|
|
6
|
+
description: "Resolve review disagreements — handle conflicting reviewer opinions, technical disputes, and author pushback constructively"
|
|
7
|
+
tags: [github, pr-review, conflict-resolution, disagreement, communication, intermediate]
|
|
8
|
+
|
|
9
|
+
state: {}
|
|
10
|
+
|
|
11
|
+
trigger: |
|
|
12
|
+
You're a senior engineer mediating review disagreements on 3 PRs
|
|
13
|
+
where reviewers and authors have reached an impasse.
|
|
14
|
+
|
|
15
|
+
Dispute #1 — Architecture disagreement:
|
|
16
|
+
PR "Refactor user service to microservice" has been open for 2 weeks.
|
|
17
|
+
- Author (mid-level): Extracted the user service into a separate
|
|
18
|
+
microservice with its own database. Says it improves scalability.
|
|
19
|
+
- Reviewer A (staff engineer): "This adds unnecessary complexity.
|
|
20
|
+
We're a 10-person team. Keep it as a module in the monolith."
|
|
21
|
+
- Reviewer B (senior): "I agree with the extraction but the API
|
|
22
|
+
contract is wrong — it should use gRPC, not REST."
|
|
23
|
+
- Author: "I've already spent 3 weeks on this. I'm not rewriting it."
|
|
24
|
+
Both reviewers have valid points. The PR has 1,500 lines changed.
|
|
25
|
+
|
|
26
|
+
Dispute #2 — Style/preference war:
|
|
27
|
+
PR "Add error handling to checkout flow" has 47 review comments.
|
|
28
|
+
- Reviewer keeps requesting changes for style preferences not in the
|
|
29
|
+
style guide: single quotes vs double quotes, trailing commas,
|
|
30
|
+
function declarations vs arrow functions.
|
|
31
|
+
- Author: "These are personal preferences, not bugs. Our style guide
|
|
32
|
+
doesn't cover this. I'm not changing them."
|
|
33
|
+
- The actual error handling logic hasn't been reviewed at all.
|
|
34
|
+
|
|
35
|
+
Dispute #3 — Testing philosophy clash:
|
|
36
|
+
PR "Add payment retry logic" has 2 reviewers disagreeing:
|
|
37
|
+
- Reviewer A: "These tests mock too much. They don't test real
|
|
38
|
+
behavior. Write integration tests."
|
|
39
|
+
- Reviewer B: "Integration tests are slow and flaky. Unit tests with
|
|
40
|
+
mocks are the right approach. Ship it."
|
|
41
|
+
- Author: "I wrote what Reviewer B asked for last time. Now Reviewer A
|
|
42
|
+
wants something different. Which is it?"
|
|
43
|
+
The team has no documented testing strategy.
|
|
44
|
+
|
|
45
|
+
Task: For each dispute, write: the root cause of the disagreement
|
|
46
|
+
(technical, process, or interpersonal), the mediation approach (how
|
|
47
|
+
to move forward without picking sides), the specific resolution with
|
|
48
|
+
rationale, the process improvement to prevent recurrence, and the
|
|
49
|
+
actual review comments you would post. Include a summary of when to
|
|
50
|
+
escalate vs mediate.
|
|
51
|
+
|
|
52
|
+
assertions:
|
|
53
|
+
- type: llm_judge
|
|
54
|
+
criteria: "Root causes are correctly diagnosed — Dispute #1 is a scope/architecture issue (PR too large, decision should have been made before coding), #2 is a process issue (style guide gaps), #3 is a documentation/alignment issue (no testing strategy)"
|
|
55
|
+
weight: 0.35
|
|
56
|
+
description: "Correct root cause diagnosis"
|
|
57
|
+
- type: llm_judge
|
|
58
|
+
criteria: "Resolutions are practical and fair — doesn't just pick a side, suggests concrete paths forward (e.g., for #1: scope down to module extraction without separate service, for #2: end the style war and focus on the error handling, for #3: define testing strategy then apply)"
|
|
59
|
+
weight: 0.35
|
|
60
|
+
description: "Practical and fair resolutions"
|
|
61
|
+
- type: llm_judge
|
|
62
|
+
criteria: "Process improvements prevent recurrence — suggests architectural decision records (ADRs) for #1, style guide expansion and linter rules for #2, documented testing strategy for #3, and general guidelines for when reviewers disagree"
|
|
63
|
+
weight: 0.30
|
|
64
|
+
description: "Recurrence-preventing process improvements"
|