@ccoalm/ccl-skills 0.1.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 (561) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +49 -0
  3. package/dist/assets/marketplace/.agents/plugins/marketplace.json +12 -0
  4. package/dist/assets/marketplace/.claude-plugin/marketplace.json +13 -0
  5. package/dist/assets/marketplace/marketplace-manifest.json +12 -0
  6. package/dist/assets/marketplace/plugins/ccl-skills/.claude-plugin/marketplace.json +16 -0
  7. package/dist/assets/marketplace/plugins/ccl-skills/.claude-plugin/plugin.json +5 -0
  8. package/dist/assets/marketplace/plugins/ccl-skills/.codex-plugin/plugin.json +5 -0
  9. package/dist/assets/marketplace/plugins/ccl-skills/.worktree-only +3 -0
  10. package/dist/assets/marketplace/plugins/ccl-skills/agent-context/session-start.md +45 -0
  11. package/dist/assets/marketplace/plugins/ccl-skills/agent-context/subagent-start.md +12 -0
  12. package/dist/assets/marketplace/plugins/ccl-skills/hooks/AGENTS.md +19 -0
  13. package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-delegation-owner.sh +125 -0
  14. package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-edit-isolation.sh +102 -0
  15. package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-merge-authorization.sh +1156 -0
  16. package/dist/assets/marketplace/plugins/ccl-skills/hooks/hooks.json +131 -0
  17. package/dist/assets/marketplace/plugins/ccl-skills/hooks/merge-authorization-prompt.sh +142 -0
  18. package/dist/assets/marketplace/plugins/ccl-skills/hooks/owner-dispatch-guard.sh +12 -0
  19. package/dist/assets/marketplace/plugins/ccl-skills/hooks/owner-dispatch-stop.sh +13 -0
  20. package/dist/assets/marketplace/plugins/ccl-skills/hooks/remind-post-merge-cleanup.sh +144 -0
  21. package/dist/assets/marketplace/plugins/ccl-skills/hooks/session-context.sh +87 -0
  22. package/dist/assets/marketplace/plugins/ccl-skills/hooks/session-start.sh +86 -0
  23. package/dist/assets/marketplace/plugins/ccl-skills/hooks/skill-extraction-gate-stop.sh +69 -0
  24. package/dist/assets/marketplace/plugins/ccl-skills/hooks/subagent-start.sh +26 -0
  25. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_delegation_owner.sh +329 -0
  26. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_edit_isolation.sh +322 -0
  27. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_merge_authorization.sh +902 -0
  28. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_merge_authorization_prompt.sh +178 -0
  29. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_remind_post_merge_cleanup.sh +121 -0
  30. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_session_start.sh +170 -0
  31. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/AGENTS.md +17 -0
  32. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts +564 -0
  33. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-install-skills.md +14 -0
  34. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-update-skills.md +44 -0
  35. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-verify-skills.md +109 -0
  36. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-worktree-check.md +36 -0
  37. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/AGENTS.md +28 -0
  38. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/README.md +276 -0
  39. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.example.json +10 -0
  40. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.sh +1307 -0
  41. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/test.sh +941 -0
  42. package/dist/assets/marketplace/plugins/ccl-skills/skills/agents-file-coverage-gate/SKILL.md +45 -0
  43. package/dist/assets/marketplace/plugins/ccl-skills/skills/agents-file-coverage-gate/agents/openai.yaml +4 -0
  44. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/SKILL.md +188 -0
  45. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/agents/openai.yaml +4 -0
  46. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/android-dev.md +92 -0
  47. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/flutter-dev.md +80 -0
  48. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/ios-dev.md +72 -0
  49. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/kotlin-multiplatform.md +93 -0
  50. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/mobile-platform-boundaries.md +77 -0
  51. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/mobile-quality-release.md +77 -0
  52. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/source-evidence-map.md +64 -0
  53. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/SKILL.md +353 -0
  54. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/agents/openai.yaml +4 -0
  55. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/client-routing.md +419 -0
  56. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/manual-invocation-and-prompts.md +126 -0
  57. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md +197 -0
  58. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/timeout-auth-and-capabilities.md +179 -0
  59. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/AGENTS.md +98 -0
  60. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/classify_envelope.py +93 -0
  61. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/classify_timeout_exit.sh +15 -0
  62. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/claude_review.sh +1438 -0
  63. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/codex_review.sh +324 -0
  64. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/concern_excerpt.py +295 -0
  65. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/egress_schema.py +214 -0
  66. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/init_policy_matrix.py +642 -0
  67. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_packet_mcp.py +181 -0
  68. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_review.sh +1165 -0
  69. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/opencode_review.sh +1190 -0
  70. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_cli_review.py +946 -0
  71. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_opencode_review.py +474 -0
  72. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_probe_result.py +1899 -0
  73. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_review_json.py +200 -0
  74. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py +2845 -0
  75. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.sh +6 -0
  76. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/run_claude_capture.py +71 -0
  77. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/runtime-surface-verification-design.md +53 -0
  78. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_classify_envelope.sh +68 -0
  79. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_claude_review_probe.sh +2311 -0
  80. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_cli_review_wrappers.sh +1832 -0
  81. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_code_review_identity.sh +73 -0
  82. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_concern_excerpt.sh +245 -0
  83. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_egress_schema.sh +177 -0
  84. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_init_policy_matrix.sh +272 -0
  85. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_kimi_packet_mcp.py +195 -0
  86. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_opencode_review_concurrency.sh +120 -0
  87. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_opencode_review_retry.sh +1005 -0
  88. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_opencode_review.sh +258 -0
  89. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_probe_result.sh +574 -0
  90. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_review_json.sh +349 -0
  91. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_compat.py +434 -0
  92. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_order.sh +264 -0
  93. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_gate.sh +2412 -0
  94. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/verify_native_skill_binding.py +123 -0
  95. package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/SKILL.md +153 -0
  96. package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/agents/openai.yaml +4 -0
  97. package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/references/diagnosis-playbook.md +54 -0
  98. package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/references/prevention-routing.md +36 -0
  99. package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/SKILL.md +69 -0
  100. package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/agents/openai.yaml +4 -0
  101. package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/references/security-review-gate.md +41 -0
  102. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/SKILL.md +165 -0
  103. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/agents/openai.yaml +4 -0
  104. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/api-security-boundaries.md +47 -0
  105. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/architecture-playbook.md +160 -0
  106. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/artifact-generation-architecture.md +37 -0
  107. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/audit-history-architecture.md +29 -0
  108. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/bulk-workflow-architecture.md +33 -0
  109. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/config-rule-routing-architecture.md +34 -0
  110. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/cross-cutting-concerns.md +72 -0
  111. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/data-modeling-and-migrations.md +79 -0
  112. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/data-platform-architecture.md +210 -0
  113. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/dependency-platform.md +105 -0
  114. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/developer-tooling-architecture.md +38 -0
  115. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/error-contract-architecture.md +36 -0
  116. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/event-driven-architecture.md +260 -0
  117. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/http-gateway-architecture.md +74 -0
  118. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/mq-consumer-architecture.md +38 -0
  119. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/multi-tenant-isolation.md +275 -0
  120. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/notification-architecture.md +25 -0
  121. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/ops-checklist.md +57 -0
  122. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/performance-capacity-architecture.md +38 -0
  123. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/protobuf-contract-architecture.md +119 -0
  124. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/redis-cache-coordination.md +93 -0
  125. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/release-runtime-readiness.md +65 -0
  126. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/replay-comparison-architecture.md +26 -0
  127. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/runtime-observability.md +94 -0
  128. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/service-scaffold.md +76 -0
  129. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/source-evidence-map.md +55 -0
  130. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/workflow-state-architecture.md +38 -0
  131. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/SKILL.md +159 -0
  132. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/agents/openai.yaml +4 -0
  133. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/artifact-generation-patterns.md +37 -0
  134. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/audit-history-patterns.md +28 -0
  135. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/bulk-import-export-patterns.md +56 -0
  136. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/config-rule-routing-patterns.md +38 -0
  137. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/data-access-patterns.md +55 -0
  138. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/db-schema-and-dal-patterns.md +109 -0
  139. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/dependency-client-patterns.md +130 -0
  140. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/developer-tooling-patterns.md +70 -0
  141. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/domain-feature-patterns.md +78 -0
  142. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/engineering-patterns.md +119 -0
  143. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/error-contract-patterns.md +55 -0
  144. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/feature-playbook.md +61 -0
  145. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/http-gateway-client-patterns.md +76 -0
  146. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/mq-consumer-patterns.md +55 -0
  147. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/notification-patterns.md +42 -0
  148. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/observability-implementation-patterns.md +101 -0
  149. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/performance-capacity-patterns.md +44 -0
  150. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/protobuf-contract-patterns.md +72 -0
  151. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/public-api-integration-patterns.md +56 -0
  152. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/quality-and-testing-patterns.md +91 -0
  153. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/redis-cache-lock-patterns.md +123 -0
  154. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/release-ops-patterns.md +112 -0
  155. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/reliability-patterns.md +83 -0
  156. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/replay-comparison-patterns.md +32 -0
  157. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/scaffold-and-codegen.md +86 -0
  158. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/source-evidence-map.md +54 -0
  159. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/state-machine-task-patterns.md +45 -0
  160. package/dist/assets/marketplace/plugins/ccl-skills/skills/grill-me/SKILL.md +80 -0
  161. package/dist/assets/marketplace/plugins/ccl-skills/skills/grill-me/agents/openai.yaml +4 -0
  162. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/SKILL.md +117 -0
  163. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/agents/openai.yaml +4 -0
  164. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-approval-auto-reviewer.md +106 -0
  165. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-command-sandbox.md +441 -0
  166. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-context-freshness.md +47 -0
  167. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-credentials-auth.md +13 -0
  168. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-extensions-skills.md +13 -0
  169. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-file-edit-protocol.md +129 -0
  170. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-ide-integration.md +5 -0
  171. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-input-ingestion.md +13 -0
  172. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-instruction-composition.md +13 -0
  173. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-lifecycle-hooks.md +92 -0
  174. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-messaging.md +5 -0
  175. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-runtime-bootstrap.md +5 -0
  176. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-session-persistence.md +448 -0
  177. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-task-orchestration.md +13 -0
  178. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-tool-dispatch.md +123 -0
  179. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-turn-lifecycle.md +131 -0
  180. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/inference-capacity-operations.md +162 -0
  181. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/llm-client-gateway.md +156 -0
  182. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/model-prompt-evaluation.md +146 -0
  183. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/retrieval-agent-safety.md +273 -0
  184. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/SKILL.md +202 -0
  185. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/agents/openai.yaml +4 -0
  186. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/contracts-and-state.md +62 -0
  187. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/cross-stack-alignment.md +94 -0
  188. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/framework-choice.md +76 -0
  189. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/online-practice-uptake.md +56 -0
  190. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/platform-capabilities.md +91 -0
  191. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/product-page-checklist.md +40 -0
  192. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/qa-release.md +72 -0
  193. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/source-evidence-map.md +82 -0
  194. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/SKILL.md +103 -0
  195. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/agents/openai.yaml +5 -0
  196. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/references/multi-agent-delegation-playbook.md +100 -0
  197. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/SKILL.md +70 -0
  198. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/agents/openai.yaml +4 -0
  199. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/public-data-acquisition.md +549 -0
  200. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/public-disclosure-channels.md +97 -0
  201. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/research-prompts.md +66 -0
  202. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/scripts/AGENTS.md +32 -0
  203. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/scripts/test-public-data-acquisition-recipes.sh +379 -0
  204. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/SKILL.md +244 -0
  205. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/agents/openai.yaml +4 -0
  206. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/alerting-and-on-call.md +76 -0
  207. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/framework-middleware-checklist.md +142 -0
  208. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/infra-component-deployment.md +268 -0
  209. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/log-correlation-recipe.md +124 -0
  210. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/log-schema-canonical.md +208 -0
  211. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/metrics-conventions.md +105 -0
  212. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/obs-stack-architecture.md +107 -0
  213. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/sli-slo-design.md +95 -0
  214. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/source-register.md +11 -0
  215. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/SKILL.md +303 -0
  216. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/agents/openai.yaml +4 -0
  217. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/canary-and-rollout-strategy.md +163 -0
  218. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/config-center-via-etcd.md +245 -0
  219. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/custom-control-plane-boundary.md +298 -0
  220. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/deploy-cli-concrete-recipe.md +312 -0
  221. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/deploy-pipeline.md +165 -0
  222. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/env-and-lane-matrix.md +126 -0
  223. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/lane-orchestration-control-plane.md +383 -0
  224. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/multi-region-and-cluster.md +135 -0
  225. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/promotion-gate-and-review.md +149 -0
  226. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/python-package-registry-release.md +462 -0
  227. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/rollback-playbook.md +123 -0
  228. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/secret-and-config-management.md +231 -0
  229. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/version-authority-and-deprecation.md +21 -0
  230. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/SKILL.md +276 -0
  231. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/agents/openai.yaml +4 -0
  232. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/dual-sidecar-and-traffic-config-center.md +127 -0
  233. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/framework-middleware.md +143 -0
  234. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/grpc-authority-workaround.md +90 -0
  235. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/http-response-envelope-contract.md +24 -0
  236. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/mesh-architecture.md +127 -0
  237. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/multi-env-routing.md +192 -0
  238. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/protobuf-http-contract-signals.md +64 -0
  239. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/retry-timeout-circuit-breaker.md +124 -0
  240. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/rpc-framework-recipe.md +494 -0
  241. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-choice.md +113 -0
  242. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-migration-playbook.md +231 -0
  243. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-recipe.md +131 -0
  244. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md +235 -0
  245. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/agents/openai.yaml +4 -0
  246. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/adr-convention.md +146 -0
  247. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-checklist.md +30 -0
  248. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-evaluation-report-template.md +25 -0
  249. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-execution-spec.md +108 -0
  250. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-sop.md +457 -0
  251. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-templates.md +24 -0
  252. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/artifact-egress-confidentiality.md +58 -0
  253. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/code-review-checklist.md +86 -0
  254. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/cross-repo-coordination.md +46 -0
  255. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/delivery-lifecycle.md +192 -0
  256. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-review-gate-mechanics.md +62 -0
  257. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-routing-and-readiness.md +45 -0
  258. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/diagnostic-spec-match-gate.md +36 -0
  259. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/dispatch-owner-skills.md +35 -0
  260. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/dormant-code-activation.md +47 -0
  261. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/existing-project-assessment-report.md +223 -0
  262. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/external-skill-augmentation.md +46 -0
  263. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/feature-deprecation-cascade.md +15 -0
  264. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/high-risk-resilience-gates.md +73 -0
  265. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/implementation-completeness-and-minimality.md +120 -0
  266. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/implementation-entry-reentry-gate.md +122 -0
  267. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/modular-monolith-heuristic.md +105 -0
  268. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/pre-final-continuation-gate.md +115 -0
  269. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/problem-resolution-and-learning.md +62 -0
  270. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/quality-attributes.md +112 -0
  271. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/quality-remediation-program.md +88 -0
  272. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/rd-standards-doc-family-checklist.md +27 -0
  273. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/refactoring-discipline.md +52 -0
  274. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/review-reception.md +34 -0
  275. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/shared-gate-artifact-classification.md +76 -0
  276. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/source-evidence-map.md +31 -0
  277. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/status-tracker-sync.md +77 -0
  278. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/sync-spec-repo-contract.md +25 -0
  279. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/verify-developer-experience.md +34 -0
  280. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/worktree-mechanics.md +55 -0
  281. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/scripts/AGENTS.md +18 -0
  282. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/scripts/check-agent-contract-coverage.sh +213 -0
  283. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/SKILL.md +136 -0
  284. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/agents/openai.yaml +9 -0
  285. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/analytics-visualization-interactions.md +206 -0
  286. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/behavioral-aesthetic-logic.md +108 -0
  287. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/complex-creation-interactions.md +194 -0
  288. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-execution-checklist.md +214 -0
  289. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-impl-naming-and-versioning.md +53 -0
  290. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-intake-and-acceptance.md +129 -0
  291. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-system-source-of-truth.md +97 -0
  292. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/external-ui-ux-quality-benchmarks.md +79 -0
  293. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/frontend-code-evidence-map.md +63 -0
  294. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/interaction-design-patterns.md +146 -0
  295. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/layout-recipes-and-screenshot-acceptance.md +250 -0
  296. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/multi-project-token-consistency.md +237 -0
  297. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/multi-stack-strategy.md +65 -0
  298. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/operational-processing-workflows.md +237 -0
  299. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/platform-mobile-patterns.md +324 -0
  300. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/platform-web-desktop-patterns.md +456 -0
  301. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/product-lifecycle-acceptance-and-iteration.md +114 -0
  302. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/product-surface-patterns.md +79 -0
  303. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/resource-management-interactions.md +113 -0
  304. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/scenario-community-patterns.md +133 -0
  305. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/source-map.md +130 -0
  306. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/tokens-and-components.md +47 -0
  307. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/trust-sensitive-ai-and-data-patterns.md +96 -0
  308. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/ui-ux-audit.md +106 -0
  309. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/ui-ux-design-development.md +176 -0
  310. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/visual-craft.md +111 -0
  311. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/SKILL.md +157 -0
  312. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/agents/openai.yaml +4 -0
  313. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/ai-service-integration-boundaries.md +57 -0
  314. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/api-contract-and-schema.md +62 -0
  315. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/api-security-boundaries.md +39 -0
  316. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/architecture-playbook.md +46 -0
  317. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/async-execution-model.md +24 -0
  318. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/background-jobs-and-scheduling.md +18 -0
  319. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/batch-and-pipeline-architecture.md +11 -0
  320. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/config-secrets-runtime.md +22 -0
  321. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/data-modeling-and-migrations.md +64 -0
  322. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/data-platform-architecture.md +211 -0
  323. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/event-driven-architecture.md +263 -0
  324. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/multi-tenant-isolation.md +281 -0
  325. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/observability-and-ops.md +26 -0
  326. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/packaging-runtime-readiness.md +20 -0
  327. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/redis-cache-coordination.md +41 -0
  328. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/reliability-and-error-contract.md +17 -0
  329. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/source-evidence-map.md +55 -0
  330. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/web-framework-boundaries.md +26 -0
  331. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/SKILL.md +143 -0
  332. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/agents/openai.yaml +4 -0
  333. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/ai-service-wiring-patterns.md +16 -0
  334. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/async-and-worker-patterns.md +24 -0
  335. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/background-job-patterns.md +18 -0
  336. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/batch-and-artifact-patterns.md +13 -0
  337. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/dependency-client-patterns.md +39 -0
  338. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/error-handling-patterns.md +26 -0
  339. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/feature-playbook.md +43 -0
  340. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/observability-implementation-patterns.md +31 -0
  341. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/project-structure-and-tooling.md +24 -0
  342. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/public-api-security-patterns.md +52 -0
  343. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/redis-cache-lock-patterns.md +78 -0
  344. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/schema-and-validation-patterns.md +23 -0
  345. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/source-evidence-map.md +56 -0
  346. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/sqlalchemy-and-migrations-patterns.md +99 -0
  347. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/testing-and-quality-patterns.md +61 -0
  348. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/web-framework-patterns.md +35 -0
  349. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/SKILL.md +91 -0
  350. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/agents/openai.yaml +4 -0
  351. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/config-runtime-readback.md +20 -0
  352. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/mr-merge-authorization.md +31 -0
  353. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/post-release-env-reset.md +31 -0
  354. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/release-closeout-evidence.md +20 -0
  355. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/release-scope-confirmation.md +21 -0
  356. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/tag-and-prod-pipeline-gate.md +20 -0
  357. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/test-scope-prompt.md +24 -0
  358. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/watcher-discipline.md +14 -0
  359. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/SKILL.md +64 -0
  360. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/agents/openai.yaml +4 -0
  361. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/comment-safe-release-doc.md +19 -0
  362. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/release-evidence-workflow.md +23 -0
  363. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/release-testing-scope-section.md +15 -0
  364. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-baseline/SKILL.md +87 -0
  365. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-baseline/agents/openai.yaml +4 -0
  366. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/SKILL.md +130 -0
  367. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/agents/openai.yaml +4 -0
  368. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/prd-composition-contract.md +35 -0
  369. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/requirement-closure-contract.md +86 -0
  370. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/security-four-questions.md +38 -0
  371. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-intent/SKILL.md +91 -0
  372. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-intent/agents/openai.yaml +4 -0
  373. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-scope/SKILL.md +88 -0
  374. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-scope/agents/openai.yaml +4 -0
  375. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/SKILL.md +337 -0
  376. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/agents/openai.yaml +4 -0
  377. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/analysis-parse-fix-test-challenge-replay.md +47 -0
  378. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/attribution-verification.md +69 -0
  379. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/bootstrap-slim-c3-obligation-table.md +112 -0
  380. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/coverage-exhaustion-traps.md +45 -0
  381. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/description-authoring.md +162 -0
  382. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/dual-track-review-gate.md +507 -0
  383. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/eval-routing.md +86 -0
  384. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/evidence-card-template.md +51 -0
  385. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/example-domain-preselect.md +79 -0
  386. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/external-practice-controls.md +57 -0
  387. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-lifecycle-handoff.md +65 -0
  388. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-quickstart.md +194 -0
  389. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/firing-point-placement.md +75 -0
  390. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/harness-patterns-and-eval.md +286 -0
  391. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/incident-postmortem-extraction.md +190 -0
  392. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/l0-l1-l2-routing.md +114 -0
  393. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/online-skill-review.md +47 -0
  394. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/parallel-stack-references-pattern.md +164 -0
  395. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/r0-leakage-audit.md +90 -0
  396. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/recurring-anti-patterns-checklist.md +320 -0
  397. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/resume-paused-delivery.md +16 -0
  398. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-feedback-mining.md +33 -0
  399. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-finding-standards.md +57 -0
  400. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-rubric.md +40 -0
  401. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/rule-consolidation.md +118 -0
  402. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/skill-listing-budget.md +19 -0
  403. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md +254 -0
  404. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-to-skill-extraction.md +658 -0
  405. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/two-source-extraction-pattern.md +167 -0
  406. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/uiux-judgment-extraction.md +179 -0
  407. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/uiux-routing-map.md +51 -0
  408. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/validation-and-landing.md +180 -0
  409. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/AGENTS.md +18 -0
  410. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-ccl-skills.sh +1452 -0
  411. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-evidence-card-leak.sh +491 -0
  412. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-mr-target-freshness.sh +173 -0
  413. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-size-budget.sh +488 -0
  414. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-sync-pointers.sh +419 -0
  415. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-golden-trace.rb +197 -0
  416. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-health.rb +327 -0
  417. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing-bank.rb +401 -0
  418. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing.rb +248 -0
  419. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/generic-r0-leak-scan.sh +282 -0
  420. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/governing-chain-diff.py +321 -0
  421. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/impact-chain-gate.rb +964 -0
  422. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/register-firing-path-resolution.rb +708 -0
  423. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/skill-behavior-eval.py +540 -0
  424. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/source-register-lifecycle.rb +51 -0
  425. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/source-register-pending-status.rb +55 -0
  426. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh +829 -0
  427. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_impact_chain_refscripts.sh +1203 -0
  428. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_r0_status.sh +75 -0
  429. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_register_pending_exclusion.sh +137 -0
  430. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh +173 -0
  431. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_route_drift.sh +377 -0
  432. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_size_budget.sh +833 -0
  433. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_skill_catalog.sh +491 -0
  434. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_source_register_lifecycle.sh +114 -0
  435. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_mr_target_freshness.sh +261 -0
  436. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_sync_pointers.sh +538 -0
  437. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_controlled_escalation_pins.sh +154 -0
  438. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_grader_diagnostics.sh +190 -0
  439. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_surface_binding.sh +178 -0
  440. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_prose_target.sh +86 -0
  441. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_generic_r0_leak_scan.sh +131 -0
  442. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_git_identity_predicate_gate.sh +243 -0
  443. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_governing_chain_diff.sh +419 -0
  444. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_impact_chain_gate_dateless_host.sh +120 -0
  445. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_resolution.sh +724 -0
  446. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_wiring.sh +414 -0
  447. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_regression_runner_registration.sh +34 -0
  448. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_routing_bank_integrity.sh +205 -0
  449. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_routing_pointer_integrity.sh +194 -0
  450. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_credential_cwd.sh +61 -0
  451. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_cross_refs.sh +111 -0
  452. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_root_depth.sh +53 -0
  453. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/validate-skill.sh +257 -0
  454. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/SKILL.md +98 -0
  455. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/agents/openai.yaml +4 -0
  456. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/input-state-machines.md +36 -0
  457. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/streaming-rich-output.md +130 -0
  458. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/terminal-side-channels.md +96 -0
  459. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/SKILL.md +408 -0
  460. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/agents/openai.yaml +4 -0
  461. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/AGENTS.md +18 -0
  462. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/bitable-setup.md +573 -0
  463. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/README.md +120 -0
  464. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/github-actions.yml +119 -0
  465. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/gitlab-ci.yml +76 -0
  466. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/jenkins.Jenkinsfile +106 -0
  467. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/classical-test-design-techniques.md +279 -0
  468. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/gen_report.py +2807 -0
  469. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/makefile-template.md +200 -0
  470. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/report-config-schema.md +272 -0
  471. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/run_pytestless.py +475 -0
  472. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/source-to-case-workflows.md +258 -0
  473. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc-marker-conventions.md +316 -0
  474. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc-review-and-prioritization.md +145 -0
  475. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/AGENTS.md +16 -0
  476. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.dart +129 -0
  477. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.go +197 -0
  478. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.py +135 -0
  479. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.ts +285 -0
  480. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/test_gen_report.py +2144 -0
  481. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/update-lifecycle.md +62 -0
  482. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/SKILL.md +212 -0
  483. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/agents/openai.yaml +4 -0
  484. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/ci-fixtures-and-flake-control.md +75 -0
  485. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/client-runtime-test-matrices.md +50 -0
  486. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/data-and-workflow-testing.md +34 -0
  487. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/design-closed-contract-oracles.md +31 -0
  488. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/e2e-real-flow-testing.md +71 -0
  489. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/fitness-functions.md +240 -0
  490. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/integration-contract-testing.md +235 -0
  491. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/non-functional-specialized-scenarios.md +296 -0
  492. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/rd-testing-standard-template.md +126 -0
  493. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/run-killing-mutation-walk.md +43 -0
  494. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/scenario-testing.md +136 -0
  495. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/source-evidence-map.md +59 -0
  496. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/structured-tc-input-translation.md +67 -0
  497. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-code-authoring-patterns.md +392 -0
  498. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-data-and-determinism.md +39 -0
  499. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-topology-and-commands.md +92 -0
  500. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/unit-testing.md +46 -0
  501. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/vendored-contract-drift-checklist.md +64 -0
  502. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/verify-enforcement-mechanisms.md +18 -0
  503. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/AGENTS.md +17 -0
  504. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/client-terminal-ansi-check.py +140 -0
  505. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/client-terminal-ansi-check.test.sh +75 -0
  506. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-ast-check.py +170 -0
  507. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-ast-check.test.sh +87 -0
  508. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-go-check.go +198 -0
  509. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-go-check.test.sh +109 -0
  510. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/test_mutation_backup_recipe.sh +237 -0
  511. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/SKILL.md +184 -0
  512. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/agents/openai.yaml +4 -0
  513. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/comment-safe-feishu.md +93 -0
  514. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/cross-model-co-review.md +3 -0
  515. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/delivery-face-closeout.md +60 -0
  516. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/doc-charter-first.md +17 -0
  517. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/session-vantage-leakage.md +58 -0
  518. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/SKILL.md +126 -0
  519. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/agents/openai.yaml +4 -0
  520. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/complex-workspace-patterns.md +47 -0
  521. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/embedded-h5-in-host.md +87 -0
  522. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/react-architecture.md +194 -0
  523. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/source-evidence-map.md +60 -0
  524. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/web-quality-release.md +190 -0
  525. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/web-ui-quality.md +83 -0
  526. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/SKILL.md +179 -0
  527. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/agents/openai.yaml +4 -0
  528. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/references/shared-branch-rebase.md +25 -0
  529. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/AGENTS.md +23 -0
  530. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_status.sh +207 -0
  531. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_sweep.sh +481 -0
  532. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/worktree-status.sh +325 -0
  533. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/worktree-sweep.sh +245 -0
  534. package/dist/assets/release.json +2797 -0
  535. package/dist/claude-adapter.d.ts +9 -0
  536. package/dist/claude-adapter.js +240 -0
  537. package/dist/cli-worker.d.ts +1 -0
  538. package/dist/cli-worker.js +32 -0
  539. package/dist/cli.d.ts +22 -0
  540. package/dist/cli.js +214 -0
  541. package/dist/codex-host.d.ts +30 -0
  542. package/dist/codex-host.js +162 -0
  543. package/dist/fs-safe.d.ts +21 -0
  544. package/dist/fs-safe.js +241 -0
  545. package/dist/index.d.ts +2 -0
  546. package/dist/index.js +1 -0
  547. package/dist/manifest.d.ts +8 -0
  548. package/dist/manifest.js +135 -0
  549. package/dist/opencode-adapter.d.ts +10 -0
  550. package/dist/opencode-adapter.js +416 -0
  551. package/dist/operations.d.ts +3 -0
  552. package/dist/operations.js +956 -0
  553. package/dist/paths.d.ts +20 -0
  554. package/dist/paths.js +4 -0
  555. package/dist/types.d.ts +58 -0
  556. package/dist/types.js +1 -0
  557. package/dist/unified.d.ts +4 -0
  558. package/dist/unified.js +64 -0
  559. package/dist/version.d.ts +2 -0
  560. package/dist/version.js +5 -0
  561. package/package.json +35 -0
@@ -0,0 +1,119 @@
1
+ # Protobuf Contract Architecture
2
+
3
+ Use this when designing protobuf IDL for HTTP APIs, internal RPC, events, generated clients, or gateway routes.
4
+
5
+ ## Contract Boundary
6
+
7
+ - Treat `.proto` files as source contracts; generated files are outputs.
8
+ - Separate public API contracts from internal RPC contracts when stability or security requirements differ.
9
+ - Keep shared envelopes, annotation extensions, and common enums in small dedicated protos; keep resource messages in owning package protos.
10
+ - Avoid monolithic service protos; split by capability, ownership, lifecycle, or client stability.
11
+ - Design request/response pairs per method unless streaming, batch, or shared shapes are intentionally stable.
12
+ - Put pagination, filtering, sorting, and idempotency fields in v1 for list and write APIs that need them.
13
+ - Transport metadata such as trace id, auth subject, lane/environment, and service identity should travel via metadata or middleware unless it is part of the contract.
14
+
15
+ ## Package And Import Policy
16
+
17
+ - Every proto needs `syntax`, `package`, and a language package option such as `go_package`.
18
+ - Package names should be stable and independent of repo-local paths.
19
+ - Imports should point to source protos, not generated Go packages.
20
+ - Custom HTTP/gateway annotations belong in a dedicated annotation proto; normal contracts should import it rather than redefine options.
21
+ - `proto2` is acceptable for descriptor extension files; product contracts should use `proto3` unless there is a specific compatibility reason.
22
+
23
+ ## Evolution
24
+
25
+ - Never reuse field numbers or enum numbers.
26
+ - Reserve deleted field numbers and names.
27
+ - Prefer additive fields, new methods, and new enum values over semantic changes.
28
+ - Do not change the meaning, type, cardinality, or units of an existing field.
29
+ - Keep public API messages more stable than internal RPC messages.
30
+ - Use explicit versioned messages or methods when compatibility cannot be preserved.
31
+ - **Protobuf Edition 2024 (released in protoc 32.x, Q3 2025) is the current evolution baseline** — supersedes the "proto2 vs proto3" syntax dichotomy with the editions model (per `protobuf.dev/editions/overview/`). Key feature changes Edition 2024 introduced over Edition 2023: (a) `string_type` feature default changes from `STRING` to `VIEW` (more efficient string handling at the generated-code layer; verify generated Go output behavior on the migration); (b) `EXPORT_TOP_LEVEL` default ensures top-level symbols are exported and nested symbols are local by default, with explicit `export` / `local` keywords for annotation — this is a visibility model previously not available in proto syntax; (c) `import option` syntax imports only custom options from a `.proto` file without pulling in other symbols, reducing dependency graph noise. Migration strategy: do NOT mass-migrate existing proto2/proto3 files to Edition 2024 in one commit — convert per file as that file is touched for other reasons, run `buf breaking` against every conversion, and verify each generated language target (Go via protobuf-go, plus any other consumer language) re-renders identically. Buf supports Editions 2024 in current buf-cli (v1.x as of writing); BSR-managed plugins continue updating per the BSR release notes — pin specific plugin versions in `buf.gen.yaml` so a managed-plugin auto-bump doesn't silently change generated code. Edition 2024 does NOT change the wire format — old binaries can still parse messages from Edition 2024 sources; the changes are at the IDL syntax + generated-code-shape layer.
32
+
33
+ ## Message Modeling
34
+
35
+ - Leave numeric gaps for expected growth.
36
+ - Group field numbers by purpose only when it improves readability; do not depend on order semantically.
37
+ - Use nested messages only for substructures that are scoped to a parent and unlikely to be reused.
38
+ - Use `optional` when zero/empty and absent have different meanings.
39
+ - Use `repeated` for collections; define ordering, max size, and dedupe rules in comments or validation.
40
+ - Use `map` only for open-ended key/value metadata; use repeated typed entries when keys or values need validation or evolution.
41
+ - Use `oneof` for mutually exclusive payloads and document unknown or empty behavior.
42
+
43
+ ## Enum And Status Policy
44
+
45
+ - The zero enum value should be `UNKNOWN` or `UNSPECIFIED`.
46
+ - Prefix enum values consistently to avoid generated-name collisions.
47
+ - Status enums should include initial, in-progress, terminal success, terminal failure, and cancellation states only when the workflow needs them.
48
+ - New enum values must be tolerated by old clients; clients should handle unknown values safely.
49
+ - A protobuf enum is a transport contract, not automatically the domain source of truth. Architecture decides whether generated enum types may be used beyond transport/adapters; if storage, clients, analytics, or existing domain models use another representation, define explicit conversion helpers and a migration plan. Any transport-coupled exception must be traceable through an ADR or an inline usage-site comment formatted `architecture-approval: transport-coupled finite value <scope> <decision-ref> <reason>` where `<decision-ref>` is a full URL or numeric record id such as `ADR-123`; reviewers must confirm the referenced record exists and approves the specific value/scope before approval. A CI check, grep panel, or required review checklist item MUST exist and pass before any PR introducing `architecture-approval:` comments is merged; absence of that check is itself a blocking finding. The first PR that introduces `architecture-approval:` comments must include the enforcement check in the same PR or reference a prior merged check; "will add later" is not approval.
50
+ - Shared enum placement is an architecture decision. Put cross-service finite values in the smallest shared IDL or domain/platform package that has real ownership; if none exists, approve a local fallback and track consolidation with `finite-value-debt: <task-ref> <owner> <deadline> <reason>`.
51
+
52
+ ## Error And Envelope Policy
53
+
54
+ - Use one response envelope or canonical error contract consistently.
55
+ - Common code/message fields should not replace typed resource data.
56
+ - Shared error code ranges should be governed; local codes should not be added to global enums unless multiple clients depend on them.
57
+ - Do not inherit a framework's reserved envelope/base field number as a contract convention. New products should choose an explicit envelope field and document it.
58
+ - Keep request metadata minimal. Trace id, lane, caller identity, and auth context should normally be middleware metadata; put them in protobuf messages only when cross-language clients or async payload persistence require a typed contract.
59
+
60
+ ## Streaming And Surface-Shape Validation
61
+
62
+ These tier/streaming/shape rules are cross-stack; the mirror lives in `python-service-architecture/references/api-contract-and-schema.md` (Contract Tiers, Streaming, And Shape Validation) — keep both in sync.
63
+
64
+ - **A server-streaming RPC's streamed message is a separate shape decision — not automatically the unary response envelope.** A per-item business envelope (SSE / NDJSON / SDK-compatible styles do this) or a discriminated event stream both work; just don't force the unary request/response envelope by default. Define completion and error semantics explicitly, and decide whether termination/errors travel in-band or via transport status/trailers (gRPC). For a fatal terminal error on a transport that can still signal it (e.g. gRPC trailers), surface a non-success status so monitoring/retry/circuit-breaking aren't misled; where the status header is already committed (SSE / NDJSON after a 200), carry the error in-band and ensure observability classifies it as a failure rather than trusting the 200. A stream that already emitted client-visible data or dispatched side effects is not freely retryable, so don't assume the unary retry rule. Per-domain event payloads (e.g. token usage on an inference stream) are that service's contract, not a universal field set. Ensure any envelope-shape check exempts the streamed message rather than misfiring on a `*Response`-style name.
65
+ - **Distinct contract tiers are distinct shapes — do not force one envelope across all.** Internal RPC (shared base + typed data), the public HTTP JSON business envelope (per the canonical HTTP-response-envelope contract), streaming events, and **externally-dictated standard protocols** (a provider-compatible API, a webhook spec, an industry wire format) each carry their own shape. An externally-dictated protocol follows that protocol's wire, mapped from the contract source — it is NOT the internal RPC or HTTP envelope. But a compatible wire is **not an exemption from internal controls**: authz, tenant isolation, quota, audit, and error-code governance still apply behind it — "we're just being standard-compatible" must not become a bypass. For a surface with no consumer yet, don't default it to another tier's envelope; define its own contract when a consumer or stability requirement appears.
66
+ - **Make the conventions machine-checkable and multi-service, scaled to repo maturity.** The contract conventions (per-tier shapes, shared base, naming, base-field placement) belong in an agent-readable spec that a contract health check enforces. The check should iterate every service rather than hardcode one, validate each unary tier's envelope, and exempt streaming events and the shared-base definitions themselves. Scale enforcement to risk — a hard CI gate for production multi-consumer IDL, a lighter check plus recorded gaps for early/migration/prototype repos. A service it cannot yet validate is recorded as a gap with an owner and severity, not silently skipped; a single-service-hardcoded or unary-only check lets agents infer the shape from whatever materialized example they find, which drifts when that example itself diverged.
67
+
68
+ ## IDL Repo Organization
69
+
70
+ - For portfolios with more than a handful of services, architecture decides whether IDL lives in dedicated repos (one per IDL family — proto, thrift, http-thrift) or inline with business code. Dedicated IDL repos make codegen, breaking-change checks, and multi-language publishing cheaper, but require explicit consumer/publisher contracts and a release cadence.
71
+ - Inside one IDL set, organize sources by intent, not by team: a shared tier (`base`) for the canonical error/code enum and reusable structs, a gateway-facing tier (`api`) for contracts that cross the trust boundary, and per-domain tiers (`<domain>`) for internal RPC. The tiering is what makes Code range allocation, schema review, and downstream consumer rules tractable. Within one IDL set, the shared `base` is **defined once and imported** by every service, never redeclared per service within that set (a deliberate compatibility fork with owner, version, and deprecation plan is the documented exception — e.g. an open-source SDK or a cross-trust-domain boundary); a service that diverged unintentionally is recorded as a known divergence with an explicit migration target, not silently tolerated as a parallel convention.
72
+ - Reserve numeric Code range explicitly (e.g., `[0, 11999]` in `base.proto`) and sub-allocate per tier so services cannot accidentally collide. Architecture owns the allocation table.
73
+ - Multi-language codegen needs an explicit per-language script (Go, Python, TypeScript, etc.) driven by the IDL repo's CI. Architecture decides which languages are canonical (have integration tests) versus generated-only (clients without independent test coverage).
74
+ - Breaking-change governance is required for any IDL surface that has more than one consumer team or external clients. `buf breaking`, `kitex check`, or equivalent runs in CI; intentional breaks route through an explicit approval path.
75
+
76
+ ## Runtime IDL Loading For Generic Call
77
+
78
+ When a service needs to call another service whose IDL is not known at build time — typical use cases: gateways routing to many backends, admin/management consoles that proxy arbitrary service methods, debug/inspection tooling, dynamic test harnesses — the runtime fetches and parses IDL on demand and invokes the target via the framework's generic-call mechanism (Kitex `generic.Call`, gRPC reflection + descriptor pool, Thrift skeleton-less call).
79
+
80
+ The pattern is real and useful but adds an authority + safety surface beyond static IDL:
81
+
82
+ - **IDL source authority**: the runtime resolves an IDL fetch through an explicit registry — an IDL repo with a stable URL, a centralized descriptor service, or an internal package index. The IDL source identity is part of the call: a generic call against an IDL fetched from a user-supplied URL is unauthenticated code injection through schema. Reject IDL sources outside the allowlist.
83
+ - **Recursive include / import resolution**: thrift `include` and proto `import` chains can pull in dozens of transitive files. The fetcher must (1) follow includes to a documented depth limit (typical 10) — refuse deeper, that is usually a misconfigured loop, (2) **deduplicate by canonical source identity + content digest, not by fully-qualified name alone** — FQN-only dedup hides alias / path loops, descriptor shadowing, and dependency-confusion cases where two sources claim the same FQN with different bodies; the fetcher rejects duplicate FQNs with non-matching digests at parse/link time, (3) record every fetched file's source identity in the call audit log, (4) bound total bytes fetched per resolution so a malicious or buggy IDL cannot exhaust memory.
84
+ - **IDL parse cache with version pinning**: the parsed descriptor for `(idl_source, version)` is cached so repeated calls do not re-fetch / re-parse. Cache key includes version; cache invalidation triggers on registry signal, not on TTL alone (a TTL miss while the IDL is in transition picks up a half-published version).
85
+ - **Call surface authorization**: generic call is broader than the caller's normal scope. The dispatcher checks (a) caller is allowed to use generic-call at all (most callers are not), (b) caller is allowed to invoke the target service + method, (c) the method is on the target service's published surface (not an internal/admin method exposed accidentally by reflection).
86
+ - **Request shape validation on the fly**: since the request is not a compiled type, the dispatcher must validate the request body against the parsed descriptor before forwarding — required-field presence, oneof exclusivity, recursion depth on nested messages, total message size. Enum validation follows proto3 forward-compatibility: unknown enum numeric values are accepted (the backend may have added them in a newer rollout), not rejected; rejecting unknown enum values breaks rolling upgrades where descriptor and backend release independently.
87
+ - **Audit per call**: generic call records caller identity, target service, target method, IDL source + version, request id, and outcome. The audit log is the only forensic surface when an attacker pivots through a generic-call gateway.
88
+ - **Failure modes worth naming**:
89
+ - **IDL fetch failure for an uncached version** (registry down, network partition, requested version never been fetched): fail closed; never fall back to a stale, default, or sibling-version schema.
90
+ - **IDL fetch failure when a verified pinned descriptor is already cached**: serve from cache, but only while the cached descriptor's revocation-status lease is still valid. Cached descriptors carry a `last_known_not_revoked_at` timestamp refreshed by the registry on each successful poll; serving from cache during a registry outage is allowed up to a documented lease window (typical: minutes to a small number of hours, set by the security policy), after which the dispatcher fails closed even though the descriptor itself is still parsed in memory. A descriptor version whose revocation signal has been received (registry marked the version revoked / disabled, or the lease expired) MUST fail closed immediately and is purged from cache; never serve a known-revoked or lease-expired descriptor. The distinction is "no verified descriptor available for the requested version" (fail closed) vs "verified, not-revoked, lease-valid descriptor for this version is already cached" (serve).
91
+ - **Partial fetch** (some includes resolved, others timed out): reject the whole call; do not invoke with a partial descriptor.
92
+ - **Descriptor version drift between fetch and call**: re-fetch under single-flight; do not mix two descriptor versions in one call chain.
93
+
94
+ ## Runtime Frame Proxy (Generic Call Without Descriptors)
95
+
96
+ Sibling pattern to Runtime IDL Loading: instead of fetching+parsing descriptors and reconstructing typed calls, the proxy intercepts the raw RPC frame at the unknown-service handler (Kitex `WithGRPCUnknownServiceHandler`, gRPC's `UnknownServiceHandler`, equivalent) and forwards opaque payload bytes to a routed target. The proxy never parses the message body. Use cases: mesh-style routing for arbitrary methods, cross-lane traffic mirroring, blue/green frame replay, debug capture. Distinct trade-offs from descriptor-based proxying:
97
+
98
+ - **Caller identity comes from authenticated transport context, never from inbound metadata**: the proxy derives caller identity exclusively from the authenticated server context (mTLS client cert, signed session/JWT verified by middleware, SPIFFE id, k8s SA TokenReview) — not from inbound gRPC metadata headers, not from the payload. Any caller-identity-like metadata in the inbound frame (`x-caller-*`, `x-user-*`, claimed `from-service`) is stripped or overwritten with the authenticated value before any logic runs and before forwarding. Trusting metadata-claimed identity lets a caller impersonate an allowed principal and pivot through the proxy.
99
+ - **Routing source is an explicit metadata header on the inbound frame**, not the message body: e.g. a `destination-service` header carrying the target PSM/identity. The proxy MUST NOT trust caller-claimed identity embedded inside the payload (it would require parsing the body, which defeats the frame-level design and opens authorization gaps).
100
+ - **Routing header is canonicalized and validated BEFORE SD lookup**: reject non-canonical service ids, raw FQDN / IP / URL values (SD must be the only resolver), namespace or lane-escape syntax inside the header, duplicate or multi-value headers, and any value not in the authenticated caller's per-target allowlist. Without pre-SD validation, SD becomes a routing oracle and depending on the resolver implementation can become an internal-SSRF path. Authorization runs AFTER canonical target resolution and on the authenticated caller identity, not the claimed one.
101
+ - **Target address resolution goes through the same service-discovery layer as typed clients**: DNS/FQDN construction for in-cluster, explicit timeout. The lane-routing default for a frame proxy is **fail-closed on lane miss**: a request bound for lane `canary` that does not resolve in `canary` is rejected (audit + structured error), NOT silently forwarded to base. Lane fallback is opt-in per route policy and applies only to routes where cross-lane delivery is explicitly safe; the default protects blue/green replay, mirror, debug-capture, and any tenant-scoped lane from silent wrong-recipient delivery. SD lookup empty must fail fast — never retry against a last-known address.
102
+ - **Admission control is mandatory in addition to per-stream backpressure**: cap (a) max concurrent proxied streams globally and per route, (b) max inbound frame / message size, (c) per-caller and per-target-service concurrency. "Single goroutine pair, no full-stream buffer" prevents per-stream OOM but does not prevent many-streams OOM or oversized-frame OOM. Excess admission returns a structured `RESOURCE_EXHAUSTED` / 429 and is metered.
103
+ - **Context propagation MUST cross all three surfaces** simultaneously: framework `appctx` value (for in-process middleware), outgoing gRPC `metadata` (for the wire), and persistent metainfo (`kitex_metainfo.WithPersistentValue` or equivalent, for in-cluster persistent values that survive through hops). Trace id, lane, tenant, and (authenticated) caller identity must each appear on all three; missing one breaks downstream observability or routing. Test this with end-to-end trace correlation, not by inspecting the proxy alone.
104
+ - **Authorization is mandatory at the proxy boundary**: the proxy is broader than a typed client — any caller able to send a frame to the proxy can address any backend reachable from it. Apply (authenticated-caller) × target-service × method allowlist after the routing header is canonicalized, before forwarding. Same posture as Runtime IDL Loading's call-surface authorization. The proxy is a privilege boundary; treat its exposure surface like an API gateway, not like an internal RPC.
105
+ - **Payload codec coercion via framework-internal reflection is fragile**: code that reaches into the framework's internal `RPCInfo` / `Stream` types via `reflect.FieldByName(...)` to coerce payload codec or extract the underlying server stream pins the proxy to a specific framework version and breaks on minor upgrades. Acceptable when no public API exists, but: (a) pin the framework version explicitly, (b) document the reflective access in a comment naming the version, (c) add a build-time or startup-time assertion that the expected fields exist, fail closed on absence.
106
+ - **Server-stream forwarding preserves backpressure**: the proxy reads from the inbound stream and writes to the outbound stream in a single goroutine pair; do not buffer the entire stream in memory. Close propagation must work both directions (client cancel → upstream cancel; upstream error → client error frame).
107
+ - **Observability**: log per-call records {authenticated_caller, target_psm, target_method, route_decision, lane, admission_decision, latency, error}. The proxy is often the only place where cross-service call patterns are visible at this granularity; this log is forensic evidence for routing or auth incidents.
108
+ - **Failure modes worth naming**: routing header missing / non-canonical → reject with explicit error (do not silently forward); routing header valid but caller lacks authorization → reject and audit; lane miss without explicit fallback policy → reject and audit (do not fall back to base); SD lookup empty → reject (do not retry against last-known address); admission cap hit → structured exhaustion error, do not queue indefinitely; framework reflective access fails (post-upgrade) → fail closed and alert, do not fall back to typed default that may not exist.
109
+
110
+ ## Front-End Consumer Contract
111
+
112
+ The HTTP/RPC contract that Go services publish is consumed by front-end clients (React Web, mobile web, mobile-native). The same envelope/header/timeout rules that the server owns appear on the consumer side; architecture documents both sides so they cannot drift independently.
113
+
114
+ - **Envelope direction**: the response envelope shape the server emits is the same shape every front-end client parses. Mixing HTTP-200-always with HTTP-status-as-semantic across services in the same portfolio forces the front-end client to special-case per endpoint; the choice is a portfolio-level architecture decision recorded once. See the consumer-side rules in `web-react-dev/references/web-quality-release.md` (Cross-Stack Contract section) and the server-side decision in `error-contract-architecture.md`.
115
+ - **Trace propagation**: the server reads `X-Request-ID` from inbound HTTP requests when present and otherwise generates one; it propagates the request id and the runtime trace id on the response so the front end can surface them in error UI. A server that drops the inbound `X-Request-ID` because middleware did not register the read is a finding — end-to-end correlation depends on this header surviving from client to log line.
116
+ - **Auth header contract**: the server agrees with the front end on the auth header name (e.g. `Authorization` or a platform-specific token header), the app-identity header, and any tenant / lane / shadow-traffic headers that the front end injects. The server validates them through middleware once and exposes the result on the request context using a tiered context-keys convention.
117
+ - **Timeout layering**: outer caller budget is always longer than inner callee budget. For the path `front-end client → gateway → downstream RPC`, the relationship is `client timeout > gateway timeout > downstream RPC timeout`. A gateway longer than the client lets the client time out before the gateway can return a structured error with the trace id; a gateway shorter than the downstream RPC budget the gateway itself initiates lets the gateway give up while the inner call is still running, leaving the work in an undefined state. Per-endpoint risk tunes the specific values; the ordering is invariant.
118
+ - **Client-signed object-storage upload**: when the architecture supports direct front-end → object-storage upload, the server exposes a narrow `signed-token` / `STS` endpoint that returns a short-lived credential plus the upload target (bucket, key prefix, expiry). The credential is scoped, the expiry is short, and the server logs token issuance for audit. The main API path never carries the file body.
119
+ - **SDK/codegen for the front end**: when the contract is exposed via OpenAPI / IDL annotation, the front-end TS client is generated from the same IDL the server compiles; architecture owns the generator command and the publishing cadence so the front-end client never lags the server contract by more than one release.
@@ -0,0 +1,93 @@
1
+ # Redis Cache Coordination
2
+
3
+ Use this when designing Redis usage for a Go microservice product.
4
+
5
+ ## Redis Responsibility
6
+
7
+ - Redis is appropriate for ephemeral coordination: cache, locks, counters, rate limits, idempotency windows, lightweight task queues, and short-lived workflow state.
8
+ - Redis should not be the durable source of truth for domain state that must survive data loss or require auditability.
9
+ - If Redis state changes domain outcomes, pair it with a relational record, idempotency table, event log, or reconciliation process.
10
+ - Define failure behavior per use case: fail closed for risk controls, fail open for non-critical cache, retry for transient coordination failure.
11
+
12
+ ## Key Space Design
13
+
14
+ - Keys should be built through typed functions, not inline string formatting across application code.
15
+ - Key format should include stable dimensions in a consistent order:
16
+ - product or service namespace.
17
+ - data purpose.
18
+ - environment or lane when needed.
19
+ - authorization/resource/workflow id when needed.
20
+ - entity id or operation id.
21
+ - Local development and tests should avoid colliding with shared environments through prefixes, isolated Redis DBs, or fakes.
22
+ - Avoid raw user input in keys unless normalized and bounded.
23
+
24
+ ## TTL Policy
25
+
26
+ - Every cache, lock, idempotency, rate-limit, and task-state key needs an explicit TTL unless intentionally durable.
27
+ - TTL should be chosen from domain semantics:
28
+ - cache freshness window.
29
+ - retry/idempotency window.
30
+ - lock critical-section duration plus safety margin.
31
+ - rate-limit window plus cleanup margin.
32
+ - task recovery window.
33
+ - No-unlock throttle locks are acceptable only when expiry is the intended release mechanism.
34
+ - Durable or no-expiry Redis state needs an owner and cleanup strategy.
35
+
36
+ ## Cache Strategy
37
+
38
+ - Use local memory cache for small, frequently read, eventually consistent reference data.
39
+ - Use distributed cache when multiple instances need shared cache state or invalidation.
40
+ - Cache miss, negative cache, and Redis failure must be distinguishable to callers.
41
+ - Cache data should be versioned or invalidated when source schema changes.
42
+ - Never cache secrets or raw authorization tokens unless encrypted and explicitly justified.
43
+
44
+ ## Locks And Coordination
45
+
46
+ - Lock values must be unique per attempt and unlock must compare value before deleting.
47
+ - Renewable locks need lease, renewal interval, max lease, cancellation behavior, and failure hook.
48
+ - Long critical sections need compare-and-renew semantics, not blind expiry extension; renewal failure must stop or safely downgrade the work according to the workflow policy.
49
+ - Lock scope should match the domain critical section, not the handler name.
50
+ - Redis locks can reduce concurrency but should not replace database constraints for durable correctness.
51
+ - Long-running jobs should expose skipped-lock, acquired-lock, renewal-failure, and duration metrics.
52
+
53
+ ## Rate Limits And Counters
54
+
55
+ - Rate limits need a scope, window, threshold, retry/conflict behavior, and user-facing error contract.
56
+ - Sliding-window limits should clean old entries and set expiry longer than the window.
57
+ - Counters need explicit semantics:
58
+ - can go negative or cannot.
59
+ - initialize-on-missing or fail-on-missing.
60
+ - expiry reset on increment or fixed expiry.
61
+ - exact truth or approximate throttling signal.
62
+
63
+ ## Task Coordination
64
+
65
+ - Redis sets, sorted sets, and lists can coordinate lightweight pending work, but durable jobs need a real queue or database-backed state.
66
+ - Task entries should carry enough metadata to inspect, retry, or repair stuck work.
67
+ - Pop operations should be atomic when losing work is unacceptable.
68
+ - Scheduler locks and task queues should include recovery and max lease behavior.
69
+ - Script-based coordination should define success, compare-failed, missing-key, and invalid-return semantics so callers can choose retry, skip, fail, or repair deliberately.
70
+ - If Redis is used for idempotency, architecture must distinguish pending claim, completed marker, duplicate completed event, and retryable failure. Pending claims need a lease/TTL; completed markers need a dedupe window aligned with external retry behavior.
71
+ - Redis Streams, Pub/Sub, lists, and sorted sets should be chosen by delivery semantics, not convenience: fire-and-forget notification, replayable stream, deduplicated pending work, delayed scheduling, or durable work backed by DB/MQ.
72
+ - Broad key scans, pattern deletes, stream trimming, and TTL cleanup need an owner and bounded strategy before launch.
73
+ - Redis failure policy must be explicit per responsibility: fail open for optional caches, fail closed for authorization or risk controls, return duplicate or pending states for idempotency, and expose retry or repair for workflow coordination.
74
+
75
+ ## Cache Stampede Architecture
76
+
77
+ - For any cache fronting an expensive source of truth, architecture names the stampede defense: single-flight (one fetcher per key), negative caching with shorter TTL for misses, and randomized TTL jitter. Architecture also names the staleness budget so the team can pick the right combination.
78
+ - Multi-tier caches (in-process in front of Redis in front of DB) need a coherent invalidation contract: Pub/Sub fan-out, topology-change events, or explicit delete-on-write. Architecture names the chosen mechanism per cache tier.
79
+
80
+ ## Cluster Topology Boundary
81
+
82
+ - If Redis is deployed as Cluster, architecture declares the hash-tag convention and which keys must share a slot. Cross-slot Lua, `MULTI/EXEC`, and dependent pipelines are architectural decisions encoded in the key schema, not coincidence.
83
+ - Cluster failover, slot migration, and topology refresh are owned at the platform layer; this skill names the client's expected behavior (refresh on `MOVED`/`ASK`, retry on topology change, idempotency on the retry path).
84
+
85
+ ## TLS And Managed-Auth Boundary
86
+
87
+ - Production Redis traffic must be authenticated and encrypted. For self-hosted Redis this means TLS plus ACL users with least-privilege command grants; for cloud-managed Redis it may additionally mean IAM/AAD short-lived tokens via a per-connection auth callback. Architecture names the trust anchor and credential lifetime.
88
+ - Application users get the minimum command set; cluster-wide admin commands (`FLUSHDB`, `CONFIG`, `DEBUG`) are not part of application grants.
89
+
90
+ ## Retry And Circuit Breaker Ownership
91
+
92
+ - Retry policy and circuit breaker for Redis access live at the dependency-assembly layer, not scattered through call sites. Architecture names the transient-error catalog and the breaker scope.
93
+ - Breaker-open behavior is a product contract: cache-miss path may return stale-OK, authz path must fail closed, idempotency path returns "duplicate uncertain". Architecture names the per-responsibility semantics rather than letting the resilience layer pick silently.
@@ -0,0 +1,65 @@
1
+ # Release Runtime Readiness
2
+
3
+ Use this when designing launch, deployment, traffic, canary, or operating model for a Go microservice product.
4
+
5
+ ## Runtime Model
6
+
7
+ - Treat runtime metadata as part of the architecture: service identifier, app name, owners, protocol, environment/lane, image, resource profile, replica count, ports, hosts, paths, storage needs, and whether special hardware is required.
8
+ - Keep environment/lane separate from authorization/resource scope. Environment/lane routes traffic and controls deployment; resource scope controls data access and authorization.
9
+ - Make local, test, staging, canary, and production behavior explicit. Avoid hidden defaults that make a request unexpectedly cross environments.
10
+ - Service registration should include discoverable tags for environment/lane and should not require callers to know deployment internals.
11
+ - Health and readiness must be defined before traffic is enabled. A simple process liveness endpoint is not enough when DB, Redis, MQ, or critical remote dependencies gate correctness.
12
+ - **Go runtime version baseline (2025-2026)**: track at architecture level which Go version the service is built and deployed against, since 1.23/1.24/1.25 each shipped runtime-behavior changes that affect production. (a) **Go 1.25 (released Aug 2025) container-aware GOMAXPROCS**: on Linux the runtime reads the cgroup CPU **bandwidth limit** (not the request) and defaults `GOMAXPROCS` to `min(logical_cpus, cgroup_limit)`; for k8s pods this means `requests: 500m, limits: 4000m` → `GOMAXPROCS ≈ 4` (driven by the limit), so right-sizing CPU **limits** matters more than requests for goroutine scheduling. On all OSes the runtime periodically updates `GOMAXPROCS` if the limit changes — services that historically hardcoded `runtime.GOMAXPROCS(...)` at startup based on `runtime.NumCPU()` were silently over-scheduling under k8s CPU limits; on 1.25 the runtime fixes this BUT a service that still sets GOMAXPROCS manually defeats the auto-tuning. Upgrade discipline: **remove STALE GOMAXPROCS defaults** (hand-set values that were workarounds for the pre-1.25 behavior); **keep MEASURED overrides** when the team has profiled justification — I/O-heavy services that legitimately oversubscribe (set GOMAXPROCS above CPU limit to absorb async wait time), services that reserve a CPU slot for in-pod sidecars by undersubscribing, and services that intentionally pin GOMAXPROCS for predictable GC behavior all remain valid. Treat the upgrade as "audit each manual call → keep with rationale comment OR remove" rather than blanket removal. (b) **Go 1.25 experimental Green Tea GC** (`GOEXPERIMENT=greenteagc`): per Go release notes, reduces GC overhead by 10-40% on many applications — opt-in flag, NOT production-default yet; pilot on a representative non-critical service before flipping production. (c) **Go 1.25 experimental encoding/json/v2** (`GOEXPERIMENT=jsonv2`): faster, stricter, better errors — opt-in flag, track for likely Go 1.26+ stabilization. (d) **Go 1.24 (Feb 2025)** added FIPS-140 mode, crypto/mlkem post-quantum key exchange (auto-enabled in TLS when `Config.CurvePreferences == nil` via X25519MLKEM768) — services with regulatory FIPS requirements gain a stdlib path; services using non-default `CurvePreferences` need to opt into PQ. (e) Pin the build toolchain in `go.mod` `toolchain` directive so reviewers know which version's runtime behaviors apply. (f) **Verify RPC/HTTP framework support for the target Go version before bumping the toolchain** — a runtime baseline is not a mandate to upgrade: frameworks lag (e.g. Kitex's supported Go range per `go-microservice-dev/references/scaffold-and-codegen.md`), so a Go 1.25 service on a framework that only validates 1.19–1.24 must confirm framework compatibility first.
13
+
14
+ ## Deployment Resources
15
+
16
+ - Generate deployment manifests from typed inputs rather than hand-edited YAML fragments.
17
+ - Validate CPU, memory, replica count, image, protocol, ports, and storage before applying a deployment.
18
+ - Use stable naming rules for namespace, workload, service, and routing resources so cleanup and rollback are deterministic.
19
+ - Separate service-level resources from lane-level resources:
20
+ - Service-level: namespace, internal service, gateway/mesh route, destination/routing policy.
21
+ - Lane-level: deployment, replica count, resource profile, optional storage, image.
22
+ - Delete in safe order: (1) shift traffic weight to zero and deregister from service discovery first, (2) wait for in-flight drain (documented grace window), (3) snapshot or verify retention policy on any storage marked durable, (4) delete lane workloads, (5) delete storage only if explicitly tagged ephemeral, (6) finally remove service-level routing and discovery metadata. Deleting workload storage before draining traffic destroys data while requests are still in flight; the destination order matters more than the source order.
23
+
24
+ ## Gateway And Mesh Routing
25
+
26
+ - Keep domain, host, path, and TLS configuration in typed dynamic config or IaC, not scattered in handlers.
27
+ - Expand wildcard domains through a controlled domain registry and reject hosts not owned by the current environment.
28
+ - Model route matches explicitly: prefix, exact, regex, method, header, and rewrite behavior.
29
+ - Mesh routing should make lane selection observable through a header, tag, or resolver metadata, and should include a clear default route.
30
+ - Canary routing should define both caller-based and percentage-based options when the platform supports them.
31
+ - Any traffic config update should be atomic for one caller/callee/method route and protected by a write lock or compare-and-swap.
32
+
33
+ ## Release Governance
34
+
35
+ - Risky changes should have an approval task that records service, lane, run id, pipeline/workspace, reviewers, required approval count, status, expiry, and decision records.
36
+ - Approval must be permissioned: only assigned reviewers or explicitly authorized roles can approve or reject.
37
+ - Approval state updates need a concurrency guard and a transaction covering reviewer decision plus task status.
38
+ - Rejection should win immediately for production-impacting changes; expired approval tasks should fail closed.
39
+ - CI/CD callbacks should be idempotent by run id and stage. Missing out-of-order data should be retried for a bounded time, then surfaced as an operations warning.
40
+ - Notifications should include service, lane, stage, task, run id, trigger user, reviewers, status, and direct run URL.
41
+
42
+ ## Canary Verification
43
+
44
+ - A canary is not only a traffic weight. It needs an evaluation window, target pods/instances, baseline comparison, and pass/fail report.
45
+ - Compare canary against production or previous stable lane for:
46
+ - new error locations.
47
+ - abnormal error-count growth.
48
+ - latency or saturation regressions.
49
+ - restart count and readiness failures.
50
+ - domain metric regression when available.
51
+ - Canary reports should include sample logs, counts, reason, and whether human confirmation is required.
52
+ - Store canary task window by service and run id so repeated checks share one time boundary.
53
+ - Default canary duration should be short enough for delivery flow but configurable per risk level.
54
+
55
+ ## Rollback And Launch Checklist
56
+
57
+ - Rollback must cover image, route weight, dynamic config, DB schema compatibility, async messages, and external callbacks.
58
+ - Feature flags should default to off or low-scope exposure for behavior changes that cannot be instantly rolled back.
59
+ - Backward compatibility requirements:
60
+ - New code can read old and new data shape.
61
+ - Old code can tolerate new optional fields.
62
+ - Consumers can ignore unknown event fields.
63
+ - Producers keep old required fields until all consumers migrate.
64
+ - Launch readiness needs named owners, alert routes, dashboard links, runbook, error budget threshold, and escalation path.
65
+ - Debug endpoints and profiling must be internal-only and disabled or gated in public-facing environments.
@@ -0,0 +1,26 @@
1
+ # Replay Comparison Architecture
2
+
3
+ Use this when designing replay, shadow execution, migration confidence checks, response diffing, or dual-run validation.
4
+
5
+ ## Execution Model
6
+
7
+ - Separate capture, replay, comparison, storage, and reporting.
8
+ - Replays need durable job state, concurrency limit, timeout, delay policy, rate limit, target environment or lane, and cancellation policy.
9
+ - Captured input must be redacted and bounded by size before storage.
10
+ - Replay requests should preserve only approved headers and metadata; never replay credentials blindly.
11
+ - Shadow execution must not commit side effects unless the target is explicitly isolated.
12
+
13
+ ## Comparison Policy
14
+
15
+ - Define comparator selection by method, content type, schema, or route.
16
+ - Generic JSON comparison should support ignored fields, custom field comparators, numeric tolerance, null handling, array handling, and type mismatch reporting.
17
+ - Diff output should include field path, original value summary, replay value summary, diff type, score, and ignored status.
18
+ - Comparison thresholds should be config driven and versioned.
19
+ - Positive, negative, and neutral diffs should be classified only when the product has a defensible definition.
20
+
21
+ ## Retention And Reporting
22
+
23
+ - Store aggregate job counts and paginated diff details separately.
24
+ - Define retention for captured requests, replay responses, and diff artifacts.
25
+ - Expose summary metrics: total, processed, success, failed, diff count, similarity, p95 replay latency, and error categories.
26
+ - Treat replay as a confidence signal, not an automatic release approval unless acceptance gates are explicit.
@@ -0,0 +1,94 @@
1
+ # Runtime Observability
2
+
3
+ Use this when defining runtime identity, service discovery, logging, metrics, tracing, or debug exposure for a Go microservice product.
4
+
5
+ ## Runtime Identity
6
+
7
+ - Define one service identity used consistently by logs, metrics, traces, service discovery, deployment metadata, and ownership records.
8
+ - Runtime identity should include service name, service type, port, environment, lane, cluster, region or data center, instance id, pod or host id, and node address when available.
9
+ - Environment/lane is deployment routing metadata, not authorization or resource identity.
10
+ - Service tags should be low-cardinality and safe for metric dimensions.
11
+ - Local development defaults are useful, but production startup should validate required runtime identity fields.
12
+
13
+ ## Environment And Lane Model
14
+
15
+ - Keep these concepts separate:
16
+ - environment: local, test, staging, production.
17
+ - lane: baseline, canary, preview, feature lane, or other traffic slice.
18
+ - authorization/resource scope: data access and permission scope.
19
+ - Lane should propagate through inbound HTTP, RPC metadata, async messages, and outbound clients.
20
+ - Default lane fallback must be explicit. Avoid silently routing production-impacting calls to an unintended baseline.
21
+ - Public APIs should not trust client-provided lane headers unless the caller is authorized to route traffic.
22
+
23
+ ## Service Discovery
24
+
25
+ - Register service instances with service identity and environment/lane tags.
26
+ - Internal clients should resolve through a discovery abstraction rather than hard-coded host lists.
27
+ - Resolution policy should define:
28
+ - same-lane preference.
29
+ - baseline fallback behavior.
30
+ - healthy-only instance selection.
31
+ - local development proxy or direct-FQDN behavior.
32
+ - failure behavior when no instance remains.
33
+ - Discovery tags must avoid high-cardinality values such as request id or user id.
34
+
35
+ ## Logging Contract
36
+
37
+ - Every log line from request, RPC, worker, and job code should be able to carry trace/log id.
38
+ - Context-aware logging is the default; global logging is only for startup/shutdown and process-level events.
39
+ - Request and response body logging must be gated by config/environment and disabled by default for sensitive or high-volume paths.
40
+ - Logs should include safe domain identifiers only when useful for operations.
41
+ - Error logs should retain internal cause, operation name, dependency identity, and canonical error code where available.
42
+ - Do not log credentials, tokens, signatures, raw secrets, or full third-party payloads unless redacted and explicitly enabled.
43
+
44
+ ## Metrics Contract
45
+
46
+ - Use low-cardinality attributes: service, method/API/job, caller, callee, environment, lane, cluster, canonical error code.
47
+ - Avoid raw path parameters, subject ids, resource-scope ids, request ids, free-form error strings, and payload values as metric labels.
48
+ - Minimum server metrics:
49
+ - request count.
50
+ - latency histogram.
51
+ - success count.
52
+ - error count by canonical code.
53
+ - panic count.
54
+ - Minimum dependency metrics:
55
+ - outbound request count.
56
+ - dependency latency.
57
+ - dependency error count.
58
+ - timeout count.
59
+ - Minimum async metrics:
60
+ - queue lag.
61
+ - consume count.
62
+ - retry count.
63
+ - dead-letter or skip count.
64
+ - job duration and skipped-lock count.
65
+
66
+ ## Tracing Contract
67
+
68
+ - Initialize tracing at the server boundary and attach service name, environment/lane, instance id, and host/pod information as resource attributes.
69
+ - Propagate trace context through HTTP, RPC, MQ, and detached jobs where the protocol supports it.
70
+ - Add logs as span events only when useful and bounded.
71
+ - Mark spans as errors when canonical error severity crosses the service-defined threshold.
72
+ - Sampling policy should protect hot paths from excessive cost while preserving errors and slow requests.
73
+
74
+ ## Debug And Profiling
75
+
76
+ - Liveness, readiness, introspection, profiling, and generated documentation endpoints must have separate exposure rules.
77
+ - Liveness can be public to the platform; profiling and debug endpoints should be internal-only or auth-gated.
78
+ - Public bypass paths must be prefix-safe and reviewed with auth middleware.
79
+ - Debug endpoints should identify the current service and runtime context without exposing secrets.
80
+
81
+ ## Metric Naming Convention
82
+
83
+ - Architecture standardizes a metric name shape across the portfolio so cross-service dashboards and alerts compose without renaming: `{category}_{operation}_{suffix}` snake_case, where category names the surface (`kitex_server`, `kitex_client`, `hertz_server`, `mq_consumer`, `db_dal`), operation names what is happening, suffix names what is measured (`qps`, `latency`, `err_qps`, `success_rate`).
84
+ - Names live in a single per-service or per-platform file (e.g., `metrics_name.go`); architecture review treats inline metric name literals scattered through business code as a finding.
85
+ - The base label set for RPC metrics is fixed at the platform layer: `caller`, `caller_cluster`, `caller_env`, `caller_method`, `callee`, `callee_cluster`, `callee_env`, `method`, `err_code`. New labels are added only with cardinality review.
86
+ - High-cardinality identifiers (user id, tenant id, request id, trace id) are forbidden as metric labels regardless of the apparent business need; they belong in traces and logs.
87
+ - Latency bucket boundaries (or summary quantiles) are picked at the platform layer once and reused across services. Per-service bucket choices defeat cross-service comparison and SLO inheritance.
88
+
89
+ ## Logger Adapter And Trace Linkage
90
+
91
+ - Pick one structured logger family (zap is the common backend choice) and provide per-framework adapters (Kitex `klog.FullLogger`, Hertz logger, GORM logger, MQ logger). The adapter responsibility is to match the framework's interface while emitting the same JSON shape and field names; do not let each framework pick its own log format.
92
+ - Every application-facing logger call takes `ctx` and automatically emits a fixed set of trace-identity fields (`_trace_id`, `_span_id`, `_trace_flags`, `_logid` or the project's chosen four). Callers do not pass these manually.
93
+ - The logger pairs with the active OTel span: warn/error logs add a `span.AddEvent(...)` so trace backends correlate without manual join; span status flips to error only at logical error boundaries (handler entry/exit, dependency call failure), not on every warn.
94
+ - Resource attributes (`service.name`, `service.namespace`, `service.version`, `lane`, `pod.ip`, `pod.name`) are set once at process start through the OTel provider; per-call attributes belong on individual spans, not on the provider.
@@ -0,0 +1,76 @@
1
+ # Service Scaffold
2
+
3
+ ## Required Surfaces
4
+
5
+ A new service should make these surfaces explicit from the first useful version:
6
+
7
+ - `go.mod` and module ownership.
8
+ - Entrypoints for API, RPC, worker, and scheduled jobs as applicable.
9
+ - `proto/` or `idl/` source contracts.
10
+ - Generated contract output directory.
11
+ - `config/` with typed structs and environment overlays.
12
+ - `handler/`, `service/` or `logic/`, `domain/`, and `infra/` boundaries.
13
+ - `infra/dal`, `infra/cache`, `infra/rpc`, `infra/mq`, and external clients as needed.
14
+ - DI setup for production and tests.
15
+ - Makefile or scripts for code generation, tests, lint/format, and local run.
16
+
17
+ ## Runtime Lifecycle
18
+
19
+ - Entrypoints should return or register a cleanup function for servers, tracer providers, metrics exporters, log writers, DB pools, Redis clients, MQ clients, and background workers.
20
+ - Startup should install middleware in a deterministic order, with context/identity established before authorization and recovery/error mapping wrapping domain handlers.
21
+ - Shutdown should stop accepting traffic before closing dependency clients and should flush logs/metrics after worker shutdown.
22
+ - Graceful shutdown needs an in-flight draining deadline and a forced-close policy after that deadline.
23
+ - Health endpoints should be available early, but readiness should only pass after required config, secrets, service discovery, and critical clients are initialized.
24
+ - Debug, profiling, and generated-doc endpoints must be internal-only, auth-gated, or disabled in production-facing environments.
25
+ - Avoid background loops that cannot be stopped; every ticker, watcher, scheduler, and worker pool needs an owner and close path.
26
+
27
+ ## Code Generation Contract
28
+
29
+ - Treat IDL, DB DDL, route docs, and DI provider declarations as source inputs.
30
+ - Treat generated stubs, route files, model helpers, query builders, and DI output as generated outputs.
31
+ - Every generator should have one documented command.
32
+ - Commands must use repo-relative paths or environment variables, not personal absolute paths.
33
+ - Generated files should carry a clear generated-file convention and should not be hand-edited during feature work.
34
+ - When a generator is unavailable, record the exception in the change and keep the manual patch minimal.
35
+
36
+ ## Dependency Injection
37
+
38
+ Organize providers by concern:
39
+
40
+ - base: config, logger, metrics, secret clients, object storage, generic clients.
41
+ - dal: DB proxy and table-specific repositories.
42
+ - cache: Redis client, key builders, locks, rate limiters.
43
+ - rpc/http clients: internal service clients and external API clients.
44
+ - service/application: use-case services and orchestrators.
45
+ - task/worker: async task handlers, scheduled jobs, backfill jobs.
46
+ - transport: HTTP handlers or RPC service implementation.
47
+ - test: a test application graph with fakes or local adapters.
48
+
49
+ Keep DI output reproducible. Do not construct hidden global dependencies inside domain logic when a provider can declare them.
50
+
51
+ ## Config Shape
52
+
53
+ - Use typed config structs for service-specific settings.
54
+ - Separate static defaults from dynamic config.
55
+ - Include timeout, retry, worker count, lock lease, object storage, DB, Redis, MQ, and external client settings where relevant.
56
+ - Validate required config at startup.
57
+ - Never put credentials directly into config; resolve via a secret provider.
58
+
59
+ ## Test Architecture
60
+
61
+ - Fast tests should not require live DB, Redis, MQ, service discovery, or cloud credentials.
62
+ - Integration tests that require live dependencies should be opt-in with tags, environment variables, or separate make targets.
63
+ - Provide fakes for external RPC/HTTP clients and repositories where domain behavior can be tested without infrastructure.
64
+ - Include at least one smoke test for DI wiring when the graph is non-trivial.
65
+
66
+ ## Option Precedence And Protocol Selection
67
+
68
+ - Server and client constructors should expose default-options helpers and accept caller overrides that win on conflict. Document the precedence (caller appended after defaults wins) so framework defaults can be tightened over time without surprise breakage in services that have already chosen a different setting.
69
+ - Pick the meta handler (or equivalent transport-attached metadata propagator) by transport protocol exclusively — gRPC and Thrift do not share one handler, even when the framework allows registering both. Architecture chooses the protocol per service; the binary should not switch at request time.
70
+ - Conditional registry registration is an architecture decision, not a default: register at startup only when running in an environment the platform layer is meant to discover (online / canary / lane environments). Local-dev, short-lived test, and migration binaries must not register, or the directory pollutes.
71
+
72
+ ## Layered Aggregates And DI Composition
73
+
74
+ - For non-trivial services, model the layered surface as embedded aggregates: `AllInfra` (config + DAL + cache + RPC/HTTP clients + MQ + external SDKs), `AllService` (use-case services that depend only on `AllInfra`), `AllLogic` (orchestrators that depend on `AllService` + may reach `AllInfra` for low-level access), and a top-level `Application` (handlers + workers + consumers).
75
+ - Wire-style DI maps cleanly: one `inject/infra` provider set, one `inject/service`, one `inject/logic`, and a top-level `inject` that composes them. Dependencies always point downward; never let `inject/infra` import from `inject/service`.
76
+ - Embedded aggregates are a convenience for composition, not for hiding dependencies. A service that needs DAL access should still depend on the specific repository interface, not on `AllInfra` directly, except at the composition root.
@@ -0,0 +1,55 @@
1
+ # Go Architecture Source Evidence Map (Methodology Template)
2
+
3
+ This file describes the **shape** of source-evidence tracking for Go architecture extraction. Project-specific provenance (real repo names, branch state, dates, module counts, extraction logs) lives in the maintainer's private alias file at `~/.<host>/.private-aliases/<project>.yaml`, never in this shared skill tree — see `skill-extraction-workflow` Core Rule "Extraction lifecycle handoff".
4
+
5
+ ## Scope boundary
6
+
7
+ This shared template contains reusable methodology only. Do not add concrete repository names, branch state, module counts, package descriptors, or extraction logs.
8
+
9
+ ## Source coverage dimensions (architecture-level)
10
+
11
+ When extracting Go architecture guidance from a new source set, organize evidence by these dimensions:
12
+
13
+ | Dimension | What to collect | What to extract at architecture layer |
14
+ | --- | --- | --- |
15
+ | Service boundary inventory | How services are split (by domain / by traffic class / by data ownership); inter-service contract count | Boundary criteria, when to split vs merge, ownership rules |
16
+ | API/RPC contract shape | IDL formats in use, public-vs-internal API split, contract evolution practice | Contract-first discipline, additive evolution rule, public/internal split when stability needs differ |
17
+ | Data ownership | Per-service write model, cross-service read patterns, migration discipline | Each service owns its write model; cross-service reads through API/RPC; relational source-of-truth for durable state |
18
+ | Runtime platform | Service discovery, framework, dynamic config, secret management, observability, mesh | Workload identity, registry-based vs DNS-based SD, mesh ownership boundary, dependency client contracts |
19
+ | Error / context contract | Error code enum, error mapping table, ctx propagation through all sync/async paths | Stable enum, framework error mapping, ctx-as-source-of-truth for correlation |
20
+ | Reliability surfaces | Admission control, rate limit, backpressure, circuit breaker, idempotency, durable status | Reliability is architecture, not bolt-on; idempotency strategy; durable acceptance |
21
+ | Background workers | Long-running job model, lease scope, retry policy, idempotency key, failure visibility | Worker design as first-class architecture; not "happens to run async" |
22
+ | Generated code ownership | Generators in use, generation commands, ownership boundary between generated and hand-edited | Generated code is output, not source; generation commands documented and portable |
23
+ | High-risk operations | Tenant/user data isolation, money/billing, write atomicity, audit/outbox | Fail-closed default for high-risk paths; durable status + reconciliation; audit/outbox atomicity |
24
+ | External integrations | Third-party callbacks, public APIs, authorization scope isolation | Boundary rules: idempotent receivers, signature verification, scope isolation |
25
+ | Release runtime | Deployment unit, mesh routing, canary, approval, rollback | Architecture surface, not afterthought; per-service rollback boundary |
26
+
27
+ ## Sibling-generalization mini-map (template)
28
+
29
+ For each Go architecture extraction, record decisions across sibling skills:
30
+
31
+ - `go-microservice-dev` — does the architectural rule have an implementation pattern? note in dev reference.
32
+ - `python-service-architecture` — cross-language counterpart? mirror at architecture level.
33
+ - `python-service-dev` — implementation counterpart?
34
+ - `testing-strategy` — what test layer proves the architectural property?
35
+ - `platform-observability` / `platform-service-connectivity` / `platform-release-engineering` — does the rule belong at platform layer instead?
36
+
37
+ Decisions go in the private alias map alongside the per-batch extraction log.
38
+
39
+ ## Coverage discipline rules
40
+
41
+ - Architecture extractions describe **decision criteria, invariants, ownership boundaries, and acceptance checks**. Implementation patterns go to `go-microservice-dev`.
42
+ - Mark each dimension `pending` / `read` / `deep-read` / `excluded` / `unavailable` / `routed` with the actual artifacts inspected, in the private alias map.
43
+ - Re-read source artifacts when changing rules; use `wording cleanup` / `no new source read` labels honestly.
44
+ - For full-coverage claims, the private source register must be closed (every dimension has a status) before any "complete" claim is made.
45
+
46
+ ## Where the live provenance lives
47
+
48
+ For the maintainer's current Go extraction project, see:
49
+ - Private alias map: `~/.<host>/.private-aliases/<project>.yaml`
50
+ - Per-batch extraction logs: `~/.<host>/skills/.extraction-work/<batch>-completion.md`
51
+ - These files are never pushed to the shared skill tree.
52
+
53
+ ## Audit gate
54
+
55
+ Before committing a change to this skill, run the private alias map's `audit_cmd` against the changed shared-skill files. Any hit on real repo names, branch states, dates, file counts, or business-domain nouns is either fixed or recorded as `known_debt` in the alias map. Pre-existing leakage may be grandfathered; new or modified content must remain zero-hit.
@@ -0,0 +1,38 @@
1
+ # Workflow State Architecture
2
+
3
+ Use this when designing durable task, async workflow, import/export, backfill, or scheduled processing state.
4
+
5
+ ## State Contract
6
+
7
+ - Define state enum, terminal states, allowed transitions, retry policy, and ownership before handlers are written.
8
+ - Keep allowed transitions in one table, diagram, or policy function so handlers do not invent their own rules.
9
+ - Separate state, progress, result pointer, error metadata, retry metadata, and audit metadata.
10
+ - Persist the task record before starting expensive work, background execution, or external artifact generation so process failure leaves an inspectable and repairable state.
11
+ - Define duplicate handling for every entrypoint: create, start, process, fail, succeed, cancel, and retry.
12
+ - Transitions that affect durable truth need compare-and-update, transaction, or lock.
13
+ - Completion events should be published after durable state update and should be idempotent.
14
+
15
+ ## Processing Semantics
16
+
17
+ - Create should be idempotent when the caller supplies an idempotency key or natural unique key.
18
+ - Start should claim ownership before expensive side effects.
19
+ - Process should re-check state after ownership is acquired.
20
+ - Success should persist result data before publishing completion.
21
+ - Failure should record canonical error code, safe message, retryable flag, retry count, and trace or log id.
22
+ - Cancellation should define whether in-flight work is interrupted, allowed to finish, or marked for later stop.
23
+
24
+ ## Retry And Recovery
25
+
26
+ - Retry threshold and backoff belong in policy/config, not inline literals.
27
+ - Terminal state recovery must be explicit; ordinary retries should not move successful or cancelled tasks.
28
+ - Delayed events and queue messages must re-check current state before acting.
29
+ - Process restart should leave enough durable state to resume, retry, or safely skip.
30
+ - Background goroutines, workers, and scheduled cleaners need panic recovery and a bounded cursor/batch model; long-lived loops should use stoppable tickers or an explicit process-lifetime owner.
31
+
32
+ ## Acceptance Checks
33
+
34
+ - Illegal transitions are rejected or no-op according to a documented policy.
35
+ - Duplicate messages, delayed messages, and concurrent processors produce one durable outcome.
36
+ - Every terminal state includes enough result or error context for support and reconciliation.
37
+ - Expensive background work cannot start without an inspectable durable task record or an explicitly documented non-durable rationale.
38
+ - Worker, goroutine, scheduler, and cleaner paths have panic recovery, bounded scan/batch behavior, and a visible recovery or repair result.