sparkforge-aws 0.5.0__tar.gz

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 (1973) hide show
  1. sparkforge_aws-0.5.0/.agents/agents/athena-query-optimizer.md +83 -0
  2. sparkforge_aws-0.5.0/.agents/agents/cdc-contract-reviewer.md +49 -0
  3. sparkforge_aws-0.5.0/.agents/agents/data-quality-reviewer.md +184 -0
  4. sparkforge_aws-0.5.0/.agents/agents/emr-infra-reviewer.md +231 -0
  5. sparkforge_aws-0.5.0/.agents/agents/executors/sf-extractor.md +112 -0
  6. sparkforge_aws-0.5.0/.agents/agents/executors/sf-inventory.md +73 -0
  7. sparkforge_aws-0.5.0/.agents/agents/executors/sf-judge.md +44 -0
  8. sparkforge_aws-0.5.0/.agents/agents/executors/sf-synthesizer.md +136 -0
  9. sparkforge_aws-0.5.0/.agents/agents/executors/sf-verifier.md +106 -0
  10. sparkforge_aws-0.5.0/.agents/agents/glue-incremental-performance-architect.md +120 -0
  11. sparkforge_aws-0.5.0/.agents/agents/glue-infra-reviewer.md +153 -0
  12. sparkforge_aws-0.5.0/.agents/agents/iceberg-performance-engineer.md +89 -0
  13. sparkforge_aws-0.5.0/.agents/agents/pyspark-code-reviewer.md +228 -0
  14. sparkforge_aws-0.5.0/.agents/agents/sf-lake-formation-specialist.md +166 -0
  15. sparkforge_aws-0.5.0/.agents/agents/sf-runtime-specialist.md +165 -0
  16. sparkforge_aws-0.5.0/.agents/agents/sf-security-reviewer.md +28 -0
  17. sparkforge_aws-0.5.0/.agents/agents/sf-terraform-specialist.md +26 -0
  18. sparkforge_aws-0.5.0/.agents/agents/spark-performance-architect.md +349 -0
  19. sparkforge_aws-0.5.0/.agents/agents/streaming-realtime-architect.md +113 -0
  20. sparkforge_aws-0.5.0/.agents/skills/_shared/references/evaluation-contract.md +17 -0
  21. sparkforge_aws-0.5.0/.agents/skills/_shared/references/evidence-first.md +49 -0
  22. sparkforge_aws-0.5.0/.agents/skills/_shared/references/operational-safety.md +21 -0
  23. sparkforge_aws-0.5.0/.agents/skills/_shared/scripts/validate_skill_context.py +74 -0
  24. sparkforge_aws-0.5.0/.agents/skills/analyze-batch-loop/SKILL.md +141 -0
  25. sparkforge_aws-0.5.0/.agents/skills/analyze-batch-loop/evals/evals.json +33 -0
  26. sparkforge_aws-0.5.0/.agents/skills/analyze-batch-loop/references/README.md +13 -0
  27. sparkforge_aws-0.5.0/.agents/skills/analyze-batch-loop/scripts/validate_evidence.py +11 -0
  28. sparkforge_aws-0.5.0/.agents/skills/analyze-flink-job/SKILL.md +129 -0
  29. sparkforge_aws-0.5.0/.agents/skills/analyze-flink-job/evals/evals.json +7 -0
  30. sparkforge_aws-0.5.0/.agents/skills/analyze-flink-job/references/README.md +5 -0
  31. sparkforge_aws-0.5.0/.agents/skills/analyze-flink-job/scripts/validate_evidence.py +9 -0
  32. sparkforge_aws-0.5.0/.agents/skills/analyze-functional-rules/SKILL.md +89 -0
  33. sparkforge_aws-0.5.0/.agents/skills/analyze-functional-rules/evals/evals.json +33 -0
  34. sparkforge_aws-0.5.0/.agents/skills/analyze-functional-rules/references/README.md +13 -0
  35. sparkforge_aws-0.5.0/.agents/skills/analyze-functional-rules/scripts/validate_evidence.py +11 -0
  36. sparkforge_aws-0.5.0/.agents/skills/analyze-library-call-graph/SKILL.md +144 -0
  37. sparkforge_aws-0.5.0/.agents/skills/analyze-library-call-graph/evals/evals.json +33 -0
  38. sparkforge_aws-0.5.0/.agents/skills/analyze-library-call-graph/references/README.md +13 -0
  39. sparkforge_aws-0.5.0/.agents/skills/analyze-library-call-graph/scripts/validate_evidence.py +11 -0
  40. sparkforge_aws-0.5.0/.agents/skills/analyze-spark-plan/SKILL.md +124 -0
  41. sparkforge_aws-0.5.0/.agents/skills/analyze-spark-plan/evals/evals.json +33 -0
  42. sparkforge_aws-0.5.0/.agents/skills/analyze-spark-plan/references/README.md +13 -0
  43. sparkforge_aws-0.5.0/.agents/skills/analyze-spark-plan/scripts/validate_evidence.py +11 -0
  44. sparkforge_aws-0.5.0/.agents/skills/analyze-spark-ui/SKILL.md +147 -0
  45. sparkforge_aws-0.5.0/.agents/skills/analyze-spark-ui/evals/evals.json +33 -0
  46. sparkforge_aws-0.5.0/.agents/skills/analyze-spark-ui/references/README.md +13 -0
  47. sparkforge_aws-0.5.0/.agents/skills/analyze-spark-ui/scripts/validate_evidence.py +11 -0
  48. sparkforge_aws-0.5.0/.agents/skills/analyze-streaming-composition/SKILL.md +199 -0
  49. sparkforge_aws-0.5.0/.agents/skills/analyze-streaming-composition/evals/evals.json +7 -0
  50. sparkforge_aws-0.5.0/.agents/skills/analyze-streaming-composition/references/README.md +4 -0
  51. sparkforge_aws-0.5.0/.agents/skills/analyze-streaming-composition/scripts/validate_evidence.py +5 -0
  52. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/SKILL.md +293 -0
  53. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/evals/evals.json +33 -0
  54. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/README.md +13 -0
  55. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/budgets.md +50 -0
  56. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/cost-audit.md +75 -0
  57. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/cost-explorer.md +130 -0
  58. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/cost-optimization-hub.md +140 -0
  59. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/cur-athena.md +103 -0
  60. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/deterministic-calculations.md +62 -0
  61. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/ebs-optimization.md +49 -0
  62. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/ec2-rightsizing.md +86 -0
  63. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/free-tier.md +34 -0
  64. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/lambda-optimization.md +46 -0
  65. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/pricing-lookup.md +78 -0
  66. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/rds-optimization.md +39 -0
  67. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/reserved-instances.md +62 -0
  68. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/savings-plans.md +69 -0
  69. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/references/service-optimization.md +58 -0
  70. sparkforge_aws-0.5.0/.agents/skills/aws-billing-and-cost-management/scripts/validate_evidence.py +11 -0
  71. sparkforge_aws-0.5.0/.agents/skills/aws-database/SKILL.md +189 -0
  72. sparkforge_aws-0.5.0/.agents/skills/aws-database/evals/evals.json +33 -0
  73. sparkforge_aws-0.5.0/.agents/skills/aws-database/references/README.md +13 -0
  74. sparkforge_aws-0.5.0/.agents/skills/aws-database/references/handoff.md +74 -0
  75. sparkforge_aws-0.5.0/.agents/skills/aws-database/references/report-issue.md +59 -0
  76. sparkforge_aws-0.5.0/.agents/skills/aws-database/references/select.md +243 -0
  77. sparkforge_aws-0.5.0/.agents/skills/aws-database/scripts/validate_evidence.py +11 -0
  78. sparkforge_aws-0.5.0/.agents/skills/aws-iam/SKILL.md +248 -0
  79. sparkforge_aws-0.5.0/.agents/skills/aws-iam/evals/evals.json +33 -0
  80. sparkforge_aws-0.5.0/.agents/skills/aws-iam/references/README.md +13 -0
  81. sparkforge_aws-0.5.0/.agents/skills/aws-iam/references/aws-iam-policy-generation.md +504 -0
  82. sparkforge_aws-0.5.0/.agents/skills/aws-iam/references/aws-iam-role-management.md +108 -0
  83. sparkforge_aws-0.5.0/.agents/skills/aws-iam/references/common-pitfalls.md +127 -0
  84. sparkforge_aws-0.5.0/.agents/skills/aws-iam/references/service-authorization.md +84 -0
  85. sparkforge_aws-0.5.0/.agents/skills/aws-iam/scripts/validate_evidence.py +11 -0
  86. sparkforge_aws-0.5.0/.agents/skills/aws-messaging-and-streaming/SKILL.md +314 -0
  87. sparkforge_aws-0.5.0/.agents/skills/aws-messaging-and-streaming/evals/evals.json +33 -0
  88. sparkforge_aws-0.5.0/.agents/skills/aws-messaging-and-streaming/references/README.md +13 -0
  89. sparkforge_aws-0.5.0/.agents/skills/aws-messaging-and-streaming/scripts/validate_evidence.py +11 -0
  90. sparkforge_aws-0.5.0/.agents/skills/aws-observability/SKILL.md +158 -0
  91. sparkforge_aws-0.5.0/.agents/skills/aws-observability/evals/evals.json +33 -0
  92. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/README.md +13 -0
  93. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/alarms.md +263 -0
  94. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/application-signals-cicd-metadata.md +132 -0
  95. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/application-signals-onboarding.md +223 -0
  96. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/ec2-dotnet.md +318 -0
  97. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/ec2-java.md +246 -0
  98. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/ec2-nodejs.md +449 -0
  99. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/ec2-python.md +627 -0
  100. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/ecs-dotnet.md +250 -0
  101. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/ecs-java.md +180 -0
  102. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/ecs-nodejs.md +193 -0
  103. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/ecs-python.md +238 -0
  104. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/eks-dotnet.md +137 -0
  105. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/eks-java.md +137 -0
  106. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/eks-nodejs.md +137 -0
  107. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/eks-python.md +162 -0
  108. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/lambda-dotnet.md +86 -0
  109. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/lambda-java.md +104 -0
  110. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/lambda-nodejs.md +162 -0
  111. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/appsignals-guides/lambda-python.md +185 -0
  112. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/cloudtrail.md +117 -0
  113. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/dashboards.md +157 -0
  114. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/dynamic-instrumentation/breakpoint-creation.md +359 -0
  115. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/dynamic-instrumentation/call-tree-and-directions.md +166 -0
  116. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/dynamic-instrumentation/snapshot-parsing.md +82 -0
  117. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/dynamic-instrumentation.md +562 -0
  118. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/log-insights.md +254 -0
  119. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/metrics.md +192 -0
  120. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/synthetics.md +136 -0
  121. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/tracing.md +253 -0
  122. sparkforge_aws-0.5.0/.agents/skills/aws-observability/references/troubleshooting.md +122 -0
  123. sparkforge_aws-0.5.0/.agents/skills/aws-observability/scripts/validate_evidence.py +11 -0
  124. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/SKILL.md +365 -0
  125. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/evals/evals.json +33 -0
  126. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/references/README.md +13 -0
  127. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/references/configuration.md +151 -0
  128. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/references/credentials.md +127 -0
  129. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/references/dynamodb.md +295 -0
  130. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/references/error-handling.md +139 -0
  131. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/references/pagination.md +104 -0
  132. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/references/s3.md +223 -0
  133. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/references/waiters.md +121 -0
  134. sparkforge_aws-0.5.0/.agents/skills/aws-sdk-python-usage/scripts/validate_evidence.py +11 -0
  135. sparkforge_aws-0.5.0/.agents/skills/aws-security/SKILL.md +245 -0
  136. sparkforge_aws-0.5.0/.agents/skills/aws-security/evals/evals.json +33 -0
  137. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/README.md +13 -0
  138. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/detective-configuration.md +127 -0
  139. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/detective-investigations.md +97 -0
  140. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/detective.md +68 -0
  141. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/guardduty-configuration.md +152 -0
  142. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/guardduty-findings.md +128 -0
  143. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/guardduty.md +80 -0
  144. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/inspector-configuration.md +132 -0
  145. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/inspector-findings.md +115 -0
  146. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/inspector.md +77 -0
  147. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/macie-configuration.md +158 -0
  148. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/macie-findings.md +124 -0
  149. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/macie.md +72 -0
  150. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/organization-policies.md +58 -0
  151. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/security-hub-configuration.md +159 -0
  152. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/security-hub-cspm-configuration.md +137 -0
  153. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/security-hub-cspm-findings.md +117 -0
  154. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/security-hub-cspm.md +108 -0
  155. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/security-hub-findings.md +147 -0
  156. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/security-hub.md +91 -0
  157. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/security-lake-configuration.md +132 -0
  158. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/security-lake-sources.md +117 -0
  159. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/security-lake.md +53 -0
  160. sparkforge_aws-0.5.0/.agents/skills/aws-security/references/services-overview.md +110 -0
  161. sparkforge_aws-0.5.0/.agents/skills/aws-security/scripts/validate_evidence.py +11 -0
  162. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/SKILL.md +180 -0
  163. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/assets/powertools-handler.py +66 -0
  164. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/evals/evals.json +33 -0
  165. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/README.md +13 -0
  166. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/api-gateway.md +133 -0
  167. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/architecture.md +123 -0
  168. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/concurrency.md +86 -0
  169. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/deployment.md +94 -0
  170. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/event-sources.md +165 -0
  171. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/lambda.md +189 -0
  172. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/orchestration.md +130 -0
  173. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/production.md +156 -0
  174. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/references/troubleshooting.md +184 -0
  175. sparkforge_aws-0.5.0/.agents/skills/aws-serverless/scripts/validate_evidence.py +11 -0
  176. sparkforge_aws-0.5.0/.agents/skills/aws-storage/SKILL.md +299 -0
  177. sparkforge_aws-0.5.0/.agents/skills/aws-storage/evals/evals.json +33 -0
  178. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/README.md +13 -0
  179. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/data-movement-and-protection-knowledge.md +56 -0
  180. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/ebs-knowledge.md +45 -0
  181. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/efs-knowledge.md +34 -0
  182. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/fsx-lustre-knowledge.md +46 -0
  183. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/fsx-ontap-knowledge.md +46 -0
  184. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/fsx-openzfs-knowledge.md +44 -0
  185. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/fsx-windows-knowledge.md +43 -0
  186. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/s3-express-knowledge.md +35 -0
  187. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/s3-files-knowledge.md +43 -0
  188. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/s3-general-purpose-knowledge.md +39 -0
  189. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/s3-tables-knowledge.md +45 -0
  190. sparkforge_aws-0.5.0/.agents/skills/aws-storage/references/s3-vectors-knowledge.md +43 -0
  191. sparkforge_aws-0.5.0/.agents/skills/aws-storage/scripts/validate_evidence.py +11 -0
  192. sparkforge_aws-0.5.0/.agents/skills/benchmark-pyspark-job/SKILL.md +230 -0
  193. sparkforge_aws-0.5.0/.agents/skills/benchmark-pyspark-job/evals/evals.json +33 -0
  194. sparkforge_aws-0.5.0/.agents/skills/benchmark-pyspark-job/references/README.md +13 -0
  195. sparkforge_aws-0.5.0/.agents/skills/benchmark-pyspark-job/scripts/validate_evidence.py +11 -0
  196. sparkforge_aws-0.5.0/.agents/skills/compare-releases/SKILL.md +222 -0
  197. sparkforge_aws-0.5.0/.agents/skills/compare-releases/evals/evals.json +33 -0
  198. sparkforge_aws-0.5.0/.agents/skills/compare-releases/references/README.md +11 -0
  199. sparkforge_aws-0.5.0/.agents/skills/compare-releases/scripts/validate_evidence.py +11 -0
  200. sparkforge_aws-0.5.0/.agents/skills/design-data-architecture/SKILL.md +57 -0
  201. sparkforge_aws-0.5.0/.agents/skills/design-data-architecture/evals/evals.json +33 -0
  202. sparkforge_aws-0.5.0/.agents/skills/design-data-architecture/references/README.md +13 -0
  203. sparkforge_aws-0.5.0/.agents/skills/design-data-architecture/scripts/validate_evidence.py +11 -0
  204. sparkforge_aws-0.5.0/.agents/skills/design-incremental-processing/SKILL.md +167 -0
  205. sparkforge_aws-0.5.0/.agents/skills/design-incremental-processing/evals/evals.json +33 -0
  206. sparkforge_aws-0.5.0/.agents/skills/design-incremental-processing/references/README.md +13 -0
  207. sparkforge_aws-0.5.0/.agents/skills/design-incremental-processing/scripts/validate_evidence.py +11 -0
  208. sparkforge_aws-0.5.0/.agents/skills/design-realtime-data-architecture/SKILL.md +73 -0
  209. sparkforge_aws-0.5.0/.agents/skills/design-realtime-data-architecture/evals/evals.json +7 -0
  210. sparkforge_aws-0.5.0/.agents/skills/design-realtime-data-architecture/references/README.md +3 -0
  211. sparkforge_aws-0.5.0/.agents/skills/design-realtime-data-architecture/scripts/validate_evidence.py +5 -0
  212. sparkforge_aws-0.5.0/.agents/skills/design-s3-data-lake/SKILL.md +57 -0
  213. sparkforge_aws-0.5.0/.agents/skills/design-s3-data-lake/evals/evals.json +33 -0
  214. sparkforge_aws-0.5.0/.agents/skills/design-s3-data-lake/references/README.md +13 -0
  215. sparkforge_aws-0.5.0/.agents/skills/design-s3-data-lake/scripts/validate_evidence.py +11 -0
  216. sparkforge_aws-0.5.0/.agents/skills/diagnose-data-skew/SKILL.md +132 -0
  217. sparkforge_aws-0.5.0/.agents/skills/diagnose-data-skew/evals/evals.json +33 -0
  218. sparkforge_aws-0.5.0/.agents/skills/diagnose-data-skew/references/README.md +13 -0
  219. sparkforge_aws-0.5.0/.agents/skills/diagnose-data-skew/scripts/validate_evidence.py +11 -0
  220. sparkforge_aws-0.5.0/.agents/skills/diagnose-lakeformation-access/SKILL.md +259 -0
  221. sparkforge_aws-0.5.0/.agents/skills/diagnose-lakeformation-access/evals/evals.json +33 -0
  222. sparkforge_aws-0.5.0/.agents/skills/diagnose-lakeformation-access/references/README.md +13 -0
  223. sparkforge_aws-0.5.0/.agents/skills/diagnose-lakeformation-access/scripts/validate_evidence.py +11 -0
  224. sparkforge_aws-0.5.0/.agents/skills/diagnose-oom/SKILL.md +136 -0
  225. sparkforge_aws-0.5.0/.agents/skills/diagnose-oom/evals/evals.json +33 -0
  226. sparkforge_aws-0.5.0/.agents/skills/diagnose-oom/references/README.md +13 -0
  227. sparkforge_aws-0.5.0/.agents/skills/diagnose-oom/scripts/validate_evidence.py +11 -0
  228. sparkforge_aws-0.5.0/.agents/skills/glue-incremental-performance-architect/SKILL.md +155 -0
  229. sparkforge_aws-0.5.0/.agents/skills/glue-incremental-performance-architect/evals/evals.json +33 -0
  230. sparkforge_aws-0.5.0/.agents/skills/glue-incremental-performance-architect/references/README.md +11 -0
  231. sparkforge_aws-0.5.0/.agents/skills/glue-incremental-performance-architect/scripts/validate_evidence.py +11 -0
  232. sparkforge_aws-0.5.0/.agents/skills/harden-s3-bucket/SKILL.md +196 -0
  233. sparkforge_aws-0.5.0/.agents/skills/harden-s3-bucket/evals/evals.json +33 -0
  234. sparkforge_aws-0.5.0/.agents/skills/harden-s3-bucket/references/README.md +13 -0
  235. sparkforge_aws-0.5.0/.agents/skills/harden-s3-bucket/scripts/validate_evidence.py +11 -0
  236. sparkforge_aws-0.5.0/.agents/skills/iceberg-v3-readiness/SKILL.md +114 -0
  237. sparkforge_aws-0.5.0/.agents/skills/iceberg-v3-readiness/evals/evals.json +33 -0
  238. sparkforge_aws-0.5.0/.agents/skills/iceberg-v3-readiness/references/README.md +13 -0
  239. sparkforge_aws-0.5.0/.agents/skills/iceberg-v3-readiness/scripts/validate_evidence.py +11 -0
  240. sparkforge_aws-0.5.0/.agents/skills/lakeformation-architecture/SKILL.md +158 -0
  241. sparkforge_aws-0.5.0/.agents/skills/lakeformation-architecture/evals/evals.json +33 -0
  242. sparkforge_aws-0.5.0/.agents/skills/lakeformation-architecture/references/README.md +14 -0
  243. sparkforge_aws-0.5.0/.agents/skills/lakeformation-architecture/scripts/validate_evidence.py +11 -0
  244. sparkforge_aws-0.5.0/.agents/skills/lakeformation-fgac-guard/SKILL.md +243 -0
  245. sparkforge_aws-0.5.0/.agents/skills/lakeformation-fgac-guard/evals/evals.json +33 -0
  246. sparkforge_aws-0.5.0/.agents/skills/lakeformation-fgac-guard/references/README.md +13 -0
  247. sparkforge_aws-0.5.0/.agents/skills/lakeformation-fgac-guard/scripts/validate_evidence.py +11 -0
  248. sparkforge_aws-0.5.0/.agents/skills/migrate-glue-6/SKILL.md +103 -0
  249. sparkforge_aws-0.5.0/.agents/skills/migrate-glue-6/evals/evals.json +33 -0
  250. sparkforge_aws-0.5.0/.agents/skills/migrate-glue-6/references/README.md +11 -0
  251. sparkforge_aws-0.5.0/.agents/skills/migrate-glue-6/scripts/validate_evidence.py +11 -0
  252. sparkforge_aws-0.5.0/.agents/skills/optimize-iceberg-table/SKILL.md +166 -0
  253. sparkforge_aws-0.5.0/.agents/skills/optimize-iceberg-table/evals/evals.json +33 -0
  254. sparkforge_aws-0.5.0/.agents/skills/optimize-iceberg-table/references/README.md +13 -0
  255. sparkforge_aws-0.5.0/.agents/skills/optimize-iceberg-table/scripts/validate_evidence.py +11 -0
  256. sparkforge_aws-0.5.0/.agents/skills/optimize-latest-per-key/SKILL.md +143 -0
  257. sparkforge_aws-0.5.0/.agents/skills/optimize-latest-per-key/evals/evals.json +33 -0
  258. sparkforge_aws-0.5.0/.agents/skills/optimize-latest-per-key/references/README.md +11 -0
  259. sparkforge_aws-0.5.0/.agents/skills/optimize-latest-per-key/scripts/validate_evidence.py +11 -0
  260. sparkforge_aws-0.5.0/.agents/skills/optimize-parquet-layout/SKILL.md +196 -0
  261. sparkforge_aws-0.5.0/.agents/skills/optimize-parquet-layout/evals/evals.json +33 -0
  262. sparkforge_aws-0.5.0/.agents/skills/optimize-parquet-layout/references/README.md +13 -0
  263. sparkforge_aws-0.5.0/.agents/skills/optimize-parquet-layout/scripts/validate_evidence.py +11 -0
  264. sparkforge_aws-0.5.0/.agents/skills/optimize-pyspark-code/SKILL.md +191 -0
  265. sparkforge_aws-0.5.0/.agents/skills/optimize-pyspark-code/evals/evals.json +33 -0
  266. sparkforge_aws-0.5.0/.agents/skills/optimize-pyspark-code/references/README.md +13 -0
  267. sparkforge_aws-0.5.0/.agents/skills/optimize-pyspark-code/scripts/validate_evidence.py +11 -0
  268. sparkforge_aws-0.5.0/.agents/skills/optimize-variable-volume-job/SKILL.md +109 -0
  269. sparkforge_aws-0.5.0/.agents/skills/optimize-variable-volume-job/evals/evals.json +33 -0
  270. sparkforge_aws-0.5.0/.agents/skills/optimize-variable-volume-job/references/README.md +13 -0
  271. sparkforge_aws-0.5.0/.agents/skills/optimize-variable-volume-job/scripts/validate_evidence.py +11 -0
  272. sparkforge_aws-0.5.0/.agents/skills/propose-change-pr/SKILL.md +85 -0
  273. sparkforge_aws-0.5.0/.agents/skills/propose-change-pr/evals/evals.json +33 -0
  274. sparkforge_aws-0.5.0/.agents/skills/propose-change-pr/references/README.md +11 -0
  275. sparkforge_aws-0.5.0/.agents/skills/propose-change-pr/scripts/validate_evidence.py +11 -0
  276. sparkforge_aws-0.5.0/.agents/skills/provision-s3-tables-table/SKILL.md +244 -0
  277. sparkforge_aws-0.5.0/.agents/skills/provision-s3-tables-table/evals/evals.json +33 -0
  278. sparkforge_aws-0.5.0/.agents/skills/provision-s3-tables-table/references/README.md +13 -0
  279. sparkforge_aws-0.5.0/.agents/skills/provision-s3-tables-table/scripts/validate_evidence.py +11 -0
  280. sparkforge_aws-0.5.0/.agents/skills/review-cdc-replication/SKILL.md +112 -0
  281. sparkforge_aws-0.5.0/.agents/skills/review-cdc-replication/evals/evals.json +7 -0
  282. sparkforge_aws-0.5.0/.agents/skills/review-cdc-replication/references/README.md +4 -0
  283. sparkforge_aws-0.5.0/.agents/skills/review-cdc-replication/scripts/validate_evidence.py +5 -0
  284. sparkforge_aws-0.5.0/.agents/skills/review-data-validation/SKILL.md +288 -0
  285. sparkforge_aws-0.5.0/.agents/skills/review-data-validation/evals/evals.json +33 -0
  286. sparkforge_aws-0.5.0/.agents/skills/review-data-validation/references/README.md +13 -0
  287. sparkforge_aws-0.5.0/.agents/skills/review-data-validation/scripts/validate_evidence.py +11 -0
  288. sparkforge_aws-0.5.0/.agents/skills/review-emr-cluster/SKILL.md +300 -0
  289. sparkforge_aws-0.5.0/.agents/skills/review-emr-cluster/evals/evals.json +33 -0
  290. sparkforge_aws-0.5.0/.agents/skills/review-emr-cluster/references/README.md +13 -0
  291. sparkforge_aws-0.5.0/.agents/skills/review-emr-cluster/scripts/validate_evidence.py +11 -0
  292. sparkforge_aws-0.5.0/.agents/skills/review-emr-eks/SKILL.md +417 -0
  293. sparkforge_aws-0.5.0/.agents/skills/review-emr-eks/evals/evals.json +33 -0
  294. sparkforge_aws-0.5.0/.agents/skills/review-emr-eks/references/README.md +13 -0
  295. sparkforge_aws-0.5.0/.agents/skills/review-emr-eks/scripts/validate_evidence.py +11 -0
  296. sparkforge_aws-0.5.0/.agents/skills/review-event-driven-architecture/SKILL.md +93 -0
  297. sparkforge_aws-0.5.0/.agents/skills/review-event-driven-architecture/evals/evals.json +7 -0
  298. sparkforge_aws-0.5.0/.agents/skills/review-event-driven-architecture/references/README.md +4 -0
  299. sparkforge_aws-0.5.0/.agents/skills/review-event-driven-architecture/scripts/validate_evidence.py +5 -0
  300. sparkforge_aws-0.5.0/.agents/skills/review-glue-streaming/SKILL.md +105 -0
  301. sparkforge_aws-0.5.0/.agents/skills/review-glue-streaming/evals/evals.json +7 -0
  302. sparkforge_aws-0.5.0/.agents/skills/review-glue-streaming/references/README.md +4 -0
  303. sparkforge_aws-0.5.0/.agents/skills/review-glue-streaming/scripts/validate_evidence.py +5 -0
  304. sparkforge_aws-0.5.0/.agents/skills/review-glue-terraform/SKILL.md +176 -0
  305. sparkforge_aws-0.5.0/.agents/skills/review-glue-terraform/evals/evals.json +33 -0
  306. sparkforge_aws-0.5.0/.agents/skills/review-glue-terraform/references/README.md +13 -0
  307. sparkforge_aws-0.5.0/.agents/skills/review-glue-terraform/scripts/validate_evidence.py +11 -0
  308. sparkforge_aws-0.5.0/.agents/skills/review-pyspark-pr/SKILL.md +157 -0
  309. sparkforge_aws-0.5.0/.agents/skills/review-pyspark-pr/evals/evals.json +33 -0
  310. sparkforge_aws-0.5.0/.agents/skills/review-pyspark-pr/references/README.md +13 -0
  311. sparkforge_aws-0.5.0/.agents/skills/review-pyspark-pr/scripts/validate_evidence.py +11 -0
  312. sparkforge_aws-0.5.0/.agents/skills/review-streaming-operations/SKILL.md +123 -0
  313. sparkforge_aws-0.5.0/.agents/skills/review-streaming-operations/evals/evals.json +7 -0
  314. sparkforge_aws-0.5.0/.agents/skills/review-streaming-operations/references/README.md +5 -0
  315. sparkforge_aws-0.5.0/.agents/skills/review-streaming-operations/scripts/validate_evidence.py +5 -0
  316. sparkforge_aws-0.5.0/.agents/skills/review-structured-streaming/SKILL.md +123 -0
  317. sparkforge_aws-0.5.0/.agents/skills/review-structured-streaming/evals/evals.json +17 -0
  318. sparkforge_aws-0.5.0/.agents/skills/review-structured-streaming/references/README.md +6 -0
  319. sparkforge_aws-0.5.0/.agents/skills/review-structured-streaming/scripts/validate_evidence.py +5 -0
  320. sparkforge_aws-0.5.0/.agents/skills/review-terraform-data-platform/SKILL.md +57 -0
  321. sparkforge_aws-0.5.0/.agents/skills/review-terraform-data-platform/evals/evals.json +33 -0
  322. sparkforge_aws-0.5.0/.agents/skills/review-terraform-data-platform/references/README.md +13 -0
  323. sparkforge_aws-0.5.0/.agents/skills/review-terraform-data-platform/scripts/validate_evidence.py +11 -0
  324. sparkforge_aws-0.5.0/.agents/skills/run-debate/SKILL.md +90 -0
  325. sparkforge_aws-0.5.0/.agents/skills/run-debate/evals/evals.json +33 -0
  326. sparkforge_aws-0.5.0/.agents/skills/run-debate/references/README.md +11 -0
  327. sparkforge_aws-0.5.0/.agents/skills/run-debate/scripts/validate_evidence.py +11 -0
  328. sparkforge_aws-0.5.0/.agents/skills/sdd-build/SKILL.md +265 -0
  329. sparkforge_aws-0.5.0/.agents/skills/sdd-build/evals/evals.json +33 -0
  330. sparkforge_aws-0.5.0/.agents/skills/sdd-build/references/README.md +13 -0
  331. sparkforge_aws-0.5.0/.agents/skills/sdd-build/scripts/validate_evidence.py +11 -0
  332. sparkforge_aws-0.5.0/.agents/skills/sdd-define/SKILL.md +172 -0
  333. sparkforge_aws-0.5.0/.agents/skills/sdd-define/evals/evals.json +33 -0
  334. sparkforge_aws-0.5.0/.agents/skills/sdd-define/references/README.md +13 -0
  335. sparkforge_aws-0.5.0/.agents/skills/sdd-define/scripts/validate_evidence.py +11 -0
  336. sparkforge_aws-0.5.0/.agents/skills/sdd-design/SKILL.md +144 -0
  337. sparkforge_aws-0.5.0/.agents/skills/sdd-design/evals/evals.json +33 -0
  338. sparkforge_aws-0.5.0/.agents/skills/sdd-design/references/README.md +13 -0
  339. sparkforge_aws-0.5.0/.agents/skills/sdd-design/scripts/validate_evidence.py +11 -0
  340. sparkforge_aws-0.5.0/.agents/skills/sdd-explore/SKILL.md +141 -0
  341. sparkforge_aws-0.5.0/.agents/skills/sdd-explore/evals/evals.json +33 -0
  342. sparkforge_aws-0.5.0/.agents/skills/sdd-explore/references/README.md +13 -0
  343. sparkforge_aws-0.5.0/.agents/skills/sdd-explore/scripts/validate_evidence.py +11 -0
  344. sparkforge_aws-0.5.0/.agents/skills/sdd-plan/SKILL.md +165 -0
  345. sparkforge_aws-0.5.0/.agents/skills/sdd-plan/evals/evals.json +33 -0
  346. sparkforge_aws-0.5.0/.agents/skills/sdd-plan/references/README.md +13 -0
  347. sparkforge_aws-0.5.0/.agents/skills/sdd-plan/scripts/validate_evidence.py +11 -0
  348. sparkforge_aws-0.5.0/.agents/skills/sdd-ship/SKILL.md +209 -0
  349. sparkforge_aws-0.5.0/.agents/skills/sdd-ship/evals/evals.json +33 -0
  350. sparkforge_aws-0.5.0/.agents/skills/sdd-ship/references/README.md +13 -0
  351. sparkforge_aws-0.5.0/.agents/skills/sdd-ship/scripts/validate_evidence.py +11 -0
  352. sparkforge_aws-0.5.0/.agents/skills/spark4-compatibility/SKILL.md +101 -0
  353. sparkforge_aws-0.5.0/.agents/skills/spark4-compatibility/evals/evals.json +33 -0
  354. sparkforge_aws-0.5.0/.agents/skills/spark4-compatibility/references/README.md +13 -0
  355. sparkforge_aws-0.5.0/.agents/skills/spark4-compatibility/scripts/validate_evidence.py +11 -0
  356. sparkforge_aws-0.5.0/.agents/skills/sparkforge-aws-diagnose/SKILL.md +206 -0
  357. sparkforge_aws-0.5.0/.agents/skills/sparkforge-aws-diagnose/evals/evals.json +33 -0
  358. sparkforge_aws-0.5.0/.agents/skills/sparkforge-aws-diagnose/references/README.md +13 -0
  359. sparkforge_aws-0.5.0/.agents/skills/sparkforge-aws-diagnose/scripts/validate_evidence.py +11 -0
  360. sparkforge_aws-0.5.0/.agents/skills/tool-specialist-routing/SKILL.md +52 -0
  361. sparkforge_aws-0.5.0/.agents/skills/tool-specialist-routing/evals/evals.json +33 -0
  362. sparkforge_aws-0.5.0/.agents/skills/tool-specialist-routing/references/README.md +11 -0
  363. sparkforge_aws-0.5.0/.agents/skills/tool-specialist-routing/scripts/validate_evidence.py +11 -0
  364. sparkforge_aws-0.5.0/.agents/skills/tune-glue-job/SKILL.md +116 -0
  365. sparkforge_aws-0.5.0/.agents/skills/tune-glue-job/evals/evals.json +33 -0
  366. sparkforge_aws-0.5.0/.agents/skills/tune-glue-job/references/README.md +11 -0
  367. sparkforge_aws-0.5.0/.agents/skills/tune-glue-job/scripts/validate_evidence.py +11 -0
  368. sparkforge_aws-0.5.0/.caveman/README.md +38 -0
  369. sparkforge_aws-0.5.0/.claude/agents/athena-query-optimizer.md +84 -0
  370. sparkforge_aws-0.5.0/.claude/agents/cdc-contract-reviewer.md +50 -0
  371. sparkforge_aws-0.5.0/.claude/agents/data-quality-reviewer.md +185 -0
  372. sparkforge_aws-0.5.0/.claude/agents/emr-infra-reviewer.md +232 -0
  373. sparkforge_aws-0.5.0/.claude/agents/executors/sf-extractor.md +113 -0
  374. sparkforge_aws-0.5.0/.claude/agents/executors/sf-inventory.md +74 -0
  375. sparkforge_aws-0.5.0/.claude/agents/executors/sf-judge.md +45 -0
  376. sparkforge_aws-0.5.0/.claude/agents/executors/sf-synthesizer.md +137 -0
  377. sparkforge_aws-0.5.0/.claude/agents/executors/sf-verifier.md +107 -0
  378. sparkforge_aws-0.5.0/.claude/agents/glue-incremental-performance-architect.md +121 -0
  379. sparkforge_aws-0.5.0/.claude/agents/glue-infra-reviewer.md +154 -0
  380. sparkforge_aws-0.5.0/.claude/agents/iceberg-performance-engineer.md +90 -0
  381. sparkforge_aws-0.5.0/.claude/agents/pyspark-code-reviewer.md +229 -0
  382. sparkforge_aws-0.5.0/.claude/agents/sf-lake-formation-specialist.md +167 -0
  383. sparkforge_aws-0.5.0/.claude/agents/sf-runtime-specialist.md +166 -0
  384. sparkforge_aws-0.5.0/.claude/agents/sf-security-reviewer.md +29 -0
  385. sparkforge_aws-0.5.0/.claude/agents/sf-terraform-specialist.md +27 -0
  386. sparkforge_aws-0.5.0/.claude/agents/spark-performance-architect.md +350 -0
  387. sparkforge_aws-0.5.0/.claude/agents/streaming-realtime-architect.md +114 -0
  388. sparkforge_aws-0.5.0/.claude/skills/_shared/references/evaluation-contract.md +17 -0
  389. sparkforge_aws-0.5.0/.claude/skills/_shared/references/evidence-first.md +49 -0
  390. sparkforge_aws-0.5.0/.claude/skills/_shared/references/operational-safety.md +21 -0
  391. sparkforge_aws-0.5.0/.claude/skills/_shared/scripts/validate_skill_context.py +74 -0
  392. sparkforge_aws-0.5.0/.claude/skills/analyze-batch-loop/SKILL.md +140 -0
  393. sparkforge_aws-0.5.0/.claude/skills/analyze-batch-loop/evals/evals.json +33 -0
  394. sparkforge_aws-0.5.0/.claude/skills/analyze-batch-loop/references/README.md +13 -0
  395. sparkforge_aws-0.5.0/.claude/skills/analyze-batch-loop/scripts/validate_evidence.py +11 -0
  396. sparkforge_aws-0.5.0/.claude/skills/analyze-flink-job/SKILL.md +128 -0
  397. sparkforge_aws-0.5.0/.claude/skills/analyze-flink-job/evals/evals.json +7 -0
  398. sparkforge_aws-0.5.0/.claude/skills/analyze-flink-job/references/README.md +5 -0
  399. sparkforge_aws-0.5.0/.claude/skills/analyze-flink-job/scripts/validate_evidence.py +9 -0
  400. sparkforge_aws-0.5.0/.claude/skills/analyze-functional-rules/SKILL.md +87 -0
  401. sparkforge_aws-0.5.0/.claude/skills/analyze-functional-rules/evals/evals.json +33 -0
  402. sparkforge_aws-0.5.0/.claude/skills/analyze-functional-rules/references/README.md +13 -0
  403. sparkforge_aws-0.5.0/.claude/skills/analyze-functional-rules/scripts/validate_evidence.py +11 -0
  404. sparkforge_aws-0.5.0/.claude/skills/analyze-library-call-graph/SKILL.md +143 -0
  405. sparkforge_aws-0.5.0/.claude/skills/analyze-library-call-graph/evals/evals.json +33 -0
  406. sparkforge_aws-0.5.0/.claude/skills/analyze-library-call-graph/references/README.md +13 -0
  407. sparkforge_aws-0.5.0/.claude/skills/analyze-library-call-graph/scripts/validate_evidence.py +11 -0
  408. sparkforge_aws-0.5.0/.claude/skills/analyze-spark-plan/SKILL.md +123 -0
  409. sparkforge_aws-0.5.0/.claude/skills/analyze-spark-plan/evals/evals.json +33 -0
  410. sparkforge_aws-0.5.0/.claude/skills/analyze-spark-plan/references/README.md +13 -0
  411. sparkforge_aws-0.5.0/.claude/skills/analyze-spark-plan/scripts/validate_evidence.py +11 -0
  412. sparkforge_aws-0.5.0/.claude/skills/analyze-spark-ui/SKILL.md +146 -0
  413. sparkforge_aws-0.5.0/.claude/skills/analyze-spark-ui/evals/evals.json +33 -0
  414. sparkforge_aws-0.5.0/.claude/skills/analyze-spark-ui/references/README.md +13 -0
  415. sparkforge_aws-0.5.0/.claude/skills/analyze-spark-ui/scripts/validate_evidence.py +11 -0
  416. sparkforge_aws-0.5.0/.claude/skills/analyze-streaming-composition/SKILL.md +198 -0
  417. sparkforge_aws-0.5.0/.claude/skills/analyze-streaming-composition/evals/evals.json +7 -0
  418. sparkforge_aws-0.5.0/.claude/skills/analyze-streaming-composition/references/README.md +4 -0
  419. sparkforge_aws-0.5.0/.claude/skills/analyze-streaming-composition/scripts/validate_evidence.py +5 -0
  420. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/SKILL.md +293 -0
  421. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/evals/evals.json +33 -0
  422. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/README.md +13 -0
  423. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/budgets.md +50 -0
  424. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/cost-audit.md +75 -0
  425. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/cost-explorer.md +130 -0
  426. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/cost-optimization-hub.md +140 -0
  427. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/cur-athena.md +103 -0
  428. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/deterministic-calculations.md +62 -0
  429. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/ebs-optimization.md +49 -0
  430. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/ec2-rightsizing.md +86 -0
  431. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/free-tier.md +34 -0
  432. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/lambda-optimization.md +46 -0
  433. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/pricing-lookup.md +78 -0
  434. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/rds-optimization.md +39 -0
  435. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/reserved-instances.md +62 -0
  436. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/savings-plans.md +69 -0
  437. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/references/service-optimization.md +58 -0
  438. sparkforge_aws-0.5.0/.claude/skills/aws-billing-and-cost-management/scripts/validate_evidence.py +11 -0
  439. sparkforge_aws-0.5.0/.claude/skills/aws-database/SKILL.md +189 -0
  440. sparkforge_aws-0.5.0/.claude/skills/aws-database/evals/evals.json +33 -0
  441. sparkforge_aws-0.5.0/.claude/skills/aws-database/references/README.md +13 -0
  442. sparkforge_aws-0.5.0/.claude/skills/aws-database/references/handoff.md +74 -0
  443. sparkforge_aws-0.5.0/.claude/skills/aws-database/references/report-issue.md +59 -0
  444. sparkforge_aws-0.5.0/.claude/skills/aws-database/references/select.md +243 -0
  445. sparkforge_aws-0.5.0/.claude/skills/aws-database/scripts/validate_evidence.py +11 -0
  446. sparkforge_aws-0.5.0/.claude/skills/aws-iam/SKILL.md +248 -0
  447. sparkforge_aws-0.5.0/.claude/skills/aws-iam/evals/evals.json +33 -0
  448. sparkforge_aws-0.5.0/.claude/skills/aws-iam/references/README.md +13 -0
  449. sparkforge_aws-0.5.0/.claude/skills/aws-iam/references/aws-iam-policy-generation.md +504 -0
  450. sparkforge_aws-0.5.0/.claude/skills/aws-iam/references/aws-iam-role-management.md +108 -0
  451. sparkforge_aws-0.5.0/.claude/skills/aws-iam/references/common-pitfalls.md +127 -0
  452. sparkforge_aws-0.5.0/.claude/skills/aws-iam/references/service-authorization.md +84 -0
  453. sparkforge_aws-0.5.0/.claude/skills/aws-iam/scripts/validate_evidence.py +11 -0
  454. sparkforge_aws-0.5.0/.claude/skills/aws-messaging-and-streaming/SKILL.md +314 -0
  455. sparkforge_aws-0.5.0/.claude/skills/aws-messaging-and-streaming/evals/evals.json +33 -0
  456. sparkforge_aws-0.5.0/.claude/skills/aws-messaging-and-streaming/references/README.md +13 -0
  457. sparkforge_aws-0.5.0/.claude/skills/aws-messaging-and-streaming/scripts/validate_evidence.py +11 -0
  458. sparkforge_aws-0.5.0/.claude/skills/aws-observability/SKILL.md +158 -0
  459. sparkforge_aws-0.5.0/.claude/skills/aws-observability/evals/evals.json +33 -0
  460. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/README.md +13 -0
  461. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/alarms.md +263 -0
  462. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/application-signals-cicd-metadata.md +132 -0
  463. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/application-signals-onboarding.md +223 -0
  464. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/ec2-dotnet.md +318 -0
  465. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/ec2-java.md +246 -0
  466. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/ec2-nodejs.md +449 -0
  467. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/ec2-python.md +627 -0
  468. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/ecs-dotnet.md +250 -0
  469. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/ecs-java.md +180 -0
  470. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/ecs-nodejs.md +193 -0
  471. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/ecs-python.md +238 -0
  472. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/eks-dotnet.md +137 -0
  473. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/eks-java.md +137 -0
  474. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/eks-nodejs.md +137 -0
  475. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/eks-python.md +162 -0
  476. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/lambda-dotnet.md +86 -0
  477. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/lambda-java.md +104 -0
  478. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/lambda-nodejs.md +162 -0
  479. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/appsignals-guides/lambda-python.md +185 -0
  480. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/cloudtrail.md +117 -0
  481. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/dashboards.md +157 -0
  482. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/dynamic-instrumentation/breakpoint-creation.md +359 -0
  483. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/dynamic-instrumentation/call-tree-and-directions.md +166 -0
  484. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/dynamic-instrumentation/snapshot-parsing.md +82 -0
  485. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/dynamic-instrumentation.md +562 -0
  486. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/log-insights.md +254 -0
  487. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/metrics.md +192 -0
  488. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/synthetics.md +136 -0
  489. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/tracing.md +253 -0
  490. sparkforge_aws-0.5.0/.claude/skills/aws-observability/references/troubleshooting.md +122 -0
  491. sparkforge_aws-0.5.0/.claude/skills/aws-observability/scripts/validate_evidence.py +11 -0
  492. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/SKILL.md +365 -0
  493. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/evals/evals.json +33 -0
  494. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/references/README.md +13 -0
  495. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/references/configuration.md +151 -0
  496. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/references/credentials.md +127 -0
  497. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/references/dynamodb.md +295 -0
  498. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/references/error-handling.md +139 -0
  499. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/references/pagination.md +104 -0
  500. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/references/s3.md +223 -0
  501. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/references/waiters.md +121 -0
  502. sparkforge_aws-0.5.0/.claude/skills/aws-sdk-python-usage/scripts/validate_evidence.py +11 -0
  503. sparkforge_aws-0.5.0/.claude/skills/aws-security/SKILL.md +245 -0
  504. sparkforge_aws-0.5.0/.claude/skills/aws-security/evals/evals.json +33 -0
  505. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/README.md +13 -0
  506. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/detective-configuration.md +127 -0
  507. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/detective-investigations.md +97 -0
  508. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/detective.md +68 -0
  509. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/guardduty-configuration.md +152 -0
  510. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/guardduty-findings.md +128 -0
  511. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/guardduty.md +80 -0
  512. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/inspector-configuration.md +132 -0
  513. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/inspector-findings.md +115 -0
  514. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/inspector.md +77 -0
  515. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/macie-configuration.md +158 -0
  516. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/macie-findings.md +124 -0
  517. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/macie.md +72 -0
  518. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/organization-policies.md +58 -0
  519. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/security-hub-configuration.md +159 -0
  520. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/security-hub-cspm-configuration.md +137 -0
  521. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/security-hub-cspm-findings.md +117 -0
  522. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/security-hub-cspm.md +108 -0
  523. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/security-hub-findings.md +147 -0
  524. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/security-hub.md +91 -0
  525. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/security-lake-configuration.md +132 -0
  526. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/security-lake-sources.md +117 -0
  527. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/security-lake.md +53 -0
  528. sparkforge_aws-0.5.0/.claude/skills/aws-security/references/services-overview.md +110 -0
  529. sparkforge_aws-0.5.0/.claude/skills/aws-security/scripts/validate_evidence.py +11 -0
  530. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/SKILL.md +180 -0
  531. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/assets/powertools-handler.py +66 -0
  532. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/evals/evals.json +33 -0
  533. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/README.md +13 -0
  534. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/api-gateway.md +133 -0
  535. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/architecture.md +123 -0
  536. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/concurrency.md +86 -0
  537. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/deployment.md +94 -0
  538. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/event-sources.md +165 -0
  539. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/lambda.md +189 -0
  540. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/orchestration.md +130 -0
  541. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/production.md +156 -0
  542. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/references/troubleshooting.md +184 -0
  543. sparkforge_aws-0.5.0/.claude/skills/aws-serverless/scripts/validate_evidence.py +11 -0
  544. sparkforge_aws-0.5.0/.claude/skills/aws-storage/SKILL.md +299 -0
  545. sparkforge_aws-0.5.0/.claude/skills/aws-storage/evals/evals.json +33 -0
  546. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/README.md +13 -0
  547. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/data-movement-and-protection-knowledge.md +56 -0
  548. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/ebs-knowledge.md +45 -0
  549. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/efs-knowledge.md +34 -0
  550. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/fsx-lustre-knowledge.md +46 -0
  551. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/fsx-ontap-knowledge.md +46 -0
  552. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/fsx-openzfs-knowledge.md +44 -0
  553. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/fsx-windows-knowledge.md +43 -0
  554. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/s3-express-knowledge.md +35 -0
  555. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/s3-files-knowledge.md +43 -0
  556. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/s3-general-purpose-knowledge.md +39 -0
  557. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/s3-tables-knowledge.md +45 -0
  558. sparkforge_aws-0.5.0/.claude/skills/aws-storage/references/s3-vectors-knowledge.md +43 -0
  559. sparkforge_aws-0.5.0/.claude/skills/aws-storage/scripts/validate_evidence.py +11 -0
  560. sparkforge_aws-0.5.0/.claude/skills/benchmark-pyspark-job/SKILL.md +230 -0
  561. sparkforge_aws-0.5.0/.claude/skills/benchmark-pyspark-job/evals/evals.json +33 -0
  562. sparkforge_aws-0.5.0/.claude/skills/benchmark-pyspark-job/references/README.md +13 -0
  563. sparkforge_aws-0.5.0/.claude/skills/benchmark-pyspark-job/scripts/validate_evidence.py +11 -0
  564. sparkforge_aws-0.5.0/.claude/skills/compare-releases/SKILL.md +220 -0
  565. sparkforge_aws-0.5.0/.claude/skills/compare-releases/evals/evals.json +33 -0
  566. sparkforge_aws-0.5.0/.claude/skills/compare-releases/references/README.md +11 -0
  567. sparkforge_aws-0.5.0/.claude/skills/compare-releases/scripts/validate_evidence.py +11 -0
  568. sparkforge_aws-0.5.0/.claude/skills/design-data-architecture/SKILL.md +57 -0
  569. sparkforge_aws-0.5.0/.claude/skills/design-data-architecture/evals/evals.json +33 -0
  570. sparkforge_aws-0.5.0/.claude/skills/design-data-architecture/references/README.md +13 -0
  571. sparkforge_aws-0.5.0/.claude/skills/design-data-architecture/scripts/validate_evidence.py +11 -0
  572. sparkforge_aws-0.5.0/.claude/skills/design-incremental-processing/SKILL.md +167 -0
  573. sparkforge_aws-0.5.0/.claude/skills/design-incremental-processing/evals/evals.json +33 -0
  574. sparkforge_aws-0.5.0/.claude/skills/design-incremental-processing/references/README.md +13 -0
  575. sparkforge_aws-0.5.0/.claude/skills/design-incremental-processing/scripts/validate_evidence.py +11 -0
  576. sparkforge_aws-0.5.0/.claude/skills/design-realtime-data-architecture/SKILL.md +72 -0
  577. sparkforge_aws-0.5.0/.claude/skills/design-realtime-data-architecture/evals/evals.json +7 -0
  578. sparkforge_aws-0.5.0/.claude/skills/design-realtime-data-architecture/references/README.md +3 -0
  579. sparkforge_aws-0.5.0/.claude/skills/design-realtime-data-architecture/scripts/validate_evidence.py +5 -0
  580. sparkforge_aws-0.5.0/.claude/skills/design-s3-data-lake/SKILL.md +57 -0
  581. sparkforge_aws-0.5.0/.claude/skills/design-s3-data-lake/evals/evals.json +33 -0
  582. sparkforge_aws-0.5.0/.claude/skills/design-s3-data-lake/references/README.md +13 -0
  583. sparkforge_aws-0.5.0/.claude/skills/design-s3-data-lake/scripts/validate_evidence.py +11 -0
  584. sparkforge_aws-0.5.0/.claude/skills/diagnose-data-skew/SKILL.md +131 -0
  585. sparkforge_aws-0.5.0/.claude/skills/diagnose-data-skew/evals/evals.json +33 -0
  586. sparkforge_aws-0.5.0/.claude/skills/diagnose-data-skew/references/README.md +13 -0
  587. sparkforge_aws-0.5.0/.claude/skills/diagnose-data-skew/scripts/validate_evidence.py +11 -0
  588. sparkforge_aws-0.5.0/.claude/skills/diagnose-lakeformation-access/SKILL.md +259 -0
  589. sparkforge_aws-0.5.0/.claude/skills/diagnose-lakeformation-access/evals/evals.json +33 -0
  590. sparkforge_aws-0.5.0/.claude/skills/diagnose-lakeformation-access/references/README.md +13 -0
  591. sparkforge_aws-0.5.0/.claude/skills/diagnose-lakeformation-access/scripts/validate_evidence.py +11 -0
  592. sparkforge_aws-0.5.0/.claude/skills/diagnose-oom/SKILL.md +135 -0
  593. sparkforge_aws-0.5.0/.claude/skills/diagnose-oom/evals/evals.json +33 -0
  594. sparkforge_aws-0.5.0/.claude/skills/diagnose-oom/references/README.md +13 -0
  595. sparkforge_aws-0.5.0/.claude/skills/diagnose-oom/scripts/validate_evidence.py +11 -0
  596. sparkforge_aws-0.5.0/.claude/skills/glue-incremental-performance-architect/SKILL.md +155 -0
  597. sparkforge_aws-0.5.0/.claude/skills/glue-incremental-performance-architect/evals/evals.json +33 -0
  598. sparkforge_aws-0.5.0/.claude/skills/glue-incremental-performance-architect/references/README.md +11 -0
  599. sparkforge_aws-0.5.0/.claude/skills/glue-incremental-performance-architect/scripts/validate_evidence.py +11 -0
  600. sparkforge_aws-0.5.0/.claude/skills/harden-s3-bucket/SKILL.md +196 -0
  601. sparkforge_aws-0.5.0/.claude/skills/harden-s3-bucket/evals/evals.json +33 -0
  602. sparkforge_aws-0.5.0/.claude/skills/harden-s3-bucket/references/README.md +13 -0
  603. sparkforge_aws-0.5.0/.claude/skills/harden-s3-bucket/scripts/validate_evidence.py +11 -0
  604. sparkforge_aws-0.5.0/.claude/skills/iceberg-v3-readiness/SKILL.md +114 -0
  605. sparkforge_aws-0.5.0/.claude/skills/iceberg-v3-readiness/evals/evals.json +33 -0
  606. sparkforge_aws-0.5.0/.claude/skills/iceberg-v3-readiness/references/README.md +13 -0
  607. sparkforge_aws-0.5.0/.claude/skills/iceberg-v3-readiness/scripts/validate_evidence.py +11 -0
  608. sparkforge_aws-0.5.0/.claude/skills/lakeformation-architecture/SKILL.md +157 -0
  609. sparkforge_aws-0.5.0/.claude/skills/lakeformation-architecture/evals/evals.json +33 -0
  610. sparkforge_aws-0.5.0/.claude/skills/lakeformation-architecture/references/README.md +14 -0
  611. sparkforge_aws-0.5.0/.claude/skills/lakeformation-architecture/scripts/validate_evidence.py +11 -0
  612. sparkforge_aws-0.5.0/.claude/skills/lakeformation-fgac-guard/SKILL.md +241 -0
  613. sparkforge_aws-0.5.0/.claude/skills/lakeformation-fgac-guard/evals/evals.json +33 -0
  614. sparkforge_aws-0.5.0/.claude/skills/lakeformation-fgac-guard/references/README.md +13 -0
  615. sparkforge_aws-0.5.0/.claude/skills/lakeformation-fgac-guard/scripts/validate_evidence.py +11 -0
  616. sparkforge_aws-0.5.0/.claude/skills/migrate-glue-6/SKILL.md +101 -0
  617. sparkforge_aws-0.5.0/.claude/skills/migrate-glue-6/evals/evals.json +33 -0
  618. sparkforge_aws-0.5.0/.claude/skills/migrate-glue-6/references/README.md +11 -0
  619. sparkforge_aws-0.5.0/.claude/skills/migrate-glue-6/scripts/validate_evidence.py +11 -0
  620. sparkforge_aws-0.5.0/.claude/skills/optimize-iceberg-table/SKILL.md +166 -0
  621. sparkforge_aws-0.5.0/.claude/skills/optimize-iceberg-table/evals/evals.json +33 -0
  622. sparkforge_aws-0.5.0/.claude/skills/optimize-iceberg-table/references/README.md +13 -0
  623. sparkforge_aws-0.5.0/.claude/skills/optimize-iceberg-table/scripts/validate_evidence.py +11 -0
  624. sparkforge_aws-0.5.0/.claude/skills/optimize-latest-per-key/SKILL.md +143 -0
  625. sparkforge_aws-0.5.0/.claude/skills/optimize-latest-per-key/evals/evals.json +33 -0
  626. sparkforge_aws-0.5.0/.claude/skills/optimize-latest-per-key/references/README.md +11 -0
  627. sparkforge_aws-0.5.0/.claude/skills/optimize-latest-per-key/scripts/validate_evidence.py +11 -0
  628. sparkforge_aws-0.5.0/.claude/skills/optimize-parquet-layout/SKILL.md +195 -0
  629. sparkforge_aws-0.5.0/.claude/skills/optimize-parquet-layout/evals/evals.json +33 -0
  630. sparkforge_aws-0.5.0/.claude/skills/optimize-parquet-layout/references/README.md +13 -0
  631. sparkforge_aws-0.5.0/.claude/skills/optimize-parquet-layout/scripts/validate_evidence.py +11 -0
  632. sparkforge_aws-0.5.0/.claude/skills/optimize-pyspark-code/SKILL.md +190 -0
  633. sparkforge_aws-0.5.0/.claude/skills/optimize-pyspark-code/evals/evals.json +33 -0
  634. sparkforge_aws-0.5.0/.claude/skills/optimize-pyspark-code/references/README.md +13 -0
  635. sparkforge_aws-0.5.0/.claude/skills/optimize-pyspark-code/scripts/validate_evidence.py +11 -0
  636. sparkforge_aws-0.5.0/.claude/skills/optimize-variable-volume-job/SKILL.md +109 -0
  637. sparkforge_aws-0.5.0/.claude/skills/optimize-variable-volume-job/evals/evals.json +33 -0
  638. sparkforge_aws-0.5.0/.claude/skills/optimize-variable-volume-job/references/README.md +13 -0
  639. sparkforge_aws-0.5.0/.claude/skills/optimize-variable-volume-job/scripts/validate_evidence.py +11 -0
  640. sparkforge_aws-0.5.0/.claude/skills/propose-change-pr/SKILL.md +85 -0
  641. sparkforge_aws-0.5.0/.claude/skills/propose-change-pr/evals/evals.json +33 -0
  642. sparkforge_aws-0.5.0/.claude/skills/propose-change-pr/references/README.md +11 -0
  643. sparkforge_aws-0.5.0/.claude/skills/propose-change-pr/scripts/validate_evidence.py +11 -0
  644. sparkforge_aws-0.5.0/.claude/skills/provision-s3-tables-table/SKILL.md +244 -0
  645. sparkforge_aws-0.5.0/.claude/skills/provision-s3-tables-table/evals/evals.json +33 -0
  646. sparkforge_aws-0.5.0/.claude/skills/provision-s3-tables-table/references/README.md +13 -0
  647. sparkforge_aws-0.5.0/.claude/skills/provision-s3-tables-table/scripts/validate_evidence.py +11 -0
  648. sparkforge_aws-0.5.0/.claude/skills/review-cdc-replication/SKILL.md +111 -0
  649. sparkforge_aws-0.5.0/.claude/skills/review-cdc-replication/evals/evals.json +7 -0
  650. sparkforge_aws-0.5.0/.claude/skills/review-cdc-replication/references/README.md +4 -0
  651. sparkforge_aws-0.5.0/.claude/skills/review-cdc-replication/scripts/validate_evidence.py +5 -0
  652. sparkforge_aws-0.5.0/.claude/skills/review-data-validation/SKILL.md +286 -0
  653. sparkforge_aws-0.5.0/.claude/skills/review-data-validation/evals/evals.json +33 -0
  654. sparkforge_aws-0.5.0/.claude/skills/review-data-validation/references/README.md +13 -0
  655. sparkforge_aws-0.5.0/.claude/skills/review-data-validation/scripts/validate_evidence.py +11 -0
  656. sparkforge_aws-0.5.0/.claude/skills/review-emr-cluster/SKILL.md +298 -0
  657. sparkforge_aws-0.5.0/.claude/skills/review-emr-cluster/evals/evals.json +33 -0
  658. sparkforge_aws-0.5.0/.claude/skills/review-emr-cluster/references/README.md +13 -0
  659. sparkforge_aws-0.5.0/.claude/skills/review-emr-cluster/scripts/validate_evidence.py +11 -0
  660. sparkforge_aws-0.5.0/.claude/skills/review-emr-eks/SKILL.md +415 -0
  661. sparkforge_aws-0.5.0/.claude/skills/review-emr-eks/evals/evals.json +33 -0
  662. sparkforge_aws-0.5.0/.claude/skills/review-emr-eks/references/README.md +13 -0
  663. sparkforge_aws-0.5.0/.claude/skills/review-emr-eks/scripts/validate_evidence.py +11 -0
  664. sparkforge_aws-0.5.0/.claude/skills/review-event-driven-architecture/SKILL.md +92 -0
  665. sparkforge_aws-0.5.0/.claude/skills/review-event-driven-architecture/evals/evals.json +7 -0
  666. sparkforge_aws-0.5.0/.claude/skills/review-event-driven-architecture/references/README.md +4 -0
  667. sparkforge_aws-0.5.0/.claude/skills/review-event-driven-architecture/scripts/validate_evidence.py +5 -0
  668. sparkforge_aws-0.5.0/.claude/skills/review-glue-streaming/SKILL.md +104 -0
  669. sparkforge_aws-0.5.0/.claude/skills/review-glue-streaming/evals/evals.json +7 -0
  670. sparkforge_aws-0.5.0/.claude/skills/review-glue-streaming/references/README.md +4 -0
  671. sparkforge_aws-0.5.0/.claude/skills/review-glue-streaming/scripts/validate_evidence.py +5 -0
  672. sparkforge_aws-0.5.0/.claude/skills/review-glue-terraform/SKILL.md +175 -0
  673. sparkforge_aws-0.5.0/.claude/skills/review-glue-terraform/evals/evals.json +33 -0
  674. sparkforge_aws-0.5.0/.claude/skills/review-glue-terraform/references/README.md +13 -0
  675. sparkforge_aws-0.5.0/.claude/skills/review-glue-terraform/scripts/validate_evidence.py +11 -0
  676. sparkforge_aws-0.5.0/.claude/skills/review-pyspark-pr/SKILL.md +156 -0
  677. sparkforge_aws-0.5.0/.claude/skills/review-pyspark-pr/evals/evals.json +33 -0
  678. sparkforge_aws-0.5.0/.claude/skills/review-pyspark-pr/references/README.md +13 -0
  679. sparkforge_aws-0.5.0/.claude/skills/review-pyspark-pr/scripts/validate_evidence.py +11 -0
  680. sparkforge_aws-0.5.0/.claude/skills/review-streaming-operations/SKILL.md +122 -0
  681. sparkforge_aws-0.5.0/.claude/skills/review-streaming-operations/evals/evals.json +7 -0
  682. sparkforge_aws-0.5.0/.claude/skills/review-streaming-operations/references/README.md +5 -0
  683. sparkforge_aws-0.5.0/.claude/skills/review-streaming-operations/scripts/validate_evidence.py +5 -0
  684. sparkforge_aws-0.5.0/.claude/skills/review-structured-streaming/SKILL.md +121 -0
  685. sparkforge_aws-0.5.0/.claude/skills/review-structured-streaming/evals/evals.json +17 -0
  686. sparkforge_aws-0.5.0/.claude/skills/review-structured-streaming/references/README.md +6 -0
  687. sparkforge_aws-0.5.0/.claude/skills/review-structured-streaming/scripts/validate_evidence.py +5 -0
  688. sparkforge_aws-0.5.0/.claude/skills/review-terraform-data-platform/SKILL.md +57 -0
  689. sparkforge_aws-0.5.0/.claude/skills/review-terraform-data-platform/evals/evals.json +33 -0
  690. sparkforge_aws-0.5.0/.claude/skills/review-terraform-data-platform/references/README.md +13 -0
  691. sparkforge_aws-0.5.0/.claude/skills/review-terraform-data-platform/scripts/validate_evidence.py +11 -0
  692. sparkforge_aws-0.5.0/.claude/skills/run-debate/SKILL.md +90 -0
  693. sparkforge_aws-0.5.0/.claude/skills/run-debate/evals/evals.json +33 -0
  694. sparkforge_aws-0.5.0/.claude/skills/run-debate/references/README.md +11 -0
  695. sparkforge_aws-0.5.0/.claude/skills/run-debate/scripts/validate_evidence.py +11 -0
  696. sparkforge_aws-0.5.0/.claude/skills/sdd-build/SKILL.md +265 -0
  697. sparkforge_aws-0.5.0/.claude/skills/sdd-build/evals/evals.json +33 -0
  698. sparkforge_aws-0.5.0/.claude/skills/sdd-build/references/README.md +13 -0
  699. sparkforge_aws-0.5.0/.claude/skills/sdd-build/scripts/validate_evidence.py +11 -0
  700. sparkforge_aws-0.5.0/.claude/skills/sdd-define/SKILL.md +172 -0
  701. sparkforge_aws-0.5.0/.claude/skills/sdd-define/evals/evals.json +33 -0
  702. sparkforge_aws-0.5.0/.claude/skills/sdd-define/references/README.md +13 -0
  703. sparkforge_aws-0.5.0/.claude/skills/sdd-define/scripts/validate_evidence.py +11 -0
  704. sparkforge_aws-0.5.0/.claude/skills/sdd-design/SKILL.md +144 -0
  705. sparkforge_aws-0.5.0/.claude/skills/sdd-design/evals/evals.json +33 -0
  706. sparkforge_aws-0.5.0/.claude/skills/sdd-design/references/README.md +13 -0
  707. sparkforge_aws-0.5.0/.claude/skills/sdd-design/scripts/validate_evidence.py +11 -0
  708. sparkforge_aws-0.5.0/.claude/skills/sdd-explore/SKILL.md +141 -0
  709. sparkforge_aws-0.5.0/.claude/skills/sdd-explore/evals/evals.json +33 -0
  710. sparkforge_aws-0.5.0/.claude/skills/sdd-explore/references/README.md +13 -0
  711. sparkforge_aws-0.5.0/.claude/skills/sdd-explore/scripts/validate_evidence.py +11 -0
  712. sparkforge_aws-0.5.0/.claude/skills/sdd-plan/SKILL.md +165 -0
  713. sparkforge_aws-0.5.0/.claude/skills/sdd-plan/evals/evals.json +33 -0
  714. sparkforge_aws-0.5.0/.claude/skills/sdd-plan/references/README.md +13 -0
  715. sparkforge_aws-0.5.0/.claude/skills/sdd-plan/scripts/validate_evidence.py +11 -0
  716. sparkforge_aws-0.5.0/.claude/skills/sdd-ship/SKILL.md +209 -0
  717. sparkforge_aws-0.5.0/.claude/skills/sdd-ship/evals/evals.json +33 -0
  718. sparkforge_aws-0.5.0/.claude/skills/sdd-ship/references/README.md +13 -0
  719. sparkforge_aws-0.5.0/.claude/skills/sdd-ship/scripts/validate_evidence.py +11 -0
  720. sparkforge_aws-0.5.0/.claude/skills/spark4-compatibility/SKILL.md +99 -0
  721. sparkforge_aws-0.5.0/.claude/skills/spark4-compatibility/evals/evals.json +33 -0
  722. sparkforge_aws-0.5.0/.claude/skills/spark4-compatibility/references/README.md +13 -0
  723. sparkforge_aws-0.5.0/.claude/skills/spark4-compatibility/scripts/validate_evidence.py +11 -0
  724. sparkforge_aws-0.5.0/.claude/skills/sparkforge-aws-diagnose/SKILL.md +206 -0
  725. sparkforge_aws-0.5.0/.claude/skills/sparkforge-aws-diagnose/evals/evals.json +33 -0
  726. sparkforge_aws-0.5.0/.claude/skills/sparkforge-aws-diagnose/references/README.md +13 -0
  727. sparkforge_aws-0.5.0/.claude/skills/sparkforge-aws-diagnose/scripts/validate_evidence.py +11 -0
  728. sparkforge_aws-0.5.0/.claude/skills/tool-specialist-routing/SKILL.md +52 -0
  729. sparkforge_aws-0.5.0/.claude/skills/tool-specialist-routing/evals/evals.json +33 -0
  730. sparkforge_aws-0.5.0/.claude/skills/tool-specialist-routing/references/README.md +11 -0
  731. sparkforge_aws-0.5.0/.claude/skills/tool-specialist-routing/scripts/validate_evidence.py +11 -0
  732. sparkforge_aws-0.5.0/.claude/skills/tune-glue-job/SKILL.md +116 -0
  733. sparkforge_aws-0.5.0/.claude/skills/tune-glue-job/evals/evals.json +33 -0
  734. sparkforge_aws-0.5.0/.claude/skills/tune-glue-job/references/README.md +11 -0
  735. sparkforge_aws-0.5.0/.claude/skills/tune-glue-job/scripts/validate_evidence.py +11 -0
  736. sparkforge_aws-0.5.0/.codex/agents/athena-query-optimizer.toml +75 -0
  737. sparkforge_aws-0.5.0/.codex/agents/cdc-contract-reviewer.toml +42 -0
  738. sparkforge_aws-0.5.0/.codex/agents/data-quality-reviewer.toml +170 -0
  739. sparkforge_aws-0.5.0/.codex/agents/emr-infra-reviewer.toml +222 -0
  740. sparkforge_aws-0.5.0/.codex/agents/glue-incremental-performance-architect.toml +89 -0
  741. sparkforge_aws-0.5.0/.codex/agents/glue-infra-reviewer.toml +136 -0
  742. sparkforge_aws-0.5.0/.codex/agents/iceberg-performance-engineer.toml +80 -0
  743. sparkforge_aws-0.5.0/.codex/agents/pyspark-code-reviewer.toml +198 -0
  744. sparkforge_aws-0.5.0/.codex/agents/sf-lake-formation-specialist.toml +127 -0
  745. sparkforge_aws-0.5.0/.codex/agents/sf-runtime-specialist.toml +137 -0
  746. sparkforge_aws-0.5.0/.codex/agents/sf-security-reviewer.toml +10 -0
  747. sparkforge_aws-0.5.0/.codex/agents/sf-terraform-specialist.toml +12 -0
  748. sparkforge_aws-0.5.0/.codex/agents/spark-performance-architect.toml +217 -0
  749. sparkforge_aws-0.5.0/.codex/agents/streaming-realtime-architect.toml +78 -0
  750. sparkforge_aws-0.5.0/.devin/README.md +245 -0
  751. sparkforge_aws-0.5.0/.github/agents/athena-query-optimizer.agent.md +84 -0
  752. sparkforge_aws-0.5.0/.github/agents/cdc-contract-reviewer.agent.md +50 -0
  753. sparkforge_aws-0.5.0/.github/agents/data-quality-reviewer.agent.md +185 -0
  754. sparkforge_aws-0.5.0/.github/agents/emr-infra-reviewer.agent.md +232 -0
  755. sparkforge_aws-0.5.0/.github/agents/executors/sf-extractor.md +113 -0
  756. sparkforge_aws-0.5.0/.github/agents/executors/sf-inventory.md +74 -0
  757. sparkforge_aws-0.5.0/.github/agents/executors/sf-judge.md +45 -0
  758. sparkforge_aws-0.5.0/.github/agents/executors/sf-synthesizer.md +137 -0
  759. sparkforge_aws-0.5.0/.github/agents/executors/sf-verifier.md +107 -0
  760. sparkforge_aws-0.5.0/.github/agents/glue-incremental-performance-architect.agent.md +121 -0
  761. sparkforge_aws-0.5.0/.github/agents/glue-infra-reviewer.agent.md +154 -0
  762. sparkforge_aws-0.5.0/.github/agents/iceberg-performance-engineer.agent.md +90 -0
  763. sparkforge_aws-0.5.0/.github/agents/pyspark-code-reviewer.agent.md +229 -0
  764. sparkforge_aws-0.5.0/.github/agents/sf-lake-formation-specialist.agent.md +167 -0
  765. sparkforge_aws-0.5.0/.github/agents/sf-runtime-specialist.agent.md +166 -0
  766. sparkforge_aws-0.5.0/.github/agents/sf-security-reviewer.agent.md +29 -0
  767. sparkforge_aws-0.5.0/.github/agents/sf-terraform-specialist.agent.md +27 -0
  768. sparkforge_aws-0.5.0/.github/agents/spark-performance-architect.agent.md +350 -0
  769. sparkforge_aws-0.5.0/.github/agents/streaming-realtime-architect.agent.md +114 -0
  770. sparkforge_aws-0.5.0/.gitignore +109 -0
  771. sparkforge_aws-0.5.0/LICENSE +21 -0
  772. sparkforge_aws-0.5.0/PKG-INFO +640 -0
  773. sparkforge_aws-0.5.0/README.md +577 -0
  774. sparkforge_aws-0.5.0/agents/athena-query-optimizer.md +84 -0
  775. sparkforge_aws-0.5.0/agents/cdc-contract-reviewer.md +50 -0
  776. sparkforge_aws-0.5.0/agents/data-quality-reviewer.md +185 -0
  777. sparkforge_aws-0.5.0/agents/emr-infra-reviewer.md +232 -0
  778. sparkforge_aws-0.5.0/agents/executors/sf-extractor.md +113 -0
  779. sparkforge_aws-0.5.0/agents/executors/sf-inventory.md +74 -0
  780. sparkforge_aws-0.5.0/agents/executors/sf-judge.md +45 -0
  781. sparkforge_aws-0.5.0/agents/executors/sf-synthesizer.md +137 -0
  782. sparkforge_aws-0.5.0/agents/executors/sf-verifier.md +107 -0
  783. sparkforge_aws-0.5.0/agents/glue-incremental-performance-architect.md +121 -0
  784. sparkforge_aws-0.5.0/agents/glue-infra-reviewer.md +154 -0
  785. sparkforge_aws-0.5.0/agents/iceberg-performance-engineer.md +90 -0
  786. sparkforge_aws-0.5.0/agents/pyspark-code-reviewer.md +229 -0
  787. sparkforge_aws-0.5.0/agents/sf-lake-formation-specialist.md +167 -0
  788. sparkforge_aws-0.5.0/agents/sf-runtime-specialist.md +166 -0
  789. sparkforge_aws-0.5.0/agents/sf-security-reviewer.md +29 -0
  790. sparkforge_aws-0.5.0/agents/sf-terraform-specialist.md +27 -0
  791. sparkforge_aws-0.5.0/agents/spark-performance-architect.md +350 -0
  792. sparkforge_aws-0.5.0/agents/streaming-realtime-architect.md +114 -0
  793. sparkforge_aws-0.5.0/docs/aws/glue/6.0/README.md +55 -0
  794. sparkforge_aws-0.5.0/docs/guia/README.md +86 -0
  795. sparkforge_aws-0.5.0/docs/guia/referencia/README.md +12 -0
  796. sparkforge_aws-0.5.0/docs/guia/referencia/agents/README.md +34 -0
  797. sparkforge_aws-0.5.0/docs/guia/referencia/agents/athena-query-optimizer.md +95 -0
  798. sparkforge_aws-0.5.0/docs/guia/referencia/agents/cdc-contract-reviewer.md +62 -0
  799. sparkforge_aws-0.5.0/docs/guia/referencia/agents/data-quality-reviewer.md +195 -0
  800. sparkforge_aws-0.5.0/docs/guia/referencia/agents/emr-infra-reviewer.md +242 -0
  801. sparkforge_aws-0.5.0/docs/guia/referencia/agents/glue-incremental-performance-architect.md +118 -0
  802. sparkforge_aws-0.5.0/docs/guia/referencia/agents/glue-infra-reviewer.md +165 -0
  803. sparkforge_aws-0.5.0/docs/guia/referencia/agents/iceberg-performance-engineer.md +100 -0
  804. sparkforge_aws-0.5.0/docs/guia/referencia/agents/pyspark-code-reviewer.md +238 -0
  805. sparkforge_aws-0.5.0/docs/guia/referencia/agents/sf-extractor.md +119 -0
  806. sparkforge_aws-0.5.0/docs/guia/referencia/agents/sf-inventory.md +80 -0
  807. sparkforge_aws-0.5.0/docs/guia/referencia/agents/sf-judge.md +51 -0
  808. sparkforge_aws-0.5.0/docs/guia/referencia/agents/sf-lake-formation-specialist.md +177 -0
  809. sparkforge_aws-0.5.0/docs/guia/referencia/agents/sf-runtime-specialist.md +175 -0
  810. sparkforge_aws-0.5.0/docs/guia/referencia/agents/sf-security-reviewer.md +41 -0
  811. sparkforge_aws-0.5.0/docs/guia/referencia/agents/sf-synthesizer.md +143 -0
  812. sparkforge_aws-0.5.0/docs/guia/referencia/agents/sf-terraform-specialist.md +41 -0
  813. sparkforge_aws-0.5.0/docs/guia/referencia/agents/sf-verifier.md +113 -0
  814. sparkforge_aws-0.5.0/docs/guia/referencia/agents/spark-performance-architect.md +354 -0
  815. sparkforge_aws-0.5.0/docs/guia/referencia/agents/streaming-realtime-architect.md +119 -0
  816. sparkforge_aws-0.5.0/docs/guia/referencia/cli/README.md +75 -0
  817. sparkforge_aws-0.5.0/docs/guia/referencia/skills/README.md +68 -0
  818. sparkforge_aws-0.5.0/docs/guia/referencia/skills/analyze-batch-loop.md +132 -0
  819. sparkforge_aws-0.5.0/docs/guia/referencia/skills/analyze-flink-job.md +121 -0
  820. sparkforge_aws-0.5.0/docs/guia/referencia/skills/analyze-functional-rules.md +78 -0
  821. sparkforge_aws-0.5.0/docs/guia/referencia/skills/analyze-library-call-graph.md +136 -0
  822. sparkforge_aws-0.5.0/docs/guia/referencia/skills/analyze-spark-plan.md +115 -0
  823. sparkforge_aws-0.5.0/docs/guia/referencia/skills/analyze-spark-ui.md +138 -0
  824. sparkforge_aws-0.5.0/docs/guia/referencia/skills/analyze-streaming-composition.md +192 -0
  825. sparkforge_aws-0.5.0/docs/guia/referencia/skills/aws-billing-and-cost-management.md +287 -0
  826. sparkforge_aws-0.5.0/docs/guia/referencia/skills/aws-database.md +183 -0
  827. sparkforge_aws-0.5.0/docs/guia/referencia/skills/aws-iam.md +242 -0
  828. sparkforge_aws-0.5.0/docs/guia/referencia/skills/aws-messaging-and-streaming.md +308 -0
  829. sparkforge_aws-0.5.0/docs/guia/referencia/skills/aws-observability.md +152 -0
  830. sparkforge_aws-0.5.0/docs/guia/referencia/skills/aws-sdk-python-usage.md +359 -0
  831. sparkforge_aws-0.5.0/docs/guia/referencia/skills/aws-security.md +239 -0
  832. sparkforge_aws-0.5.0/docs/guia/referencia/skills/aws-serverless.md +174 -0
  833. sparkforge_aws-0.5.0/docs/guia/referencia/skills/aws-storage.md +293 -0
  834. sparkforge_aws-0.5.0/docs/guia/referencia/skills/benchmark-pyspark-job.md +222 -0
  835. sparkforge_aws-0.5.0/docs/guia/referencia/skills/compare-releases.md +214 -0
  836. sparkforge_aws-0.5.0/docs/guia/referencia/skills/design-data-architecture.md +52 -0
  837. sparkforge_aws-0.5.0/docs/guia/referencia/skills/design-incremental-processing.md +159 -0
  838. sparkforge_aws-0.5.0/docs/guia/referencia/skills/design-realtime-data-architecture.md +67 -0
  839. sparkforge_aws-0.5.0/docs/guia/referencia/skills/design-s3-data-lake.md +52 -0
  840. sparkforge_aws-0.5.0/docs/guia/referencia/skills/diagnose-data-skew.md +123 -0
  841. sparkforge_aws-0.5.0/docs/guia/referencia/skills/diagnose-lakeformation-access.md +251 -0
  842. sparkforge_aws-0.5.0/docs/guia/referencia/skills/diagnose-oom.md +127 -0
  843. sparkforge_aws-0.5.0/docs/guia/referencia/skills/glue-incremental-performance-architect.md +149 -0
  844. sparkforge_aws-0.5.0/docs/guia/referencia/skills/harden-s3-bucket.md +190 -0
  845. sparkforge_aws-0.5.0/docs/guia/referencia/skills/iceberg-v3-readiness.md +108 -0
  846. sparkforge_aws-0.5.0/docs/guia/referencia/skills/lakeformation-architecture.md +150 -0
  847. sparkforge_aws-0.5.0/docs/guia/referencia/skills/lakeformation-fgac-guard.md +233 -0
  848. sparkforge_aws-0.5.0/docs/guia/referencia/skills/migrate-glue-6.md +95 -0
  849. sparkforge_aws-0.5.0/docs/guia/referencia/skills/optimize-iceberg-table.md +158 -0
  850. sparkforge_aws-0.5.0/docs/guia/referencia/skills/optimize-latest-per-key.md +137 -0
  851. sparkforge_aws-0.5.0/docs/guia/referencia/skills/optimize-parquet-layout.md +187 -0
  852. sparkforge_aws-0.5.0/docs/guia/referencia/skills/optimize-pyspark-code.md +182 -0
  853. sparkforge_aws-0.5.0/docs/guia/referencia/skills/optimize-variable-volume-job.md +101 -0
  854. sparkforge_aws-0.5.0/docs/guia/referencia/skills/propose-change-pr.md +79 -0
  855. sparkforge_aws-0.5.0/docs/guia/referencia/skills/provision-s3-tables-table.md +238 -0
  856. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-cdc-replication.md +102 -0
  857. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-data-validation.md +278 -0
  858. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-emr-cluster.md +290 -0
  859. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-emr-eks.md +407 -0
  860. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-event-driven-architecture.md +86 -0
  861. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-glue-streaming.md +98 -0
  862. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-glue-terraform.md +167 -0
  863. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-pyspark-pr.md +148 -0
  864. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-streaming-operations.md +115 -0
  865. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-structured-streaming.md +113 -0
  866. sparkforge_aws-0.5.0/docs/guia/referencia/skills/review-terraform-data-platform.md +52 -0
  867. sparkforge_aws-0.5.0/docs/guia/referencia/skills/run-debate.md +84 -0
  868. sparkforge_aws-0.5.0/docs/guia/referencia/skills/sdd-build.md +257 -0
  869. sparkforge_aws-0.5.0/docs/guia/referencia/skills/sdd-define.md +164 -0
  870. sparkforge_aws-0.5.0/docs/guia/referencia/skills/sdd-design.md +136 -0
  871. sparkforge_aws-0.5.0/docs/guia/referencia/skills/sdd-explore.md +133 -0
  872. sparkforge_aws-0.5.0/docs/guia/referencia/skills/sdd-plan.md +157 -0
  873. sparkforge_aws-0.5.0/docs/guia/referencia/skills/sdd-ship.md +201 -0
  874. sparkforge_aws-0.5.0/docs/guia/referencia/skills/spark4-compatibility.md +91 -0
  875. sparkforge_aws-0.5.0/docs/guia/referencia/skills/sparkforge-aws-diagnose.md +198 -0
  876. sparkforge_aws-0.5.0/docs/guia/referencia/skills/tool-specialist-routing.md +48 -0
  877. sparkforge_aws-0.5.0/docs/guia/referencia/skills/tune-glue-job.md +110 -0
  878. sparkforge_aws-0.5.0/docs/guia/referencia/tools/README.md +386 -0
  879. sparkforge_aws-0.5.0/docs/knowledge/analytics-engineering-microscope.md +25 -0
  880. sparkforge_aws-0.5.0/docs/knowledge/data-observability-sre.md +18 -0
  881. sparkforge_aws-0.5.0/docs/knowledge/data-platform-ecosystem.md +20 -0
  882. sparkforge_aws-0.5.0/docs/knowledge/forge-lab-digital-twin.md +36 -0
  883. sparkforge_aws-0.5.0/docs/knowledge/forge-lab-product.md +90 -0
  884. sparkforge_aws-0.5.0/docs/knowledge/open-lakehouse-catalog.md +27 -0
  885. sparkforge_aws-0.5.0/docs/knowledge/orchestration-control-plane.md +15 -0
  886. sparkforge_aws-0.5.0/docs/knowledge/platform-intelligence-evals.md +49 -0
  887. sparkforge_aws-0.5.0/docs/knowledge/platform-intelligence-graph.md +44 -0
  888. sparkforge_aws-0.5.0/docs/learn/README.md +35 -0
  889. sparkforge_aws-0.5.0/docs/sdd/README.md +167 -0
  890. sparkforge_aws-0.5.0/docs/skills/README.md +47 -0
  891. sparkforge_aws-0.5.0/docs/skills/quality-report.md +18 -0
  892. sparkforge_aws-0.5.0/docs/superpowers/README.md +25 -0
  893. sparkforge_aws-0.5.0/docs/vnext/README.md +47 -0
  894. sparkforge_aws-0.5.0/evals/README.md +502 -0
  895. sparkforge_aws-0.5.0/evals/agentic/sdd/README.md +82 -0
  896. sparkforge_aws-0.5.0/evals/holdout/README.md +53 -0
  897. sparkforge_aws-0.5.0/evals/skills/README.md +18 -0
  898. sparkforge_aws-0.5.0/fixtures/packs/acme-platform/knowledge/padroes-de-plataforma.md +15 -0
  899. sparkforge_aws-0.5.0/fixtures/sarif/so_runtime/input/repo/README.md +1 -0
  900. sparkforge_aws-0.5.0/knowledge/INDEX.md +175 -0
  901. sparkforge_aws-0.5.0/knowledge/agent-creation.md +7 -0
  902. sparkforge_aws-0.5.0/knowledge/agent-evaluation.md +14 -0
  903. sparkforge_aws-0.5.0/knowledge/agentic-engineering.md +25 -0
  904. sparkforge_aws-0.5.0/knowledge/airflow/glue-operator.md +97 -0
  905. sparkforge_aws-0.5.0/knowledge/airflow-pipelines.md +12 -0
  906. sparkforge_aws-0.5.0/knowledge/anti-patterns.md +44 -0
  907. sparkforge_aws-0.5.0/knowledge/athena/performance.md +110 -0
  908. sparkforge_aws-0.5.0/knowledge/cdc-replication.md +45 -0
  909. sparkforge_aws-0.5.0/knowledge/controlm/automation-api-matrix.md +433 -0
  910. sparkforge_aws-0.5.0/knowledge/controlm/automation-api-matrix.yaml +275 -0
  911. sparkforge_aws-0.5.0/knowledge/cross-service-constraints.md +83 -0
  912. sparkforge_aws-0.5.0/knowledge/data-contracts-schema-evolution.md +14 -0
  913. sparkforge_aws-0.5.0/knowledge/data-lineage-impact.md +16 -0
  914. sparkforge_aws-0.5.0/knowledge/data-platform-architecture.md +7 -0
  915. sparkforge_aws-0.5.0/knowledge/data-platform-finops.md +15 -0
  916. sparkforge_aws-0.5.0/knowledge/databricks/runtime-matrix.md +153 -0
  917. sparkforge_aws-0.5.0/knowledge/databricks/runtime-matrix.yaml +32 -0
  918. sparkforge_aws-0.5.0/knowledge/devin/agents-and-subagents.md +899 -0
  919. sparkforge_aws-0.5.0/knowledge/domain-tool-matrix.md +5 -0
  920. sparkforge_aws-0.5.0/knowledge/dq/validation-frameworks.md +515 -0
  921. sparkforge_aws-0.5.0/knowledge/emr/cluster-configuration.md +246 -0
  922. sparkforge_aws-0.5.0/knowledge/emr/runtime-matrix.md +121 -0
  923. sparkforge_aws-0.5.0/knowledge/emr/runtime-matrix.yaml +216 -0
  924. sparkforge_aws-0.5.0/knowledge/emr-eks/job-run-configuration.md +677 -0
  925. sparkforge_aws-0.5.0/knowledge/emr-eks/runtime-matrix.md +376 -0
  926. sparkforge_aws-0.5.0/knowledge/emr-eks/runtime-matrix.yaml +297 -0
  927. sparkforge_aws-0.5.0/knowledge/emr-serverless/application-configuration.md +285 -0
  928. sparkforge_aws-0.5.0/knowledge/emr-serverless/runtime-matrix.md +179 -0
  929. sparkforge_aws-0.5.0/knowledge/emr-serverless/runtime-matrix.yaml +111 -0
  930. sparkforge_aws-0.5.0/knowledge/errors/athena/iceberg_v3_unsupported.json +32 -0
  931. sparkforge_aws-0.5.0/knowledge/errors/glue/oom_executor.json +24 -0
  932. sparkforge_aws-0.5.0/knowledge/errors/glue/scala_212_jar_under_spark4.json +34 -0
  933. sparkforge_aws-0.5.0/knowledge/errors/glue/sdk_v2_user_jars_first.json +33 -0
  934. sparkforge_aws-0.5.0/knowledge/errors/iceberg/commit_conflict.json +22 -0
  935. sparkforge_aws-0.5.0/knowledge/errors/lakeformation/access_denied_cross_account.json +25 -0
  936. sparkforge_aws-0.5.0/knowledge/errors/lakeformation/credential_vending_denied.json +41 -0
  937. sparkforge_aws-0.5.0/knowledge/errors/lakeformation/get_data_access_denied.json +36 -0
  938. sparkforge_aws-0.5.0/knowledge/errors/lakeformation/glue_api_denied_under_lf.json +37 -0
  939. sparkforge_aws-0.5.0/knowledge/errors/lakeformation/security_validation_exception.json +35 -0
  940. sparkforge_aws-0.5.0/knowledge/errors/spark/analysis_exception.json +41 -0
  941. sparkforge_aws-0.5.0/knowledge/errors/spark/classpath_abstract_method.json +41 -0
  942. sparkforge_aws-0.5.0/knowledge/errors/spark/classpath_class_not_found.json +40 -0
  943. sparkforge_aws-0.5.0/knowledge/errors/spark/classpath_no_class_def.json +40 -0
  944. sparkforge_aws-0.5.0/knowledge/errors/spark/executor_lost.json +41 -0
  945. sparkforge_aws-0.5.0/knowledge/errors/spark/fetch_failed_shuffle.json +38 -0
  946. sparkforge_aws-0.5.0/knowledge/errors/spark/file_not_found.json +41 -0
  947. sparkforge_aws-0.5.0/knowledge/errors/spark/gc_overhead_limit.json +42 -0
  948. sparkforge_aws-0.5.0/knowledge/errors/spark/heap_out_of_memory.json +42 -0
  949. sparkforge_aws-0.5.0/knowledge/errors/spark/metadata_fetch_failed.json +41 -0
  950. sparkforge_aws-0.5.0/knowledge/errors/spark/no_such_table.json +41 -0
  951. sparkforge_aws-0.5.0/knowledge/errors/spark/python_worker_exited.json +37 -0
  952. sparkforge_aws-0.5.0/knowledge/errors/spark/upgrade_exception.json +41 -0
  953. sparkforge_aws-0.5.0/knowledge/event-driven-architecture.md +31 -0
  954. sparkforge_aws-0.5.0/knowledge/flink-streaming.md +160 -0
  955. sparkforge_aws-0.5.0/knowledge/glue/dq-advanced-matrix.md +42 -0
  956. sparkforge_aws-0.5.0/knowledge/glue/dq-advanced-matrix.yaml +51 -0
  957. sparkforge_aws-0.5.0/knowledge/glue/job-arguments.md +112 -0
  958. sparkforge_aws-0.5.0/knowledge/glue/lakeformation-fgac.md +368 -0
  959. sparkforge_aws-0.5.0/knowledge/glue/lakeformation-index.md +129 -0
  960. sparkforge_aws-0.5.0/knowledge/glue/lakeformation-matrix.yaml +303 -0
  961. sparkforge_aws-0.5.0/knowledge/glue/lakeformation-permissions.yaml +88 -0
  962. sparkforge_aws-0.5.0/knowledge/glue/observability.md +139 -0
  963. sparkforge_aws-0.5.0/knowledge/glue/observability.yaml +30 -0
  964. sparkforge_aws-0.5.0/knowledge/glue/pricing.yaml +82 -0
  965. sparkforge_aws-0.5.0/knowledge/glue/runtime-matrix.md +98 -0
  966. sparkforge_aws-0.5.0/knowledge/glue/runtime-matrix.yaml +111 -0
  967. sparkforge_aws-0.5.0/knowledge/glue/workers-and-capacity.md +110 -0
  968. sparkforge_aws-0.5.0/knowledge/glue-streaming-rtm.md +109 -0
  969. sparkforge_aws-0.5.0/knowledge/graph/availability.md +271 -0
  970. sparkforge_aws-0.5.0/knowledge/graph/graphframes-api.md +477 -0
  971. sparkforge_aws-0.5.0/knowledge/graphs-neptune-dynamodb-athena.md +7 -0
  972. sparkforge_aws-0.5.0/knowledge/iceberg-diagnostics.sql +38 -0
  973. sparkforge_aws-0.5.0/knowledge/iceberg-parquet-s3.md +7 -0
  974. sparkforge_aws-0.5.0/knowledge/lake-governance.md +13 -0
  975. sparkforge_aws-0.5.0/knowledge/lakeformation/architecture.md +100 -0
  976. sparkforge_aws-0.5.0/knowledge/lakeformation/capability-matrix.yaml +79 -0
  977. sparkforge_aws-0.5.0/knowledge/lakeformation/fgac-fta-improvements.md +88 -0
  978. sparkforge_aws-0.5.0/knowledge/lakeformation/operational-closure.md +112 -0
  979. sparkforge_aws-0.5.0/knowledge/model-selection-observability.md +25 -0
  980. sparkforge_aws-0.5.0/knowledge/offline-manifest.json +357 -0
  981. sparkforge_aws-0.5.0/knowledge/offline-policy.md +6 -0
  982. sparkforge_aws-0.5.0/knowledge/performance-principles.md +35 -0
  983. sparkforge_aws-0.5.0/knowledge/runtime-compatibility.md +29 -0
  984. sparkforge_aws-0.5.0/knowledge/schema-registry-data-contracts.md +65 -0
  985. sparkforge_aws-0.5.0/knowledge/source_authority.yaml +72 -0
  986. sparkforge_aws-0.5.0/knowledge/sources.lock.json +4303 -0
  987. sparkforge_aws-0.5.0/knowledge/spark/config-reference.md +104 -0
  988. sparkforge_aws-0.5.0/knowledge/spark/execution-model.md +128 -0
  989. sparkforge_aws-0.5.0/knowledge/spark/memory-and-oom.md +95 -0
  990. sparkforge_aws-0.5.0/knowledge/spark/plan-reading.md +101 -0
  991. sparkforge_aws-0.5.0/knowledge/spark/shuffle-join-skew.md +94 -0
  992. sparkforge_aws-0.5.0/knowledge/spark/spark4-migration.md +112 -0
  993. sparkforge_aws-0.5.0/knowledge/spark/sql-metrics.md +53 -0
  994. sparkforge_aws-0.5.0/knowledge/spark/sql-metrics.yaml +57 -0
  995. sparkforge_aws-0.5.0/knowledge/stepfunctions/execution-history.md +219 -0
  996. sparkforge_aws-0.5.0/knowledge/stepfunctions/glue-integration.md +127 -0
  997. sparkforge_aws-0.5.0/knowledge/storage/iceberg-catalog.md +180 -0
  998. sparkforge_aws-0.5.0/knowledge/storage/iceberg-feature-support.yaml +878 -0
  999. sparkforge_aws-0.5.0/knowledge/storage/iceberg-performance.md +174 -0
  1000. sparkforge_aws-0.5.0/knowledge/storage/iceberg-v3.md +235 -0
  1001. sparkforge_aws-0.5.0/knowledge/storage/parquet-layout.md +114 -0
  1002. sparkforge_aws-0.5.0/knowledge/streaming/runtime-matrix.md +47 -0
  1003. sparkforge_aws-0.5.0/knowledge/streaming-format-serving-matrix.md +44 -0
  1004. sparkforge_aws-0.5.0/knowledge/streaming-integrations.md +85 -0
  1005. sparkforge_aws-0.5.0/knowledge/streaming-lakehouse-observability.md +69 -0
  1006. sparkforge_aws-0.5.0/knowledge/streaming-operations.md +92 -0
  1007. sparkforge_aws-0.5.0/knowledge/streaming-pipeline-diagnostics.md +71 -0
  1008. sparkforge_aws-0.5.0/knowledge/streaming-realtime-candidate-matrix.md +43 -0
  1009. sparkforge_aws-0.5.0/knowledge/streaming-reliability.md +98 -0
  1010. sparkforge_aws-0.5.0/knowledge/terraform-data-platform.md +7 -0
  1011. sparkforge_aws-0.5.0/knowledge/token-economy.md +26 -0
  1012. sparkforge_aws-0.5.0/knowledge/tool-specialization-matrix.md +15 -0
  1013. sparkforge_aws-0.5.0/knowledge/transport-diagnostics.md +146 -0
  1014. sparkforge_aws-0.5.0/lab/compose/README.md +16 -0
  1015. sparkforge_aws-0.5.0/lab/scenarios/README.md +11 -0
  1016. sparkforge_aws-0.5.0/labs/forge-lab/README.md +74 -0
  1017. sparkforge_aws-0.5.0/payloads/devin/README.md +41 -0
  1018. sparkforge_aws-0.5.0/portal/assets/chunk-7_l-b4Tr.js +1 -0
  1019. sparkforge_aws-0.5.0/portal/assets/chunk-B0Iad6pD.js +1 -0
  1020. sparkforge_aws-0.5.0/portal/assets/chunk-B605XnCF.js +1 -0
  1021. sparkforge_aws-0.5.0/portal/assets/chunk-B7N3TXcn.js +1 -0
  1022. sparkforge_aws-0.5.0/portal/assets/chunk-BAj6yGem.js +1 -0
  1023. sparkforge_aws-0.5.0/portal/assets/chunk-BGUitn2r.js +1 -0
  1024. sparkforge_aws-0.5.0/portal/assets/chunk-BVKnCv85.js +1 -0
  1025. sparkforge_aws-0.5.0/portal/assets/chunk-BYyM9V_w.js +1 -0
  1026. sparkforge_aws-0.5.0/portal/assets/chunk-BaQMhq-G.js +1 -0
  1027. sparkforge_aws-0.5.0/portal/assets/chunk-BavOrxVm.js +1 -0
  1028. sparkforge_aws-0.5.0/portal/assets/chunk-Bb0C24YV.js +1 -0
  1029. sparkforge_aws-0.5.0/portal/assets/chunk-BfCFGPzs.js +1 -0
  1030. sparkforge_aws-0.5.0/portal/assets/chunk-C2t4OUVu.js +1 -0
  1031. sparkforge_aws-0.5.0/portal/assets/chunk-C3pI4QjU.js +1 -0
  1032. sparkforge_aws-0.5.0/portal/assets/chunk-C4gpbtbP.js +1 -0
  1033. sparkforge_aws-0.5.0/portal/assets/chunk-CGWeHhKY.js +1 -0
  1034. sparkforge_aws-0.5.0/portal/assets/chunk-CJCT86Dr.js +1 -0
  1035. sparkforge_aws-0.5.0/portal/assets/chunk-CXcsLDPJ.js +1 -0
  1036. sparkforge_aws-0.5.0/portal/assets/chunk-CcjxoLxw.js +1 -0
  1037. sparkforge_aws-0.5.0/portal/assets/chunk-D-gBPXHa.js +1 -0
  1038. sparkforge_aws-0.5.0/portal/assets/chunk-D3eZogIe.js +1 -0
  1039. sparkforge_aws-0.5.0/portal/assets/chunk-DQU0VyoQ.js +1 -0
  1040. sparkforge_aws-0.5.0/portal/assets/chunk-DqWNkF1O.js +1 -0
  1041. sparkforge_aws-0.5.0/portal/assets/chunk-DuPPkSIE.js +3 -0
  1042. sparkforge_aws-0.5.0/portal/assets/chunk-DyIHOW_a.js +1 -0
  1043. sparkforge_aws-0.5.0/portal/assets/chunk-Fx4zSGL5.js +1 -0
  1044. sparkforge_aws-0.5.0/portal/assets/chunk-UBKt05Rg.js +1 -0
  1045. sparkforge_aws-0.5.0/portal/assets/chunk-htnJDQEY.js +1 -0
  1046. sparkforge_aws-0.5.0/portal/assets/chunk-kXRFMGqe.js +1 -0
  1047. sparkforge_aws-0.5.0/portal/assets/chunk-qe3u763a.js +1 -0
  1048. sparkforge_aws-0.5.0/portal/assets/favicon.ico +0 -0
  1049. sparkforge_aws-0.5.0/portal/assets/index.html +13 -0
  1050. sparkforge_aws-0.5.0/portal/assets/main-QDFVZK3T.js +5 -0
  1051. sparkforge_aws-0.5.0/portal/assets/styles-MQEBDFDX.css +1 -0
  1052. sparkforge_aws-0.5.0/portal/manifest.json +142 -0
  1053. sparkforge_aws-0.5.0/pyproject.toml +228 -0
  1054. sparkforge_aws-0.5.0/rules/catalog/README.md +299 -0
  1055. sparkforge_aws-0.5.0/rules/catalog/action_kinds.yaml +611 -0
  1056. sparkforge_aws-0.5.0/rules/catalog/airflow.yaml +274 -0
  1057. sparkforge_aws-0.5.0/rules/catalog/athena.yaml +316 -0
  1058. sparkforge_aws-0.5.0/rules/catalog/benchmark.yaml +408 -0
  1059. sparkforge_aws-0.5.0/rules/catalog/bridge.yaml +127 -0
  1060. sparkforge_aws-0.5.0/rules/catalog/callgraph.yaml +149 -0
  1061. sparkforge_aws-0.5.0/rules/catalog/cdc.yaml +135 -0
  1062. sparkforge_aws-0.5.0/rules/catalog/controlm.yaml +898 -0
  1063. sparkforge_aws-0.5.0/rules/catalog/data-quality-ai.yaml +283 -0
  1064. sparkforge_aws-0.5.0/rules/catalog/data-quality.yaml +477 -0
  1065. sparkforge_aws-0.5.0/rules/catalog/debate_gate.yaml +17 -0
  1066. sparkforge_aws-0.5.0/rules/catalog/debezium.yaml +69 -0
  1067. sparkforge_aws-0.5.0/rules/catalog/dms.yaml +101 -0
  1068. sparkforge_aws-0.5.0/rules/catalog/emr-eks.yaml +695 -0
  1069. sparkforge_aws-0.5.0/rules/catalog/emr-infra.yaml +856 -0
  1070. sparkforge_aws-0.5.0/rules/catalog/emr-serverless.yaml +728 -0
  1071. sparkforge_aws-0.5.0/rules/catalog/env.yaml +441 -0
  1072. sparkforge_aws-0.5.0/rules/catalog/errors.yaml +2750 -0
  1073. sparkforge_aws-0.5.0/rules/catalog/event-driven.yaml +70 -0
  1074. sparkforge_aws-0.5.0/rules/catalog/flink.yaml +94 -0
  1075. sparkforge_aws-0.5.0/rules/catalog/funcval.yaml +571 -0
  1076. sparkforge_aws-0.5.0/rules/catalog/glue-cross-account.yaml +254 -0
  1077. sparkforge_aws-0.5.0/rules/catalog/glue-infra.yaml +376 -0
  1078. sparkforge_aws-0.5.0/rules/catalog/glue-kms.yaml +222 -0
  1079. sparkforge_aws-0.5.0/rules/catalog/glue-migration.yaml +318 -0
  1080. sparkforge_aws-0.5.0/rules/catalog/glue-network.yaml +106 -0
  1081. sparkforge_aws-0.5.0/rules/catalog/glue-streaming.yaml +293 -0
  1082. sparkforge_aws-0.5.0/rules/catalog/governance.yaml +120 -0
  1083. sparkforge_aws-0.5.0/rules/catalog/graph.yaml +782 -0
  1084. sparkforge_aws-0.5.0/rules/catalog/iam.yaml +332 -0
  1085. sparkforge_aws-0.5.0/rules/catalog/iceberg.yaml +860 -0
  1086. sparkforge_aws-0.5.0/rules/catalog/lakeformation.yaml +1476 -0
  1087. sparkforge_aws-0.5.0/rules/catalog/parquet.yaml +752 -0
  1088. sparkforge_aws-0.5.0/rules/catalog/proof_axes.yaml +182 -0
  1089. sparkforge_aws-0.5.0/rules/catalog/pyspark.yaml +600 -0
  1090. sparkforge_aws-0.5.0/rules/catalog/routing.yaml +984 -0
  1091. sparkforge_aws-0.5.0/rules/catalog/schema_registry.yaml +104 -0
  1092. sparkforge_aws-0.5.0/rules/catalog/sfn-history.yaml +286 -0
  1093. sparkforge_aws-0.5.0/rules/catalog/spark-plan.yaml +253 -0
  1094. sparkforge_aws-0.5.0/rules/catalog/spark-ui.yaml +371 -0
  1095. sparkforge_aws-0.5.0/rules/catalog/spark4.yaml +444 -0
  1096. sparkforge_aws-0.5.0/rules/catalog/stepfunctions.yaml +269 -0
  1097. sparkforge_aws-0.5.0/rules/catalog/streaming-integrations.yaml +138 -0
  1098. sparkforge_aws-0.5.0/rules/catalog/streaming-operations.yaml +176 -0
  1099. sparkforge_aws-0.5.0/rules/catalog/streaming.yaml +271 -0
  1100. sparkforge_aws-0.5.0/rules/catalog/streaming_iceberg.yaml +93 -0
  1101. sparkforge_aws-0.5.0/rules/catalog/streaming_observability.yaml +183 -0
  1102. sparkforge_aws-0.5.0/rules/catalog/timeout.yaml +151 -0
  1103. sparkforge_aws-0.5.0/rules/catalog/waste.yaml +155 -0
  1104. sparkforge_aws-0.5.0/skills/_shared/references/evaluation-contract.md +17 -0
  1105. sparkforge_aws-0.5.0/skills/_shared/references/evidence-first.md +49 -0
  1106. sparkforge_aws-0.5.0/skills/_shared/references/operational-safety.md +21 -0
  1107. sparkforge_aws-0.5.0/skills/_shared/scripts/validate_skill_context.py +74 -0
  1108. sparkforge_aws-0.5.0/skills/analyze-batch-loop/SKILL.md +140 -0
  1109. sparkforge_aws-0.5.0/skills/analyze-batch-loop/evals/evals.json +33 -0
  1110. sparkforge_aws-0.5.0/skills/analyze-batch-loop/references/README.md +13 -0
  1111. sparkforge_aws-0.5.0/skills/analyze-batch-loop/scripts/validate_evidence.py +11 -0
  1112. sparkforge_aws-0.5.0/skills/analyze-flink-job/SKILL.md +128 -0
  1113. sparkforge_aws-0.5.0/skills/analyze-flink-job/evals/evals.json +7 -0
  1114. sparkforge_aws-0.5.0/skills/analyze-flink-job/references/README.md +5 -0
  1115. sparkforge_aws-0.5.0/skills/analyze-flink-job/scripts/validate_evidence.py +9 -0
  1116. sparkforge_aws-0.5.0/skills/analyze-functional-rules/SKILL.md +87 -0
  1117. sparkforge_aws-0.5.0/skills/analyze-functional-rules/evals/evals.json +33 -0
  1118. sparkforge_aws-0.5.0/skills/analyze-functional-rules/references/README.md +13 -0
  1119. sparkforge_aws-0.5.0/skills/analyze-functional-rules/scripts/validate_evidence.py +11 -0
  1120. sparkforge_aws-0.5.0/skills/analyze-library-call-graph/SKILL.md +143 -0
  1121. sparkforge_aws-0.5.0/skills/analyze-library-call-graph/evals/evals.json +33 -0
  1122. sparkforge_aws-0.5.0/skills/analyze-library-call-graph/references/README.md +13 -0
  1123. sparkforge_aws-0.5.0/skills/analyze-library-call-graph/scripts/validate_evidence.py +11 -0
  1124. sparkforge_aws-0.5.0/skills/analyze-spark-plan/SKILL.md +123 -0
  1125. sparkforge_aws-0.5.0/skills/analyze-spark-plan/evals/evals.json +33 -0
  1126. sparkforge_aws-0.5.0/skills/analyze-spark-plan/references/README.md +13 -0
  1127. sparkforge_aws-0.5.0/skills/analyze-spark-plan/scripts/validate_evidence.py +11 -0
  1128. sparkforge_aws-0.5.0/skills/analyze-spark-ui/SKILL.md +146 -0
  1129. sparkforge_aws-0.5.0/skills/analyze-spark-ui/evals/evals.json +33 -0
  1130. sparkforge_aws-0.5.0/skills/analyze-spark-ui/references/README.md +13 -0
  1131. sparkforge_aws-0.5.0/skills/analyze-spark-ui/scripts/validate_evidence.py +11 -0
  1132. sparkforge_aws-0.5.0/skills/analyze-streaming-composition/SKILL.md +198 -0
  1133. sparkforge_aws-0.5.0/skills/analyze-streaming-composition/evals/evals.json +7 -0
  1134. sparkforge_aws-0.5.0/skills/analyze-streaming-composition/references/README.md +4 -0
  1135. sparkforge_aws-0.5.0/skills/analyze-streaming-composition/scripts/validate_evidence.py +5 -0
  1136. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/SKILL.md +293 -0
  1137. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/evals/evals.json +33 -0
  1138. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/README.md +13 -0
  1139. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/budgets.md +50 -0
  1140. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/cost-audit.md +75 -0
  1141. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/cost-explorer.md +130 -0
  1142. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/cost-optimization-hub.md +140 -0
  1143. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/cur-athena.md +103 -0
  1144. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/deterministic-calculations.md +62 -0
  1145. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/ebs-optimization.md +49 -0
  1146. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/ec2-rightsizing.md +86 -0
  1147. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/free-tier.md +34 -0
  1148. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/lambda-optimization.md +46 -0
  1149. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/pricing-lookup.md +78 -0
  1150. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/rds-optimization.md +39 -0
  1151. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/reserved-instances.md +62 -0
  1152. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/savings-plans.md +69 -0
  1153. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/references/service-optimization.md +58 -0
  1154. sparkforge_aws-0.5.0/skills/aws-billing-and-cost-management/scripts/validate_evidence.py +11 -0
  1155. sparkforge_aws-0.5.0/skills/aws-database/SKILL.md +189 -0
  1156. sparkforge_aws-0.5.0/skills/aws-database/evals/evals.json +33 -0
  1157. sparkforge_aws-0.5.0/skills/aws-database/references/README.md +13 -0
  1158. sparkforge_aws-0.5.0/skills/aws-database/references/handoff.md +74 -0
  1159. sparkforge_aws-0.5.0/skills/aws-database/references/report-issue.md +59 -0
  1160. sparkforge_aws-0.5.0/skills/aws-database/references/select.md +243 -0
  1161. sparkforge_aws-0.5.0/skills/aws-database/scripts/validate_evidence.py +11 -0
  1162. sparkforge_aws-0.5.0/skills/aws-iam/SKILL.md +248 -0
  1163. sparkforge_aws-0.5.0/skills/aws-iam/evals/evals.json +33 -0
  1164. sparkforge_aws-0.5.0/skills/aws-iam/references/README.md +13 -0
  1165. sparkforge_aws-0.5.0/skills/aws-iam/references/aws-iam-policy-generation.md +504 -0
  1166. sparkforge_aws-0.5.0/skills/aws-iam/references/aws-iam-role-management.md +108 -0
  1167. sparkforge_aws-0.5.0/skills/aws-iam/references/common-pitfalls.md +127 -0
  1168. sparkforge_aws-0.5.0/skills/aws-iam/references/service-authorization.md +84 -0
  1169. sparkforge_aws-0.5.0/skills/aws-iam/scripts/validate_evidence.py +11 -0
  1170. sparkforge_aws-0.5.0/skills/aws-messaging-and-streaming/SKILL.md +314 -0
  1171. sparkforge_aws-0.5.0/skills/aws-messaging-and-streaming/evals/evals.json +33 -0
  1172. sparkforge_aws-0.5.0/skills/aws-messaging-and-streaming/references/README.md +13 -0
  1173. sparkforge_aws-0.5.0/skills/aws-messaging-and-streaming/scripts/validate_evidence.py +11 -0
  1174. sparkforge_aws-0.5.0/skills/aws-observability/SKILL.md +158 -0
  1175. sparkforge_aws-0.5.0/skills/aws-observability/evals/evals.json +33 -0
  1176. sparkforge_aws-0.5.0/skills/aws-observability/references/README.md +13 -0
  1177. sparkforge_aws-0.5.0/skills/aws-observability/references/alarms.md +263 -0
  1178. sparkforge_aws-0.5.0/skills/aws-observability/references/application-signals-cicd-metadata.md +132 -0
  1179. sparkforge_aws-0.5.0/skills/aws-observability/references/application-signals-onboarding.md +223 -0
  1180. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/ec2-dotnet.md +318 -0
  1181. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/ec2-java.md +246 -0
  1182. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/ec2-nodejs.md +449 -0
  1183. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/ec2-python.md +627 -0
  1184. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/ecs-dotnet.md +250 -0
  1185. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/ecs-java.md +180 -0
  1186. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/ecs-nodejs.md +193 -0
  1187. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/ecs-python.md +238 -0
  1188. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/eks-dotnet.md +137 -0
  1189. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/eks-java.md +137 -0
  1190. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/eks-nodejs.md +137 -0
  1191. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/eks-python.md +162 -0
  1192. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/lambda-dotnet.md +86 -0
  1193. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/lambda-java.md +104 -0
  1194. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/lambda-nodejs.md +162 -0
  1195. sparkforge_aws-0.5.0/skills/aws-observability/references/appsignals-guides/lambda-python.md +185 -0
  1196. sparkforge_aws-0.5.0/skills/aws-observability/references/cloudtrail.md +117 -0
  1197. sparkforge_aws-0.5.0/skills/aws-observability/references/dashboards.md +157 -0
  1198. sparkforge_aws-0.5.0/skills/aws-observability/references/dynamic-instrumentation/breakpoint-creation.md +359 -0
  1199. sparkforge_aws-0.5.0/skills/aws-observability/references/dynamic-instrumentation/call-tree-and-directions.md +166 -0
  1200. sparkforge_aws-0.5.0/skills/aws-observability/references/dynamic-instrumentation/snapshot-parsing.md +82 -0
  1201. sparkforge_aws-0.5.0/skills/aws-observability/references/dynamic-instrumentation.md +562 -0
  1202. sparkforge_aws-0.5.0/skills/aws-observability/references/log-insights.md +254 -0
  1203. sparkforge_aws-0.5.0/skills/aws-observability/references/metrics.md +192 -0
  1204. sparkforge_aws-0.5.0/skills/aws-observability/references/synthetics.md +136 -0
  1205. sparkforge_aws-0.5.0/skills/aws-observability/references/tracing.md +253 -0
  1206. sparkforge_aws-0.5.0/skills/aws-observability/references/troubleshooting.md +122 -0
  1207. sparkforge_aws-0.5.0/skills/aws-observability/scripts/validate_evidence.py +11 -0
  1208. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/SKILL.md +365 -0
  1209. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/evals/evals.json +33 -0
  1210. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/references/README.md +13 -0
  1211. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/references/configuration.md +151 -0
  1212. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/references/credentials.md +127 -0
  1213. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/references/dynamodb.md +295 -0
  1214. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/references/error-handling.md +139 -0
  1215. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/references/pagination.md +104 -0
  1216. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/references/s3.md +223 -0
  1217. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/references/waiters.md +121 -0
  1218. sparkforge_aws-0.5.0/skills/aws-sdk-python-usage/scripts/validate_evidence.py +11 -0
  1219. sparkforge_aws-0.5.0/skills/aws-security/SKILL.md +245 -0
  1220. sparkforge_aws-0.5.0/skills/aws-security/evals/evals.json +33 -0
  1221. sparkforge_aws-0.5.0/skills/aws-security/references/README.md +13 -0
  1222. sparkforge_aws-0.5.0/skills/aws-security/references/detective-configuration.md +127 -0
  1223. sparkforge_aws-0.5.0/skills/aws-security/references/detective-investigations.md +97 -0
  1224. sparkforge_aws-0.5.0/skills/aws-security/references/detective.md +68 -0
  1225. sparkforge_aws-0.5.0/skills/aws-security/references/guardduty-configuration.md +152 -0
  1226. sparkforge_aws-0.5.0/skills/aws-security/references/guardduty-findings.md +128 -0
  1227. sparkforge_aws-0.5.0/skills/aws-security/references/guardduty.md +80 -0
  1228. sparkforge_aws-0.5.0/skills/aws-security/references/inspector-configuration.md +132 -0
  1229. sparkforge_aws-0.5.0/skills/aws-security/references/inspector-findings.md +115 -0
  1230. sparkforge_aws-0.5.0/skills/aws-security/references/inspector.md +77 -0
  1231. sparkforge_aws-0.5.0/skills/aws-security/references/macie-configuration.md +158 -0
  1232. sparkforge_aws-0.5.0/skills/aws-security/references/macie-findings.md +124 -0
  1233. sparkforge_aws-0.5.0/skills/aws-security/references/macie.md +72 -0
  1234. sparkforge_aws-0.5.0/skills/aws-security/references/organization-policies.md +58 -0
  1235. sparkforge_aws-0.5.0/skills/aws-security/references/security-hub-configuration.md +159 -0
  1236. sparkforge_aws-0.5.0/skills/aws-security/references/security-hub-cspm-configuration.md +137 -0
  1237. sparkforge_aws-0.5.0/skills/aws-security/references/security-hub-cspm-findings.md +117 -0
  1238. sparkforge_aws-0.5.0/skills/aws-security/references/security-hub-cspm.md +108 -0
  1239. sparkforge_aws-0.5.0/skills/aws-security/references/security-hub-findings.md +147 -0
  1240. sparkforge_aws-0.5.0/skills/aws-security/references/security-hub.md +91 -0
  1241. sparkforge_aws-0.5.0/skills/aws-security/references/security-lake-configuration.md +132 -0
  1242. sparkforge_aws-0.5.0/skills/aws-security/references/security-lake-sources.md +117 -0
  1243. sparkforge_aws-0.5.0/skills/aws-security/references/security-lake.md +53 -0
  1244. sparkforge_aws-0.5.0/skills/aws-security/references/services-overview.md +110 -0
  1245. sparkforge_aws-0.5.0/skills/aws-security/scripts/validate_evidence.py +11 -0
  1246. sparkforge_aws-0.5.0/skills/aws-serverless/SKILL.md +180 -0
  1247. sparkforge_aws-0.5.0/skills/aws-serverless/assets/powertools-handler.py +66 -0
  1248. sparkforge_aws-0.5.0/skills/aws-serverless/evals/evals.json +33 -0
  1249. sparkforge_aws-0.5.0/skills/aws-serverless/references/README.md +13 -0
  1250. sparkforge_aws-0.5.0/skills/aws-serverless/references/api-gateway.md +133 -0
  1251. sparkforge_aws-0.5.0/skills/aws-serverless/references/architecture.md +123 -0
  1252. sparkforge_aws-0.5.0/skills/aws-serverless/references/concurrency.md +86 -0
  1253. sparkforge_aws-0.5.0/skills/aws-serverless/references/deployment.md +94 -0
  1254. sparkforge_aws-0.5.0/skills/aws-serverless/references/event-sources.md +165 -0
  1255. sparkforge_aws-0.5.0/skills/aws-serverless/references/lambda.md +189 -0
  1256. sparkforge_aws-0.5.0/skills/aws-serverless/references/orchestration.md +130 -0
  1257. sparkforge_aws-0.5.0/skills/aws-serverless/references/production.md +156 -0
  1258. sparkforge_aws-0.5.0/skills/aws-serverless/references/troubleshooting.md +184 -0
  1259. sparkforge_aws-0.5.0/skills/aws-serverless/scripts/validate_evidence.py +11 -0
  1260. sparkforge_aws-0.5.0/skills/aws-storage/SKILL.md +299 -0
  1261. sparkforge_aws-0.5.0/skills/aws-storage/evals/evals.json +33 -0
  1262. sparkforge_aws-0.5.0/skills/aws-storage/references/README.md +13 -0
  1263. sparkforge_aws-0.5.0/skills/aws-storage/references/data-movement-and-protection-knowledge.md +56 -0
  1264. sparkforge_aws-0.5.0/skills/aws-storage/references/ebs-knowledge.md +45 -0
  1265. sparkforge_aws-0.5.0/skills/aws-storage/references/efs-knowledge.md +34 -0
  1266. sparkforge_aws-0.5.0/skills/aws-storage/references/fsx-lustre-knowledge.md +46 -0
  1267. sparkforge_aws-0.5.0/skills/aws-storage/references/fsx-ontap-knowledge.md +46 -0
  1268. sparkforge_aws-0.5.0/skills/aws-storage/references/fsx-openzfs-knowledge.md +44 -0
  1269. sparkforge_aws-0.5.0/skills/aws-storage/references/fsx-windows-knowledge.md +43 -0
  1270. sparkforge_aws-0.5.0/skills/aws-storage/references/s3-express-knowledge.md +35 -0
  1271. sparkforge_aws-0.5.0/skills/aws-storage/references/s3-files-knowledge.md +43 -0
  1272. sparkforge_aws-0.5.0/skills/aws-storage/references/s3-general-purpose-knowledge.md +39 -0
  1273. sparkforge_aws-0.5.0/skills/aws-storage/references/s3-tables-knowledge.md +45 -0
  1274. sparkforge_aws-0.5.0/skills/aws-storage/references/s3-vectors-knowledge.md +43 -0
  1275. sparkforge_aws-0.5.0/skills/aws-storage/scripts/validate_evidence.py +11 -0
  1276. sparkforge_aws-0.5.0/skills/benchmark-pyspark-job/SKILL.md +230 -0
  1277. sparkforge_aws-0.5.0/skills/benchmark-pyspark-job/evals/evals.json +33 -0
  1278. sparkforge_aws-0.5.0/skills/benchmark-pyspark-job/references/README.md +13 -0
  1279. sparkforge_aws-0.5.0/skills/benchmark-pyspark-job/scripts/validate_evidence.py +11 -0
  1280. sparkforge_aws-0.5.0/skills/compare-releases/SKILL.md +220 -0
  1281. sparkforge_aws-0.5.0/skills/compare-releases/evals/evals.json +33 -0
  1282. sparkforge_aws-0.5.0/skills/compare-releases/references/README.md +11 -0
  1283. sparkforge_aws-0.5.0/skills/compare-releases/scripts/validate_evidence.py +11 -0
  1284. sparkforge_aws-0.5.0/skills/design-data-architecture/SKILL.md +57 -0
  1285. sparkforge_aws-0.5.0/skills/design-data-architecture/evals/evals.json +33 -0
  1286. sparkforge_aws-0.5.0/skills/design-data-architecture/references/README.md +13 -0
  1287. sparkforge_aws-0.5.0/skills/design-data-architecture/scripts/validate_evidence.py +11 -0
  1288. sparkforge_aws-0.5.0/skills/design-incremental-processing/SKILL.md +167 -0
  1289. sparkforge_aws-0.5.0/skills/design-incremental-processing/evals/evals.json +33 -0
  1290. sparkforge_aws-0.5.0/skills/design-incremental-processing/references/README.md +13 -0
  1291. sparkforge_aws-0.5.0/skills/design-incremental-processing/scripts/validate_evidence.py +11 -0
  1292. sparkforge_aws-0.5.0/skills/design-realtime-data-architecture/SKILL.md +72 -0
  1293. sparkforge_aws-0.5.0/skills/design-realtime-data-architecture/evals/evals.json +7 -0
  1294. sparkforge_aws-0.5.0/skills/design-realtime-data-architecture/references/README.md +3 -0
  1295. sparkforge_aws-0.5.0/skills/design-realtime-data-architecture/scripts/validate_evidence.py +5 -0
  1296. sparkforge_aws-0.5.0/skills/design-s3-data-lake/SKILL.md +57 -0
  1297. sparkforge_aws-0.5.0/skills/design-s3-data-lake/evals/evals.json +33 -0
  1298. sparkforge_aws-0.5.0/skills/design-s3-data-lake/references/README.md +13 -0
  1299. sparkforge_aws-0.5.0/skills/design-s3-data-lake/scripts/validate_evidence.py +11 -0
  1300. sparkforge_aws-0.5.0/skills/diagnose-data-skew/SKILL.md +131 -0
  1301. sparkforge_aws-0.5.0/skills/diagnose-data-skew/evals/evals.json +33 -0
  1302. sparkforge_aws-0.5.0/skills/diagnose-data-skew/references/README.md +13 -0
  1303. sparkforge_aws-0.5.0/skills/diagnose-data-skew/scripts/validate_evidence.py +11 -0
  1304. sparkforge_aws-0.5.0/skills/diagnose-lakeformation-access/SKILL.md +259 -0
  1305. sparkforge_aws-0.5.0/skills/diagnose-lakeformation-access/evals/evals.json +33 -0
  1306. sparkforge_aws-0.5.0/skills/diagnose-lakeformation-access/references/README.md +13 -0
  1307. sparkforge_aws-0.5.0/skills/diagnose-lakeformation-access/scripts/validate_evidence.py +11 -0
  1308. sparkforge_aws-0.5.0/skills/diagnose-oom/SKILL.md +135 -0
  1309. sparkforge_aws-0.5.0/skills/diagnose-oom/evals/evals.json +33 -0
  1310. sparkforge_aws-0.5.0/skills/diagnose-oom/references/README.md +13 -0
  1311. sparkforge_aws-0.5.0/skills/diagnose-oom/scripts/validate_evidence.py +11 -0
  1312. sparkforge_aws-0.5.0/skills/glue-incremental-performance-architect/SKILL.md +155 -0
  1313. sparkforge_aws-0.5.0/skills/glue-incremental-performance-architect/evals/evals.json +33 -0
  1314. sparkforge_aws-0.5.0/skills/glue-incremental-performance-architect/references/README.md +11 -0
  1315. sparkforge_aws-0.5.0/skills/glue-incremental-performance-architect/scripts/validate_evidence.py +11 -0
  1316. sparkforge_aws-0.5.0/skills/harden-s3-bucket/SKILL.md +196 -0
  1317. sparkforge_aws-0.5.0/skills/harden-s3-bucket/evals/evals.json +33 -0
  1318. sparkforge_aws-0.5.0/skills/harden-s3-bucket/references/README.md +13 -0
  1319. sparkforge_aws-0.5.0/skills/harden-s3-bucket/scripts/validate_evidence.py +11 -0
  1320. sparkforge_aws-0.5.0/skills/iceberg-v3-readiness/SKILL.md +114 -0
  1321. sparkforge_aws-0.5.0/skills/iceberg-v3-readiness/evals/evals.json +33 -0
  1322. sparkforge_aws-0.5.0/skills/iceberg-v3-readiness/references/README.md +13 -0
  1323. sparkforge_aws-0.5.0/skills/iceberg-v3-readiness/scripts/validate_evidence.py +11 -0
  1324. sparkforge_aws-0.5.0/skills/lakeformation-architecture/SKILL.md +157 -0
  1325. sparkforge_aws-0.5.0/skills/lakeformation-architecture/evals/evals.json +33 -0
  1326. sparkforge_aws-0.5.0/skills/lakeformation-architecture/references/README.md +14 -0
  1327. sparkforge_aws-0.5.0/skills/lakeformation-architecture/scripts/validate_evidence.py +11 -0
  1328. sparkforge_aws-0.5.0/skills/lakeformation-fgac-guard/SKILL.md +241 -0
  1329. sparkforge_aws-0.5.0/skills/lakeformation-fgac-guard/evals/evals.json +33 -0
  1330. sparkforge_aws-0.5.0/skills/lakeformation-fgac-guard/references/README.md +13 -0
  1331. sparkforge_aws-0.5.0/skills/lakeformation-fgac-guard/scripts/validate_evidence.py +11 -0
  1332. sparkforge_aws-0.5.0/skills/migrate-glue-6/SKILL.md +101 -0
  1333. sparkforge_aws-0.5.0/skills/migrate-glue-6/evals/evals.json +33 -0
  1334. sparkforge_aws-0.5.0/skills/migrate-glue-6/references/README.md +11 -0
  1335. sparkforge_aws-0.5.0/skills/migrate-glue-6/scripts/validate_evidence.py +11 -0
  1336. sparkforge_aws-0.5.0/skills/optimize-iceberg-table/SKILL.md +166 -0
  1337. sparkforge_aws-0.5.0/skills/optimize-iceberg-table/evals/evals.json +33 -0
  1338. sparkforge_aws-0.5.0/skills/optimize-iceberg-table/references/README.md +13 -0
  1339. sparkforge_aws-0.5.0/skills/optimize-iceberg-table/scripts/validate_evidence.py +11 -0
  1340. sparkforge_aws-0.5.0/skills/optimize-latest-per-key/SKILL.md +143 -0
  1341. sparkforge_aws-0.5.0/skills/optimize-latest-per-key/evals/evals.json +33 -0
  1342. sparkforge_aws-0.5.0/skills/optimize-latest-per-key/references/README.md +11 -0
  1343. sparkforge_aws-0.5.0/skills/optimize-latest-per-key/scripts/validate_evidence.py +11 -0
  1344. sparkforge_aws-0.5.0/skills/optimize-parquet-layout/SKILL.md +195 -0
  1345. sparkforge_aws-0.5.0/skills/optimize-parquet-layout/evals/evals.json +33 -0
  1346. sparkforge_aws-0.5.0/skills/optimize-parquet-layout/references/README.md +13 -0
  1347. sparkforge_aws-0.5.0/skills/optimize-parquet-layout/scripts/validate_evidence.py +11 -0
  1348. sparkforge_aws-0.5.0/skills/optimize-pyspark-code/SKILL.md +190 -0
  1349. sparkforge_aws-0.5.0/skills/optimize-pyspark-code/evals/evals.json +33 -0
  1350. sparkforge_aws-0.5.0/skills/optimize-pyspark-code/references/README.md +13 -0
  1351. sparkforge_aws-0.5.0/skills/optimize-pyspark-code/scripts/validate_evidence.py +11 -0
  1352. sparkforge_aws-0.5.0/skills/optimize-variable-volume-job/SKILL.md +109 -0
  1353. sparkforge_aws-0.5.0/skills/optimize-variable-volume-job/evals/evals.json +33 -0
  1354. sparkforge_aws-0.5.0/skills/optimize-variable-volume-job/references/README.md +13 -0
  1355. sparkforge_aws-0.5.0/skills/optimize-variable-volume-job/scripts/validate_evidence.py +11 -0
  1356. sparkforge_aws-0.5.0/skills/propose-change-pr/SKILL.md +85 -0
  1357. sparkforge_aws-0.5.0/skills/propose-change-pr/evals/evals.json +33 -0
  1358. sparkforge_aws-0.5.0/skills/propose-change-pr/references/README.md +11 -0
  1359. sparkforge_aws-0.5.0/skills/propose-change-pr/scripts/validate_evidence.py +11 -0
  1360. sparkforge_aws-0.5.0/skills/provision-s3-tables-table/SKILL.md +244 -0
  1361. sparkforge_aws-0.5.0/skills/provision-s3-tables-table/evals/evals.json +33 -0
  1362. sparkforge_aws-0.5.0/skills/provision-s3-tables-table/references/README.md +13 -0
  1363. sparkforge_aws-0.5.0/skills/provision-s3-tables-table/scripts/validate_evidence.py +11 -0
  1364. sparkforge_aws-0.5.0/skills/review-cdc-replication/SKILL.md +111 -0
  1365. sparkforge_aws-0.5.0/skills/review-cdc-replication/evals/evals.json +7 -0
  1366. sparkforge_aws-0.5.0/skills/review-cdc-replication/references/README.md +4 -0
  1367. sparkforge_aws-0.5.0/skills/review-cdc-replication/scripts/validate_evidence.py +5 -0
  1368. sparkforge_aws-0.5.0/skills/review-data-validation/SKILL.md +286 -0
  1369. sparkforge_aws-0.5.0/skills/review-data-validation/evals/evals.json +33 -0
  1370. sparkforge_aws-0.5.0/skills/review-data-validation/references/README.md +13 -0
  1371. sparkforge_aws-0.5.0/skills/review-data-validation/scripts/validate_evidence.py +11 -0
  1372. sparkforge_aws-0.5.0/skills/review-emr-cluster/SKILL.md +298 -0
  1373. sparkforge_aws-0.5.0/skills/review-emr-cluster/evals/evals.json +33 -0
  1374. sparkforge_aws-0.5.0/skills/review-emr-cluster/references/README.md +13 -0
  1375. sparkforge_aws-0.5.0/skills/review-emr-cluster/scripts/validate_evidence.py +11 -0
  1376. sparkforge_aws-0.5.0/skills/review-emr-eks/SKILL.md +415 -0
  1377. sparkforge_aws-0.5.0/skills/review-emr-eks/evals/evals.json +33 -0
  1378. sparkforge_aws-0.5.0/skills/review-emr-eks/references/README.md +13 -0
  1379. sparkforge_aws-0.5.0/skills/review-emr-eks/scripts/validate_evidence.py +11 -0
  1380. sparkforge_aws-0.5.0/skills/review-event-driven-architecture/SKILL.md +92 -0
  1381. sparkforge_aws-0.5.0/skills/review-event-driven-architecture/evals/evals.json +7 -0
  1382. sparkforge_aws-0.5.0/skills/review-event-driven-architecture/references/README.md +4 -0
  1383. sparkforge_aws-0.5.0/skills/review-event-driven-architecture/scripts/validate_evidence.py +5 -0
  1384. sparkforge_aws-0.5.0/skills/review-glue-streaming/SKILL.md +104 -0
  1385. sparkforge_aws-0.5.0/skills/review-glue-streaming/evals/evals.json +7 -0
  1386. sparkforge_aws-0.5.0/skills/review-glue-streaming/references/README.md +4 -0
  1387. sparkforge_aws-0.5.0/skills/review-glue-streaming/scripts/validate_evidence.py +5 -0
  1388. sparkforge_aws-0.5.0/skills/review-glue-terraform/SKILL.md +175 -0
  1389. sparkforge_aws-0.5.0/skills/review-glue-terraform/evals/evals.json +33 -0
  1390. sparkforge_aws-0.5.0/skills/review-glue-terraform/references/README.md +13 -0
  1391. sparkforge_aws-0.5.0/skills/review-glue-terraform/scripts/validate_evidence.py +11 -0
  1392. sparkforge_aws-0.5.0/skills/review-pyspark-pr/SKILL.md +156 -0
  1393. sparkforge_aws-0.5.0/skills/review-pyspark-pr/evals/evals.json +33 -0
  1394. sparkforge_aws-0.5.0/skills/review-pyspark-pr/references/README.md +13 -0
  1395. sparkforge_aws-0.5.0/skills/review-pyspark-pr/scripts/validate_evidence.py +11 -0
  1396. sparkforge_aws-0.5.0/skills/review-streaming-operations/SKILL.md +122 -0
  1397. sparkforge_aws-0.5.0/skills/review-streaming-operations/evals/evals.json +7 -0
  1398. sparkforge_aws-0.5.0/skills/review-streaming-operations/references/README.md +5 -0
  1399. sparkforge_aws-0.5.0/skills/review-streaming-operations/scripts/validate_evidence.py +5 -0
  1400. sparkforge_aws-0.5.0/skills/review-structured-streaming/SKILL.md +121 -0
  1401. sparkforge_aws-0.5.0/skills/review-structured-streaming/evals/evals.json +17 -0
  1402. sparkforge_aws-0.5.0/skills/review-structured-streaming/references/README.md +6 -0
  1403. sparkforge_aws-0.5.0/skills/review-structured-streaming/scripts/validate_evidence.py +5 -0
  1404. sparkforge_aws-0.5.0/skills/review-terraform-data-platform/SKILL.md +57 -0
  1405. sparkforge_aws-0.5.0/skills/review-terraform-data-platform/evals/evals.json +33 -0
  1406. sparkforge_aws-0.5.0/skills/review-terraform-data-platform/references/README.md +13 -0
  1407. sparkforge_aws-0.5.0/skills/review-terraform-data-platform/scripts/validate_evidence.py +11 -0
  1408. sparkforge_aws-0.5.0/skills/run-debate/SKILL.md +90 -0
  1409. sparkforge_aws-0.5.0/skills/run-debate/evals/evals.json +33 -0
  1410. sparkforge_aws-0.5.0/skills/run-debate/references/README.md +11 -0
  1411. sparkforge_aws-0.5.0/skills/run-debate/scripts/validate_evidence.py +11 -0
  1412. sparkforge_aws-0.5.0/skills/sdd-build/SKILL.md +265 -0
  1413. sparkforge_aws-0.5.0/skills/sdd-build/evals/evals.json +33 -0
  1414. sparkforge_aws-0.5.0/skills/sdd-build/references/README.md +13 -0
  1415. sparkforge_aws-0.5.0/skills/sdd-build/scripts/validate_evidence.py +11 -0
  1416. sparkforge_aws-0.5.0/skills/sdd-define/SKILL.md +172 -0
  1417. sparkforge_aws-0.5.0/skills/sdd-define/evals/evals.json +33 -0
  1418. sparkforge_aws-0.5.0/skills/sdd-define/references/README.md +13 -0
  1419. sparkforge_aws-0.5.0/skills/sdd-define/scripts/validate_evidence.py +11 -0
  1420. sparkforge_aws-0.5.0/skills/sdd-design/SKILL.md +144 -0
  1421. sparkforge_aws-0.5.0/skills/sdd-design/evals/evals.json +33 -0
  1422. sparkforge_aws-0.5.0/skills/sdd-design/references/README.md +13 -0
  1423. sparkforge_aws-0.5.0/skills/sdd-design/scripts/validate_evidence.py +11 -0
  1424. sparkforge_aws-0.5.0/skills/sdd-explore/SKILL.md +141 -0
  1425. sparkforge_aws-0.5.0/skills/sdd-explore/evals/evals.json +33 -0
  1426. sparkforge_aws-0.5.0/skills/sdd-explore/references/README.md +13 -0
  1427. sparkforge_aws-0.5.0/skills/sdd-explore/scripts/validate_evidence.py +11 -0
  1428. sparkforge_aws-0.5.0/skills/sdd-plan/SKILL.md +165 -0
  1429. sparkforge_aws-0.5.0/skills/sdd-plan/evals/evals.json +33 -0
  1430. sparkforge_aws-0.5.0/skills/sdd-plan/references/README.md +13 -0
  1431. sparkforge_aws-0.5.0/skills/sdd-plan/scripts/validate_evidence.py +11 -0
  1432. sparkforge_aws-0.5.0/skills/sdd-ship/SKILL.md +209 -0
  1433. sparkforge_aws-0.5.0/skills/sdd-ship/evals/evals.json +33 -0
  1434. sparkforge_aws-0.5.0/skills/sdd-ship/references/README.md +13 -0
  1435. sparkforge_aws-0.5.0/skills/sdd-ship/scripts/validate_evidence.py +11 -0
  1436. sparkforge_aws-0.5.0/skills/spark4-compatibility/SKILL.md +99 -0
  1437. sparkforge_aws-0.5.0/skills/spark4-compatibility/evals/evals.json +33 -0
  1438. sparkforge_aws-0.5.0/skills/spark4-compatibility/references/README.md +13 -0
  1439. sparkforge_aws-0.5.0/skills/spark4-compatibility/scripts/validate_evidence.py +11 -0
  1440. sparkforge_aws-0.5.0/skills/sparkforge-aws-diagnose/SKILL.md +206 -0
  1441. sparkforge_aws-0.5.0/skills/sparkforge-aws-diagnose/evals/evals.json +33 -0
  1442. sparkforge_aws-0.5.0/skills/sparkforge-aws-diagnose/references/README.md +13 -0
  1443. sparkforge_aws-0.5.0/skills/sparkforge-aws-diagnose/scripts/validate_evidence.py +11 -0
  1444. sparkforge_aws-0.5.0/skills/tool-specialist-routing/SKILL.md +52 -0
  1445. sparkforge_aws-0.5.0/skills/tool-specialist-routing/evals/evals.json +33 -0
  1446. sparkforge_aws-0.5.0/skills/tool-specialist-routing/references/README.md +11 -0
  1447. sparkforge_aws-0.5.0/skills/tool-specialist-routing/scripts/validate_evidence.py +11 -0
  1448. sparkforge_aws-0.5.0/skills/tune-glue-job/SKILL.md +116 -0
  1449. sparkforge_aws-0.5.0/skills/tune-glue-job/evals/evals.json +33 -0
  1450. sparkforge_aws-0.5.0/skills/tune-glue-job/references/README.md +11 -0
  1451. sparkforge_aws-0.5.0/skills/tune-glue-job/scripts/validate_evidence.py +11 -0
  1452. sparkforge_aws-0.5.0/sparkforge_aws/__init__.py +3 -0
  1453. sparkforge_aws-0.5.0/sparkforge_aws/_forge_portal.py +913 -0
  1454. sparkforge_aws-0.5.0/sparkforge_aws/_graphstudio.py +376 -0
  1455. sparkforge_aws-0.5.0/sparkforge_aws/_graphview.py +181 -0
  1456. sparkforge_aws-0.5.0/sparkforge_aws/_installkit.py +1706 -0
  1457. sparkforge_aws-0.5.0/sparkforge_aws/adapters/__init__.py +1 -0
  1458. sparkforge_aws-0.5.0/sparkforge_aws/adapters/_core.py +9827 -0
  1459. sparkforge_aws-0.5.0/sparkforge_aws/adapters/cli.py +6668 -0
  1460. sparkforge_aws-0.5.0/sparkforge_aws/adapters/mcp.py +367 -0
  1461. sparkforge_aws-0.5.0/sparkforge_aws/adapters/mcp_compact.py +437 -0
  1462. sparkforge_aws-0.5.0/sparkforge_aws/adapters/mcp_envelope.py +141 -0
  1463. sparkforge_aws-0.5.0/sparkforge_aws/adapters/platforms/__init__.py +27 -0
  1464. sparkforge_aws-0.5.0/sparkforge_aws/adapters/platforms/antigravity.py +54 -0
  1465. sparkforge_aws-0.5.0/sparkforge_aws/adapters/platforms/base.py +29 -0
  1466. sparkforge_aws-0.5.0/sparkforge_aws/adapters/platforms/claude.py +31 -0
  1467. sparkforge_aws-0.5.0/sparkforge_aws/adapters/platforms/compiler.py +50 -0
  1468. sparkforge_aws-0.5.0/sparkforge_aws/adapters/platforms/cursor.py +39 -0
  1469. sparkforge_aws-0.5.0/sparkforge_aws/adapters/platforms/targets.py +83 -0
  1470. sparkforge_aws-0.5.0/sparkforge_aws/adapters/tools.py +12919 -0
  1471. sparkforge_aws-0.5.0/sparkforge_aws/adapters/upstream.py +198 -0
  1472. sparkforge_aws-0.5.0/sparkforge_aws/agentic/__init__.py +129 -0
  1473. sparkforge_aws-0.5.0/sparkforge_aws/agentic/arbitration.py +380 -0
  1474. sparkforge_aws-0.5.0/sparkforge_aws/agentic/autonomy.py +253 -0
  1475. sparkforge_aws-0.5.0/sparkforge_aws/agentic/blackboard.py +328 -0
  1476. sparkforge_aws-0.5.0/sparkforge_aws/agentic/budget.py +576 -0
  1477. sparkforge_aws-0.5.0/sparkforge_aws/agentic/checkpoint.py +123 -0
  1478. sparkforge_aws-0.5.0/sparkforge_aws/agentic/control.py +382 -0
  1479. sparkforge_aws-0.5.0/sparkforge_aws/agentic/debate.py +265 -0
  1480. sparkforge_aws-0.5.0/sparkforge_aws/agentic/decision.py +228 -0
  1481. sparkforge_aws-0.5.0/sparkforge_aws/agentic/evidence.py +285 -0
  1482. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/__init__.py +19 -0
  1483. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/authority.py +190 -0
  1484. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/claims.py +314 -0
  1485. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/conflict.py +163 -0
  1486. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/debate_evidence.py +257 -0
  1487. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/debate_run.py +1166 -0
  1488. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/digest.py +101 -0
  1489. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/gate.py +303 -0
  1490. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/ordering.py +323 -0
  1491. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/plan.py +314 -0
  1492. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/run.py +1117 -0
  1493. sparkforge_aws-0.5.0/sparkforge_aws/agentic/executor/unknowns.py +306 -0
  1494. sparkforge_aws-0.5.0/sparkforge_aws/agentic/experiment.py +189 -0
  1495. sparkforge_aws-0.5.0/sparkforge_aws/agentic/governor.py +290 -0
  1496. sparkforge_aws-0.5.0/sparkforge_aws/agentic/graph.py +351 -0
  1497. sparkforge_aws-0.5.0/sparkforge_aws/agentic/handoff.py +520 -0
  1498. sparkforge_aws-0.5.0/sparkforge_aws/agentic/memory.py +719 -0
  1499. sparkforge_aws-0.5.0/sparkforge_aws/agentic/models.py +646 -0
  1500. sparkforge_aws-0.5.0/sparkforge_aws/agentic/recovery.py +156 -0
  1501. sparkforge_aws-0.5.0/sparkforge_aws/agentic/referee.py +345 -0
  1502. sparkforge_aws-0.5.0/sparkforge_aws/agentic/role_plans.py +95 -0
  1503. sparkforge_aws-0.5.0/sparkforge_aws/agentic/runtime.py +223 -0
  1504. sparkforge_aws-0.5.0/sparkforge_aws/agentic/security.py +340 -0
  1505. sparkforge_aws-0.5.0/sparkforge_aws/agentic/shadow.py +177 -0
  1506. sparkforge_aws-0.5.0/sparkforge_aws/agentic/stop.py +166 -0
  1507. sparkforge_aws-0.5.0/sparkforge_aws/agentic/trust.py +323 -0
  1508. sparkforge_aws-0.5.0/sparkforge_aws/agents/__init__.py +28 -0
  1509. sparkforge_aws-0.5.0/sparkforge_aws/agents/autonomy.py +540 -0
  1510. sparkforge_aws-0.5.0/sparkforge_aws/agents/budget.py +99 -0
  1511. sparkforge_aws-0.5.0/sparkforge_aws/agents/observability.py +79 -0
  1512. sparkforge_aws-0.5.0/sparkforge_aws/agents/room.py +130 -0
  1513. sparkforge_aws-0.5.0/sparkforge_aws/analytics/__init__.py +25 -0
  1514. sparkforge_aws-0.5.0/sparkforge_aws/analytics/dbt.py +245 -0
  1515. sparkforge_aws-0.5.0/sparkforge_aws/analytics/duckdb.py +172 -0
  1516. sparkforge_aws-0.5.0/sparkforge_aws/architecture/__init__.py +5 -0
  1517. sparkforge_aws-0.5.0/sparkforge_aws/architecture/streaming.py +364 -0
  1518. sparkforge_aws-0.5.0/sparkforge_aws/capacity/__init__.py +9 -0
  1519. sparkforge_aws-0.5.0/sparkforge_aws/capacity/plan.py +328 -0
  1520. sparkforge_aws-0.5.0/sparkforge_aws/case/__init__.py +1 -0
  1521. sparkforge_aws-0.5.0/sparkforge_aws/case/playbook.py +119 -0
  1522. sparkforge_aws-0.5.0/sparkforge_aws/case/resume.py +334 -0
  1523. sparkforge_aws-0.5.0/sparkforge_aws/case/router.py +384 -0
  1524. sparkforge_aws-0.5.0/sparkforge_aws/case/store.py +598 -0
  1525. sparkforge_aws-0.5.0/sparkforge_aws/catalog/__init__.py +19 -0
  1526. sparkforge_aws-0.5.0/sparkforge_aws/catalog/contract.py +237 -0
  1527. sparkforge_aws-0.5.0/sparkforge_aws/change/__init__.py +42 -0
  1528. sparkforge_aws-0.5.0/sparkforge_aws/change/apply.py +249 -0
  1529. sparkforge_aws-0.5.0/sparkforge_aws/change/plan.py +269 -0
  1530. sparkforge_aws-0.5.0/sparkforge_aws/change/proposal.py +461 -0
  1531. sparkforge_aws-0.5.0/sparkforge_aws/change/refusals.py +115 -0
  1532. sparkforge_aws-0.5.0/sparkforge_aws/change/sandbox.py +312 -0
  1533. sparkforge_aws-0.5.0/sparkforge_aws/cli/__init__.py +6 -0
  1534. sparkforge_aws-0.5.0/sparkforge_aws/cli/forge.py +269 -0
  1535. sparkforge_aws-0.5.0/sparkforge_aws/cloud/__init__.py +16 -0
  1536. sparkforge_aws-0.5.0/sparkforge_aws/cloud/worker.py +46 -0
  1537. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/__init__.py +44 -0
  1538. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/budget.py +383 -0
  1539. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/context.py +892 -0
  1540. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/db.py +494 -0
  1541. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/domain_terms.yaml +145 -0
  1542. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/export.py +208 -0
  1543. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/extract.py +278 -0
  1544. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/graph.py +946 -0
  1545. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/ids.py +150 -0
  1546. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/incremental.py +91 -0
  1547. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/index.py +572 -0
  1548. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/lineage.py +1313 -0
  1549. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/query_expansion.py +84 -0
  1550. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/ranking.py +426 -0
  1551. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/refs.py +188 -0
  1552. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/resolve.py +494 -0
  1553. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/search.py +225 -0
  1554. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/security.py +538 -0
  1555. sparkforge_aws-0.5.0/sparkforge_aws/codeintel/staleness.py +1411 -0
  1556. sparkforge_aws-0.5.0/sparkforge_aws/collect/__init__.py +43 -0
  1557. sparkforge_aws-0.5.0/sparkforge_aws/collect/aws.py +1103 -0
  1558. sparkforge_aws-0.5.0/sparkforge_aws/collect/base.py +234 -0
  1559. sparkforge_aws-0.5.0/sparkforge_aws/collect/cloudwatch_logs.py +316 -0
  1560. sparkforge_aws-0.5.0/sparkforge_aws/collect/glue_resource_link.py +358 -0
  1561. sparkforge_aws-0.5.0/sparkforge_aws/collect/host_usage.py +184 -0
  1562. sparkforge_aws-0.5.0/sparkforge_aws/collect/iam_access.py +243 -0
  1563. sparkforge_aws-0.5.0/sparkforge_aws/collect/lakeformation.py +309 -0
  1564. sparkforge_aws-0.5.0/sparkforge_aws/collect/live_graph.py +439 -0
  1565. sparkforge_aws-0.5.0/sparkforge_aws/collect/managed_flink.py +443 -0
  1566. sparkforge_aws-0.5.0/sparkforge_aws/collect/parquet_footer.py +339 -0
  1567. sparkforge_aws-0.5.0/sparkforge_aws/collect/schema_registry.py +263 -0
  1568. sparkforge_aws-0.5.0/sparkforge_aws/collect/streaming.py +500 -0
  1569. sparkforge_aws-0.5.0/sparkforge_aws/context/__init__.py +47 -0
  1570. sparkforge_aws-0.5.0/sparkforge_aws/context/context_tree.py +66 -0
  1571. sparkforge_aws-0.5.0/sparkforge_aws/context/funnel.py +103 -0
  1572. sparkforge_aws-0.5.0/sparkforge_aws/context/gateway.py +427 -0
  1573. sparkforge_aws-0.5.0/sparkforge_aws/context/gateway_budget.py +186 -0
  1574. sparkforge_aws-0.5.0/sparkforge_aws/context/gateway_capabilities.py +128 -0
  1575. sparkforge_aws-0.5.0/sparkforge_aws/context/gateway_models.py +232 -0
  1576. sparkforge_aws-0.5.0/sparkforge_aws/context/gateway_profiles.yaml +23 -0
  1577. sparkforge_aws-0.5.0/sparkforge_aws/context/gateway_refs.py +81 -0
  1578. sparkforge_aws-0.5.0/sparkforge_aws/context/host_usage.py +68 -0
  1579. sparkforge_aws-0.5.0/sparkforge_aws/context/knowledge_pack.py +132 -0
  1580. sparkforge_aws-0.5.0/sparkforge_aws/context/planner.py +187 -0
  1581. sparkforge_aws-0.5.0/sparkforge_aws/context/progressive.py +72 -0
  1582. sparkforge_aws-0.5.0/sparkforge_aws/context/quality.py +288 -0
  1583. sparkforge_aws-0.5.0/sparkforge_aws/context/schemas/__init__.py +15 -0
  1584. sparkforge_aws-0.5.0/sparkforge_aws/context/schemas/gateway.schema.json +77 -0
  1585. sparkforge_aws-0.5.0/sparkforge_aws/controlm/__init__.py +22 -0
  1586. sparkforge_aws-0.5.0/sparkforge_aws/controlm/descriptor.py +220 -0
  1587. sparkforge_aws-0.5.0/sparkforge_aws/controlm/matrix.py +348 -0
  1588. sparkforge_aws-0.5.0/sparkforge_aws/controlm/migration.py +323 -0
  1589. sparkforge_aws-0.5.0/sparkforge_aws/databases/__init__.py +12 -0
  1590. sparkforge_aws-0.5.0/sparkforge_aws/databases/dynamodb.py +77 -0
  1591. sparkforge_aws-0.5.0/sparkforge_aws/databases/neptune.py +57 -0
  1592. sparkforge_aws-0.5.0/sparkforge_aws/decision/__init__.py +107 -0
  1593. sparkforge_aws-0.5.0/sparkforge_aws/decision/authority.py +302 -0
  1594. sparkforge_aws-0.5.0/sparkforge_aws/decision/cache.py +515 -0
  1595. sparkforge_aws-0.5.0/sparkforge_aws/decision/calibration.py +244 -0
  1596. sparkforge_aws-0.5.0/sparkforge_aws/decision/conditions.py +69 -0
  1597. sparkforge_aws-0.5.0/sparkforge_aws/decision/contracts.py +428 -0
  1598. sparkforge_aws-0.5.0/sparkforge_aws/decision/fingerprint.py +43 -0
  1599. sparkforge_aws-0.5.0/sparkforge_aws/decision/host.py +330 -0
  1600. sparkforge_aws-0.5.0/sparkforge_aws/decision/host_adapters.py +135 -0
  1601. sparkforge_aws-0.5.0/sparkforge_aws/decision/measurement.py +31 -0
  1602. sparkforge_aws-0.5.0/sparkforge_aws/decision/models.py +148 -0
  1603. sparkforge_aws-0.5.0/sparkforge_aws/decision/primitives.py +181 -0
  1604. sparkforge_aws-0.5.0/sparkforge_aws/decision/receipts.py +207 -0
  1605. sparkforge_aws-0.5.0/sparkforge_aws/decision/runtime.py +348 -0
  1606. sparkforge_aws-0.5.0/sparkforge_aws/decision/state.py +99 -0
  1607. sparkforge_aws-0.5.0/sparkforge_aws/diagnosis/__init__.py +19 -0
  1608. sparkforge_aws-0.5.0/sparkforge_aws/diagnosis/root_cause.py +434 -0
  1609. sparkforge_aws-0.5.0/sparkforge_aws/distribution/__init__.py +1 -0
  1610. sparkforge_aws-0.5.0/sparkforge_aws/distribution/cli.py +71 -0
  1611. sparkforge_aws-0.5.0/sparkforge_aws/distribution/config.py +117 -0
  1612. sparkforge_aws-0.5.0/sparkforge_aws/distribution/paths.py +100 -0
  1613. sparkforge_aws-0.5.0/sparkforge_aws/distribution/service.py +304 -0
  1614. sparkforge_aws-0.5.0/sparkforge_aws/doctor.py +251 -0
  1615. sparkforge_aws-0.5.0/sparkforge_aws/dq_ai/__init__.py +5 -0
  1616. sparkforge_aws-0.5.0/sparkforge_aws/dq_ai/assessment.py +250 -0
  1617. sparkforge_aws-0.5.0/sparkforge_aws/dqdl/__init__.py +5 -0
  1618. sparkforge_aws-0.5.0/sparkforge_aws/dqdl/validator.py +153 -0
  1619. sparkforge_aws-0.5.0/sparkforge_aws/durable.py +217 -0
  1620. sparkforge_aws-0.5.0/sparkforge_aws/economy/__init__.py +79 -0
  1621. sparkforge_aws-0.5.0/sparkforge_aws/economy/cache.py +5 -0
  1622. sparkforge_aws-0.5.0/sparkforge_aws/economy/decision_activation.py +59 -0
  1623. sparkforge_aws-0.5.0/sparkforge_aws/economy/decision_compare.py +70 -0
  1624. sparkforge_aws-0.5.0/sparkforge_aws/economy/decision_contracts.py +233 -0
  1625. sparkforge_aws-0.5.0/sparkforge_aws/economy/decision_engine.py +30 -0
  1626. sparkforge_aws-0.5.0/sparkforge_aws/economy/decision_evaluation.py +114 -0
  1627. sparkforge_aws-0.5.0/sparkforge_aws/economy/decision_kernel_bridge.py +208 -0
  1628. sparkforge_aws-0.5.0/sparkforge_aws/economy/decision_models.py +431 -0
  1629. sparkforge_aws-0.5.0/sparkforge_aws/economy/decision_plane.py +539 -0
  1630. sparkforge_aws-0.5.0/sparkforge_aws/economy/decision_receipts.py +212 -0
  1631. sparkforge_aws-0.5.0/sparkforge_aws/economy/goldset.py +261 -0
  1632. sparkforge_aws-0.5.0/sparkforge_aws/economy/ledger.py +203 -0
  1633. sparkforge_aws-0.5.0/sparkforge_aws/economy/model_router.py +368 -0
  1634. sparkforge_aws-0.5.0/sparkforge_aws/economy/provider_cost.py +76 -0
  1635. sparkforge_aws-0.5.0/sparkforge_aws/economy/recall.py +318 -0
  1636. sparkforge_aws-0.5.0/sparkforge_aws/economy/reconcile.py +221 -0
  1637. sparkforge_aws-0.5.0/sparkforge_aws/economy/report.py +86 -0
  1638. sparkforge_aws-0.5.0/sparkforge_aws/economy/router.py +132 -0
  1639. sparkforge_aws-0.5.0/sparkforge_aws/economy/waste_detector.py +136 -0
  1640. sparkforge_aws-0.5.0/sparkforge_aws/errors/__init__.py +6 -0
  1641. sparkforge_aws-0.5.0/sparkforge_aws/errors/matcher.py +350 -0
  1642. sparkforge_aws-0.5.0/sparkforge_aws/evals/__init__.py +6 -0
  1643. sparkforge_aws-0.5.0/sparkforge_aws/evals/__main__.py +8 -0
  1644. sparkforge_aws-0.5.0/sparkforge_aws/evals/cli.py +268 -0
  1645. sparkforge_aws-0.5.0/sparkforge_aws/evals/compare.py +250 -0
  1646. sparkforge_aws-0.5.0/sparkforge_aws/evals/datasets/router_dataset.json +31 -0
  1647. sparkforge_aws-0.5.0/sparkforge_aws/evals/debate_grade.py +333 -0
  1648. sparkforge_aws-0.5.0/sparkforge_aws/evals/decision_plane.py +5 -0
  1649. sparkforge_aws-0.5.0/sparkforge_aws/evals/decision_replay.py +613 -0
  1650. sparkforge_aws-0.5.0/sparkforge_aws/evals/evidence.py +258 -0
  1651. sparkforge_aws-0.5.0/sparkforge_aws/evals/evidence_adapters.py +309 -0
  1652. sparkforge_aws-0.5.0/sparkforge_aws/evals/evidence_resolver.py +283 -0
  1653. sparkforge_aws-0.5.0/sparkforge_aws/evals/evolution.py +1809 -0
  1654. sparkforge_aws-0.5.0/sparkforge_aws/evals/grade.py +268 -0
  1655. sparkforge_aws-0.5.0/sparkforge_aws/evals/lifecycle.py +205 -0
  1656. sparkforge_aws-0.5.0/sparkforge_aws/evals/metric_compiler.py +103 -0
  1657. sparkforge_aws-0.5.0/sparkforge_aws/evals/policy.py +309 -0
  1658. sparkforge_aws-0.5.0/sparkforge_aws/evals/runner.py +315 -0
  1659. sparkforge_aws-0.5.0/sparkforge_aws/evals/suite.py +308 -0
  1660. sparkforge_aws-0.5.0/sparkforge_aws/evals/token_benchmark.py +324 -0
  1661. sparkforge_aws-0.5.0/sparkforge_aws/facts/__init__.py +1 -0
  1662. sparkforge_aws-0.5.0/sparkforge_aws/facts/airflow_dag.py +1035 -0
  1663. sparkforge_aws-0.5.0/sparkforge_aws/facts/athena_cost.py +82 -0
  1664. sparkforge_aws-0.5.0/sparkforge_aws/facts/athena_workgroup.py +280 -0
  1665. sparkforge_aws-0.5.0/sparkforge_aws/facts/benchmark.py +772 -0
  1666. sparkforge_aws-0.5.0/sparkforge_aws/facts/bridge.py +248 -0
  1667. sparkforge_aws-0.5.0/sparkforge_aws/facts/call_graph.py +470 -0
  1668. sparkforge_aws-0.5.0/sparkforge_aws/facts/catalog_schema.py +374 -0
  1669. sparkforge_aws-0.5.0/sparkforge_aws/facts/cdc.py +599 -0
  1670. sparkforge_aws-0.5.0/sparkforge_aws/facts/cloudwatch.py +143 -0
  1671. sparkforge_aws-0.5.0/sparkforge_aws/facts/cloudwatch_logs.py +235 -0
  1672. sparkforge_aws-0.5.0/sparkforge_aws/facts/cloudwatch_retention.py +85 -0
  1673. sparkforge_aws-0.5.0/sparkforge_aws/facts/consumers.py +267 -0
  1674. sparkforge_aws-0.5.0/sparkforge_aws/facts/controlm_jobs.py +1429 -0
  1675. sparkforge_aws-0.5.0/sparkforge_aws/facts/data_quality.py +1764 -0
  1676. sparkforge_aws-0.5.0/sparkforge_aws/facts/emr_cluster.py +1255 -0
  1677. sparkforge_aws-0.5.0/sparkforge_aws/facts/emr_eks.py +823 -0
  1678. sparkforge_aws-0.5.0/sparkforge_aws/facts/emr_serverless.py +1005 -0
  1679. sparkforge_aws-0.5.0/sparkforge_aws/facts/event_driven.py +368 -0
  1680. sparkforge_aws-0.5.0/sparkforge_aws/facts/event_log.py +1229 -0
  1681. sparkforge_aws-0.5.0/sparkforge_aws/facts/exception.py +179 -0
  1682. sparkforge_aws-0.5.0/sparkforge_aws/facts/flink.py +717 -0
  1683. sparkforge_aws-0.5.0/sparkforge_aws/facts/funcval.py +1204 -0
  1684. sparkforge_aws-0.5.0/sparkforge_aws/facts/fusion.py +689 -0
  1685. sparkforge_aws-0.5.0/sparkforge_aws/facts/glue_dq_advanced.py +420 -0
  1686. sparkforge_aws-0.5.0/sparkforge_aws/facts/glue_job_run.py +503 -0
  1687. sparkforge_aws-0.5.0/sparkforge_aws/facts/glue_resource_link.py +287 -0
  1688. sparkforge_aws-0.5.0/sparkforge_aws/facts/glue_streaming.py +370 -0
  1689. sparkforge_aws-0.5.0/sparkforge_aws/facts/glue_terraform.py +114 -0
  1690. sparkforge_aws-0.5.0/sparkforge_aws/facts/graph.py +1455 -0
  1691. sparkforge_aws-0.5.0/sparkforge_aws/facts/host_transcript.py +381 -0
  1692. sparkforge_aws-0.5.0/sparkforge_aws/facts/iam_access.py +228 -0
  1693. sparkforge_aws-0.5.0/sparkforge_aws/facts/iceberg_metadata.py +895 -0
  1694. sparkforge_aws-0.5.0/sparkforge_aws/facts/lakeformation.py +457 -0
  1695. sparkforge_aws-0.5.0/sparkforge_aws/facts/lakeformation_grants.py +312 -0
  1696. sparkforge_aws-0.5.0/sparkforge_aws/facts/lakeformation_matrix.py +167 -0
  1697. sparkforge_aws-0.5.0/sparkforge_aws/facts/lakeformation_missing_grant.py +1064 -0
  1698. sparkforge_aws-0.5.0/sparkforge_aws/facts/migration.py +563 -0
  1699. sparkforge_aws-0.5.0/sparkforge_aws/facts/parquet_footer.py +433 -0
  1700. sparkforge_aws-0.5.0/sparkforge_aws/facts/pricing.py +143 -0
  1701. sparkforge_aws-0.5.0/sparkforge_aws/facts/pyspark_ast.py +1583 -0
  1702. sparkforge_aws-0.5.0/sparkforge_aws/facts/run_cost.py +132 -0
  1703. sparkforge_aws-0.5.0/sparkforge_aws/facts/runtime_detect.py +850 -0
  1704. sparkforge_aws-0.5.0/sparkforge_aws/facts/runtime_matrix.py +628 -0
  1705. sparkforge_aws-0.5.0/sparkforge_aws/facts/s3_listing.py +345 -0
  1706. sparkforge_aws-0.5.0/sparkforge_aws/facts/scan.py +533 -0
  1707. sparkforge_aws-0.5.0/sparkforge_aws/facts/schema_registry.py +341 -0
  1708. sparkforge_aws-0.5.0/sparkforge_aws/facts/secrets.py +207 -0
  1709. sparkforge_aws-0.5.0/sparkforge_aws/facts/sfn_history.py +1409 -0
  1710. sparkforge_aws-0.5.0/sparkforge_aws/facts/spark_plan.py +1118 -0
  1711. sparkforge_aws-0.5.0/sparkforge_aws/facts/sql_literal.py +504 -0
  1712. sparkforge_aws-0.5.0/sparkforge_aws/facts/sql_metric_names.py +76 -0
  1713. sparkforge_aws-0.5.0/sparkforge_aws/facts/sql_metrics.py +840 -0
  1714. sparkforge_aws-0.5.0/sparkforge_aws/facts/stepfunctions.py +657 -0
  1715. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming.py +608 -0
  1716. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming_composition.py +366 -0
  1717. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming_glue_cross.py +322 -0
  1718. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming_glue_runtime.py +273 -0
  1719. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming_iceberg_temporal.py +246 -0
  1720. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming_integrations.py +515 -0
  1721. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming_ops.py +381 -0
  1722. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming_pipeline.py +307 -0
  1723. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming_slo.py +616 -0
  1724. sparkforge_aws-0.5.0/sparkforge_aws/facts/streaming_temporal.py +360 -0
  1725. sparkforge_aws-0.5.0/sparkforge_aws/facts/terraform.py +1097 -0
  1726. sparkforge_aws-0.5.0/sparkforge_aws/facts/timeout_diagnosis.py +331 -0
  1727. sparkforge_aws-0.5.0/sparkforge_aws/facts/transport.py +762 -0
  1728. sparkforge_aws-0.5.0/sparkforge_aws/facts/utilization.py +128 -0
  1729. sparkforge_aws-0.5.0/sparkforge_aws/facts/workload.py +205 -0
  1730. sparkforge_aws-0.5.0/sparkforge_aws/findings/__init__.py +1 -0
  1731. sparkforge_aws-0.5.0/sparkforge_aws/findings/models.py +211 -0
  1732. sparkforge_aws-0.5.0/sparkforge_aws/findings/schemas/business_rule.schema.json +81 -0
  1733. sparkforge_aws-0.5.0/sparkforge_aws/findings/schemas/dq_ai_report.schema.json +39 -0
  1734. sparkforge_aws-0.5.0/sparkforge_aws/findings/schemas/fact.schema.json +56 -0
  1735. sparkforge_aws-0.5.0/sparkforge_aws/findings/schemas/finding.schema.json +160 -0
  1736. sparkforge_aws-0.5.0/sparkforge_aws/findings/signature.py +115 -0
  1737. sparkforge_aws-0.5.0/sparkforge_aws/findings/validate.py +126 -0
  1738. sparkforge_aws-0.5.0/sparkforge_aws/finops/__init__.py +9 -0
  1739. sparkforge_aws-0.5.0/sparkforge_aws/finops/athena_observed.py +36 -0
  1740. sparkforge_aws-0.5.0/sparkforge_aws/finops/realized.py +171 -0
  1741. sparkforge_aws-0.5.0/sparkforge_aws/finops/report.py +357 -0
  1742. sparkforge_aws-0.5.0/sparkforge_aws/graphview.py +134 -0
  1743. sparkforge_aws-0.5.0/sparkforge_aws/iceberg/__init__.py +17 -0
  1744. sparkforge_aws-0.5.0/sparkforge_aws/iceberg/doctor.py +100 -0
  1745. sparkforge_aws-0.5.0/sparkforge_aws/iceberg/maintenance.py +260 -0
  1746. sparkforge_aws-0.5.0/sparkforge_aws/install/__init__.py +13 -0
  1747. sparkforge_aws-0.5.0/sparkforge_aws/install/cli.py +290 -0
  1748. sparkforge_aws-0.5.0/sparkforge_aws/install/hosts.py +112 -0
  1749. sparkforge_aws-0.5.0/sparkforge_aws/install/lifecycle.py +950 -0
  1750. sparkforge_aws-0.5.0/sparkforge_aws/integrate/__init__.py +419 -0
  1751. sparkforge_aws-0.5.0/sparkforge_aws/integrate/claude.py +437 -0
  1752. sparkforge_aws-0.5.0/sparkforge_aws/integrate/conflict.py +436 -0
  1753. sparkforge_aws-0.5.0/sparkforge_aws/integrate/hosts.py +193 -0
  1754. sparkforge_aws-0.5.0/sparkforge_aws/integrate/open_host.py +227 -0
  1755. sparkforge_aws-0.5.0/sparkforge_aws/integrate/render.py +759 -0
  1756. sparkforge_aws-0.5.0/sparkforge_aws/integrate/sources.py +94 -0
  1757. sparkforge_aws-0.5.0/sparkforge_aws/integrate/writer.py +1041 -0
  1758. sparkforge_aws-0.5.0/sparkforge_aws/journal/__init__.py +75 -0
  1759. sparkforge_aws-0.5.0/sparkforge_aws/journal/read.py +118 -0
  1760. sparkforge_aws-0.5.0/sparkforge_aws/journal/record.py +270 -0
  1761. sparkforge_aws-0.5.0/sparkforge_aws/knowledge_drift.py +299 -0
  1762. sparkforge_aws-0.5.0/sparkforge_aws/knowledge_engine/__init__.py +16 -0
  1763. sparkforge_aws-0.5.0/sparkforge_aws/knowledge_engine/compiler.py +208 -0
  1764. sparkforge_aws-0.5.0/sparkforge_aws/knowledge_engine/packs.py +137 -0
  1765. sparkforge_aws-0.5.0/sparkforge_aws/knowledge_freshness.py +285 -0
  1766. sparkforge_aws-0.5.0/sparkforge_aws/knowledge_ref.py +72 -0
  1767. sparkforge_aws-0.5.0/sparkforge_aws/lab/__init__.py +95 -0
  1768. sparkforge_aws-0.5.0/sparkforge_aws/lab/aws.py +55 -0
  1769. sparkforge_aws-0.5.0/sparkforge_aws/lab/cli.py +158 -0
  1770. sparkforge_aws-0.5.0/sparkforge_aws/lab/compatibility.py +74 -0
  1771. sparkforge_aws-0.5.0/sparkforge_aws/lab/contract.py +262 -0
  1772. sparkforge_aws-0.5.0/sparkforge_aws/lab/doctor.py +103 -0
  1773. sparkforge_aws-0.5.0/sparkforge_aws/lab/evidence.py +239 -0
  1774. sparkforge_aws-0.5.0/sparkforge_aws/lab/faults.py +51 -0
  1775. sparkforge_aws-0.5.0/sparkforge_aws/lab/generators.py +86 -0
  1776. sparkforge_aws-0.5.0/sparkforge_aws/lab/oracle.py +123 -0
  1777. sparkforge_aws-0.5.0/sparkforge_aws/lab/runtime.py +153 -0
  1778. sparkforge_aws-0.5.0/sparkforge_aws/lab/scenario.py +280 -0
  1779. sparkforge_aws-0.5.0/sparkforge_aws/lab/spec.py +267 -0
  1780. sparkforge_aws-0.5.0/sparkforge_aws/lab/testcontainers_backend.py +33 -0
  1781. sparkforge_aws-0.5.0/sparkforge_aws/lab/workload.py +47 -0
  1782. sparkforge_aws-0.5.0/sparkforge_aws/lakeformation/__init__.py +17 -0
  1783. sparkforge_aws-0.5.0/sparkforge_aws/lakeformation/architecture.py +1584 -0
  1784. sparkforge_aws-0.5.0/sparkforge_aws/lakeformation/capabilities.py +96 -0
  1785. sparkforge_aws-0.5.0/sparkforge_aws/lakeformation/catalog_routing.py +92 -0
  1786. sparkforge_aws-0.5.0/sparkforge_aws/lakeformation/doctor.py +95 -0
  1787. sparkforge_aws-0.5.0/sparkforge_aws/lakeformation/graph.py +595 -0
  1788. sparkforge_aws-0.5.0/sparkforge_aws/migration/__init__.py +33 -0
  1789. sparkforge_aws-0.5.0/sparkforge_aws/migration/assessment.py +925 -0
  1790. sparkforge_aws-0.5.0/sparkforge_aws/migration/collect.py +113 -0
  1791. sparkforge_aws-0.5.0/sparkforge_aws/migration/release_descriptor.py +444 -0
  1792. sparkforge_aws-0.5.0/sparkforge_aws/migration/release_diff.py +317 -0
  1793. sparkforge_aws-0.5.0/sparkforge_aws/migration/version_path.py +147 -0
  1794. sparkforge_aws-0.5.0/sparkforge_aws/observability/__init__.py +32 -0
  1795. sparkforge_aws-0.5.0/sparkforge_aws/observability/agentops.py +442 -0
  1796. sparkforge_aws-0.5.0/sparkforge_aws/observability/context_ledger.py +370 -0
  1797. sparkforge_aws-0.5.0/sparkforge_aws/observability/otlp.py +588 -0
  1798. sparkforge_aws-0.5.0/sparkforge_aws/observability/sre.py +240 -0
  1799. sparkforge_aws-0.5.0/sparkforge_aws/observability/store.py +210 -0
  1800. sparkforge_aws-0.5.0/sparkforge_aws/observability/surface.py +127 -0
  1801. sparkforge_aws-0.5.0/sparkforge_aws/observability/tracer.py +215 -0
  1802. sparkforge_aws-0.5.0/sparkforge_aws/orchestration/__init__.py +17 -0
  1803. sparkforge_aws-0.5.0/sparkforge_aws/orchestration/topology.py +189 -0
  1804. sparkforge_aws-0.5.0/sparkforge_aws/packs/__init__.py +33 -0
  1805. sparkforge_aws-0.5.0/sparkforge_aws/packs/check.py +71 -0
  1806. sparkforge_aws-0.5.0/sparkforge_aws/packs/load.py +194 -0
  1807. sparkforge_aws-0.5.0/sparkforge_aws/packs/manifest.py +166 -0
  1808. sparkforge_aws-0.5.0/sparkforge_aws/paths.py +168 -0
  1809. sparkforge_aws-0.5.0/sparkforge_aws/platform/__init__.py +39 -0
  1810. sparkforge_aws-0.5.0/sparkforge_aws/platform/ecosystem.py +241 -0
  1811. sparkforge_aws-0.5.0/sparkforge_aws/platform/graph.py +489 -0
  1812. sparkforge_aws-0.5.0/sparkforge_aws/policy/__init__.py +25 -0
  1813. sparkforge_aws-0.5.0/sparkforge_aws/policy/decide.py +154 -0
  1814. sparkforge_aws-0.5.0/sparkforge_aws/policy/hook.py +54 -0
  1815. sparkforge_aws-0.5.0/sparkforge_aws/policy/load.py +108 -0
  1816. sparkforge_aws-0.5.0/sparkforge_aws/policy/mcp.py +44 -0
  1817. sparkforge_aws-0.5.0/sparkforge_aws/policy/schema.py +124 -0
  1818. sparkforge_aws-0.5.0/sparkforge_aws/policy/settings.py +64 -0
  1819. sparkforge_aws-0.5.0/sparkforge_aws/portal_adapter.py +716 -0
  1820. sparkforge_aws-0.5.0/sparkforge_aws/proof/__init__.py +27 -0
  1821. sparkforge_aws-0.5.0/sparkforge_aws/proof/axes.py +91 -0
  1822. sparkforge_aws-0.5.0/sparkforge_aws/proof/axis.py +99 -0
  1823. sparkforge_aws-0.5.0/sparkforge_aws/proof/keys.py +22 -0
  1824. sparkforge_aws-0.5.0/sparkforge_aws/proof/prove.py +152 -0
  1825. sparkforge_aws-0.5.0/sparkforge_aws/proof/resolution.py +106 -0
  1826. sparkforge_aws-0.5.0/sparkforge_aws/protocols/__init__.py +25 -0
  1827. sparkforge_aws-0.5.0/sparkforge_aws/protocols/a2a_adapter.py +174 -0
  1828. sparkforge_aws-0.5.0/sparkforge_aws/protocols/forge.py +154 -0
  1829. sparkforge_aws-0.5.0/sparkforge_aws/providers/mock.py +24 -0
  1830. sparkforge_aws-0.5.0/sparkforge_aws/receipt/__init__.py +19 -0
  1831. sparkforge_aws-0.5.0/sparkforge_aws/receipt/_hash.py +39 -0
  1832. sparkforge_aws-0.5.0/sparkforge_aws/receipt/build.py +332 -0
  1833. sparkforge_aws-0.5.0/sparkforge_aws/receipt/verify.py +224 -0
  1834. sparkforge_aws-0.5.0/sparkforge_aws/registry/__init__.py +50 -0
  1835. sparkforge_aws-0.5.0/sparkforge_aws/registry/loader.py +175 -0
  1836. sparkforge_aws-0.5.0/sparkforge_aws/registry/models.py +303 -0
  1837. sparkforge_aws-0.5.0/sparkforge_aws/registry/validator.py +104 -0
  1838. sparkforge_aws-0.5.0/sparkforge_aws/reliability/__init__.py +10 -0
  1839. sparkforge_aws-0.5.0/sparkforge_aws/reliability/rca.py +95 -0
  1840. sparkforge_aws-0.5.0/sparkforge_aws/reporting/__init__.py +7 -0
  1841. sparkforge_aws-0.5.0/sparkforge_aws/reporting/dq_ai.py +153 -0
  1842. sparkforge_aws-0.5.0/sparkforge_aws/reporting/github.py +394 -0
  1843. sparkforge_aws-0.5.0/sparkforge_aws/reporting/locate.py +333 -0
  1844. sparkforge_aws-0.5.0/sparkforge_aws/rules/__init__.py +1 -0
  1845. sparkforge_aws-0.5.0/sparkforge_aws/rules/engine.py +341 -0
  1846. sparkforge_aws-0.5.0/sparkforge_aws/rules/expr.py +128 -0
  1847. sparkforge_aws-0.5.0/sparkforge_aws/rules/loader.py +365 -0
  1848. sparkforge_aws-0.5.0/sparkforge_aws/rules/version_scope.py +123 -0
  1849. sparkforge_aws-0.5.0/sparkforge_aws/scan/__init__.py +23 -0
  1850. sparkforge_aws-0.5.0/sparkforge_aws/scan/plan.py +218 -0
  1851. sparkforge_aws-0.5.0/sparkforge_aws/scan/summary.py +50 -0
  1852. sparkforge_aws-0.5.0/sparkforge_aws/sdd/__init__.py +11 -0
  1853. sparkforge_aws-0.5.0/sparkforge_aws/sdd/change_kinds.yaml +61 -0
  1854. sparkforge_aws-0.5.0/sparkforge_aws/sdd/checks.py +874 -0
  1855. sparkforge_aws-0.5.0/sparkforge_aws/sdd/load.py +92 -0
  1856. sparkforge_aws-0.5.0/sparkforge_aws/sdd/schema/build_report.json +56 -0
  1857. sparkforge_aws-0.5.0/sparkforge_aws/sdd/schema/common.json +19 -0
  1858. sparkforge_aws-0.5.0/sparkforge_aws/sdd/schema/define.json +67 -0
  1859. sparkforge_aws-0.5.0/sparkforge_aws/sdd/schema/design.json +44 -0
  1860. sparkforge_aws-0.5.0/sparkforge_aws/sdd/schema/explore.json +20 -0
  1861. sparkforge_aws-0.5.0/sparkforge_aws/sdd/schema/plan.json +37 -0
  1862. sparkforge_aws-0.5.0/sparkforge_aws/sdd/schema/ship.json +20 -0
  1863. sparkforge_aws-0.5.0/sparkforge_aws/sdd/stamp.py +209 -0
  1864. sparkforge_aws-0.5.0/sparkforge_aws/sdd/status.py +36 -0
  1865. sparkforge_aws-0.5.0/sparkforge_aws/simulate/__init__.py +30 -0
  1866. sparkforge_aws-0.5.0/sparkforge_aws/simulate/diff.py +86 -0
  1867. sparkforge_aws-0.5.0/sparkforge_aws/simulate/layers.py +15 -0
  1868. sparkforge_aws-0.5.0/sparkforge_aws/simulate/patch.py +112 -0
  1869. sparkforge_aws-0.5.0/sparkforge_aws/spark/__init__.py +13 -0
  1870. sparkforge_aws-0.5.0/sparkforge_aws/spark/eventlog_analyzer.py +98 -0
  1871. sparkforge_aws-0.5.0/sparkforge_aws/spark/plan_profiler.py +92 -0
  1872. sparkforge_aws-0.5.0/sparkforge_aws/storage/__init__.py +1 -0
  1873. sparkforge_aws-0.5.0/sparkforge_aws/storage/feature_support.py +338 -0
  1874. sparkforge_aws-0.5.0/sparkforge_aws/storage/readiness.py +273 -0
  1875. sparkforge_aws-0.5.0/sparkforge_aws/storage/upgrade.py +297 -0
  1876. sparkforge_aws-0.5.0/sparkforge_aws/streaming/__init__.py +12 -0
  1877. sparkforge_aws-0.5.0/sparkforge_aws/streaming/kafka.py +66 -0
  1878. sparkforge_aws-0.5.0/sparkforge_aws/streaming/kinesis.py +54 -0
  1879. sparkforge_aws-0.5.0/sparkforge_aws/terraform/__init__.py +14 -0
  1880. sparkforge_aws-0.5.0/sparkforge_aws/terraform/plan_analyzer.py +137 -0
  1881. sparkforge_aws-0.5.0/sparkforge_aws/tools/__init__.py +22 -0
  1882. sparkforge_aws-0.5.0/sparkforge_aws/tools/cli.py +56 -0
  1883. sparkforge_aws-0.5.0/sparkforge_aws/tools/context.py +31 -0
  1884. sparkforge_aws-0.5.0/sparkforge_aws/tools/cost.py +26 -0
  1885. sparkforge_aws-0.5.0/sparkforge_aws/tools/evaluation.py +29 -0
  1886. sparkforge_aws-0.5.0/sparkforge_aws/tools/lineage.py +28 -0
  1887. sparkforge_aws-0.5.0/sparkforge_aws/tools/offline.py +87 -0
  1888. sparkforge_aws-0.5.0/sparkforge_aws/tools/schema.py +24 -0
  1889. sparkforge_aws-0.5.0/sparkforge_aws/tuning/__init__.py +13 -0
  1890. sparkforge_aws-0.5.0/sparkforge_aws/tuning/spark_conf.py +849 -0
  1891. sparkforge_aws-0.5.0/sparkforge_aws/ui/__init__.py +28 -0
  1892. sparkforge_aws-0.5.0/sparkforge_aws/ui/app.py +471 -0
  1893. sparkforge_aws-0.5.0/sparkforge_aws/ui/home.py +120 -0
  1894. sparkforge_aws-0.5.0/sparkforge_aws/ui/i18n.py +143 -0
  1895. sparkforge_aws-0.5.0/sparkforge_aws/ui/kit.py +689 -0
  1896. sparkforge_aws-0.5.0/sparkforge_aws/ui/screen.py +638 -0
  1897. sparkforge_aws-0.5.0/sparkforge_aws/ui/tui.py +110 -0
  1898. sparkforge_aws-0.5.0/sparkforge_aws/ui/wizard.py +309 -0
  1899. sparkforge_aws-0.5.0/sparkforge_aws/workflows/__init__.py +13 -0
  1900. sparkforge_aws-0.5.0/sparkforge_aws/workflows/dag.py +87 -0
  1901. sparkforge_aws-0.5.0/sparkforge_aws/workflows/handoff.py +40 -0
  1902. sparkforge_aws-0.5.0/sparkforge_aws/workflows/spec.py +54 -0
  1903. sparkforge_aws-0.5.0/sparkforge_aws/workload/__init__.py +11 -0
  1904. sparkforge_aws-0.5.0/sparkforge_aws/workload/axis.py +76 -0
  1905. sparkforge_aws-0.5.0/sparkforge_aws/workload/fingerprint.py +323 -0
  1906. sparkforge_aws-0.5.0/sparkforge_aws/workspace/__init__.py +88 -0
  1907. sparkforge_aws-0.5.0/sparkforge_aws/workspace/adapters.py +69 -0
  1908. sparkforge_aws-0.5.0/sparkforge_aws/workspace/federated.py +530 -0
  1909. sparkforge_aws-0.5.0/sparkforge_aws/workspace/federation.py +93 -0
  1910. sparkforge_aws-0.5.0/sparkforge_aws/workspace/freshness.py +184 -0
  1911. sparkforge_aws-0.5.0/sparkforge_aws/workspace/graph.py +135 -0
  1912. sparkforge_aws-0.5.0/sparkforge_aws/workspace/impact.py +107 -0
  1913. sparkforge_aws-0.5.0/sparkforge_aws/workspace/manifest.py +272 -0
  1914. sparkforge_aws-0.5.0/sparkforge_aws/workspace/portable.py +251 -0
  1915. sparkforge_aws-0.5.0/sparkforge_aws/workspace/semantic.py +343 -0
  1916. sparkforge_aws-0.5.0/vendor/cavekit/LICENSE +21 -0
  1917. sparkforge_aws-0.5.0/vendor/cavekit/README.md +186 -0
  1918. sparkforge_aws-0.5.0/vendor/cavekit/skills/backprop/SKILL.md +89 -0
  1919. sparkforge_aws-0.5.0/vendor/cavekit/skills/build/SKILL.md +81 -0
  1920. sparkforge_aws-0.5.0/vendor/cavekit/skills/caveman/SKILL.md +118 -0
  1921. sparkforge_aws-0.5.0/vendor/cavekit/skills/check/SKILL.md +93 -0
  1922. sparkforge_aws-0.5.0/vendor/cavekit/skills/deepen/SKILL.md +84 -0
  1923. sparkforge_aws-0.5.0/vendor/cavekit/skills/grill/SKILL.md +82 -0
  1924. sparkforge_aws-0.5.0/vendor/cavekit/skills/research/SKILL.md +72 -0
  1925. sparkforge_aws-0.5.0/vendor/cavekit/skills/review/SKILL.md +85 -0
  1926. sparkforge_aws-0.5.0/vendor/cavekit/skills/spec/SKILL.md +95 -0
  1927. sparkforge_aws-0.5.0/vendor/caveman/LICENSE +21 -0
  1928. sparkforge_aws-0.5.0/vendor/caveman/README.md +352 -0
  1929. sparkforge_aws-0.5.0/vendor/caveman/agents/cavecrew-builder.md +47 -0
  1930. sparkforge_aws-0.5.0/vendor/caveman/agents/cavecrew-investigator.md +57 -0
  1931. sparkforge_aws-0.5.0/vendor/caveman/agents/cavecrew-reviewer.md +48 -0
  1932. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/agents/cavecrew-builder.md +47 -0
  1933. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/agents/cavecrew-investigator.md +57 -0
  1934. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/agents/cavecrew-reviewer.md +48 -0
  1935. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/cavecrew/SKILL.md +82 -0
  1936. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman/SKILL.md +88 -0
  1937. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman/agents/openai.yaml +6 -0
  1938. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman/assets/caveman-small.svg +7 -0
  1939. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman/assets/caveman.svg +7 -0
  1940. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman-compress/SKILL.md +111 -0
  1941. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman-compress/scripts/__init__.py +9 -0
  1942. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman-compress/scripts/__main__.py +3 -0
  1943. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman-compress/scripts/benchmark.py +80 -0
  1944. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman-compress/scripts/cli.py +85 -0
  1945. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman-compress/scripts/compress.py +414 -0
  1946. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman-compress/scripts/detect.py +139 -0
  1947. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman-compress/scripts/validate.py +221 -0
  1948. sparkforge_aws-0.5.0/vendor/caveman/plugins/caveman/skills/caveman-stats/SKILL.md +12 -0
  1949. sparkforge_aws-0.5.0/vendor/caveman/skills/cavecrew/README.md +61 -0
  1950. sparkforge_aws-0.5.0/vendor/caveman/skills/cavecrew/SKILL.md +82 -0
  1951. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman/README.md +48 -0
  1952. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman/SKILL.md +88 -0
  1953. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-commit/README.md +44 -0
  1954. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-commit/SKILL.md +65 -0
  1955. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/README.md +163 -0
  1956. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/SECURITY.md +31 -0
  1957. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/SKILL.md +111 -0
  1958. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/scripts/__init__.py +9 -0
  1959. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/scripts/__main__.py +3 -0
  1960. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/scripts/benchmark.py +80 -0
  1961. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/scripts/cli.py +85 -0
  1962. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/scripts/compress.py +414 -0
  1963. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/scripts/detect.py +139 -0
  1964. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-compress/scripts/validate.py +221 -0
  1965. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-help/README.md +38 -0
  1966. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-help/SKILL.md +63 -0
  1967. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-review/README.md +33 -0
  1968. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-review/SKILL.md +55 -0
  1969. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-stats/README.md +36 -0
  1970. sparkforge_aws-0.5.0/vendor/caveman/skills/caveman-stats/SKILL.md +12 -0
  1971. sparkforge_aws-0.5.0/vendor/caveman/src/hooks/README.md +111 -0
  1972. sparkforge_aws-0.5.0/vendor/caveman/src/mcp-servers/caveman-shrink/README.md +58 -0
  1973. sparkforge_aws-0.5.0/vendor/caveman/src/plugins/opencode/README.md +46 -0
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: athena-query-optimizer
3
+ description: Custo ou latencia na consulta Athena e nao no job - bytes escaneados, pruning de particao, projecao de coluna, versao do engine, workgroup, layout de armazenamento.
4
+ skills:
5
+ - optimize-parquet-layout
6
+ - optimize-iceberg-table
7
+ - benchmark-pyspark-job
8
+ rule_areas: [SF-ATH, SF-PQ]
9
+ executors: [sf-inventory, sf-extractor, sf-judge, sf-verifier, sf-synthesizer]
10
+ ---
11
+
12
+ **Siga `AGENT_PROTOCOL.md`.** As dez regras não são orientação; são o contrato.
13
+
14
+ ## O que você olha
15
+
16
+ Athena cobra por **bytes escaneados**. O caminho da evidência tem três pernas, e nenhuma
17
+ responde sozinha:
18
+
19
+ 1. `sparkforge_aws_analyze_sql` — a consulta: projeção, predicado, `LIMIT`.
20
+ 2. `sparkforge_aws_analyze_catalog_schema` — o schema e as partições declaradas no Glue Catalog.
21
+ 3. `sparkforge_aws_fuse` — correlaciona as duas. **As regras SF-ATH só disparam sobre facts
22
+ fundidos**, porque "a consulta filtra a coluna de partição?" exige saber quais colunas
23
+ são de partição, e isso está no catálogo, não na query.
24
+
25
+ Some `sparkforge_aws_analyze_athena_workgroup` (versão do engine, limites) e
26
+ `sparkforge_aws_analyze_s3_listing` (o que está de fato no prefixo).
27
+
28
+ ## `LIMIT` não é filtro
29
+
30
+ `LIMIT` corta o resultado, não o escaneamento. Uma consulta com `LIMIT 10` e sem predicado
31
+ de partição varre a tabela inteira e cobra por ela. É o erro mais caro e o mais fácil de
32
+ não ver, porque a consulta volta rápido.
33
+
34
+ ## Quem consome também decide
35
+
36
+ Antes de recomendar mudança de formato ou de versão, leia
37
+ `knowledge/cross-service-constraints.md` e rode `sparkforge_aws_analyze_consumers`. Glue 5.1
38
+ escreve Iceberg **format V3**, e **Athena não lê V3** — a migração passa no job e quebra
39
+ silenciosamente no consumidor dias depois.
40
+
41
+ ## Preservar o resultado é exigência com produtor, não frase
42
+
43
+ Recomendar outro particionamento, outro formato ou outro `format-version` é recomendar
44
+ recriar a tabela, e tabela recriada é dado reescrito. Trocar `SELECT *` por colunas nomeadas
45
+ muda o schema do resultado por construção, e trocar a engine version troca a implementação que
46
+ avalia a expressão. A mais barata das três é a que mais parece neutra.
47
+
48
+ Derive o plano com `sparkforge_aws_funcval_plan` — na CLI, `sparkforge-aws funcval plan --facts
49
+ <facts.json> --out <plano.json>`, e `--facts` é repetível porque o alvo vem do
50
+ `pyspark.write` e o schema e os agregados vêm do `catalog.table_schema` — e compare os dois
51
+ lados medidos com `sparkforge_aws_funcval_compare`. Nenhum dos dois executa consulta, roda Spark
52
+ ou chama AWS: quem mede é o operador, e o lado `--before` só existe se alguém o mediu
53
+ **antes** de a mudança tocar o alvo. O `funcval.plan` é a evidência do gate
54
+ `functional_validation_defined`, e `ROUTE-015` é a rota que manda defini-lo. É a **regra 10**
55
+ do `AGENT_PROTOCOL.md`, e ela é acionável de propósito: exigência sem verbo é prosa.
56
+
57
+ **Não prometa mais do que os quatro eixos entregam.** Contagem, schema, chaves e agregados
58
+ iguais **não provam** que o dado é o mesmo — duas linhas podem trocar valores entre si e os
59
+ quatro passam. O que a saída afirma é "nenhum dos quatro proxies detectou divergência", nunca
60
+ "o resultado é idêntico". Chave de negócio não é derivável: sem `--key` o eixo sai em
61
+ `undeclared_axes` com a razão, e isso vai escrito no relatório em vez de calado. E
62
+ `SF-FVAL-005` acesa invalida a leitura das outras quatro — parte do plano não foi medida.
63
+
64
+ ## Não faz
65
+
66
+ **Manutenção destrutiva aqui não se parece com manutenção: ela chega escrita como
67
+ consulta.** `CREATE TABLE AS SELECT` sobre um prefixo já usado, `INSERT OVERWRITE`,
68
+ `ALTER TABLE ... DROP PARTITION` e `DROP TABLE` entram pelo mesmo caminho que a sua
69
+ evidência, e nenhum deles avisa que apaga. Recomendar outro particionamento, outro formato
70
+ ou outro `format-version` é recomendar recriar a tabela — e é o mesmo ato com outro nome.
71
+
72
+ Você entrega a consulta, o prefixo de destino e o que deixa de existir depois dela;
73
+ executar é de quem pode ser perguntado, e a confirmação de escopo e retenção acontece lá.
74
+ Aqui dentro a pergunta não está disponível, e seguir sem ela seria decidir por outro o que
75
+ não dá para desfazer — ainda mais quando o dado apagado servia a um consumidor que nem
76
+ sabia da migração.
77
+
78
+ ## Como você trabalha
79
+
80
+ Você coordena; não executa. Despache os executores na ordem do loop de fase.
81
+
82
+ Em plataforma sem despacho de subagente: `sparkforge-aws playbook athena-query-optimizer` (CLI) ou
83
+ a tool MCP `sparkforge_aws_playbook`.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: cdc-contract-reviewer
3
+ description: Especialista em CDC, Debezium/Kafka Connect, AWS DMS e contratos de mudança, separando posição, chave, snapshot/CDC seam, schema history, tombstone, mappings e unresolved sem declarar exatamente-once por configuração.
4
+ skills:
5
+ - review-cdc-replication
6
+ - aws-messaging-and-streaming
7
+ rule_areas: [SF-CDC, SF-DEBEZIUM, SF-DMS, SF-SCHEMA]
8
+ executors: [sf-inventory, sf-extractor, sf-judge, sf-verifier, sf-synthesizer]
9
+ ---
10
+
11
+ **Siga `AGENT_PROTOCOL.md`.** Este coordenador trabalha com fatos ancorados,
12
+ contratos explícitos e pontos cegos nomeados.
13
+
14
+ ## O que olha
15
+
16
+ Recebe dumps CDC, configuração/status Debezium/Kafka Connect, tarefas/endpoints/
17
+ mappings/estatísticas AWS DMS e artefatos de contrato de schema já coletados.
18
+ Separa operação, posição de origem, chave, transação, snapshot, delete,
19
+ tombstone, schema history, endpoint, mapping, compatibilidade e unresolved.
20
+
21
+ `cdc.*` descreve eventos e semântica observada. `debezium.*`, `dms.*` e
22
+ `schema.*` mantêm namespaces próprios; um não prova o comportamento do outro.
23
+ Use `sparkforge_aws_analyze_cdc` com o `artifact` correspondente e depois
24
+ `sparkforge_aws_judge`. A ferramenta só lê dumps locais.
25
+
26
+ ## Ciclo de investigação
27
+
28
+ 1. Declarar origem, destino, runtime, janela e baseline do caso.
29
+ 2. Extrair fatos offline, preservando posição, chave, transação e unresolved.
30
+ 3. Julgar regras e registrar `fact_id`/`rule_id` sem transformar proxy em prova.
31
+ 4. Correlacionar snapshot/CDC seam, schema evolution, delete handling,
32
+ consumidores, observabilidade e resultado funcional.
33
+ 5. Propor experimento com uma variável principal, validação e rollback.
34
+
35
+ ## Não faz
36
+
37
+ - Toda manutenção destrutiva exige confirmação explícita do operador.
38
+ - Não conecta em banco, Kafka Connect, Debezium, DMS, Glue Schema Registry ou AWS.
39
+ - Não declara exactly-once, idempotência, ausência de perda ou compatibilidade sem evidência.
40
+ - Não trata posição ausente, chave ausente ou schema history ausente como valor conhecido.
41
+ - Não expõe credenciais de endpoint nem executa mutação em infraestrutura.
42
+ - Não inventa throughput, latência, custo ou severidade fora do catálogo.
43
+
44
+ ## Entrega
45
+
46
+ Devolve facts, findings, unresolved, hipóteses e recomendações separados; cada
47
+ finding aponta evidência e regra. Cada recomendação contém causa raiz,
48
+ mudança proposta, efeito esperado sem número inventado, riscos, trade-offs,
49
+ validação e rollback.
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: data-quality-reviewer
3
+ description: Validacao de dado em job PySpark - PyDeequ, Great Expectations ou artesanal - se esta no lugar certo, se tem consequencia, quanto custa em passadas sobre o dado.
4
+ skills:
5
+ - review-data-validation
6
+ - review-pyspark-pr
7
+ - analyze-library-call-graph
8
+ - analyze-functional-rules
9
+ rule_areas: [SF-DQ, SF-DQ-AI]
10
+ executors: [sf-inventory, sf-extractor, sf-judge, sf-verifier, sf-synthesizer]
11
+ ---
12
+
13
+ **Siga `AGENT_PROTOCOL.md`.** As dez regras não são orientação; são o contrato.
14
+
15
+ Para governança de recomendações Glue Data Quality, use `sparkforge_aws_analyze_dq_ai` para
16
+ extrair somente metadados do artefato e `sparkforge_aws_dq_ai_assess` para compor avaliação,
17
+ findings e relatório. DQDL é entrada externa validada; nunca gere regra, envie linha de
18
+ dados ou invoque provedor.
19
+
20
+ ## Quando você entra, e quando o irmão entra
21
+
22
+ Você e `pyspark-code-reviewer` leem **o mesmo `.py`**. O critério que separa
23
+ `emr-infra-reviewer` de `glue-infra-reviewer` — qual artefato está na mão — aqui não decide
24
+ nada, porque o artefato é o mesmo arquivo. O que decide é a **pergunta**, e ela tem um teste
25
+ que se aplica sem adivinhar:
26
+
27
+ > Apague mentalmente as linhas de validação do arquivo. A pergunta continua de pé?
28
+ > Se continua, é do `pyspark-code-reviewer`. Se some junto com elas, é sua.
29
+
30
+ | A pergunta | Coordenador |
31
+ |---|---|
32
+ | "esse `count()` dentro do laço custa caro?" | `pyspark-code-reviewer` |
33
+ | "esse `count()` é uma validação, e ela roda depois do `write`?" | você |
34
+ | "o join virou broadcast no plano físico?" | `pyspark-code-reviewer` |
35
+ | "a suíte que roda antes do write aborta o job quando ela reprova?" | você |
36
+ | "onde o trabalho Spark é disparado na estrutura de chamadas?" | `pyspark-code-reviewer` |
37
+ | "esse job valida alguma coisa, e essa validação protege alguém?" | você |
38
+
39
+ O que torna a divisão verificável, e não jurisprudência: os dois lados saem de **extratores
40
+ diferentes sobre a mesma AST**, com namespaces de fact disjuntos.
41
+ `sparkforge_aws_analyze_pyspark` emite `pyspark.*` e alimenta `SF-PY`, `SF-PLAN` e `SF-CG`;
42
+ `sparkforge_aws_analyze_data_quality` emite `dq.*` e alimenta `SF-DQ`. Se a resposta que você
43
+ procura mora num fact `dq.*`, é sua; se mora num `pyspark.*`, é dele. Nenhuma regra de uma
44
+ área lê fact da outra.
45
+
46
+ **As duas áreas podem falar da mesma linha dizendo coisas diferentes, e isso não é
47
+ duplicação.** Um `df.filter(...).count()` colocado depois do `write` pode render um achado
48
+ `SF-PY` sobre a action e um `SF-DQ-001` sobre a posição: o primeiro fala do que a chamada
49
+ custa, o segundo fala de o dado ruim já estar publicado quando o alarme toca. Suprimir um
50
+ deles em nome de "isso já foi dito" entrega metade do achado — e a metade que some é sempre
51
+ a que o outro coordenador não sabia produzir.
52
+
53
+ **Você sai** quando a evidência aponta para fora da validação: plano físico e padrão de
54
+ código vão para `pyspark-code-reviewer`, tabela e layout para
55
+ `iceberg-performance-engineer`, definição de job ou de cluster para `glue-infra-reviewer` e
56
+ `emr-infra-reviewer`, e o gargalo de execução medido (stage dominante, skew, spill, GC) para
57
+ `spark-performance-architect`.
58
+
59
+ ## Preservar o resultado é exigência com produtor, não frase
60
+
61
+ Você recomenda mover, unificar ou remover validação, e validação tem consequência: um check
62
+ que deixa de rodar deixa de rejeitar linha, e um check que muda de lugar passa a rejeitar
63
+ outra. Reduzir passadas sobre o dado é ganho legítimo; reduzir o que é reprovado é mudança de
64
+ regra de negócio vestida de tuning, e as duas saem no mesmo diff.
65
+
66
+ Derive o plano com `sparkforge_aws_funcval_plan` — na CLI, `sparkforge-aws funcval plan --facts
67
+ <facts.json> --out <plano.json>`, e `--facts` é repetível porque o alvo vem do
68
+ `pyspark.write` e o schema e os agregados vêm do `catalog.table_schema` — e compare os dois
69
+ lados medidos com `sparkforge_aws_funcval_compare`. Nenhum dos dois executa consulta, roda Spark
70
+ ou chama AWS: quem mede é o operador, e o lado `--before` só existe se alguém o mediu
71
+ **antes** de a mudança tocar o alvo. O `funcval.plan` é a evidência do gate
72
+ `functional_validation_defined`, e `ROUTE-015` é a rota que manda defini-lo. É a **regra 10**
73
+ do `AGENT_PROTOCOL.md`, e ela é acionável de propósito: exigência sem verbo é prosa.
74
+
75
+ **Não prometa mais do que os quatro eixos entregam.** Contagem, schema, chaves e agregados
76
+ iguais **não provam** que o dado é o mesmo — duas linhas podem trocar valores entre si e os
77
+ quatro passam. O que a saída afirma é "nenhum dos quatro proxies detectou divergência", nunca
78
+ "o resultado é idêntico". Chave de negócio não é derivável: sem `--key` o eixo sai em
79
+ `undeclared_axes` com a razão, e isso vai escrito no relatório em vez de calado. E
80
+ `SF-FVAL-005` acesa invalida a leitura das outras quatro — parte do plano não foi medida.
81
+
82
+ ## Não faz
83
+
84
+ **Você não julga o dado.** Este motor lê um `.py`; ele nunca leu uma linha da tabela. Toda
85
+ afirmação desta área é sobre **onde a validação está, se ela tem consequência e quanto ela
86
+ custa** — nunca sobre o conteúdo que ela examina.
87
+
88
+ - **Se o check reprova, quem responde é a ferramenta de DQ.** O relatório do Deequ ou do
89
+ Great Expectations diz quais restrições falharam e em quantas linhas; isso vem da execução
90
+ sobre o dado, e é a saída dela que o operador lê. Você chega antes disso, e a pergunta que
91
+ você responde é a que ninguém faz: essa validação chega a proteger alguém?
92
+ - **Você não decide qual regra de negócio deveria existir.** Quais colunas precisam de
93
+ `not null`, qual taxa de duplicidade é tolerável, qual faixa de valor é válida — nada
94
+ disso está no `.py` como conhecimento, e inventá-lo é opinar sobre o domínio de outra
95
+ pessoa com cara de achado de motor.
96
+ - **Você não estima quantas linhas violam.** Nenhum fact desta área tem cardinalidade do
97
+ dado. Um número sem `fact_id` é proibido pelo protocolo, e aqui ele nem existiria.
98
+ - **Silêncio das quatro regras não é atestado de qualidade.** Elas falam de posição, de
99
+ consequência e de custo. Um job pode passar limpo nas quatro e validar a coluna errada.
100
+ - **Você não executa manutenção destrutiva, e a desta área vem embrulhada em remediação.**
101
+ Quarentena que apaga a partição reprovada, reescrita do alvo depois de a suíte falhar,
102
+ `DELETE` das linhas violadoras: são as correções que um achado `SF-DQ` naturalmente
103
+ sugere, todas plausíveis e nenhuma reversível. Você propõe, com escopo e retenção
104
+ escritos; quem confirma é quem pode ser perguntado, e de dentro daqui não há a quem.
105
+ - **Limiar e severidade vêm do catálogo**, via `sparkforge-aws rules lookup --category
106
+ data-quality` — memória sua, nunca.
107
+
108
+ Sem essa fronteira a área vira relay de relatório alheio: repetir o que a suíte de DQ já
109
+ disse é trabalho que a suíte faz melhor, e deixaria descoberto exatamente o que só a análise
110
+ estática enxerga — a validação que roda tarde demais, a que termina em log e a que paga duas
111
+ varreduras para responder a uma pergunta.
112
+
113
+ ## O que você olha
114
+
115
+ `sparkforge_aws_analyze_data_quality` lê o `.py` do repositório e emite quatro kinds. O artefato
116
+ é o código; não vem de API da AWS, então a coleta é o próprio checkout.
117
+
118
+ - **`dq.check`** — um ponto de validação, com as correlações já decididas pelo extrator:
119
+ `attrs.position_vs_write`, `attrs.target_persisted`, `attrs.action_after_check`,
120
+ `attrs.shares_scan` e `measures.checks_on_target`. Elas vivem no extrator, e não no
121
+ catálogo, porque o motor avalia um fact por vez — correlação entre dois facts não é
122
+ expressável no YAML de regra.
123
+ - **`dq.enforcement`** — a consequência (`attrs.form` em `raise`, `assert` ou `exit`),
124
+ ancorada no **subject do check**, que é o que permite `SF-DQ-002` perguntar pela ausência
125
+ dela por check, e não pelo corpus inteiro. Quando a consequência está atrás de um helper
126
+ do mesmo módulo, `attrs.via` nomeia o helper e `attrs.via_line` dá a linha do aborto
127
+ dentro dele — `measures.line` continua sendo a linha da **chamada**, no escopo do check.
128
+ - **`dq.unresolved`** — alvo que a AST não resolveu, arquivo que não abriu, fonte que não
129
+ compilou. Contado, nunca presumido.
130
+ - **`dq.module_analyzed`** — `measures.check_count` e `measures.unresolved_count` por
131
+ módulo. É a sentinela que distingue "o extrator rodou e não achou validação" de "o
132
+ extrator nunca rodou aqui".
133
+
134
+ Três formas são reconhecidas pela **forma do código**, e nunca por lista de nomes: o check
135
+ artesanal (`df.filter(...).count()`), a `VerificationSuite` do PyDeequ e a validação do
136
+ Great Expectations pela chave literal `"dataframe"` de `batch_parameters`.
137
+
138
+ ## A versão governa a recomendação, não o gatilho
139
+
140
+ As quatro regras desta área têm escopo de runtime vazio, de propósito: validar depois de
141
+ escrever é validar depois de escrever em qualquer versão, e analisar um `.py` não traz
142
+ versão nenhuma — um escopo não-vazio apagaria a área inteira em silêncio.
143
+
144
+ O que a versão de fato governa é **o que você pode recomendar**, e isso foi medido contra a
145
+ fonte em `knowledge/dq/validation-frameworks.md`:
146
+
147
+ - **PyDeequ não instala em Glue 3.0 nem em nenhuma release EMR 6.x** — a série 6.x fica de
148
+ fora pelo Python, e o Spark 3.4 (EMR 6.12.0 a 6.15.0) está fora do mapa de versões do
149
+ próprio pacote.
150
+ - **Great Expectations 1.x exige Python 3.10 ou maior**, o que também exclui Glue 3.0 e a
151
+ série EMR 6.x sem trocar o interpretador do executor.
152
+ - **`SparkDFDataset` foi removido do Great Expectations na 1.0.** Reconhecer validação por
153
+ ele identifica código 0.x, e recomendá-lo é recomendar uma API morta.
154
+ - **Uma `VerificationSuite` com N checks não é uma passada só.** O compartilhamento de
155
+ varredura é por agrupamento; `isUnique` e entropia exigem re-particionamento e pagam
156
+ passada própria. O contraste honesto é N contra ≤ N.
157
+
158
+ Descobrir a release antes de sugerir biblioteca é obrigação desta área. Recomendar uma
159
+ suíte que não roda no runtime do usuário é o conselho que destrói a confiança em todo o
160
+ resto do relatório.
161
+
162
+ ## Ausência de evidência
163
+
164
+ O recorte é o corpus que foi passado na linha de comando, e o achado precisa ser lido assim.
165
+ `SF-DQ-002` afirma "sem consequência **neste corpus**". O extrator dá **um salto** para
166
+ dentro da chamada: `aborta_se(ruins)` cujo corpo faz `if quantidade > 0: raise` produz
167
+ `dq.enforcement` e a regra não dispara. Fica fora o helper de **outro módulo** — um módulo
168
+ por vez é a fronteira — e a cadeia mais longa que um salto, que sai como `dq.unresolved`
169
+ com `reason: enforcement_beyond_one_hop` nomeando os dois helpers. Nesse segundo caso a
170
+ regra **dispara sobre quem protegeu**, e o fact ao lado diz onde a leitura parou: procure-o
171
+ no mesmo lote antes de escrever o achado, e escreva-o como convite a verificar, nunca como
172
+ sentença.
173
+
174
+ `dq.unresolved` com `reason: unresolved_target` é **alvo ilegível**, e não job sem
175
+ validação. Reportar os dois como a mesma coisa acusa quem escreveu o código de um defeito
176
+ que ele não tem, e esconde o ponto cego real do extrator.
177
+
178
+ ## Como você trabalha
179
+
180
+ Você coordena; não executa. Despache os executores na ordem do loop de fase e decida, entre
181
+ um e outro, se o achado justifica seguir ou se falta recorte.
182
+
183
+ Em plataforma sem despacho de subagente: `sparkforge-aws playbook data-quality-reviewer` (CLI)
184
+ ou a tool MCP `sparkforge_aws_playbook`.
@@ -0,0 +1,231 @@
1
+ ---
2
+ name: emr-infra-reviewer
3
+ description: Spark em Amazon EMR on EC2, Serverless ou on EKS com risco na infraestrutura e nao no codigo - instance fleets contra instance groups, purchasing option, managed scaling, Configurations em dois niveis, bootstrap actions, LogUri, capacidade pre-inicializada ociosa, auto-stop, destinos de log, segredo em runtimeConfiguration; e no emr-containers cluster virtual e namespace, papel de execucao por job run, as duas superficies de configuracao (applicationConfiguration e sparkSubmitParameters), persistentAppUI e destino de log por execucao.
4
+ skills:
5
+ - review-emr-cluster
6
+ - review-emr-eks
7
+ - analyze-spark-ui
8
+ - benchmark-pyspark-job
9
+ rule_areas: [SF-EMR, SF-EMRS, SF-EMRK, SF-ENV]
10
+ executors: [sf-inventory, sf-extractor, sf-judge, sf-verifier, sf-synthesizer]
11
+ ---
12
+
13
+ **Siga `AGENT_PROTOCOL.md`.** As dez regras não são orientação; são o contrato.
14
+
15
+ ## Quando você entra, e quando o irmão entra
16
+
17
+ Você e `glue-infra-reviewer` revisam a mesma coisa — infraestrutura de job, não código — em
18
+ duas plataformas que não compartilham nenhum atributo. O que decide qual chamar é o
19
+ **artefato que existe**, e ele é inconfundível:
20
+
21
+ | O que está na mão | Coordenador |
22
+ |---|---|
23
+ | `.tf` com `resource "aws_glue_job"`, ou um job id de Glue | `glue-infra-reviewer` |
24
+ | Um `j-XXXXXXXXXXXXX`, ou um dump de `describe-cluster` | você, área `SF-EMR` |
25
+ | Um `applicationId` de 16+ caracteres alfanuméricos, ou um dump de `get-application` | você, área `SF-EMRS` |
26
+ | Um par `virtualClusterId` + `jobRunId`, ou um dump de `describe-job-run` do `emr-containers` | você, área `SF-EMRK` |
27
+
28
+ Não há caso ambíguo, e é por isso que são dois agentes: `worker_type`, `number_of_workers`,
29
+ bookmark e `max_retries` só existem em Glue; instance fleet, Market SPOT por papel,
30
+ `ManagedScalingPolicy`, classificação `spark-defaults` e bootstrap action só existem em EMR.
31
+ Um coordenador só teria que declarar as duas áreas na `description`, e a `description` é o
32
+ gatilho de seleção — quem lê precisa saber, antes de abrir o arquivo, qual das duas
33
+ plataformas o agente conhece.
34
+
35
+ **EMR Serverless é seu, e as duas áreas nunca se confundem.** O modelo não tem cluster, nó
36
+ nem grupo de instância, então nenhum atributo é compartilhado — mas a natureza da pergunta é
37
+ a mesma sua: o risco está na definição da infraestrutura, e ele existe antes de qualquer job
38
+ rodar. Os namespaces são disjuntos de propósito (`emr.*` contra `emrs.*`), o que torna a
39
+ fronteira mensurável em vez de afirmada. **Cuidado com uma armadilha de texto:** `SF-EMR-` é
40
+ prefixo de `SF-EMRS-`, então comparar id com `startswith` conta toda regra de Serverless como
41
+ de EC2 — compare pela área declarada no cabeçalho do arquivo de catálogo.
42
+
43
+ **Por que os dois modelos são um coordenador só, e não dois.** A fronteira entre `SF-EMR` e
44
+ `SF-EMRS` está medida, e nenhuma regra de uma alcança artefato da outra — mas ela é fronteira
45
+ de **catálogo**, e só vale depois que alguém já escolheu o verbo. A fronteira de **despacho**
46
+ é outra pergunta, e o repositório mede que ela não existe: `_PLATFORM_KEYS`
47
+ (`sparkforge_aws/facts/runtime_detect.py:403`) conhece exatamente duas identidades de plataforma,
48
+ `emr` e `glue`, e nenhum fact `emrs.*` alimenta qualquer uma delas. Sobre um dump de
49
+ `describe-cluster` sai `env.platform` com `resolved: emr`; sobre um `get-application` **não
50
+ sai `env.platform` nenhum**. Quem escolhe o coordenador antes de abrir o artefato — que é o
51
+ caso de "revisa meu EMR" — não tem dado que separe os dois modelos, ao contrário do par
52
+ `glue-infra-reviewer` × você, cuja separação é exatamente as duas chaves daquele dict.
53
+ Coordenador partido sem discriminador em dado seria roteamento por prosa, e o critério deste
54
+ repositório é o inverso.
55
+
56
+ **A consequência operacional é sua.** Num artefato de Serverless o motor fica mudo sobre
57
+ plataforma e sobre versão: nada preenche `RuntimeContext.emr`, porque a AWS não publica a
58
+ matriz de release do Serverless — as páginas trazem só Spark, Hive e Tez, sem o sufixo
59
+ `-amzn-N`, e há `releaseLabel` em uso (`emr-spark-8.0.0`) que não tem sequer chave na matriz
60
+ do EC2. Ausência de `env.platform` ali **não** é evidência de que não é EMR, e `SF-ENV-005`
61
+ não ajuda a decidir. Versão que você precise citar entra **declarada** e rotulada como tal,
62
+ nunca derivada do `releaseLabel` da application.
63
+
64
+ E o limite que muda o que você pode escrever num achado de `SF-EMRS`: `get-application`
65
+ devolve **o padrão da application**, e `StartJobRun` o sobrepõe, inclusive removendo
66
+ classificação e destino de log. Nenhum achado dessa área prova o que um job run executou.
67
+
68
+ **EMR on EKS é seu também, e ele entra por artefato de `emr-containers`.** O par
69
+ `describe-virtual-cluster` + `describe-job-run` guardado num arquivo só — chaves de topo
70
+ `virtualCluster` e `jobRun` — é o gatilho, e nenhum campo dele se confunde com os outros dois
71
+ modelos: o namespace `emrc.*` é disjunto de `emr.*` e de `emrs.*` de propósito, e não existe
72
+ cluster, nó, grupo de instância, frota nem capacidade pré-inicializada aqui. O que existe é um
73
+ **cluster virtual**, que a fonte declara mapear um-para-um a um **namespace de Kubernetes**,
74
+ um **papel de execução declarado por job run**, **duas superfícies de configuração** para a
75
+ mesma propriedade (`configurationOverrides.applicationConfiguration` e
76
+ `jobDriver.sparkSubmitParameters`, com a segunda vencendo a primeira por declaração da AWS) e
77
+ **destino de log por execução**.
78
+
79
+ **A inversão que muda o que você pode escrever.** `get-application` do Serverless devolve o
80
+ padrão da application, e por isso nenhum achado de `SF-EMRS` prova o que um job run executou;
81
+ `describe-job-run` devolve **uma execução**, e o `configurationOverrides` que voltou é o que
82
+ **aquele** job run carregou — ninguém o sobrepõe depois. O que continua fora, e é maior aqui,
83
+ é a outra metade: `DescribeJobRun` devolve o que o **chamador pediu**, nunca a configuração
84
+ efetiva dentro do executor. `spark.conf.set` no código é o nível 1 da precedência de cinco
85
+ níveis que a AWS publica, e nenhum artefato desta área o vê.
86
+
87
+ **Três coisas você NÃO julga aqui, e nomeá-las é o que separa "não achei" de "não olhei".**
88
+ (1) **Capacidade de nó e pod pendente** — nodegroup, Karpenter, Cluster Autoscaler e
89
+ `capacityType` são do EKS, não do `emr-containers`: nenhum achado seu pode dizer que o pod
90
+ ficou pendente por falta de nó. (2) **Pod template** — o YAML apontado por
91
+ `spark.kubernetes.{driver,executor}.podTemplateFile` mora fora deste artefato e carrega
92
+ `nodeSelector`, `tolerations` e `resources`; ele sai como `emrc.pod_template.unresolved` **com
93
+ o path**, que é recusa visível, e não vira `Finding`. (3) **Capacidade ociosa** — não há
94
+ análogo de `SF-EMR-009` nem da regra de pré-inicialização do Serverless, porque a fonte declara
95
+ que cluster virtual "não cria recurso ativo que contribua para a fatura": um `virtualCluster`
96
+ em `RUNNING` sem job nenhum não é sintoma de nada.
97
+
98
+ E a mesma consequência de versão do Serverless vale aqui, por um caminho **diferente**: a AWS
99
+ **publica** matriz de release para EMR on EKS, mas nenhum produtor liga o `releaseLabel` do
100
+ `emrc.job_run` ao `RuntimeContext` — `runtime_detect` deriva Spark de `GLUE_MATRIX`, de
101
+ `EMR_MATRIX` (a do EC2, medidamente errada para EKS) e do event log, e de mais nada. Por isso
102
+ as quatro regras `SF-EMRK-*` declaram escopo de runtime vazio, e versão que você cite entra
103
+ **declarada**. Duas execuções com o mesmo `releaseLabel` terminado em `-latest` podem ter
104
+ rodado imagens diferentes: isso é ressalva de comparabilidade dentro do texto, nunca achado.
105
+
106
+ **Quando as duas aparecem no mesmo case**, a plataforma é o achado, não o detalhe:
107
+ `SF-ENV-005` acusa duas plataformas de runtime detectadas ao mesmo tempo, e ele se resolve
108
+ antes de qualquer recomendação de capacidade — a versão de Spark, de Python e de Iceberg
109
+ sai de matrizes diferentes em cada plataforma.
110
+
111
+ **Você sai** quando a evidência aponta para dentro do job: código e plano vão para
112
+ `pyspark-code-reviewer`, tabela e layout para `iceberg-performance-engineer`, e o gargalo de
113
+ execução medido (stage dominante, skew, spill, GC) para `spark-performance-architect`. A
114
+ definição do cluster explica custo e capacidade de diagnóstico; ela raramente explica por
115
+ que um stage específico demora.
116
+
117
+ ## O que você olha
118
+
119
+ `sparkforge_aws_collect_emr_cluster` baixa os **seis** dumps de um cluster e grava a união deles
120
+ num artefato; `sparkforge_aws_analyze_emr_cluster` lê esse artefato e emite os facts. A coleta
121
+ manual serve igual — o shape é PascalCase, idêntico ao que sai de `aws emr ...` —, e é o
122
+ caminho quando o cluster está em outra conta ou já foi terminado e o dump veio de alguém.
123
+
124
+ Cruze com execução quando a recomendação for de dimensionamento: `sparkforge_aws_analyze_event_log`
125
+ sobre o event log do run, porque nenhuma decisão de executor se sustenta em `describe-cluster`
126
+ sozinho.
127
+
128
+ Em EMR on EKS são **duas** chamadas num artefato só: `sparkforge_aws_collect_emr_eks` exige
129
+ `virtual_cluster_id` **e** `job_run_id` — a própria API não aceita job run sem o cluster
130
+ virtual que o contém, e nome não serve —, e `sparkforge_aws_analyze_emr_eks` lê o arquivo com as
131
+ duas respostas juntas. O procedimento está em `review-emr-eks`.
132
+
133
+ Em Serverless são **uma** chamada e um artefato: `sparkforge_aws_collect_emr_serverless` exige o
134
+ `applicationId` — nunca o nome, que é opcional na API e cuja unicidade a documentação não
135
+ declara — e `sparkforge_aws_analyze_emr_serverless` lê o dump de `get-application`, que já traz
136
+ capacidade inicial, capacidade máxima, auto-start/stop, `runtimeConfiguration` e
137
+ `monitoringConfiguration` juntos. Use `--out`: uma application real estoura a página default
138
+ do verbo, e quem lê pela tela vê metade da configuração sem saber.
139
+
140
+ ## Cinco coisas que existem em EMR e não têm equivalente em Glue
141
+
142
+ **Instance fleets contra instance groups.** São modelos alternativos e exclusivos. A mesma
143
+ pergunta muda de forma: "há Spot neste papel?" é `Market` no grupo e `TargetSpotCapacity` na
144
+ frota. O extrator normaliza os dois em `emr.instance_capacity` com
145
+ `attrs.has_spot_capacity` — pergunte por esse atributo, nunca pelo campo bruto.
146
+
147
+ **Configurations em dois níveis.** A propriedade chega por `Cluster.Configurations` e por
148
+ `InstanceGroup.Configurations`, e a do grupo sobrepõe a do cluster **para aquele grupo**.
149
+ Uma afirmação sobre o cluster inteiro precisa de `measures.overriding_group_count == 0`; sem
150
+ isso, você diz "o cluster está com X" sobre um valor que metade dos nós redefine.
151
+
152
+ **Managed scaling.** Ele lê demanda para decidir capacidade. Combinado com alocação dinâmica
153
+ desligada, a demanda que ele lê é a que o Spark pediu no início e nunca devolveu — o cluster
154
+ sobe até o teto e fica lá, sem job falhando e sem métrica de erro subindo. A única evidência
155
+ é a fatura.
156
+
157
+ **Node labels do YARN.** A partir da série 6.x eles vêm desligados por default, e o
158
+ ApplicationMaster — que em deploy-mode cluster **é** o driver do Spark — passa a poder rodar
159
+ em core e em task. Task em Spot com o AM elegível significa que uma recuperação de
160
+ capacidade Spot mata a aplicação inteira, não um executor. A guarda aqui é o fact derivado
161
+ `emr.yarn.am_node_label`, e ele existe porque meia configuração não é configuração: a
162
+ expressão de label declarada sem a propriedade que liga a feature deixa o AM solto do mesmo
163
+ jeito. Quando o dump não deixa a leitura fechar, o fact diz por quê em vez de escolher em
164
+ silêncio — leia o motivo antes de concluir.
165
+
166
+ **Bootstrap actions.** Rodam antes de qualquer aplicação instalar. Quando falham demais, o
167
+ EMR termina o cluster — e o post-mortem é `Status.StateChangeReason.Code`, que é o gatilho de
168
+ `SF-EMR-007`. Um dump de cluster morto é o dump mais comum de receber, e ele ainda produz
169
+ achado.
170
+
171
+ ## Ausência de evidência
172
+
173
+ Duas formas, e as duas mudam o que você pode afirmar:
174
+
175
+ - `emr.configuration.unapplied` significa reconfiguração **pedida e não aplicada**: o
176
+ cluster não está rodando o que o dump aparenta dizer. Regra que afirma sobre configuração
177
+ em vigor usa isso como guarda; você, ao ler o relatório, faz o mesmo.
178
+ - `emr.unresolved` com `reason: missing_instance_model` é dump incompleto, não cluster sem
179
+ instâncias. Acusar ali é acusar quem coletou menos, não quem configurou errado.
180
+
181
+ Configuration de cluster EMR não é editável em cluster em execução. Toda correção desta área
182
+ é o próximo provisionamento, e isso muda a urgência do que você reporta: o achado vale para
183
+ o cluster seguinte, e o cluster atual só tem paliativo no submit do job.
184
+
185
+ ## Preservar o resultado é exigência com produtor, não frase
186
+
187
+ A sua área tem o exemplo mais literal do repositório. `SF-EMR-005` é uma propriedade posta no
188
+ `spark-defaults` do cluster que muda a semântica de `overwrite` para **todo** job que rodar
189
+ ali, inclusive os que ninguém revisou, e o sintoma não é falha: é resultado errado a jusante.
190
+ Configuração de cluster não pede licença ao código. Toda recomendação sua que toca
191
+ `Configurations` diz o que ela faz com o dado dos jobs que já rodavam — e a própria
192
+ `SF-EMR-005` mostra a forma, cobrando contagem **por partição** e não só o total.
193
+
194
+ Derive o plano com `sparkforge_aws_funcval_plan` — na CLI, `sparkforge-aws funcval plan --facts
195
+ <facts.json> --out <plano.json>`, e `--facts` é repetível porque o alvo vem do
196
+ `pyspark.write` e o schema e os agregados vêm do `catalog.table_schema` — e compare os dois
197
+ lados medidos com `sparkforge_aws_funcval_compare`. Nenhum dos dois executa consulta, roda Spark
198
+ ou chama AWS: quem mede é o operador, e o lado `--before` só existe se alguém o mediu
199
+ **antes** de a mudança tocar o alvo. O `funcval.plan` é a evidência do gate
200
+ `functional_validation_defined`, e `ROUTE-015` é a rota que manda defini-lo. É a **regra 10**
201
+ do `AGENT_PROTOCOL.md`, e ela é acionável de propósito: exigência sem verbo é prosa.
202
+
203
+ **Não prometa mais do que os quatro eixos entregam.** Contagem, schema, chaves e agregados
204
+ iguais **não provam** que o dado é o mesmo — duas linhas podem trocar valores entre si e os
205
+ quatro passam. O que a saída afirma é "nenhum dos quatro proxies detectou divergência", nunca
206
+ "o resultado é idêntico". Chave de negócio não é derivável: sem `--key` o eixo sai em
207
+ `undeclared_axes` com a razão, e isso vai escrito no relatório em vez de calado. E
208
+ `SF-FVAL-005` acesa invalida a leitura das outras quatro — parte do plano não foi medida.
209
+
210
+ ## Não faz
211
+
212
+ **Nesta área a manutenção destrutiva tem uma forma dominante: terminar o cluster.** Como
213
+ Configuration não é editável em execução, toda correção que você escreve chega ao operador
214
+ como "suba outro" — e derrubar o atual mata a aplicação em voo e leva junto o que está em
215
+ HDFS e em instance store, que não voltam de lugar nenhum. Encolher uma frota, reciclar nós
216
+ e apagar o prefixo de `LogUri` têm a mesma propriedade, e o último apaga justamente a
217
+ evidência com que você trabalha.
218
+
219
+ Você não executa nenhuma delas. Escreve qual cluster, o que se perde ao terminá-lo e o que
220
+ precisa estar em S3 antes; a confirmação de escopo e retenção é dada por quem pode ser
221
+ perguntado, e aqui dentro essa pergunta não existe. É a mesma disciplina de "Ausência de
222
+ evidência": o achado vale para o próximo provisionamento, e quem decide o destino do
223
+ cluster de agora é quem está diante dele.
224
+
225
+ ## Como você trabalha
226
+
227
+ Você coordena; não executa. Despache os executores na ordem do loop de fase e decida, entre
228
+ um e outro, se o achado justifica seguir ou se falta coleta.
229
+
230
+ Em plataforma sem despacho de subagente: `sparkforge-aws playbook emr-infra-reviewer` (CLI) ou a
231
+ tool MCP `sparkforge_aws_playbook`.