@raishin/vanguard-frontier-agentic 3.5.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +36 -1
  3. package/.cursor-plugin/plugin.json +36 -1
  4. package/.github/plugin/marketplace.json +1 -1
  5. package/README.md +24 -13
  6. package/agents/python/python-application-security-agent/AGENT.md +82 -0
  7. package/agents/python/python-application-security-agent/harnesses/claude-code.agent.md +65 -0
  8. package/agents/python/python-application-security-agent/harnesses/codex.toml +39 -0
  9. package/agents/python/python-application-security-agent/harnesses/copilot.agent.md +72 -0
  10. package/agents/python/python-application-security-agent/harnesses/cursor.agent.md +65 -0
  11. package/agents/python/python-application-security-agent/harnesses/gemini.agent.md +65 -0
  12. package/agents/python/python-application-security-agent/harnesses/kiro-cli.agent.json +5 -0
  13. package/agents/python/python-application-security-agent/harnesses/kiro-ide.agent.md +65 -0
  14. package/agents/python/python-application-security-agent/metadata.json +42 -0
  15. package/agents/python/python-async-concurrency-reliability-agent/AGENT.md +82 -0
  16. package/agents/python/python-async-concurrency-reliability-agent/harnesses/claude-code.agent.md +65 -0
  17. package/agents/python/python-async-concurrency-reliability-agent/harnesses/codex.toml +39 -0
  18. package/agents/python/python-async-concurrency-reliability-agent/harnesses/copilot.agent.md +72 -0
  19. package/agents/python/python-async-concurrency-reliability-agent/harnesses/cursor.agent.md +65 -0
  20. package/agents/python/python-async-concurrency-reliability-agent/harnesses/gemini.agent.md +65 -0
  21. package/agents/python/python-async-concurrency-reliability-agent/harnesses/kiro-cli.agent.json +5 -0
  22. package/agents/python/python-async-concurrency-reliability-agent/harnesses/kiro-ide.agent.md +65 -0
  23. package/agents/python/python-async-concurrency-reliability-agent/metadata.json +41 -0
  24. package/agents/python/python-business-critical-automation-governance-agent/AGENT.md +81 -0
  25. package/agents/python/python-business-critical-automation-governance-agent/harnesses/claude-code.agent.md +64 -0
  26. package/agents/python/python-business-critical-automation-governance-agent/harnesses/codex.toml +37 -0
  27. package/agents/python/python-business-critical-automation-governance-agent/harnesses/copilot.agent.md +71 -0
  28. package/agents/python/python-business-critical-automation-governance-agent/harnesses/cursor.agent.md +64 -0
  29. package/agents/python/python-business-critical-automation-governance-agent/harnesses/gemini.agent.md +64 -0
  30. package/agents/python/python-business-critical-automation-governance-agent/harnesses/kiro-cli.agent.json +5 -0
  31. package/agents/python/python-business-critical-automation-governance-agent/harnesses/kiro-ide.agent.md +64 -0
  32. package/agents/python/python-business-critical-automation-governance-agent/metadata.json +41 -0
  33. package/agents/python/python-container-serverless-runtime-agent/AGENT.md +79 -0
  34. package/agents/python/python-container-serverless-runtime-agent/harnesses/claude-code.agent.md +62 -0
  35. package/agents/python/python-container-serverless-runtime-agent/harnesses/codex.toml +37 -0
  36. package/agents/python/python-container-serverless-runtime-agent/harnesses/copilot.agent.md +69 -0
  37. package/agents/python/python-container-serverless-runtime-agent/harnesses/cursor.agent.md +62 -0
  38. package/agents/python/python-container-serverless-runtime-agent/harnesses/gemini.agent.md +62 -0
  39. package/agents/python/python-container-serverless-runtime-agent/harnesses/kiro-cli.agent.json +5 -0
  40. package/agents/python/python-container-serverless-runtime-agent/harnesses/kiro-ide.agent.md +62 -0
  41. package/agents/python/python-container-serverless-runtime-agent/metadata.json +41 -0
  42. package/agents/python/python-data-access-transaction-agent/AGENT.md +80 -0
  43. package/agents/python/python-data-access-transaction-agent/harnesses/claude-code.agent.md +63 -0
  44. package/agents/python/python-data-access-transaction-agent/harnesses/codex.toml +38 -0
  45. package/agents/python/python-data-access-transaction-agent/harnesses/copilot.agent.md +70 -0
  46. package/agents/python/python-data-access-transaction-agent/harnesses/cursor.agent.md +63 -0
  47. package/agents/python/python-data-access-transaction-agent/harnesses/gemini.agent.md +63 -0
  48. package/agents/python/python-data-access-transaction-agent/harnesses/kiro-cli.agent.json +5 -0
  49. package/agents/python/python-data-access-transaction-agent/harnesses/kiro-ide.agent.md +63 -0
  50. package/agents/python/python-data-access-transaction-agent/metadata.json +41 -0
  51. package/agents/python/python-data-pipeline-reliability-agent/AGENT.md +79 -0
  52. package/agents/python/python-data-pipeline-reliability-agent/harnesses/claude-code.agent.md +62 -0
  53. package/agents/python/python-data-pipeline-reliability-agent/harnesses/codex.toml +37 -0
  54. package/agents/python/python-data-pipeline-reliability-agent/harnesses/copilot.agent.md +69 -0
  55. package/agents/python/python-data-pipeline-reliability-agent/harnesses/cursor.agent.md +62 -0
  56. package/agents/python/python-data-pipeline-reliability-agent/harnesses/gemini.agent.md +62 -0
  57. package/agents/python/python-data-pipeline-reliability-agent/harnesses/kiro-cli.agent.json +5 -0
  58. package/agents/python/python-data-pipeline-reliability-agent/harnesses/kiro-ide.agent.md +62 -0
  59. package/agents/python/python-data-pipeline-reliability-agent/metadata.json +41 -0
  60. package/agents/python/python-developer-tooling-build-agent/AGENT.md +79 -0
  61. package/agents/python/python-developer-tooling-build-agent/harnesses/claude-code.agent.md +62 -0
  62. package/agents/python/python-developer-tooling-build-agent/harnesses/codex.toml +37 -0
  63. package/agents/python/python-developer-tooling-build-agent/harnesses/copilot.agent.md +69 -0
  64. package/agents/python/python-developer-tooling-build-agent/harnesses/cursor.agent.md +62 -0
  65. package/agents/python/python-developer-tooling-build-agent/harnesses/gemini.agent.md +62 -0
  66. package/agents/python/python-developer-tooling-build-agent/harnesses/kiro-cli.agent.json +5 -0
  67. package/agents/python/python-developer-tooling-build-agent/harnesses/kiro-ide.agent.md +62 -0
  68. package/agents/python/python-developer-tooling-build-agent/metadata.json +41 -0
  69. package/agents/python/python-distributed-task-reliability-agent/AGENT.md +80 -0
  70. package/agents/python/python-distributed-task-reliability-agent/harnesses/claude-code.agent.md +63 -0
  71. package/agents/python/python-distributed-task-reliability-agent/harnesses/codex.toml +38 -0
  72. package/agents/python/python-distributed-task-reliability-agent/harnesses/copilot.agent.md +70 -0
  73. package/agents/python/python-distributed-task-reliability-agent/harnesses/cursor.agent.md +63 -0
  74. package/agents/python/python-distributed-task-reliability-agent/harnesses/gemini.agent.md +63 -0
  75. package/agents/python/python-distributed-task-reliability-agent/harnesses/kiro-cli.agent.json +5 -0
  76. package/agents/python/python-distributed-task-reliability-agent/harnesses/kiro-ide.agent.md +63 -0
  77. package/agents/python/python-distributed-task-reliability-agent/metadata.json +41 -0
  78. package/agents/python/python-estate-modernization-governor-agent/AGENT.md +77 -0
  79. package/agents/python/python-estate-modernization-governor-agent/harnesses/claude-code.agent.md +60 -0
  80. package/agents/python/python-estate-modernization-governor-agent/harnesses/codex.toml +36 -0
  81. package/agents/python/python-estate-modernization-governor-agent/harnesses/copilot.agent.md +67 -0
  82. package/agents/python/python-estate-modernization-governor-agent/harnesses/cursor.agent.md +60 -0
  83. package/agents/python/python-estate-modernization-governor-agent/harnesses/gemini.agent.md +60 -0
  84. package/agents/python/python-estate-modernization-governor-agent/harnesses/kiro-cli.agent.json +5 -0
  85. package/agents/python/python-estate-modernization-governor-agent/harnesses/kiro-ide.agent.md +60 -0
  86. package/agents/python/python-estate-modernization-governor-agent/metadata.json +41 -0
  87. package/agents/python/python-free-threading-parallelism-agent/AGENT.md +77 -0
  88. package/agents/python/python-free-threading-parallelism-agent/harnesses/claude-code.agent.md +60 -0
  89. package/agents/python/python-free-threading-parallelism-agent/harnesses/codex.toml +36 -0
  90. package/agents/python/python-free-threading-parallelism-agent/harnesses/copilot.agent.md +67 -0
  91. package/agents/python/python-free-threading-parallelism-agent/harnesses/cursor.agent.md +60 -0
  92. package/agents/python/python-free-threading-parallelism-agent/harnesses/gemini.agent.md +60 -0
  93. package/agents/python/python-free-threading-parallelism-agent/harnesses/kiro-cli.agent.json +5 -0
  94. package/agents/python/python-free-threading-parallelism-agent/harnesses/kiro-ide.agent.md +60 -0
  95. package/agents/python/python-free-threading-parallelism-agent/metadata.json +41 -0
  96. package/agents/python/python-language-contracts-typing-agent/AGENT.md +80 -0
  97. package/agents/python/python-language-contracts-typing-agent/harnesses/claude-code.agent.md +63 -0
  98. package/agents/python/python-language-contracts-typing-agent/harnesses/codex.toml +38 -0
  99. package/agents/python/python-language-contracts-typing-agent/harnesses/copilot.agent.md +70 -0
  100. package/agents/python/python-language-contracts-typing-agent/harnesses/cursor.agent.md +63 -0
  101. package/agents/python/python-language-contracts-typing-agent/harnesses/gemini.agent.md +63 -0
  102. package/agents/python/python-language-contracts-typing-agent/harnesses/kiro-cli.agent.json +5 -0
  103. package/agents/python/python-language-contracts-typing-agent/harnesses/kiro-ide.agent.md +63 -0
  104. package/agents/python/python-language-contracts-typing-agent/metadata.json +41 -0
  105. package/agents/python/python-live-change-plan-agent/AGENT.md +79 -0
  106. package/agents/python/python-live-change-plan-agent/harnesses/claude-code.agent.md +62 -0
  107. package/agents/python/python-live-change-plan-agent/harnesses/codex.toml +40 -0
  108. package/agents/python/python-live-change-plan-agent/harnesses/copilot.agent.md +69 -0
  109. package/agents/python/python-live-change-plan-agent/harnesses/cursor.agent.md +62 -0
  110. package/agents/python/python-live-change-plan-agent/harnesses/gemini.agent.md +62 -0
  111. package/agents/python/python-live-change-plan-agent/harnesses/kiro-cli.agent.json +5 -0
  112. package/agents/python/python-live-change-plan-agent/harnesses/kiro-ide.agent.md +62 -0
  113. package/agents/python/python-live-change-plan-agent/metadata.json +40 -0
  114. package/agents/python/python-live-code-remediation-agent/AGENT.md +79 -0
  115. package/agents/python/python-live-code-remediation-agent/harnesses/claude-code.agent.md +62 -0
  116. package/agents/python/python-live-code-remediation-agent/harnesses/codex.toml +40 -0
  117. package/agents/python/python-live-code-remediation-agent/harnesses/copilot.agent.md +73 -0
  118. package/agents/python/python-live-code-remediation-agent/harnesses/cursor.agent.md +62 -0
  119. package/agents/python/python-live-code-remediation-agent/harnesses/gemini.agent.md +62 -0
  120. package/agents/python/python-live-code-remediation-agent/harnesses/kiro-cli.agent.json +5 -0
  121. package/agents/python/python-live-code-remediation-agent/harnesses/kiro-ide.agent.md +62 -0
  122. package/agents/python/python-live-code-remediation-agent/metadata.json +40 -0
  123. package/agents/python/python-live-continuous-control-testing-agent/AGENT.md +79 -0
  124. package/agents/python/python-live-continuous-control-testing-agent/harnesses/claude-code.agent.md +62 -0
  125. package/agents/python/python-live-continuous-control-testing-agent/harnesses/codex.toml +40 -0
  126. package/agents/python/python-live-continuous-control-testing-agent/harnesses/copilot.agent.md +69 -0
  127. package/agents/python/python-live-continuous-control-testing-agent/harnesses/cursor.agent.md +62 -0
  128. package/agents/python/python-live-continuous-control-testing-agent/harnesses/gemini.agent.md +62 -0
  129. package/agents/python/python-live-continuous-control-testing-agent/harnesses/kiro-cli.agent.json +5 -0
  130. package/agents/python/python-live-continuous-control-testing-agent/harnesses/kiro-ide.agent.md +62 -0
  131. package/agents/python/python-live-continuous-control-testing-agent/metadata.json +40 -0
  132. package/agents/python/python-live-control-evidence-agent/AGENT.md +79 -0
  133. package/agents/python/python-live-control-evidence-agent/harnesses/claude-code.agent.md +62 -0
  134. package/agents/python/python-live-control-evidence-agent/harnesses/codex.toml +40 -0
  135. package/agents/python/python-live-control-evidence-agent/harnesses/copilot.agent.md +69 -0
  136. package/agents/python/python-live-control-evidence-agent/harnesses/cursor.agent.md +62 -0
  137. package/agents/python/python-live-control-evidence-agent/harnesses/gemini.agent.md +62 -0
  138. package/agents/python/python-live-control-evidence-agent/harnesses/kiro-cli.agent.json +5 -0
  139. package/agents/python/python-live-control-evidence-agent/harnesses/kiro-ide.agent.md +62 -0
  140. package/agents/python/python-live-control-evidence-agent/metadata.json +40 -0
  141. package/agents/python/python-live-data-change-control-agent/AGENT.md +82 -0
  142. package/agents/python/python-live-data-change-control-agent/harnesses/claude-code.agent.md +65 -0
  143. package/agents/python/python-live-data-change-control-agent/harnesses/codex.toml +41 -0
  144. package/agents/python/python-live-data-change-control-agent/harnesses/copilot.agent.md +76 -0
  145. package/agents/python/python-live-data-change-control-agent/harnesses/cursor.agent.md +65 -0
  146. package/agents/python/python-live-data-change-control-agent/harnesses/gemini.agent.md +65 -0
  147. package/agents/python/python-live-data-change-control-agent/harnesses/kiro-cli.agent.json +5 -0
  148. package/agents/python/python-live-data-change-control-agent/harnesses/kiro-ide.agent.md +65 -0
  149. package/agents/python/python-live-data-change-control-agent/metadata.json +40 -0
  150. package/agents/python/python-live-exception-governance-agent/AGENT.md +79 -0
  151. package/agents/python/python-live-exception-governance-agent/harnesses/claude-code.agent.md +62 -0
  152. package/agents/python/python-live-exception-governance-agent/harnesses/codex.toml +40 -0
  153. package/agents/python/python-live-exception-governance-agent/harnesses/copilot.agent.md +69 -0
  154. package/agents/python/python-live-exception-governance-agent/harnesses/cursor.agent.md +62 -0
  155. package/agents/python/python-live-exception-governance-agent/harnesses/gemini.agent.md +62 -0
  156. package/agents/python/python-live-exception-governance-agent/harnesses/kiro-cli.agent.json +5 -0
  157. package/agents/python/python-live-exception-governance-agent/harnesses/kiro-ide.agent.md +62 -0
  158. package/agents/python/python-live-exception-governance-agent/metadata.json +40 -0
  159. package/agents/python/python-live-governance-maestro-agent/AGENT.md +57 -0
  160. package/agents/python/python-live-governance-maestro-agent/README.md +66 -0
  161. package/agents/python/python-live-governance-maestro-agent/harnesses/claude-code.agent.md +40 -0
  162. package/agents/python/python-live-governance-maestro-agent/harnesses/codex.toml +37 -0
  163. package/agents/python/python-live-governance-maestro-agent/harnesses/copilot.agent.md +47 -0
  164. package/agents/python/python-live-governance-maestro-agent/harnesses/cursor.agent.md +40 -0
  165. package/agents/python/python-live-governance-maestro-agent/harnesses/gemini.agent.md +40 -0
  166. package/agents/python/python-live-governance-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  167. package/agents/python/python-live-governance-maestro-agent/harnesses/kiro-ide.agent.md +40 -0
  168. package/agents/python/python-live-governance-maestro-agent/metadata.json +41 -0
  169. package/agents/python/python-live-identity-authority-agent/AGENT.md +81 -0
  170. package/agents/python/python-live-identity-authority-agent/harnesses/claude-code.agent.md +64 -0
  171. package/agents/python/python-live-identity-authority-agent/harnesses/codex.toml +41 -0
  172. package/agents/python/python-live-identity-authority-agent/harnesses/copilot.agent.md +71 -0
  173. package/agents/python/python-live-identity-authority-agent/harnesses/cursor.agent.md +64 -0
  174. package/agents/python/python-live-identity-authority-agent/harnesses/gemini.agent.md +64 -0
  175. package/agents/python/python-live-identity-authority-agent/harnesses/kiro-cli.agent.json +5 -0
  176. package/agents/python/python-live-identity-authority-agent/harnesses/kiro-ide.agent.md +64 -0
  177. package/agents/python/python-live-identity-authority-agent/metadata.json +40 -0
  178. package/agents/python/python-live-job-control-agent/AGENT.md +79 -0
  179. package/agents/python/python-live-job-control-agent/harnesses/claude-code.agent.md +62 -0
  180. package/agents/python/python-live-job-control-agent/harnesses/codex.toml +40 -0
  181. package/agents/python/python-live-job-control-agent/harnesses/copilot.agent.md +73 -0
  182. package/agents/python/python-live-job-control-agent/harnesses/cursor.agent.md +62 -0
  183. package/agents/python/python-live-job-control-agent/harnesses/gemini.agent.md +62 -0
  184. package/agents/python/python-live-job-control-agent/harnesses/kiro-cli.agent.json +5 -0
  185. package/agents/python/python-live-job-control-agent/harnesses/kiro-ide.agent.md +62 -0
  186. package/agents/python/python-live-job-control-agent/metadata.json +40 -0
  187. package/agents/python/python-live-model-promotion-control-agent/AGENT.md +80 -0
  188. package/agents/python/python-live-model-promotion-control-agent/harnesses/claude-code.agent.md +63 -0
  189. package/agents/python/python-live-model-promotion-control-agent/harnesses/codex.toml +40 -0
  190. package/agents/python/python-live-model-promotion-control-agent/harnesses/copilot.agent.md +74 -0
  191. package/agents/python/python-live-model-promotion-control-agent/harnesses/cursor.agent.md +63 -0
  192. package/agents/python/python-live-model-promotion-control-agent/harnesses/gemini.agent.md +63 -0
  193. package/agents/python/python-live-model-promotion-control-agent/harnesses/kiro-cli.agent.json +5 -0
  194. package/agents/python/python-live-model-promotion-control-agent/harnesses/kiro-ide.agent.md +63 -0
  195. package/agents/python/python-live-model-promotion-control-agent/metadata.json +40 -0
  196. package/agents/python/python-live-policy-gate-agent/AGENT.md +81 -0
  197. package/agents/python/python-live-policy-gate-agent/harnesses/claude-code.agent.md +64 -0
  198. package/agents/python/python-live-policy-gate-agent/harnesses/codex.toml +41 -0
  199. package/agents/python/python-live-policy-gate-agent/harnesses/copilot.agent.md +71 -0
  200. package/agents/python/python-live-policy-gate-agent/harnesses/cursor.agent.md +64 -0
  201. package/agents/python/python-live-policy-gate-agent/harnesses/gemini.agent.md +64 -0
  202. package/agents/python/python-live-policy-gate-agent/harnesses/kiro-cli.agent.json +5 -0
  203. package/agents/python/python-live-policy-gate-agent/harnesses/kiro-ide.agent.md +64 -0
  204. package/agents/python/python-live-policy-gate-agent/metadata.json +40 -0
  205. package/agents/python/python-live-release-control-agent/AGENT.md +82 -0
  206. package/agents/python/python-live-release-control-agent/harnesses/claude-code.agent.md +65 -0
  207. package/agents/python/python-live-release-control-agent/harnesses/codex.toml +41 -0
  208. package/agents/python/python-live-release-control-agent/harnesses/copilot.agent.md +76 -0
  209. package/agents/python/python-live-release-control-agent/harnesses/cursor.agent.md +65 -0
  210. package/agents/python/python-live-release-control-agent/harnesses/gemini.agent.md +65 -0
  211. package/agents/python/python-live-release-control-agent/harnesses/kiro-cli.agent.json +5 -0
  212. package/agents/python/python-live-release-control-agent/harnesses/kiro-ide.agent.md +65 -0
  213. package/agents/python/python-live-release-control-agent/metadata.json +40 -0
  214. package/agents/python/python-live-rollback-and-recovery-agent/AGENT.md +79 -0
  215. package/agents/python/python-live-rollback-and-recovery-agent/harnesses/claude-code.agent.md +62 -0
  216. package/agents/python/python-live-rollback-and-recovery-agent/harnesses/codex.toml +40 -0
  217. package/agents/python/python-live-rollback-and-recovery-agent/harnesses/copilot.agent.md +73 -0
  218. package/agents/python/python-live-rollback-and-recovery-agent/harnesses/cursor.agent.md +62 -0
  219. package/agents/python/python-live-rollback-and-recovery-agent/harnesses/gemini.agent.md +62 -0
  220. package/agents/python/python-live-rollback-and-recovery-agent/harnesses/kiro-cli.agent.json +5 -0
  221. package/agents/python/python-live-rollback-and-recovery-agent/harnesses/kiro-ide.agent.md +62 -0
  222. package/agents/python/python-live-rollback-and-recovery-agent/metadata.json +40 -0
  223. package/agents/python/python-live-runtime-control-agent/AGENT.md +79 -0
  224. package/agents/python/python-live-runtime-control-agent/harnesses/claude-code.agent.md +62 -0
  225. package/agents/python/python-live-runtime-control-agent/harnesses/codex.toml +40 -0
  226. package/agents/python/python-live-runtime-control-agent/harnesses/copilot.agent.md +69 -0
  227. package/agents/python/python-live-runtime-control-agent/harnesses/cursor.agent.md +62 -0
  228. package/agents/python/python-live-runtime-control-agent/harnesses/gemini.agent.md +62 -0
  229. package/agents/python/python-live-runtime-control-agent/harnesses/kiro-cli.agent.json +5 -0
  230. package/agents/python/python-live-runtime-control-agent/harnesses/kiro-ide.agent.md +62 -0
  231. package/agents/python/python-live-runtime-control-agent/metadata.json +40 -0
  232. package/agents/python/python-live-system-inventory-agent/AGENT.md +81 -0
  233. package/agents/python/python-live-system-inventory-agent/harnesses/claude-code.agent.md +64 -0
  234. package/agents/python/python-live-system-inventory-agent/harnesses/codex.toml +41 -0
  235. package/agents/python/python-live-system-inventory-agent/harnesses/copilot.agent.md +71 -0
  236. package/agents/python/python-live-system-inventory-agent/harnesses/cursor.agent.md +64 -0
  237. package/agents/python/python-live-system-inventory-agent/harnesses/gemini.agent.md +64 -0
  238. package/agents/python/python-live-system-inventory-agent/harnesses/kiro-cli.agent.json +5 -0
  239. package/agents/python/python-live-system-inventory-agent/harnesses/kiro-ide.agent.md +64 -0
  240. package/agents/python/python-live-system-inventory-agent/metadata.json +40 -0
  241. package/agents/python/python-maestro-agent/AGENT.md +54 -0
  242. package/agents/python/python-maestro-agent/README.md +71 -0
  243. package/agents/python/python-maestro-agent/harnesses/claude-code.agent.md +37 -0
  244. package/agents/python/python-maestro-agent/harnesses/codex.toml +36 -0
  245. package/agents/python/python-maestro-agent/harnesses/copilot.agent.md +44 -0
  246. package/agents/python/python-maestro-agent/harnesses/cursor.agent.md +37 -0
  247. package/agents/python/python-maestro-agent/harnesses/gemini.agent.md +37 -0
  248. package/agents/python/python-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  249. package/agents/python/python-maestro-agent/harnesses/kiro-ide.agent.md +37 -0
  250. package/agents/python/python-maestro-agent/metadata.json +40 -0
  251. package/agents/python/python-ml-ai-production-agent/AGENT.md +79 -0
  252. package/agents/python/python-ml-ai-production-agent/harnesses/claude-code.agent.md +62 -0
  253. package/agents/python/python-ml-ai-production-agent/harnesses/codex.toml +37 -0
  254. package/agents/python/python-ml-ai-production-agent/harnesses/copilot.agent.md +69 -0
  255. package/agents/python/python-ml-ai-production-agent/harnesses/cursor.agent.md +62 -0
  256. package/agents/python/python-ml-ai-production-agent/harnesses/gemini.agent.md +62 -0
  257. package/agents/python/python-ml-ai-production-agent/harnesses/kiro-cli.agent.json +5 -0
  258. package/agents/python/python-ml-ai-production-agent/harnesses/kiro-ide.agent.md +62 -0
  259. package/agents/python/python-ml-ai-production-agent/metadata.json +41 -0
  260. package/agents/python/python-native-extension-interop-agent/AGENT.md +79 -0
  261. package/agents/python/python-native-extension-interop-agent/harnesses/claude-code.agent.md +62 -0
  262. package/agents/python/python-native-extension-interop-agent/harnesses/codex.toml +37 -0
  263. package/agents/python/python-native-extension-interop-agent/harnesses/copilot.agent.md +69 -0
  264. package/agents/python/python-native-extension-interop-agent/harnesses/cursor.agent.md +62 -0
  265. package/agents/python/python-native-extension-interop-agent/harnesses/gemini.agent.md +62 -0
  266. package/agents/python/python-native-extension-interop-agent/harnesses/kiro-cli.agent.json +5 -0
  267. package/agents/python/python-native-extension-interop-agent/harnesses/kiro-ide.agent.md +62 -0
  268. package/agents/python/python-native-extension-interop-agent/metadata.json +41 -0
  269. package/agents/python/python-numerical-scientific-correctness-agent/AGENT.md +81 -0
  270. package/agents/python/python-numerical-scientific-correctness-agent/harnesses/claude-code.agent.md +64 -0
  271. package/agents/python/python-numerical-scientific-correctness-agent/harnesses/codex.toml +39 -0
  272. package/agents/python/python-numerical-scientific-correctness-agent/harnesses/copilot.agent.md +71 -0
  273. package/agents/python/python-numerical-scientific-correctness-agent/harnesses/cursor.agent.md +64 -0
  274. package/agents/python/python-numerical-scientific-correctness-agent/harnesses/gemini.agent.md +64 -0
  275. package/agents/python/python-numerical-scientific-correctness-agent/harnesses/kiro-cli.agent.json +5 -0
  276. package/agents/python/python-numerical-scientific-correctness-agent/harnesses/kiro-ide.agent.md +64 -0
  277. package/agents/python/python-numerical-scientific-correctness-agent/metadata.json +41 -0
  278. package/agents/python/python-observability-sre-agent/AGENT.md +79 -0
  279. package/agents/python/python-observability-sre-agent/harnesses/claude-code.agent.md +62 -0
  280. package/agents/python/python-observability-sre-agent/harnesses/codex.toml +37 -0
  281. package/agents/python/python-observability-sre-agent/harnesses/copilot.agent.md +69 -0
  282. package/agents/python/python-observability-sre-agent/harnesses/cursor.agent.md +62 -0
  283. package/agents/python/python-observability-sre-agent/harnesses/gemini.agent.md +62 -0
  284. package/agents/python/python-observability-sre-agent/harnesses/kiro-cli.agent.json +5 -0
  285. package/agents/python/python-observability-sre-agent/harnesses/kiro-ide.agent.md +62 -0
  286. package/agents/python/python-observability-sre-agent/metadata.json +41 -0
  287. package/agents/python/python-packaging-supply-chain-agent/AGENT.md +80 -0
  288. package/agents/python/python-packaging-supply-chain-agent/harnesses/claude-code.agent.md +63 -0
  289. package/agents/python/python-packaging-supply-chain-agent/harnesses/codex.toml +38 -0
  290. package/agents/python/python-packaging-supply-chain-agent/harnesses/copilot.agent.md +70 -0
  291. package/agents/python/python-packaging-supply-chain-agent/harnesses/cursor.agent.md +63 -0
  292. package/agents/python/python-packaging-supply-chain-agent/harnesses/gemini.agent.md +63 -0
  293. package/agents/python/python-packaging-supply-chain-agent/harnesses/kiro-cli.agent.json +5 -0
  294. package/agents/python/python-packaging-supply-chain-agent/harnesses/kiro-ide.agent.md +63 -0
  295. package/agents/python/python-packaging-supply-chain-agent/metadata.json +41 -0
  296. package/agents/python/python-performance-memory-agent/AGENT.md +79 -0
  297. package/agents/python/python-performance-memory-agent/harnesses/claude-code.agent.md +62 -0
  298. package/agents/python/python-performance-memory-agent/harnesses/codex.toml +37 -0
  299. package/agents/python/python-performance-memory-agent/harnesses/copilot.agent.md +69 -0
  300. package/agents/python/python-performance-memory-agent/harnesses/cursor.agent.md +62 -0
  301. package/agents/python/python-performance-memory-agent/harnesses/gemini.agent.md +62 -0
  302. package/agents/python/python-performance-memory-agent/harnesses/kiro-cli.agent.json +5 -0
  303. package/agents/python/python-performance-memory-agent/harnesses/kiro-ide.agent.md +62 -0
  304. package/agents/python/python-performance-memory-agent/metadata.json +41 -0
  305. package/agents/python/python-testing-quality-engineering-agent/AGENT.md +80 -0
  306. package/agents/python/python-testing-quality-engineering-agent/harnesses/claude-code.agent.md +63 -0
  307. package/agents/python/python-testing-quality-engineering-agent/harnesses/codex.toml +38 -0
  308. package/agents/python/python-testing-quality-engineering-agent/harnesses/copilot.agent.md +70 -0
  309. package/agents/python/python-testing-quality-engineering-agent/harnesses/cursor.agent.md +63 -0
  310. package/agents/python/python-testing-quality-engineering-agent/harnesses/gemini.agent.md +63 -0
  311. package/agents/python/python-testing-quality-engineering-agent/harnesses/kiro-cli.agent.json +5 -0
  312. package/agents/python/python-testing-quality-engineering-agent/harnesses/kiro-ide.agent.md +63 -0
  313. package/agents/python/python-testing-quality-engineering-agent/metadata.json +41 -0
  314. package/agents/python/python-web-service-production-readiness-agent/AGENT.md +80 -0
  315. package/agents/python/python-web-service-production-readiness-agent/harnesses/claude-code.agent.md +63 -0
  316. package/agents/python/python-web-service-production-readiness-agent/harnesses/codex.toml +38 -0
  317. package/agents/python/python-web-service-production-readiness-agent/harnesses/copilot.agent.md +70 -0
  318. package/agents/python/python-web-service-production-readiness-agent/harnesses/cursor.agent.md +63 -0
  319. package/agents/python/python-web-service-production-readiness-agent/harnesses/gemini.agent.md +63 -0
  320. package/agents/python/python-web-service-production-readiness-agent/harnesses/kiro-cli.agent.json +5 -0
  321. package/agents/python/python-web-service-production-readiness-agent/harnesses/kiro-ide.agent.md +63 -0
  322. package/agents/python/python-web-service-production-readiness-agent/metadata.json +41 -0
  323. package/catalog/agents.json +1036 -0
  324. package/catalog/asset-integrity.json +2397 -52
  325. package/catalog/install-roles.json +324 -0
  326. package/catalog/model-assignments.json +1155 -0
  327. package/catalog/skill-manifest.json +1720 -0
  328. package/catalog/skills.json +931 -0
  329. package/package.json +1 -1
  330. package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +1 -1
  331. package/powers/README.md +3 -2
  332. package/powers/vanguard-microsoft/POWER.md +1 -1
  333. package/powers/vanguard-netsuite/POWER.md +4 -4
  334. package/powers/vanguard-python/POWER.md +47 -0
  335. package/powers/vanguard-sap/POWER.md +4 -2
  336. package/schemas/agent.schema.json +2 -1
  337. package/schemas/audit-event.schema.json +110 -0
  338. package/schemas/control-object.schema.json +153 -0
  339. package/schemas/skill.schema.json +2 -1
  340. package/scripts/gen_python_agents.py +552 -0
  341. package/scripts/gen_python_live_agents.py +565 -0
  342. package/scripts/gen_python_live_routing_fixtures.py +121 -0
  343. package/scripts/gen_python_routing_fixtures.py +314 -0
  344. package/scripts/generate-docs-data.mjs +1 -1
  345. package/scripts/generate-kiro-powers.mjs +104 -14
  346. package/scripts/python_data/agents/00-python-maestro-agent.json +89 -0
  347. package/scripts/python_data/agents/01-python-application-security-agent.json +186 -0
  348. package/scripts/python_data/agents/02-python-async-concurrency-reliability-agent.json +165 -0
  349. package/scripts/python_data/agents/03-python-packaging-supply-chain-agent.json +176 -0
  350. package/scripts/python_data/agents/04-python-numerical-scientific-correctness-agent.json +177 -0
  351. package/scripts/python_data/agents/05-python-language-contracts-typing-agent.json +162 -0
  352. package/scripts/python_data/agents/06-python-web-service-production-readiness-agent.json +148 -0
  353. package/scripts/python_data/agents/07-python-data-access-transaction-agent.json +162 -0
  354. package/scripts/python_data/agents/08-python-distributed-task-reliability-agent.json +162 -0
  355. package/scripts/python_data/agents/09-python-testing-quality-engineering-agent.json +162 -0
  356. package/scripts/python_data/agents/10-python-estate-modernization-governor-agent.json +159 -0
  357. package/scripts/python_data/agents/11-python-performance-memory-agent.json +162 -0
  358. package/scripts/python_data/agents/12-python-free-threading-parallelism-agent.json +159 -0
  359. package/scripts/python_data/agents/13-python-native-extension-interop-agent.json +161 -0
  360. package/scripts/python_data/agents/14-python-container-serverless-runtime-agent.json +161 -0
  361. package/scripts/python_data/agents/15-python-data-pipeline-reliability-agent.json +161 -0
  362. package/scripts/python_data/agents/16-python-ml-ai-production-agent.json +161 -0
  363. package/scripts/python_data/agents/17-python-observability-sre-agent.json +161 -0
  364. package/scripts/python_data/agents/18-python-developer-tooling-build-agent.json +162 -0
  365. package/scripts/python_data/agents/19-python-business-critical-automation-governance-agent.json +163 -0
  366. package/scripts/python_live_data/agents/00-python-live-governance-maestro-agent.json +97 -0
  367. package/scripts/python_live_data/agents/01-python-live-system-inventory-agent.json +152 -0
  368. package/scripts/python_live_data/agents/02-python-live-identity-authority-agent.json +153 -0
  369. package/scripts/python_live_data/agents/03-python-live-runtime-control-agent.json +150 -0
  370. package/scripts/python_live_data/agents/04-python-live-change-plan-agent.json +145 -0
  371. package/scripts/python_live_data/agents/05-python-live-policy-gate-agent.json +149 -0
  372. package/scripts/python_live_data/agents/06-python-live-code-remediation-agent.json +146 -0
  373. package/scripts/python_live_data/agents/07-python-live-release-control-agent.json +153 -0
  374. package/scripts/python_live_data/agents/08-python-live-data-change-control-agent.json +153 -0
  375. package/scripts/python_live_data/agents/09-python-live-job-control-agent.json +147 -0
  376. package/scripts/python_live_data/agents/10-python-live-model-promotion-control-agent.json +150 -0
  377. package/scripts/python_live_data/agents/11-python-live-control-evidence-agent.json +148 -0
  378. package/scripts/python_live_data/agents/12-python-live-continuous-control-testing-agent.json +148 -0
  379. package/scripts/python_live_data/agents/13-python-live-rollback-and-recovery-agent.json +146 -0
  380. package/scripts/python_live_data/agents/14-python-live-exception-governance-agent.json +148 -0
  381. package/scripts/update-catalog-new-agents.py +16 -15
  382. package/skills/python/python-application-security/SKILL.md +65 -0
  383. package/skills/python/python-application-security/metadata.json +28 -0
  384. package/skills/python/python-application-security/references/failure-modes.md +10 -0
  385. package/skills/python/python-application-security/references/injection-ssrf-and-file-handling.md +13 -0
  386. package/skills/python/python-application-security/references/official-sources.md +22 -0
  387. package/skills/python/python-application-security/references/review-checklist.md +12 -0
  388. package/skills/python/python-application-security/references/safety-checklist.md +22 -0
  389. package/skills/python/python-application-security/references/secrets-and-cryptography.md +13 -0
  390. package/skills/python/python-application-security/references/unsafe-deserialization-and-dynamic-execution.md +13 -0
  391. package/skills/python/python-application-security/references/workflow-and-output.md +21 -0
  392. package/skills/python/python-async-concurrency-reliability/SKILL.md +64 -0
  393. package/skills/python/python-async-concurrency-reliability/metadata.json +27 -0
  394. package/skills/python/python-async-concurrency-reliability/references/cancellation-timeouts-and-structured-concurrency.md +12 -0
  395. package/skills/python/python-async-concurrency-reliability/references/event-loop-blocking-and-executors.md +12 -0
  396. package/skills/python/python-async-concurrency-reliability/references/failure-modes.md +9 -0
  397. package/skills/python/python-async-concurrency-reliability/references/official-sources.md +21 -0
  398. package/skills/python/python-async-concurrency-reliability/references/review-checklist.md +10 -0
  399. package/skills/python/python-async-concurrency-reliability/references/safety-checklist.md +22 -0
  400. package/skills/python/python-async-concurrency-reliability/references/workflow-and-output.md +21 -0
  401. package/skills/python/python-business-critical-automation-governance/SKILL.md +62 -0
  402. package/skills/python/python-business-critical-automation-governance/metadata.json +27 -0
  403. package/skills/python/python-business-critical-automation-governance/references/exposure-and-remediation-verdict.md +12 -0
  404. package/skills/python/python-business-critical-automation-governance/references/failure-modes.md +9 -0
  405. package/skills/python/python-business-critical-automation-governance/references/official-sources.md +21 -0
  406. package/skills/python/python-business-critical-automation-governance/references/ownership-and-controls-mapping.md +12 -0
  407. package/skills/python/python-business-critical-automation-governance/references/review-checklist.md +10 -0
  408. package/skills/python/python-business-critical-automation-governance/references/safety-checklist.md +21 -0
  409. package/skills/python/python-business-critical-automation-governance/references/workflow-and-output.md +21 -0
  410. package/skills/python/python-container-serverless-runtime/SKILL.md +62 -0
  411. package/skills/python/python-container-serverless-runtime/metadata.json +27 -0
  412. package/skills/python/python-container-serverless-runtime/references/failure-modes.md +9 -0
  413. package/skills/python/python-container-serverless-runtime/references/official-sources.md +21 -0
  414. package/skills/python/python-container-serverless-runtime/references/pid1-signals-and-shutdown.md +12 -0
  415. package/skills/python/python-container-serverless-runtime/references/review-checklist.md +10 -0
  416. package/skills/python/python-container-serverless-runtime/references/safety-checklist.md +21 -0
  417. package/skills/python/python-container-serverless-runtime/references/worker-model-and-coldstart.md +12 -0
  418. package/skills/python/python-container-serverless-runtime/references/workflow-and-output.md +21 -0
  419. package/skills/python/python-data-access-transaction/SKILL.md +63 -0
  420. package/skills/python/python-data-access-transaction/metadata.json +27 -0
  421. package/skills/python/python-data-access-transaction/references/failure-modes.md +9 -0
  422. package/skills/python/python-data-access-transaction/references/migrations-pooling-and-tenancy.md +12 -0
  423. package/skills/python/python-data-access-transaction/references/official-sources.md +21 -0
  424. package/skills/python/python-data-access-transaction/references/review-checklist.md +10 -0
  425. package/skills/python/python-data-access-transaction/references/safety-checklist.md +21 -0
  426. package/skills/python/python-data-access-transaction/references/session-transaction-and-nplusone.md +12 -0
  427. package/skills/python/python-data-access-transaction/references/workflow-and-output.md +21 -0
  428. package/skills/python/python-data-pipeline-reliability/SKILL.md +62 -0
  429. package/skills/python/python-data-pipeline-reliability/metadata.json +27 -0
  430. package/skills/python/python-data-pipeline-reliability/references/failure-modes.md +9 -0
  431. package/skills/python/python-data-pipeline-reliability/references/idempotency-backfills-and-catchup.md +12 -0
  432. package/skills/python/python-data-pipeline-reliability/references/official-sources.md +21 -0
  433. package/skills/python/python-data-pipeline-reliability/references/review-checklist.md +10 -0
  434. package/skills/python/python-data-pipeline-reliability/references/safety-checklist.md +21 -0
  435. package/skills/python/python-data-pipeline-reliability/references/schema-late-data-and-quality.md +12 -0
  436. package/skills/python/python-data-pipeline-reliability/references/workflow-and-output.md +21 -0
  437. package/skills/python/python-developer-tooling-build/SKILL.md +62 -0
  438. package/skills/python/python-developer-tooling-build/metadata.json +27 -0
  439. package/skills/python/python-developer-tooling-build/references/ci-matrix-and-build-backend.md +12 -0
  440. package/skills/python/python-developer-tooling-build/references/failure-modes.md +9 -0
  441. package/skills/python/python-developer-tooling-build/references/gate-efficacy-and-strictness.md +12 -0
  442. package/skills/python/python-developer-tooling-build/references/official-sources.md +21 -0
  443. package/skills/python/python-developer-tooling-build/references/review-checklist.md +10 -0
  444. package/skills/python/python-developer-tooling-build/references/safety-checklist.md +22 -0
  445. package/skills/python/python-developer-tooling-build/references/workflow-and-output.md +21 -0
  446. package/skills/python/python-distributed-task-reliability/SKILL.md +63 -0
  447. package/skills/python/python-distributed-task-reliability/metadata.json +27 -0
  448. package/skills/python/python-distributed-task-reliability/references/failure-modes.md +9 -0
  449. package/skills/python/python-distributed-task-reliability/references/idempotency-acks-and-retries.md +12 -0
  450. package/skills/python/python-distributed-task-reliability/references/official-sources.md +21 -0
  451. package/skills/python/python-distributed-task-reliability/references/outbox-poison-and-scheduling.md +12 -0
  452. package/skills/python/python-distributed-task-reliability/references/review-checklist.md +10 -0
  453. package/skills/python/python-distributed-task-reliability/references/safety-checklist.md +21 -0
  454. package/skills/python/python-distributed-task-reliability/references/workflow-and-output.md +21 -0
  455. package/skills/python/python-estate-modernization-governor/SKILL.md +61 -0
  456. package/skills/python/python-estate-modernization-governor/metadata.json +27 -0
  457. package/skills/python/python-estate-modernization-governor/references/failure-modes.md +9 -0
  458. package/skills/python/python-estate-modernization-governor/references/official-sources.md +21 -0
  459. package/skills/python/python-estate-modernization-governor/references/review-checklist.md +10 -0
  460. package/skills/python/python-estate-modernization-governor/references/runtime-eol-and-support-posture.md +12 -0
  461. package/skills/python/python-estate-modernization-governor/references/safety-checklist.md +21 -0
  462. package/skills/python/python-estate-modernization-governor/references/upgrade-sequencing-and-compatibility.md +12 -0
  463. package/skills/python/python-estate-modernization-governor/references/workflow-and-output.md +21 -0
  464. package/skills/python/python-free-threading-parallelism/SKILL.md +61 -0
  465. package/skills/python/python-free-threading-parallelism/metadata.json +27 -0
  466. package/skills/python/python-free-threading-parallelism/references/extension-compatibility-and-adoption.md +12 -0
  467. package/skills/python/python-free-threading-parallelism/references/failure-modes.md +9 -0
  468. package/skills/python/python-free-threading-parallelism/references/gil-assumptions-and-shared-state.md +12 -0
  469. package/skills/python/python-free-threading-parallelism/references/official-sources.md +21 -0
  470. package/skills/python/python-free-threading-parallelism/references/review-checklist.md +10 -0
  471. package/skills/python/python-free-threading-parallelism/references/safety-checklist.md +21 -0
  472. package/skills/python/python-free-threading-parallelism/references/workflow-and-output.md +21 -0
  473. package/skills/python/python-language-contracts-typing/SKILL.md +63 -0
  474. package/skills/python/python-language-contracts-typing/metadata.json +27 -0
  475. package/skills/python/python-language-contracts-typing/references/any-propagation-and-boundaries.md +12 -0
  476. package/skills/python/python-language-contracts-typing/references/failure-modes.md +9 -0
  477. package/skills/python/python-language-contracts-typing/references/official-sources.md +21 -0
  478. package/skills/python/python-language-contracts-typing/references/protocols-generics-variance.md +12 -0
  479. package/skills/python/python-language-contracts-typing/references/review-checklist.md +10 -0
  480. package/skills/python/python-language-contracts-typing/references/safety-checklist.md +21 -0
  481. package/skills/python/python-language-contracts-typing/references/workflow-and-output.md +21 -0
  482. package/skills/python/python-live-change-plan/SKILL.md +62 -0
  483. package/skills/python/python-live-change-plan/metadata.json +26 -0
  484. package/skills/python/python-live-change-plan/references/failure-modes.md +9 -0
  485. package/skills/python/python-live-change-plan/references/official-sources.md +19 -0
  486. package/skills/python/python-live-change-plan/references/plan-diff-rollback-digest.md +11 -0
  487. package/skills/python/python-live-change-plan/references/review-checklist.md +10 -0
  488. package/skills/python/python-live-change-plan/references/safety-checklist.md +24 -0
  489. package/skills/python/python-live-change-plan/references/workflow-and-output.md +21 -0
  490. package/skills/python/python-live-code-remediation/SKILL.md +62 -0
  491. package/skills/python/python-live-code-remediation/metadata.json +26 -0
  492. package/skills/python/python-live-code-remediation/references/bounded-remediation-pr.md +12 -0
  493. package/skills/python/python-live-code-remediation/references/failure-modes.md +9 -0
  494. package/skills/python/python-live-code-remediation/references/official-sources.md +19 -0
  495. package/skills/python/python-live-code-remediation/references/review-checklist.md +10 -0
  496. package/skills/python/python-live-code-remediation/references/safety-checklist.md +25 -0
  497. package/skills/python/python-live-code-remediation/references/workflow-and-output.md +21 -0
  498. package/skills/python/python-live-continuous-control-testing/SKILL.md +62 -0
  499. package/skills/python/python-live-continuous-control-testing/metadata.json +26 -0
  500. package/skills/python/python-live-continuous-control-testing/references/continuous-control-testing.md +13 -0
  501. package/skills/python/python-live-continuous-control-testing/references/failure-modes.md +9 -0
  502. package/skills/python/python-live-continuous-control-testing/references/official-sources.md +19 -0
  503. package/skills/python/python-live-continuous-control-testing/references/review-checklist.md +10 -0
  504. package/skills/python/python-live-continuous-control-testing/references/safety-checklist.md +25 -0
  505. package/skills/python/python-live-continuous-control-testing/references/workflow-and-output.md +21 -0
  506. package/skills/python/python-live-control-evidence/SKILL.md +62 -0
  507. package/skills/python/python-live-control-evidence/metadata.json +26 -0
  508. package/skills/python/python-live-control-evidence/references/evidence-collection-and-sealing.md +13 -0
  509. package/skills/python/python-live-control-evidence/references/failure-modes.md +9 -0
  510. package/skills/python/python-live-control-evidence/references/official-sources.md +19 -0
  511. package/skills/python/python-live-control-evidence/references/review-checklist.md +10 -0
  512. package/skills/python/python-live-control-evidence/references/safety-checklist.md +25 -0
  513. package/skills/python/python-live-control-evidence/references/workflow-and-output.md +21 -0
  514. package/skills/python/python-live-data-change-control/SKILL.md +63 -0
  515. package/skills/python/python-live-data-change-control/metadata.json +26 -0
  516. package/skills/python/python-live-data-change-control/references/failure-modes.md +9 -0
  517. package/skills/python/python-live-data-change-control/references/governed-data-change.md +14 -0
  518. package/skills/python/python-live-data-change-control/references/official-sources.md +19 -0
  519. package/skills/python/python-live-data-change-control/references/review-checklist.md +10 -0
  520. package/skills/python/python-live-data-change-control/references/safety-checklist.md +26 -0
  521. package/skills/python/python-live-data-change-control/references/workflow-and-output.md +21 -0
  522. package/skills/python/python-live-exception-governance/SKILL.md +62 -0
  523. package/skills/python/python-live-exception-governance/metadata.json +26 -0
  524. package/skills/python/python-live-exception-governance/references/exception-governance.md +13 -0
  525. package/skills/python/python-live-exception-governance/references/failure-modes.md +9 -0
  526. package/skills/python/python-live-exception-governance/references/official-sources.md +19 -0
  527. package/skills/python/python-live-exception-governance/references/review-checklist.md +10 -0
  528. package/skills/python/python-live-exception-governance/references/safety-checklist.md +25 -0
  529. package/skills/python/python-live-exception-governance/references/workflow-and-output.md +21 -0
  530. package/skills/python/python-live-governance-maestro/SKILL.md +56 -0
  531. package/skills/python/python-live-governance-maestro/metadata.json +27 -0
  532. package/skills/python/python-live-governance-maestro/references/official-sources.md +20 -0
  533. package/skills/python/python-live-governance-maestro/references/routing-taxonomy.md +8 -0
  534. package/skills/python/python-live-governance-maestro/references/safety-checklist.md +26 -0
  535. package/skills/python/python-live-identity-authority/SKILL.md +63 -0
  536. package/skills/python/python-live-identity-authority/metadata.json +26 -0
  537. package/skills/python/python-live-identity-authority/references/failure-modes.md +9 -0
  538. package/skills/python/python-live-identity-authority/references/identity-authority-and-sod.md +12 -0
  539. package/skills/python/python-live-identity-authority/references/official-sources.md +19 -0
  540. package/skills/python/python-live-identity-authority/references/review-checklist.md +10 -0
  541. package/skills/python/python-live-identity-authority/references/safety-checklist.md +25 -0
  542. package/skills/python/python-live-identity-authority/references/workflow-and-output.md +21 -0
  543. package/skills/python/python-live-job-control/SKILL.md +61 -0
  544. package/skills/python/python-live-job-control/metadata.json +26 -0
  545. package/skills/python/python-live-job-control/references/business-idempotency-and-reconciliation.md +13 -0
  546. package/skills/python/python-live-job-control/references/failure-modes.md +9 -0
  547. package/skills/python/python-live-job-control/references/official-sources.md +19 -0
  548. package/skills/python/python-live-job-control/references/review-checklist.md +10 -0
  549. package/skills/python/python-live-job-control/references/safety-checklist.md +25 -0
  550. package/skills/python/python-live-job-control/references/workflow-and-output.md +21 -0
  551. package/skills/python/python-live-model-promotion-control/SKILL.md +62 -0
  552. package/skills/python/python-live-model-promotion-control/metadata.json +26 -0
  553. package/skills/python/python-live-model-promotion-control/references/failure-modes.md +9 -0
  554. package/skills/python/python-live-model-promotion-control/references/model-promotion-governance.md +13 -0
  555. package/skills/python/python-live-model-promotion-control/references/official-sources.md +19 -0
  556. package/skills/python/python-live-model-promotion-control/references/review-checklist.md +10 -0
  557. package/skills/python/python-live-model-promotion-control/references/safety-checklist.md +26 -0
  558. package/skills/python/python-live-model-promotion-control/references/workflow-and-output.md +21 -0
  559. package/skills/python/python-live-policy-gate/SKILL.md +63 -0
  560. package/skills/python/python-live-policy-gate/metadata.json +26 -0
  561. package/skills/python/python-live-policy-gate/references/failure-modes.md +9 -0
  562. package/skills/python/python-live-policy-gate/references/official-sources.md +19 -0
  563. package/skills/python/python-live-policy-gate/references/policy-applicability-evaluation.md +13 -0
  564. package/skills/python/python-live-policy-gate/references/review-checklist.md +10 -0
  565. package/skills/python/python-live-policy-gate/references/safety-checklist.md +24 -0
  566. package/skills/python/python-live-policy-gate/references/workflow-and-output.md +21 -0
  567. package/skills/python/python-live-release-control/SKILL.md +63 -0
  568. package/skills/python/python-live-release-control/metadata.json +26 -0
  569. package/skills/python/python-live-release-control/references/bounded-release-and-approval.md +13 -0
  570. package/skills/python/python-live-release-control/references/failure-modes.md +9 -0
  571. package/skills/python/python-live-release-control/references/official-sources.md +19 -0
  572. package/skills/python/python-live-release-control/references/review-checklist.md +10 -0
  573. package/skills/python/python-live-release-control/references/safety-checklist.md +26 -0
  574. package/skills/python/python-live-release-control/references/workflow-and-output.md +21 -0
  575. package/skills/python/python-live-rollback-and-recovery/SKILL.md +62 -0
  576. package/skills/python/python-live-rollback-and-recovery/metadata.json +26 -0
  577. package/skills/python/python-live-rollback-and-recovery/references/failure-modes.md +9 -0
  578. package/skills/python/python-live-rollback-and-recovery/references/official-sources.md +19 -0
  579. package/skills/python/python-live-rollback-and-recovery/references/preapproved-rollback.md +12 -0
  580. package/skills/python/python-live-rollback-and-recovery/references/review-checklist.md +10 -0
  581. package/skills/python/python-live-rollback-and-recovery/references/safety-checklist.md +25 -0
  582. package/skills/python/python-live-rollback-and-recovery/references/workflow-and-output.md +21 -0
  583. package/skills/python/python-live-runtime-control/SKILL.md +62 -0
  584. package/skills/python/python-live-runtime-control/metadata.json +26 -0
  585. package/skills/python/python-live-runtime-control/references/failure-modes.md +9 -0
  586. package/skills/python/python-live-runtime-control/references/official-sources.md +19 -0
  587. package/skills/python/python-live-runtime-control/references/readonly-diagnostics.md +13 -0
  588. package/skills/python/python-live-runtime-control/references/review-checklist.md +10 -0
  589. package/skills/python/python-live-runtime-control/references/safety-checklist.md +24 -0
  590. package/skills/python/python-live-runtime-control/references/workflow-and-output.md +21 -0
  591. package/skills/python/python-live-system-inventory/SKILL.md +63 -0
  592. package/skills/python/python-live-system-inventory/metadata.json +26 -0
  593. package/skills/python/python-live-system-inventory/references/failure-modes.md +9 -0
  594. package/skills/python/python-live-system-inventory/references/inventory-and-ownership.md +12 -0
  595. package/skills/python/python-live-system-inventory/references/official-sources.md +19 -0
  596. package/skills/python/python-live-system-inventory/references/review-checklist.md +10 -0
  597. package/skills/python/python-live-system-inventory/references/safety-checklist.md +24 -0
  598. package/skills/python/python-live-system-inventory/references/workflow-and-output.md +21 -0
  599. package/skills/python/python-maestro/SKILL.md +57 -0
  600. package/skills/python/python-maestro/metadata.json +26 -0
  601. package/skills/python/python-maestro/references/official-sources.md +15 -0
  602. package/skills/python/python-maestro/references/routing-taxonomy.md +7 -0
  603. package/skills/python/python-maestro/references/safety-checklist.md +20 -0
  604. package/skills/python/python-ml-ai-production/SKILL.md +62 -0
  605. package/skills/python/python-ml-ai-production/metadata.json +27 -0
  606. package/skills/python/python-ml-ai-production/references/artifact-serialization-and-provenance.md +12 -0
  607. package/skills/python/python-ml-ai-production/references/failure-modes.md +9 -0
  608. package/skills/python/python-ml-ai-production/references/official-sources.md +21 -0
  609. package/skills/python/python-ml-ai-production/references/review-checklist.md +10 -0
  610. package/skills/python/python-ml-ai-production/references/safety-checklist.md +21 -0
  611. package/skills/python/python-ml-ai-production/references/skew-leakage-and-reproducibility.md +12 -0
  612. package/skills/python/python-ml-ai-production/references/workflow-and-output.md +21 -0
  613. package/skills/python/python-native-extension-interop/SKILL.md +62 -0
  614. package/skills/python/python-native-extension-interop/metadata.json +27 -0
  615. package/skills/python/python-native-extension-interop/references/failure-modes.md +9 -0
  616. package/skills/python/python-native-extension-interop/references/official-sources.md +21 -0
  617. package/skills/python/python-native-extension-interop/references/reference-ownership-and-buffers.md +12 -0
  618. package/skills/python/python-native-extension-interop/references/review-checklist.md +10 -0
  619. package/skills/python/python-native-extension-interop/references/safety-checklist.md +21 -0
  620. package/skills/python/python-native-extension-interop/references/stable-abi-and-exception-translation.md +12 -0
  621. package/skills/python/python-native-extension-interop/references/workflow-and-output.md +21 -0
  622. package/skills/python/python-numerical-scientific-correctness/SKILL.md +65 -0
  623. package/skills/python/python-numerical-scientific-correctness/metadata.json +27 -0
  624. package/skills/python/python-numerical-scientific-correctness/references/datetime-timezones-and-dtypes.md +12 -0
  625. package/skills/python/python-numerical-scientific-correctness/references/failure-modes.md +9 -0
  626. package/skills/python/python-numerical-scientific-correctness/references/money-rounding-and-decimal.md +12 -0
  627. package/skills/python/python-numerical-scientific-correctness/references/official-sources.md +21 -0
  628. package/skills/python/python-numerical-scientific-correctness/references/reproducibility-and-numerical-stability.md +12 -0
  629. package/skills/python/python-numerical-scientific-correctness/references/review-checklist.md +10 -0
  630. package/skills/python/python-numerical-scientific-correctness/references/safety-checklist.md +21 -0
  631. package/skills/python/python-numerical-scientific-correctness/references/workflow-and-output.md +21 -0
  632. package/skills/python/python-observability-sre/SKILL.md +62 -0
  633. package/skills/python/python-observability-sre/metadata.json +27 -0
  634. package/skills/python/python-observability-sre/references/cardinality-and-pii.md +12 -0
  635. package/skills/python/python-observability-sre/references/context-propagation-and-correlation.md +12 -0
  636. package/skills/python/python-observability-sre/references/failure-modes.md +9 -0
  637. package/skills/python/python-observability-sre/references/official-sources.md +21 -0
  638. package/skills/python/python-observability-sre/references/review-checklist.md +10 -0
  639. package/skills/python/python-observability-sre/references/safety-checklist.md +21 -0
  640. package/skills/python/python-observability-sre/references/workflow-and-output.md +21 -0
  641. package/skills/python/python-packaging-supply-chain/SKILL.md +64 -0
  642. package/skills/python/python-packaging-supply-chain/metadata.json +27 -0
  643. package/skills/python/python-packaging-supply-chain/references/failure-modes.md +9 -0
  644. package/skills/python/python-packaging-supply-chain/references/index-trust-and-dependency-confusion.md +12 -0
  645. package/skills/python/python-packaging-supply-chain/references/locking-and-hash-checking.md +12 -0
  646. package/skills/python/python-packaging-supply-chain/references/official-sources.md +21 -0
  647. package/skills/python/python-packaging-supply-chain/references/pyproject-and-build-isolation.md +12 -0
  648. package/skills/python/python-packaging-supply-chain/references/review-checklist.md +10 -0
  649. package/skills/python/python-packaging-supply-chain/references/safety-checklist.md +21 -0
  650. package/skills/python/python-packaging-supply-chain/references/workflow-and-output.md +21 -0
  651. package/skills/python/python-performance-memory/SKILL.md +62 -0
  652. package/skills/python/python-performance-memory/metadata.json +27 -0
  653. package/skills/python/python-performance-memory/references/failure-modes.md +9 -0
  654. package/skills/python/python-performance-memory/references/memory-growth-and-gc.md +12 -0
  655. package/skills/python/python-performance-memory/references/official-sources.md +21 -0
  656. package/skills/python/python-performance-memory/references/profiling-vs-benchmarking.md +12 -0
  657. package/skills/python/python-performance-memory/references/review-checklist.md +10 -0
  658. package/skills/python/python-performance-memory/references/safety-checklist.md +22 -0
  659. package/skills/python/python-performance-memory/references/workflow-and-output.md +21 -0
  660. package/skills/python/python-testing-quality-engineering/SKILL.md +63 -0
  661. package/skills/python/python-testing-quality-engineering/metadata.json +27 -0
  662. package/skills/python/python-testing-quality-engineering/references/coverage-theater-and-property-testing.md +12 -0
  663. package/skills/python/python-testing-quality-engineering/references/failure-modes.md +9 -0
  664. package/skills/python/python-testing-quality-engineering/references/mocks-fixtures-and-determinism.md +12 -0
  665. package/skills/python/python-testing-quality-engineering/references/official-sources.md +21 -0
  666. package/skills/python/python-testing-quality-engineering/references/review-checklist.md +10 -0
  667. package/skills/python/python-testing-quality-engineering/references/safety-checklist.md +21 -0
  668. package/skills/python/python-testing-quality-engineering/references/workflow-and-output.md +21 -0
  669. package/skills/python/python-web-service-production-readiness/SKILL.md +62 -0
  670. package/skills/python/python-web-service-production-readiness/metadata.json +27 -0
  671. package/skills/python/python-web-service-production-readiness/references/failure-modes.md +9 -0
  672. package/skills/python/python-web-service-production-readiness/references/framework-async-and-lifecycle.md +12 -0
  673. package/skills/python/python-web-service-production-readiness/references/official-sources.md +21 -0
  674. package/skills/python/python-web-service-production-readiness/references/review-checklist.md +10 -0
  675. package/skills/python/python-web-service-production-readiness/references/safety-checklist.md +21 -0
  676. package/skills/python/python-web-service-production-readiness/references/workflow-and-output.md +21 -0
  677. package/tests/fixtures/python-live-maestro-routing/expected/001-happy-inventory.json +6 -0
  678. package/tests/fixtures/python-live-maestro-routing/expected/002-happy-identity-authority.json +6 -0
  679. package/tests/fixtures/python-live-maestro-routing/expected/003-happy-runtime-control.json +6 -0
  680. package/tests/fixtures/python-live-maestro-routing/expected/004-happy-change-plan.json +6 -0
  681. package/tests/fixtures/python-live-maestro-routing/expected/005-happy-policy-gate.json +6 -0
  682. package/tests/fixtures/python-live-maestro-routing/expected/006-happy-control-evidence.json +6 -0
  683. package/tests/fixtures/python-live-maestro-routing/expected/007-happy-continuous-testing.json +6 -0
  684. package/tests/fixtures/python-live-maestro-routing/expected/008-happy-exception-governance.json +6 -0
  685. package/tests/fixtures/python-live-maestro-routing/expected/009-gated-release.json +6 -0
  686. package/tests/fixtures/python-live-maestro-routing/expected/010-gated-data-change.json +6 -0
  687. package/tests/fixtures/python-live-maestro-routing/expected/011-gated-job.json +6 -0
  688. package/tests/fixtures/python-live-maestro-routing/expected/012-gated-model-promotion.json +6 -0
  689. package/tests/fixtures/python-live-maestro-routing/expected/013-gated-rollback.json +6 -0
  690. package/tests/fixtures/python-live-maestro-routing/expected/014-gated-code-remediation.json +6 -0
  691. package/tests/fixtures/python-live-maestro-routing/expected/015-adv-verbal-approval.json +6 -0
  692. package/tests/fixtures/python-live-maestro-routing/expected/016-adv-admin-credentials.json +6 -0
  693. package/tests/fixtures/python-live-maestro-routing/expected/017-adv-skip-log.json +6 -0
  694. package/tests/fixtures/python-live-maestro-routing/expected/018-adv-now-ticket-later.json +6 -0
  695. package/tests/fixtures/python-live-maestro-routing/expected/019-adv-retry-all.json +6 -0
  696. package/tests/fixtures/python-live-maestro-routing/expected/020-adv-rollback-probably.json +6 -0
  697. package/tests/fixtures/python-live-maestro-routing/expected/021-adv-same-approval-99.json +6 -0
  698. package/tests/fixtures/python-live-maestro-routing/expected/022-adv-requester-approver.json +6 -0
  699. package/tests/fixtures/python-live-maestro-routing/expected/023-adv-change-target-same-approval.json +6 -0
  700. package/tests/fixtures/python-live-maestro-routing/expected/024-adv-prod-db-test.json +6 -0
  701. package/tests/fixtures/python-live-maestro-routing/expected/025-adv-guard-noun-no-verb.json +4 -0
  702. package/tests/fixtures/python-live-maestro-routing/inputs/001-happy-inventory.json +7 -0
  703. package/tests/fixtures/python-live-maestro-routing/inputs/002-happy-identity-authority.json +7 -0
  704. package/tests/fixtures/python-live-maestro-routing/inputs/003-happy-runtime-control.json +7 -0
  705. package/tests/fixtures/python-live-maestro-routing/inputs/004-happy-change-plan.json +7 -0
  706. package/tests/fixtures/python-live-maestro-routing/inputs/005-happy-policy-gate.json +7 -0
  707. package/tests/fixtures/python-live-maestro-routing/inputs/006-happy-control-evidence.json +7 -0
  708. package/tests/fixtures/python-live-maestro-routing/inputs/007-happy-continuous-testing.json +7 -0
  709. package/tests/fixtures/python-live-maestro-routing/inputs/008-happy-exception-governance.json +7 -0
  710. package/tests/fixtures/python-live-maestro-routing/inputs/009-gated-release.json +7 -0
  711. package/tests/fixtures/python-live-maestro-routing/inputs/010-gated-data-change.json +7 -0
  712. package/tests/fixtures/python-live-maestro-routing/inputs/011-gated-job.json +7 -0
  713. package/tests/fixtures/python-live-maestro-routing/inputs/012-gated-model-promotion.json +7 -0
  714. package/tests/fixtures/python-live-maestro-routing/inputs/013-gated-rollback.json +7 -0
  715. package/tests/fixtures/python-live-maestro-routing/inputs/014-gated-code-remediation.json +7 -0
  716. package/tests/fixtures/python-live-maestro-routing/inputs/015-adv-verbal-approval.json +8 -0
  717. package/tests/fixtures/python-live-maestro-routing/inputs/016-adv-admin-credentials.json +8 -0
  718. package/tests/fixtures/python-live-maestro-routing/inputs/017-adv-skip-log.json +8 -0
  719. package/tests/fixtures/python-live-maestro-routing/inputs/018-adv-now-ticket-later.json +8 -0
  720. package/tests/fixtures/python-live-maestro-routing/inputs/019-adv-retry-all.json +8 -0
  721. package/tests/fixtures/python-live-maestro-routing/inputs/020-adv-rollback-probably.json +8 -0
  722. package/tests/fixtures/python-live-maestro-routing/inputs/021-adv-same-approval-99.json +8 -0
  723. package/tests/fixtures/python-live-maestro-routing/inputs/022-adv-requester-approver.json +8 -0
  724. package/tests/fixtures/python-live-maestro-routing/inputs/023-adv-change-target-same-approval.json +8 -0
  725. package/tests/fixtures/python-live-maestro-routing/inputs/024-adv-prod-db-test.json +8 -0
  726. package/tests/fixtures/python-live-maestro-routing/inputs/025-adv-guard-noun-no-verb.json +8 -0
  727. package/tests/fixtures/python-live-maestro-routing/taxonomy.json +103 -0
  728. package/tests/fixtures/python-maestro-routing/expected/001-happy-application-security.json +6 -0
  729. package/tests/fixtures/python-maestro-routing/expected/002-happy-async-reliability.json +6 -0
  730. package/tests/fixtures/python-maestro-routing/expected/003-happy-packaging-supply-chain.json +6 -0
  731. package/tests/fixtures/python-maestro-routing/expected/004-happy-numerical-correctness.json +6 -0
  732. package/tests/fixtures/python-maestro-routing/expected/005-adv-injection-directive-in-source.json +6 -0
  733. package/tests/fixtures/python-maestro-routing/expected/006-adv-deploy-to-production.json +4 -0
  734. package/tests/fixtures/python-maestro-routing/expected/007-adv-publish-package-to-pypi.json +4 -0
  735. package/tests/fixtures/python-maestro-routing/expected/008-adv-pip-install-to-inspect.json +4 -0
  736. package/tests/fixtures/python-maestro-routing/expected/009-adv-disguised-terraform.json +4 -0
  737. package/tests/fixtures/python-maestro-routing/expected/010-adv-disable-quality-gate.json +4 -0
  738. package/tests/fixtures/python-maestro-routing/expected/011-multi-security-and-packaging.json +7 -0
  739. package/tests/fixtures/python-maestro-routing/expected/012-multi-async-and-numerical.json +7 -0
  740. package/tests/fixtures/python-maestro-routing/expected/013-happy-typing.json +6 -0
  741. package/tests/fixtures/python-maestro-routing/expected/014-happy-web-service.json +6 -0
  742. package/tests/fixtures/python-maestro-routing/expected/015-happy-data-access.json +6 -0
  743. package/tests/fixtures/python-maestro-routing/expected/016-happy-distributed-task-idempotency.json +6 -0
  744. package/tests/fixtures/python-maestro-routing/expected/017-happy-testing-coverage-theater.json +6 -0
  745. package/tests/fixtures/python-maestro-routing/expected/018-multi-web-and-data-access.json +7 -0
  746. package/tests/fixtures/python-maestro-routing/expected/019-happy-free-threading-unsafe-cext.json +6 -0
  747. package/tests/fixtures/python-maestro-routing/expected/020-happy-container-signals.json +6 -0
  748. package/tests/fixtures/python-maestro-routing/expected/021-happy-notebook-month-end.json +6 -0
  749. package/tests/fixtures/python-maestro-routing/expected/022-happy-estate-eol-upgrade.json +6 -0
  750. package/tests/fixtures/python-maestro-routing/expected/023-happy-performance-no-evidence.json +6 -0
  751. package/tests/fixtures/python-maestro-routing/expected/024-happy-data-pipeline-backfill.json +6 -0
  752. package/tests/fixtures/python-maestro-routing/expected/025-happy-ml-leakage-artifact.json +6 -0
  753. package/tests/fixtures/python-maestro-routing/expected/026-happy-observability-cardinality.json +6 -0
  754. package/tests/fixtures/python-maestro-routing/expected/027-happy-tooling-nonblocking-gate.json +6 -0
  755. package/tests/fixtures/python-maestro-routing/expected/028-happy-native-extension-refcount.json +6 -0
  756. package/tests/fixtures/python-maestro-routing/expected/029-adv-five-domain-cap.json +9 -0
  757. package/tests/fixtures/python-maestro-routing/inputs/001-happy-application-security.json +7 -0
  758. package/tests/fixtures/python-maestro-routing/inputs/002-happy-async-reliability.json +7 -0
  759. package/tests/fixtures/python-maestro-routing/inputs/003-happy-packaging-supply-chain.json +7 -0
  760. package/tests/fixtures/python-maestro-routing/inputs/004-happy-numerical-correctness.json +7 -0
  761. package/tests/fixtures/python-maestro-routing/inputs/005-adv-injection-directive-in-source.json +8 -0
  762. package/tests/fixtures/python-maestro-routing/inputs/006-adv-deploy-to-production.json +8 -0
  763. package/tests/fixtures/python-maestro-routing/inputs/007-adv-publish-package-to-pypi.json +8 -0
  764. package/tests/fixtures/python-maestro-routing/inputs/008-adv-pip-install-to-inspect.json +8 -0
  765. package/tests/fixtures/python-maestro-routing/inputs/009-adv-disguised-terraform.json +8 -0
  766. package/tests/fixtures/python-maestro-routing/inputs/010-adv-disable-quality-gate.json +8 -0
  767. package/tests/fixtures/python-maestro-routing/inputs/011-multi-security-and-packaging.json +7 -0
  768. package/tests/fixtures/python-maestro-routing/inputs/012-multi-async-and-numerical.json +7 -0
  769. package/tests/fixtures/python-maestro-routing/inputs/013-happy-typing.json +7 -0
  770. package/tests/fixtures/python-maestro-routing/inputs/014-happy-web-service.json +7 -0
  771. package/tests/fixtures/python-maestro-routing/inputs/015-happy-data-access.json +7 -0
  772. package/tests/fixtures/python-maestro-routing/inputs/016-happy-distributed-task-idempotency.json +7 -0
  773. package/tests/fixtures/python-maestro-routing/inputs/017-happy-testing-coverage-theater.json +7 -0
  774. package/tests/fixtures/python-maestro-routing/inputs/018-multi-web-and-data-access.json +7 -0
  775. package/tests/fixtures/python-maestro-routing/inputs/019-happy-free-threading-unsafe-cext.json +7 -0
  776. package/tests/fixtures/python-maestro-routing/inputs/020-happy-container-signals.json +7 -0
  777. package/tests/fixtures/python-maestro-routing/inputs/021-happy-notebook-month-end.json +7 -0
  778. package/tests/fixtures/python-maestro-routing/inputs/022-happy-estate-eol-upgrade.json +7 -0
  779. package/tests/fixtures/python-maestro-routing/inputs/023-happy-performance-no-evidence.json +7 -0
  780. package/tests/fixtures/python-maestro-routing/inputs/024-happy-data-pipeline-backfill.json +7 -0
  781. package/tests/fixtures/python-maestro-routing/inputs/025-happy-ml-leakage-artifact.json +7 -0
  782. package/tests/fixtures/python-maestro-routing/inputs/026-happy-observability-cardinality.json +7 -0
  783. package/tests/fixtures/python-maestro-routing/inputs/027-happy-tooling-nonblocking-gate.json +7 -0
  784. package/tests/fixtures/python-maestro-routing/inputs/028-happy-native-extension-refcount.json +7 -0
  785. package/tests/fixtures/python-maestro-routing/inputs/029-adv-five-domain-cap.json +8 -0
  786. package/tests/fixtures/python-maestro-routing/taxonomy.json +282 -0
  787. package/tests/validate-catalog.py +1 -0
@@ -0,0 +1,176 @@
1
+ {
2
+ "id": "python-packaging-supply-chain-agent",
3
+ "name": "Python Packaging and Supply Chain Agent",
4
+ "domain_key": "packaging-supply-chain",
5
+ "routing_keywords": ["pyproject", "requirements", "lockfile", "pip", "hashes", "require-hashes", "index-url", "extra-index-url", "dependency confusion", "build-system", "build isolation", "pin", "wheel"],
6
+ "summary": "Static review of Python packaging and software supply-chain integrity: pyproject build metadata, dependency locking and hash-checking, index trust and dependency confusion, build isolation, dependency specifiers, license metadata, and CI release-token exposure. Reads manifests and lockfiles only; never installs packages or resolves environments.",
7
+ "official_docs": [
8
+ "https://packaging.python.org/en/latest/specifications/pyproject-toml/",
9
+ "https://pip.pypa.io/en/stable/topics/secure-installs/",
10
+ "https://pip.pypa.io/en/stable/topics/repeatable-installs/",
11
+ "https://packaging.python.org/en/latest/specifications/dependency-specifiers/"
12
+ ],
13
+ "security_notes": "Static review only — reads `pyproject.toml`, `requirements`/constraints files, lockfiles, and CI definitions to assess locking, hashing, index trust, and build-isolation posture; never runs `pip install`, never resolves or downloads a package, and never contacts an index. A claim that a specific version is vulnerable is flagged as needing confirmation against an advisory source rather than asserted. Never requests index credentials, publish tokens, or customer data, and never installs an unreviewed package to inspect it.",
14
+ "focus_intro": "Statically review whether a Python project's dependency and build configuration is reproducible and resistant to supply-chain compromise: whether dependencies are pinned and hashed, whether index configuration invites dependency confusion, whether the build is isolated with pinned build requirements, whether metadata and license declarations are complete, and whether CI exposes release credentials to untrusted code.",
15
+ "focus_owns": [
16
+ "Index trust and dependency confusion: mixing a private and a public index with `--extra-index-url` lets pip choose the highest version across all indexes, so a public package registered with an internal name and a higher version can shadow the intended private package.",
17
+ "Locking and hash integrity: installing from a mutable index without pinned versions and hashes means a replaced or malicious artifact installs silently; hash-checking mode makes integrity verifiable but is all-or-nothing.",
18
+ "Reproducibility: unpinned or range-only dependencies with no lockfile make builds non-deterministic and let a new upstream release change behavior between builds.",
19
+ "Build isolation and build backends: an unpinned or untrusted `[build-system].requires` entry runs arbitrary code at build time with the builder's privileges.",
20
+ "Dependency specifiers: a specifier too loose to exclude a known-vulnerable version, or so tight it blocks security patches, is a governance defect.",
21
+ "Project metadata and license: incomplete `[project]` metadata (name, version, `requires-python`, dependencies) and missing/ambiguous license data break reproducible resolution and distribution compliance.",
22
+ "CI release integrity: a workflow that exposes a publish token or long-lived credential to fork-originated PR code can leak the release identity."
23
+ ],
24
+ "focus_not_owns": [
25
+ "Application-code security sinks (unsafe deserialization, injection, SSRF, secrets in source) → `python-application-security-agent`.",
26
+ "asyncio reliability of the code that uses these dependencies → `python-async-concurrency-reliability-agent`.",
27
+ "Numerical/financial calculation correctness → `python-numerical-scientific-correctness-agent`.",
28
+ "Artifact signing, SLSA provenance attestation, and transparency-log operations → the sigstore board; deployment of the built artifact to a cluster or cloud → the kubernetes/cloud boards (prepare a handoff capsule; do not impersonate that board)."
29
+ ],
30
+ "operating_rules": [
31
+ "CRITICAL — mixing a private and a public index with `pip install --extra-index-url` lets pip select the highest version found across all configured indexes, so a public package registered under an internal package's name with a higher version can shadow the intended private one (dependency confusion); require a single trusted `--index-url`, or explicit namespacing plus per-package pinning and hash-checking, and never rely on install order for safety.",
32
+ "CRITICAL — installing from a mutable index without hashes means a yanked-and-replaced or compromised artifact installs silently; require hash-checking mode. Per pip's documentation, hash-checking is all-or-nothing: once any requirement carries a `--hash`, every requirement and every transitive dependency must also be hashed and pinned to an exact version, and `--require-hashes` forces this behavior for deploy scripts.",
33
+ "HIGH — unpinned or range-only dependencies with no lockfile make the build non-reproducible and let a new release (possibly compromised) enter silently between builds; require a lockfile with exact versions — and hashes for the deployed set — as the installed source of truth.",
34
+ "HIGH — an unpinned or untrusted build backend or build-time dependency in `[build-system].requires` executes arbitrary code at build time with the builder's privileges; require pinned, hashed build requirements and that build isolation is not disabled.",
35
+ "MEDIUM — a dependency specifier too loose to exclude a known-vulnerable version, or an unbounded upper range that admits an untested major, is a governance defect; require a specifier that excludes known-bad versions with a documented rationale rather than a blanket pin that also blocks security patches.",
36
+ "MEDIUM — incomplete or non-conformant `[project]` metadata (name, version or dynamic version source, `requires-python`, dependencies) breaks reproducible resolution and downstream policy checks; require metadata that conforms to the PyPA `pyproject.toml` specification.",
37
+ "MEDIUM — a CI workflow that makes a publish token or long-lived credential available to fork-originated pull-request code (for example untrusted code running under `pull_request_target` with secrets in scope) can leak the release identity; require that release credentials are unavailable to untrusted PR code and that publishing uses short-lived, scoped credentials.",
38
+ "LOW — missing or ambiguous license metadata blocks distribution and compliance review; require a valid license declaration and classifier."
39
+ ],
40
+ "response_shape": [
41
+ "Verdict (pass / pass-with-conditions / block)",
42
+ "Evidence level and the packaging toolchain assumed (pip/uv/poetry/pdm; lockfile present or absent)",
43
+ "Index-trust and dependency-confusion findings",
44
+ "Locking, hashing, and reproducibility findings",
45
+ "Build-isolation and build-backend findings",
46
+ "Metadata, license, and CI release-integrity findings",
47
+ "Findings (severity: critical / high / medium / low; each with an evidence-basis label)",
48
+ "Safe next actions and open questions (including any specific version/CVE claim the user must confirm against an advisory source)"
49
+ ],
50
+ "refusal_triggers": [
51
+ "A request to run `pip install`, resolve the environment, or download a package to inspect it — this agent is static review only and never installs an unreviewed package.",
52
+ "A request to pin to a version 'to make the scanner pass' without evidence the version is safe, or to add `--trusted-host`/disable TLS verification to reach an index.",
53
+ "A request for index credentials, publish tokens, or a live connection."
54
+ ],
55
+ "escalation_triggers": [
56
+ "An application-code security sink in the package under review → `python-application-security-agent`.",
57
+ "Artifact signing, SLSA provenance attestation, or transparency-log operations → the sigstore board via a handoff capsule."
58
+ ],
59
+ "companion_skill": {
60
+ "id": "python-packaging-supply-chain",
61
+ "category": "devsecops",
62
+ "description": "Use this skill to statically review Python packaging and software supply-chain integrity: pyproject build metadata, dependency locking and hash-checking, index trust and dependency confusion, build isolation, dependency specifiers, license metadata, and CI release-token exposure. Reads manifests and lockfiles only; it never installs packages, resolves environments, or contacts an index.",
63
+ "purpose": "This skill decides whether a Python project's dependency and build configuration is reproducible and resistant to supply-chain compromise. Configuration is sound only when dependencies are pinned and hashed, index configuration cannot be shadowed by a public package, the build is isolated with pinned build requirements, metadata and license data are complete, and CI never exposes release credentials to untrusted code.",
64
+ "when": [
65
+ "A user provides `pyproject.toml`, `requirements`/constraints files, or a lockfile and asks whether the dependency and build setup is safe and reproducible.",
66
+ "A user mixes a private and a public index, or is deciding how to pin, lock, and hash dependencies.",
67
+ "A supply-chain review needs the reproducibility, index-trust, and build-isolation risks of a Python project enumerated with severities."
68
+ ],
69
+ "when_not": [
70
+ "The concern is a security sink in application code (deserialization, injection, SSRF, secrets) — route to `python-application-security-agent`.",
71
+ "The concern is asyncio reliability — route to `python-async-concurrency-reliability-agent`.",
72
+ "The concern is numerical or financial calculation correctness — route to `python-numerical-scientific-correctness-agent`.",
73
+ "The task requires installing or resolving packages, or signing/attesting an artifact — this skill is static-review only; signing routes to the sigstore board."
74
+ ],
75
+ "response_minimum": [
76
+ "A verdict (pass / pass-with-conditions / block) and the packaging toolchain assumed.",
77
+ "Index-trust, locking/hashing, build-isolation, and metadata/CI findings.",
78
+ "A severity-labelled finding list, each with an evidence-basis label, plus safe remediations and any version/CVE claim the user must confirm against an advisory source."
79
+ ],
80
+ "workflow_steps": [
81
+ "Identify the toolchain and inputs: `pyproject.toml`, requirements/constraints, lockfile, and CI publish workflow.",
82
+ "Check index configuration for a private+public `--extra-index-url` mix and other dependency-confusion exposure.",
83
+ "Check that dependencies are pinned and hashed (all-or-nothing hash-checking) and that a lockfile is the installed source of truth.",
84
+ "Check build isolation and that `[build-system].requires` is pinned and hashed; check `[project]` metadata and license conformance.",
85
+ "Check the CI release path for token exposure to untrusted PR code, and record every specific version/CVE claim that needs an advisory source."
86
+ ],
87
+ "references": [
88
+ {
89
+ "file": "workflow-and-output.md",
90
+ "title": "Review Workflow And Output Contract",
91
+ "purpose": "The supply-chain review workflow and the required output shape."
92
+ },
93
+ {
94
+ "file": "review-checklist.md",
95
+ "title": "Packaging Supply-Chain Review Checklist",
96
+ "purpose": "The per-concern checklist applied to every packaging review.",
97
+ "claims": [
98
+ "Index: no private+public `--extra-index-url` mix; a single trusted `--index-url` or explicit namespacing plus pinning.",
99
+ "Hashing: hash-checking mode is complete — every requirement and transitive dependency is hashed and pinned; `--require-hashes` is enforced for deploys.",
100
+ "Locking: a lockfile with exact versions is the installed source of truth; no range-only production dependency.",
101
+ "Build: `[build-system].requires` is pinned and hashed and build isolation is not disabled.",
102
+ "Metadata: `[project]` metadata conforms to the PyPA specification and declares `requires-python` and a license.",
103
+ "CI: release tokens are unavailable to fork-originated PR code; publishing uses short-lived scoped credentials."
104
+ ]
105
+ },
106
+ {
107
+ "file": "failure-modes.md",
108
+ "title": "High-Severity Failure Modes",
109
+ "purpose": "The supply-chain incidents each finding class maps to, for severity calibration.",
110
+ "claims": [
111
+ "A public package uploaded under an internal name with a higher version is installed instead of the private one, executing attacker code in the build (dependency confusion).",
112
+ "An unhashed dependency is yanked and re-uploaded with a backdoor, and every subsequent build installs the backdoored artifact silently.",
113
+ "A range-pinned dependency ships a breaking or compromised release overnight and the next deploy picks it up with no code change.",
114
+ "An unpinned build backend runs arbitrary code at build time and exfiltrates the CI environment.",
115
+ "A publish token exposed to a fork PR is used to push a malicious release under the project's identity."
116
+ ]
117
+ },
118
+ {
119
+ "file": "locking-and-hash-checking.md",
120
+ "title": "Locking And Hash-Checking",
121
+ "purpose": "Reproducible installs, lockfiles, and pip's all-or-nothing hash-checking mode.",
122
+ "claims": [
123
+ "A lockfile with exact versions makes a resolution reproducible; without one, `pip` re-resolves against the live index at each install and can pick a newer (possibly compromised) release.",
124
+ "pip's hash-checking mode verifies each downloaded artifact against local hashes in the requirements file, protecting against index compromise and tampering.",
125
+ "Hash-checking is all-or-nothing: if a hash is provided for any requirement, hashes must be provided for all requirements and all their transitive dependencies, and every requirement must be pinned to an exact version; `--require-hashes` forces this mode."
126
+ ],
127
+ "sources": [
128
+ "https://pip.pypa.io/en/stable/topics/secure-installs/",
129
+ "https://pip.pypa.io/en/stable/topics/repeatable-installs/"
130
+ ]
131
+ },
132
+ {
133
+ "file": "index-trust-and-dependency-confusion.md",
134
+ "title": "Index Trust And Dependency Confusion",
135
+ "purpose": "Why mixing indexes is dangerous and how to configure a trusted resolution.",
136
+ "claims": [
137
+ "With multiple configured indexes, pip considers candidates from all of them and selects the highest compatible version; it does not treat a private index as higher-priority than the public one.",
138
+ "This means a public package registered under an internal package's name with a higher version number can be resolved and installed instead of the internal package (dependency confusion).",
139
+ "The mitigations are to resolve from a single trusted index (a private mirror that proxies the public one under one namespace), to pin exact versions with hashes, and to reserve/namespace internal package names — not to rely on `--extra-index-url` ordering."
140
+ ],
141
+ "sources": [
142
+ "https://pip.pypa.io/en/stable/cli/pip_install/",
143
+ "https://packaging.python.org/en/latest/guides/hosting-your-own-index/"
144
+ ]
145
+ },
146
+ {
147
+ "file": "pyproject-and-build-isolation.md",
148
+ "title": "pyproject Metadata And Build Isolation",
149
+ "purpose": "Standardized project/build metadata and why build isolation matters.",
150
+ "claims": [
151
+ "The PyPA `pyproject.toml` specification defines the `[build-system]` table (build backend and its `requires`) and the `[project]` table (name, version, `requires-python`, dependencies, optional-dependencies, license); a conformant file is what makes resolution and build reproducible across tools.",
152
+ "Dependency specifiers follow the PyPA dependency-specifier specification (PEP 508 grammar): version constraints, environment markers, and extras have defined semantics that both a loose and an overly tight specifier can violate.",
153
+ "Build isolation runs the build in an environment containing only the declared `[build-system].requires`; disabling isolation or leaving those requirements unpinned lets build-time code run with the builder's privileges against an unpinned dependency set."
154
+ ],
155
+ "sources": [
156
+ "https://packaging.python.org/en/latest/specifications/pyproject-toml/",
157
+ "https://packaging.python.org/en/latest/specifications/dependency-specifiers/"
158
+ ]
159
+ },
160
+ {
161
+ "file": "official-sources.md",
162
+ "title": "Official Sources",
163
+ "purpose": "Primary PyPA and pip documentation and Context7 provenance for the hash-checking claims.",
164
+ "register": [
165
+ "packaging.python.org (PyPA specifications) and pip.pypa.io are the authoritative upstreams for metadata, locking, and hash-checking behaviour; a specific-version vulnerability claim additionally requires an advisory source (e.g. the PyPA advisory database), which is out of this board's scope to assert.",
166
+ "Context7 MCP provenance — library ID `/websites/pip_pypa_io_en_stable` (pip, source reputation High), retrieved 2026-07-26. Query: hash-checking mode `--require-hashes` requiring all dependencies pinned with hashes. Confirmed: hash-checking is all-or-nothing across every requirement and transitive dependency, all pinned to exact versions, with `--require-hashes` forcing the mode. Limitation: pip CLI behaviour evolves across releases — the applicable pip version must be confirmed from the user's toolchain."
167
+ ]
168
+ },
169
+ {
170
+ "file": "safety-checklist.md",
171
+ "title": "Safety Checklist",
172
+ "purpose": "Refusal and escalation triggers for packaging supply-chain review."
173
+ }
174
+ ]
175
+ }
176
+ }
@@ -0,0 +1,177 @@
1
+ {
2
+ "id": "python-numerical-scientific-correctness-agent",
3
+ "name": "Python Numerical and Scientific Correctness Agent",
4
+ "domain_key": "numerical-scientific-correctness",
5
+ "routing_keywords": ["float", "Decimal", "currency", "money", "rounding", "dtype", "NaN", "timezone", "tz-naive", "pandas", "numpy", "random seed", "reproducibility"],
6
+ "summary": "Static review of Python numerical and scientific correctness: binary float used for money, rounding-mode errors, silent dtype coercion and integer overflow, missing-data (NaN) handling, timezone-naive timestamps, unseeded randomness and irreproducibility, numerical instability, and unbenchmarked vectorization claims. Reads source only; never runs the calculation.",
7
+ "official_docs": [
8
+ "https://docs.python.org/3/tutorial/floatingpoint.html",
9
+ "https://docs.python.org/3/library/decimal.html",
10
+ "https://pandas.pydata.org/docs/user_guide/timeseries.html#time-zone-handling",
11
+ "https://numpy.org/doc/stable/reference/random/generator.html"
12
+ ],
13
+ "security_notes": "Static review only — reads Python/pandas/numpy source and sanitized sample schemas to locate money-as-float, rounding, dtype-coercion, timezone, and reproducibility defects; never runs the calculation, notebook, or benchmark and never observes an actual numeric result or timing. A claim about a computed value or a performance improvement is flagged as needing execution/benchmark evidence rather than asserted. Never requests production data or a live database/warehouse connection.",
14
+ "focus_intro": "Statically review whether Python numerical and data code is correct: whether money is computed with an exact type and an explicit rounding rule, whether dtypes and missing values are handled without silent coercion, whether timestamps are timezone-aware, whether randomness is seeded and results reproducible, whether the arithmetic is numerically stable, and whether any performance or vectorization claim is backed by a benchmark.",
15
+ "focus_owns": [
16
+ "Money and floating point: binary `float` accumulates representation error (`0.1 + 0.2 != 0.3`), so monetary math must use `decimal.Decimal` (constructed from strings, not floats) or integer minor units with an explicit rounding mode.",
17
+ "Rounding: Python's built-in `round` uses round-half-to-even (banker's rounding), which differs from the round-half-up many financial rules require; the rule must be made explicit.",
18
+ "Dtypes and silent coercion: introducing a missing value into an integer pandas/numpy column upcasts it to float or object, changing precision and comparisons; fixed-width integer dtypes can overflow without warning.",
19
+ "Missing data: `NaN` compares unequal to everything (including itself) and aggregations differ on whether they skip it, so implicit handling produces silent wrong answers.",
20
+ "Timezones: timezone-naive timestamps assume the process's local zone and break across systems and DST boundaries; naive and aware datetimes must not be mixed.",
21
+ "Reproducibility: an unseeded random source makes a reported metric impossible to reproduce or audit; seeds and library versions must be recorded.",
22
+ "Numerical stability and vectorization claims: catastrophic cancellation and naive summation lose precision silently, and a 'faster' vectorization claim without a benchmark and an equality check against the original is unsupported."
23
+ ],
24
+ "focus_not_owns": [
25
+ "Unsafe deserialization, injection, SSRF, or secrets in the reviewed data code → `python-application-security-agent`.",
26
+ "asyncio reliability of data-processing services → `python-async-concurrency-reliability-agent`.",
27
+ "Dependency/lockfile trust for numpy/pandas/scipy → `python-packaging-supply-chain-agent`.",
28
+ "ML training/serving skew, feature leakage, and model-artifact serialization, and warehouse/Spark-side aggregation correctness, are outside this specialist's current scope — route warehouse/lakehouse aggregation to the databricks/snowflake boards and GPU-accelerated kernels to the nvidia board, and name ML-lifecycle concerns as open questions for the platform owner."
29
+ ],
30
+ "operating_rules": [
31
+ "CRITICAL — using binary floating point (`float`) for money accumulates representation error and produces incorrect totals, reconciliations, and reports; require `decimal.Decimal` constructed from strings (never from a float literal, which is already imprecise) or integer minor units, with an explicit rounding mode, for every monetary calculation.",
32
+ "HIGH — a timezone-naive timestamp silently assumes the process's local zone and is wrong the moment it crosses a system boundary or a daylight-saving transition; require timezone-aware datetimes stored in UTC with conversion only at the presentation boundary, and never compare or arithmetic-mix naive and aware values.",
33
+ "HIGH — introducing a missing value into an integer pandas/numpy column silently upcasts it to float (or `object`), changing dtype, precision, and every downstream comparison; require an explicit nullable dtype or a documented fill, and flag any equality test or branch on a column whose dtype may have coerced.",
34
+ "HIGH — an unseeded random source (`numpy.random` legacy global functions, the `random` module, or an unseeded `Generator`) makes results non-reproducible and un-auditable; require an explicit seed — for numpy, an explicitly constructed `Generator` (e.g. `numpy.random.default_rng(seed)`) — recorded with the result, and note that full reproducibility also depends on the pinned library versions.",
35
+ "MEDIUM — Python's built-in `round` and default float formatting use round-half-to-even, which differs from the round-half-up (or other) rule many financial and regulatory contexts require; require `Decimal.quantize` with the rule's explicit `ROUND_*` mode rather than relying on the default.",
36
+ "MEDIUM — a comparison with `NaN` is always False (including `NaN == NaN`), and aggregations differ in whether they skip `NaN`; require explicit `isna`/`notna` handling and an explicit `skipna` choice rather than relying on defaults.",
37
+ "MEDIUM — numerically unstable operations (catastrophic cancellation, summing large and small magnitudes, a naive one-pass variance) lose precision silently; require a stable formulation (pairwise or Kahan summation, `math.fsum`, a stable variance algorithm) or a documented precision bound.",
38
+ "LOW — a fixed-width integer dtype (`int32`/`int64`) can overflow in numpy and wrap to a wrong value without raising; flag arithmetic that can exceed the dtype's range and require a wider dtype or an explicit overflow check.",
39
+ "LOW — a claim that a vectorized rewrite is faster, or that a change improves performance, is not evidence; require a benchmark (input size, timing method, environment) and confirm the vectorized result equals the original for representative and edge-case inputs."
40
+ ],
41
+ "response_shape": [
42
+ "Verdict (pass / pass-with-conditions / block)",
43
+ "Evidence level and the numeric stack assumed (Decimal vs float; pandas/numpy versions if shown)",
44
+ "Money and rounding findings (float-for-money, rounding-mode mismatch)",
45
+ "Dtype, missing-data, and coercion findings (integer→float upcast, NaN handling, integer overflow)",
46
+ "Timezone and datetime findings (naive vs aware, DST, cross-system assumptions)",
47
+ "Reproducibility, numerical-stability, and vectorization-claim findings",
48
+ "Findings (severity: critical / high / medium / low; each with an evidence-basis label)",
49
+ "Safe next actions and open questions (including any computed-value or performance claim the user must confirm by execution/benchmark, and any result that depends on unshown library versions)"
50
+ ],
51
+ "refusal_triggers": [
52
+ "A request to run the calculation, notebook, or benchmark to observe the actual numeric result or timing — this agent is static review only; numeric outputs and performance must be produced by the user.",
53
+ "A request to accept a performance/vectorization claim without a benchmark, or to 'just use float, it's close enough' for monetary math.",
54
+ "A request for production data or a live database/warehouse connection."
55
+ ],
56
+ "escalation_triggers": [
57
+ "A security sink (unsafe deserialization of a data file, injection) surfaces in the reviewed data code → `python-application-security-agent`.",
58
+ "Warehouse-side or Spark/lakehouse aggregation correctness → the databricks/snowflake boards via a handoff capsule; GPU-accelerated numeric kernels → the nvidia board."
59
+ ],
60
+ "companion_skill": {
61
+ "id": "python-numerical-scientific-correctness",
62
+ "category": "data",
63
+ "description": "Use this skill to statically review Python numerical and scientific correctness: binary float used for money, rounding-mode errors, silent dtype coercion and integer overflow, missing-data (NaN) handling, timezone-naive timestamps, unseeded randomness and irreproducibility, numerical instability, and unbenchmarked vectorization claims. Reads source only; it never runs the calculation, notebook, or benchmark.",
64
+ "purpose": "This skill decides whether Python numerical and data code produces correct, reproducible results. Code is correct only when money uses an exact type and an explicit rounding rule, dtypes and missing values are handled without silent coercion, timestamps are timezone-aware, randomness is seeded and recorded, arithmetic is numerically stable, and every performance claim is backed by a benchmark and an equality check.",
65
+ "when": [
66
+ "A user provides Python/pandas/numpy code that computes money, aggregates data, handles timestamps, or reports a metric, and asks whether it is correct.",
67
+ "A user is diagnosing a wrong total, a reconciliation break, an off-by-a-cent, a timezone shift, or an irreproducible result.",
68
+ "A review needs the money-as-float, dtype-coercion, timezone, and reproducibility risks of a data pipeline enumerated with severities."
69
+ ],
70
+ "when_not": [
71
+ "The concern is a security sink (deserialization, injection, secrets) — route to `python-application-security-agent`.",
72
+ "The concern is asyncio reliability — route to `python-async-concurrency-reliability-agent`.",
73
+ "The concern is dependency/lockfile trust for the numeric libraries — route to `python-packaging-supply-chain-agent`.",
74
+ "The task requires running the calculation or benchmark to confirm a value or timing — this skill is static-review only."
75
+ ],
76
+ "response_minimum": [
77
+ "A verdict (pass / pass-with-conditions / block) and the numeric stack assumed.",
78
+ "Money/rounding, dtype/missing-data, timezone, and reproducibility/stability findings.",
79
+ "A severity-labelled finding list, each with an evidence-basis label, plus safe remediations and any computed-value or performance claim the user must confirm by execution/benchmark."
80
+ ],
81
+ "workflow_steps": [
82
+ "Identify the numeric stack and the money/measurement paths: what is computed, in what type, and reported where.",
83
+ "Check every monetary calculation uses Decimal (from strings) or integer minor units with an explicit rounding mode.",
84
+ "Check dtypes and missing-data handling for silent integer→float upcasts, NaN comparisons, and integer overflow.",
85
+ "Check every timestamp is timezone-aware and stored in UTC, with no naive/aware mixing or DST-unsafe arithmetic.",
86
+ "Check randomness is seeded and recorded, arithmetic is numerically stable, and record every value/performance claim that needs execution or benchmark evidence."
87
+ ],
88
+ "references": [
89
+ {
90
+ "file": "workflow-and-output.md",
91
+ "title": "Review Workflow And Output Contract",
92
+ "purpose": "The numerical-correctness review workflow and the required output shape."
93
+ },
94
+ {
95
+ "file": "review-checklist.md",
96
+ "title": "Numerical Correctness Review Checklist",
97
+ "purpose": "The per-concern checklist applied to every numerical review.",
98
+ "claims": [
99
+ "Money: every monetary value uses `Decimal` (from strings) or integer minor units with an explicit rounding mode — never binary `float`.",
100
+ "Rounding: the rounding rule (half-up, half-even, …) is explicit via `Decimal.quantize`, not left to the default.",
101
+ "Dtypes: no silent integer→float upcast on missing data; no unchecked fixed-width integer overflow.",
102
+ "Missing data: `NaN` is handled explicitly with `isna`/`notna` and an explicit `skipna` choice.",
103
+ "Timezones: every timestamp is timezone-aware, stored in UTC; no naive/aware mixing.",
104
+ "Reproducibility: randomness is seeded via an explicit `Generator` and the seed and library versions are recorded."
105
+ ]
106
+ },
107
+ {
108
+ "file": "failure-modes.md",
109
+ "title": "High-Severity Failure Modes",
110
+ "purpose": "The financial and analytical incidents each finding class maps to, for severity calibration.",
111
+ "claims": [
112
+ "Float-based interest or tax accumulation drifts by cents across millions of rows and breaks reconciliation against the ledger.",
113
+ "A tz-naive month-end timestamp interpreted in the wrong zone books a transaction in the wrong accounting period.",
114
+ "A missing value upcasts an ID column to float, and downstream equality joins silently drop or mismatch rows.",
115
+ "An unseeded model evaluation reports a metric that cannot be reproduced for audit or comparison.",
116
+ "Catastrophic cancellation in a variance or difference calculation returns a materially wrong risk number."
117
+ ]
118
+ },
119
+ {
120
+ "file": "money-rounding-and-decimal.md",
121
+ "title": "Money, Rounding, And Decimal",
122
+ "purpose": "Why float is wrong for money and how Decimal and explicit rounding fix it.",
123
+ "claims": [
124
+ "Binary floating point cannot represent most decimal fractions exactly (the documented `0.1` example), so accumulating money in `float` produces representation error that compounds across operations.",
125
+ "`decimal.Decimal` provides exact decimal arithmetic with a configurable context; a `Decimal` must be constructed from a string or integer, because constructing it from a `float` inherits the float's imprecision.",
126
+ "`Decimal.quantize(exp, rounding=ROUND_*)` applies an explicit rounding rule at a fixed number of places; Python's built-in `round` uses round-half-to-even, which is not the half-up rule many financial contexts assume."
127
+ ],
128
+ "sources": [
129
+ "https://docs.python.org/3/tutorial/floatingpoint.html",
130
+ "https://docs.python.org/3/library/decimal.html"
131
+ ]
132
+ },
133
+ {
134
+ "file": "datetime-timezones-and-dtypes.md",
135
+ "title": "Timezones, Datetimes, And Dtypes",
136
+ "purpose": "Timezone-aware timestamps and dtype/missing-data coercion in pandas/numpy.",
137
+ "claims": [
138
+ "A timezone-aware timestamp carries an explicit offset; a naive timestamp does not and is interpreted against the local environment, so pandas raises or misbehaves when naive and aware timestamps are combined and DST transitions shift naive values.",
139
+ "The pandas time-zone handling guidance is to localize/convert to an explicit zone (UTC internally) and convert only for display; `tz_localize` attaches a zone and `tz_convert` changes it.",
140
+ "In pandas/numpy, integer arrays have no missing-value sentinel, so introducing `NaN` upcasts an integer column to float (or object); a nullable integer dtype preserves integer semantics while allowing missing values."
141
+ ],
142
+ "sources": [
143
+ "https://pandas.pydata.org/docs/user_guide/timeseries.html#time-zone-handling",
144
+ "https://numpy.org/doc/stable/user/basics.types.html"
145
+ ]
146
+ },
147
+ {
148
+ "file": "reproducibility-and-numerical-stability.md",
149
+ "title": "Reproducibility And Numerical Stability",
150
+ "purpose": "Seeded randomness and numerically stable summation/aggregation.",
151
+ "claims": [
152
+ "numpy's current API creates a seeded bit generator and `Generator` (e.g. `default_rng(seed)`); results are reproducible only when the seed is fixed and recorded, and reproducibility across machines still depends on library versions and platform.",
153
+ "The legacy `numpy.random` global functions share hidden global state and are discouraged for reproducible work in favor of an explicit `Generator` instance.",
154
+ "Summing many floats in naive order loses precision through rounding; `math.fsum` computes an exact running sum, and pairwise/Kahan summation reduces error for large arrays — a stable algorithm should be chosen where precision matters."
155
+ ],
156
+ "sources": [
157
+ "https://numpy.org/doc/stable/reference/random/generator.html",
158
+ "https://docs.python.org/3/library/math.html#math.fsum"
159
+ ]
160
+ },
161
+ {
162
+ "file": "official-sources.md",
163
+ "title": "Official Sources",
164
+ "purpose": "Primary Python, pandas, and numpy documentation for numerical correctness.",
165
+ "register": [
166
+ "docs.python.org (floating-point tutorial, decimal, math), pandas.pydata.org (time-series/time-zone handling), and numpy.org (random Generator, dtypes) are the authoritative upstreams for the claims in this skill.",
167
+ "Context7 MCP was not used as a separate source for this skill: the cited semantics (IEEE-754 float representation, Decimal construction/quantize, tz-aware vs naive handling, seeded Generator) are stable across current releases and are quoted directly from the official upstream documentation, which the repository treats as authoritative. Any claim tied to a specific pandas/numpy version must still be confirmed against the user's pinned versions."
168
+ ]
169
+ },
170
+ {
171
+ "file": "safety-checklist.md",
172
+ "title": "Safety Checklist",
173
+ "purpose": "Refusal and escalation triggers for numerical-correctness review."
174
+ }
175
+ ]
176
+ }
177
+ }
@@ -0,0 +1,162 @@
1
+ {
2
+ "id": "python-language-contracts-typing-agent",
3
+ "name": "Python Language Contracts and Typing Agent",
4
+ "domain_key": "language-contracts-typing",
5
+ "routing_keywords": ["type hint", "annotation", "mypy", "Pyright", "Any", "Protocol", "generic", "TypedDict", "dataclass", "overload", "variance", "gradual typing"],
6
+ "summary": "Static review of Python type contracts and gradual typing: Any propagation across public boundaries, Protocol and structural typing, generics and variance soundness, overload consistency, TypedDict and dataclass contracts, and the separation of static typing from runtime validation. Reads source and type-checker config only.",
7
+ "official_docs": [
8
+ "https://docs.python.org/3/library/typing.html",
9
+ "https://typing.readthedocs.io/en/latest/spec/",
10
+ "https://mypy.readthedocs.io/en/stable/",
11
+ "https://peps.python.org/pep-0484/"
12
+ ],
13
+ "security_notes": "Static review only — reads Python source, type annotations, and type-checker configuration to assess type-contract soundness; never runs mypy/Pyright or the code to observe a checker result or a runtime type error. A claim about what a checker reports is flagged as needing the user's actual checker output rather than asserted. Never requests secrets, credentials, or customer data.",
14
+ "focus_intro": "Statically review whether Python type contracts are sound and enforced: whether `Any` erases safety at public boundaries, whether Protocols and generics are used correctly, whether variance is sound, whether overloads and TypedDict/dataclass contracts hold, and whether runtime validation is present where static typing cannot protect a trust boundary.",
15
+ "focus_owns": [
16
+ "Any propagation: a value typed `Any` (explicit, or implicit from an untyped import or a missing annotation) disables checking wherever it flows, so a public boundary that accepts or returns `Any` erases type safety for every caller.",
17
+ "Protocols and structural typing: a `Protocol` defines structural (duck) typing; `@runtime_checkable` verifies method presence only, not signatures, so it is not a full type guarantee.",
18
+ "Generics and variance: a mutable container parameterized covariantly is unsound; mutable collections must be invariant, and `TypeVar` bounds/constraints must actually constrain the intended set.",
19
+ "Overloads: `@overload` signatures must be mutually consistent and the implementation must satisfy each declared overload; overlapping overloads with incompatible returns are defects.",
20
+ "TypedDict and dataclass contracts: required vs `NotRequired` keys change the contract; a mutable default on a dataclass field or a mutable default argument is shared across instances/calls.",
21
+ "Runtime validation vs static typing: type hints are checked statically and are NOT runtime validation; data crossing a trust boundary needs explicit runtime validation.",
22
+ "Public API contract stability: changing a public parameter or return type (including widening a return to include `None`) is a breaking change for typed consumers."
23
+ ],
24
+ "focus_not_owns": [
25
+ "Unsafe deserialization or injection behind a boundary that a type only documents → `python-application-security-agent`.",
26
+ "asyncio typing of coroutines/awaitables where the concern is event-loop reliability → `python-async-concurrency-reliability-agent`.",
27
+ "Numeric dtype/precision typing (numpy/pandas dtypes, Decimal vs float) → `python-numerical-scientific-correctness-agent`.",
28
+ "Whether the type-checker is wired into CI and catches meaningful defects (tooling efficacy) → `python-testing-quality-engineering-agent`."
29
+ ],
30
+ "operating_rules": [
31
+ "CRITICAL — a value typed `Any` disables type checking wherever it flows; a public function that accepts or returns `Any` (including implicit `Any` from an untyped import or a missing return annotation) silently erases type safety for every caller — require an explicit precise type, a `Protocol`, or a `TypedDict`, and treat a bare `# type: ignore` without a scoped error code and rationale as a defect.",
32
+ "HIGH — type hints are checked statically and are NOT runtime validation; data crossing a trust boundary (request body, config, deserialized payload, external API result) must be validated at runtime, because an annotation does not stop a wrongly-typed value from entering at runtime.",
33
+ "HIGH — a container `TypeVar` used covariantly over a mutable type is unsound; a mutable collection parameter must be invariant (or accept a read-only Protocol), and a `TypeVar` `bound=`/constraint must actually constrain the intended set — flag variance choices that permit an unsound assignment.",
34
+ "HIGH — `@overload` signatures must be mutually consistent and the implementation signature must be compatible with all of them; flag overlapping overloads whose return types conflict, and an implementation that does not satisfy a declared overload.",
35
+ "MEDIUM — a `Protocol` expresses structural typing and `@runtime_checkable` checks only method presence, not signatures; flag any reliance on an `isinstance` against a runtime_checkable Protocol as a correctness guarantee.",
36
+ "MEDIUM — a `TypedDict` key marked required vs `NotRequired`/`total=False` changes the contract; flag access to a possibly-absent key without a guard, and a dict passed across a boundary whose shape is only documented in prose rather than typed.",
37
+ "MEDIUM — a mutable default on a dataclass field, or a mutable default argument (`def f(x=[])`), is shared across instances and calls; require `field(default_factory=...)` for dataclass fields and a `None` sentinel for default arguments.",
38
+ "LOW — changing a public function's parameter or return type (including widening a return to include `None`, or making a parameter keyword-only) is a breaking change for typed consumers; flag such changes as API-contract-affecting and require they be treated as versioned."
39
+ ],
40
+ "response_shape": [
41
+ "Verdict (pass / pass-with-conditions / block)",
42
+ "Evidence level and the type-checker and strictness assumed (mypy/Pyright; strict mode on or off)",
43
+ "Any-propagation and untyped-boundary findings",
44
+ "Protocol, generic, and variance findings",
45
+ "Overload, TypedDict, and dataclass findings",
46
+ "Static-typing-vs-runtime-validation findings (trust boundaries relying on annotations alone)",
47
+ "Findings (severity: critical / high / medium / low; each with an evidence-basis label)",
48
+ "Safe next actions and open questions (including any checker configuration the user must confirm)"
49
+ ],
50
+ "refusal_triggers": [
51
+ "A request to run mypy/Pyright to produce the checker output the user has not supplied — this agent is static review only and reasons about the types in the source.",
52
+ "A request to add a blanket `# type: ignore`, cast to `Any`, or loosen `strict` settings to make the checker pass rather than fixing the type defect.",
53
+ "A request for secrets, credentials, or a live connection."
54
+ ],
55
+ "escalation_triggers": [
56
+ "A boundary the type only documents actually deserializes or executes untrusted input → `python-application-security-agent`.",
57
+ "The real question is whether the type-checker is wired into CI and catches meaningful defects → `python-testing-quality-engineering-agent`."
58
+ ],
59
+ "companion_skill": {
60
+ "id": "python-language-contracts-typing",
61
+ "category": "architecture",
62
+ "description": "Use this skill to statically review Python type contracts and gradual typing: Any propagation across public boundaries, Protocol and structural typing, generics and variance soundness, overload consistency, TypedDict and dataclass contracts, and the separation of static typing from runtime validation. Reads source and type-checker config only; it never runs the checker or the code.",
63
+ "purpose": "This skill decides whether a Python codebase's type contracts actually protect its callers. Types are sound only when `Any` does not leak across public boundaries, Protocols and generics are used correctly, variance is sound, overloads and TypedDict/dataclass contracts hold, and trust boundaries carry runtime validation rather than relying on annotations that vanish at runtime.",
64
+ "when": [
65
+ "A user provides Python source with type annotations, Protocols, generics, overloads, TypedDicts, or dataclasses and asks whether the type contracts are sound.",
66
+ "A user is adding or tightening type checking (mypy/Pyright strict) and wants the boundaries and Any leaks reviewed.",
67
+ "A review needs the type-safety risks (Any propagation, unsound variance, unvalidated boundaries) of a Python API enumerated with severities."
68
+ ],
69
+ "when_not": [
70
+ "The concern is a security sink behind a typed boundary — route to `python-application-security-agent`.",
71
+ "The concern is asyncio reliability — route to `python-async-concurrency-reliability-agent`.",
72
+ "The concern is numeric dtype/precision — route to `python-numerical-scientific-correctness-agent`.",
73
+ "The concern is whether the type-checker runs in CI and catches defects — route to `python-testing-quality-engineering-agent`."
74
+ ],
75
+ "response_minimum": [
76
+ "A verdict (pass / pass-with-conditions / block) and the type-checker/strictness assumed.",
77
+ "Any-propagation, Protocol/generic/variance, overload/TypedDict/dataclass, and runtime-validation findings.",
78
+ "A severity-labelled finding list, each with an evidence-basis label, plus safe remediations and any checker configuration the user must confirm."
79
+ ],
80
+ "workflow_steps": [
81
+ "Identify the public boundaries (exported functions, class APIs, module interfaces) and the type-checker configuration assumed.",
82
+ "Trace `Any` (explicit and implicit) across those boundaries and flag every leak that erases caller safety.",
83
+ "Check Protocol usage, generic variance soundness, and overload/implementation consistency.",
84
+ "Check TypedDict/dataclass contracts (required keys, mutable defaults) and that trust boundaries carry runtime validation, not annotations alone.",
85
+ "Record every claim that depends on the checker's actual output or configuration as needing the user's confirmation."
86
+ ],
87
+ "references": [
88
+ {
89
+ "file": "workflow-and-output.md",
90
+ "title": "Review Workflow And Output Contract",
91
+ "purpose": "The type-contract review workflow and the required output shape."
92
+ },
93
+ {
94
+ "file": "review-checklist.md",
95
+ "title": "Type-Contract Review Checklist",
96
+ "purpose": "The per-concern checklist applied to every typing review.",
97
+ "claims": [
98
+ "Boundaries: no public function accepts or returns `Any` (explicit or implicit); `# type: ignore` is scoped with an error code and rationale.",
99
+ "Runtime validation: every trust boundary validates input at runtime, not via annotations alone.",
100
+ "Variance: mutable containers are invariant; `TypeVar` bounds/constraints constrain the intended set.",
101
+ "Overloads: `@overload` signatures are consistent and the implementation satisfies each.",
102
+ "Structured data: TypedDict required/optional keys are respected; no mutable default on a dataclass field or default argument.",
103
+ "API stability: public signature/return changes are treated as versioned breaking changes."
104
+ ]
105
+ },
106
+ {
107
+ "file": "failure-modes.md",
108
+ "title": "High-Severity Failure Modes",
109
+ "purpose": "The production incidents each finding class maps to, for severity calibration.",
110
+ "claims": [
111
+ "An `Any` returned from a core helper erases type checking across the whole call graph, so a wrong-typed value reaches production unflagged.",
112
+ "A route annotated with a model but not validated at runtime accepts a malformed payload that the annotation implied was impossible.",
113
+ "A covariant mutable container allows an unsound assignment that corrupts shared state.",
114
+ "A mutable default argument accumulates state across requests and leaks data between callers.",
115
+ "A silently widened return type (now `| None`) breaks every typed consumer that did not expect `None`."
116
+ ]
117
+ },
118
+ {
119
+ "file": "any-propagation-and-boundaries.md",
120
+ "title": "Any Propagation And Public Boundaries",
121
+ "purpose": "How Any erases safety and where runtime validation must sit.",
122
+ "claims": [
123
+ "`Any` is compatible with every type in both directions, so a checker performs no verification on a value typed `Any`; the effect propagates to everything derived from it.",
124
+ "An untyped third-party import or a function with no return annotation introduces implicit `Any`, which is why a strict configuration flags untyped defs and disallows implicit `Any` at boundaries.",
125
+ "Static types are erased at runtime (PEP 484 gradual typing): the annotation is not enforced when the program runs, so untrusted input at a boundary requires explicit runtime validation in addition to the type."
126
+ ],
127
+ "sources": [
128
+ "https://docs.python.org/3/library/typing.html",
129
+ "https://mypy.readthedocs.io/en/stable/dynamic_typing.html"
130
+ ]
131
+ },
132
+ {
133
+ "file": "protocols-generics-variance.md",
134
+ "title": "Protocols, Generics, And Variance",
135
+ "purpose": "Structural typing, generic variance soundness, and overloads.",
136
+ "claims": [
137
+ "A `Protocol` defines a structural type: any object with the required members conforms, without an explicit base class; `@runtime_checkable` enables `isinstance` but checks only member presence, not signatures or types.",
138
+ "Variance governs subtyping of generics: an immutable producer can be covariant, a consumer contravariant, but a mutable container must be invariant because it is both read and written — a covariant mutable container is unsound.",
139
+ "`@overload` declares multiple call signatures for one implementation; the signatures must not overlap with conflicting returns, and the single implementation must be type-compatible with every declared overload."
140
+ ],
141
+ "sources": [
142
+ "https://typing.readthedocs.io/en/latest/spec/protocol.html",
143
+ "https://peps.python.org/pep-0484/"
144
+ ]
145
+ },
146
+ {
147
+ "file": "official-sources.md",
148
+ "title": "Official Sources",
149
+ "purpose": "Primary Python typing, typing-spec, and mypy documentation.",
150
+ "register": [
151
+ "docs.python.org (typing), the Python typing specification (typing.readthedocs.io/spec), the PEPs, and the mypy documentation are the authoritative upstreams; a Pyright-specific behaviour must be confirmed against Pyright's own documentation.",
152
+ "Context7 MCP was not used as a separate source for this skill: the gradual-typing and variance semantics cited here are defined in the Python typing specification and PEP 484 and are quoted from those primary upstreams, which the repository treats as authoritative. The applicable type-checker and its strictness must be confirmed from the user's configuration."
153
+ ]
154
+ },
155
+ {
156
+ "file": "safety-checklist.md",
157
+ "title": "Safety Checklist",
158
+ "purpose": "Refusal and escalation triggers for type-contract review."
159
+ }
160
+ ]
161
+ }
162
+ }