@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,414 @@
1
+ #!/usr/bin/env bash
2
+ # Production-wiring regression for the register firing-path gate.
3
+ #
4
+ # test_register_firing_path_resolution.sh exercises the Ruby gate DIRECTLY, so it
5
+ # stays green even if the `ruby "$firing_path_gate" "$root"` line is deleted from
6
+ # check-ccl-skills.sh — the gate would be unreachable in production while its
7
+ # own suite reported success. That is the same unregistered-suite false green this
8
+ # repository has hit before, one layer up: registered, passing, and enforcing
9
+ # nothing. This test closes it by driving the checker ENTRYPOINT.
10
+ #
11
+ # ALIAS_AUDIT_CMD=true stands in for a passing private R0 audit so the assertion
12
+ # isolates firing-path enforcement from the separate R0 interim path.
13
+ set -euo pipefail
14
+
15
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)"
16
+ CHECK_SCRIPT="$SCRIPT_DIR/check-ccl-skills.sh"
17
+ [ -f "$CHECK_SCRIPT" ] || { echo "FAIL: checker not found: $CHECK_SCRIPT" >&2; exit 1; }
18
+ ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd -P)"
19
+
20
+ TMP="$(mktemp -d "${TMPDIR:-/tmp}/regfiringwire.XXXXXX")"
21
+ trap 'rm -rf "$TMP"' EXIT
22
+
23
+ passed=0
24
+ fail() { echo "FAIL: $*" >&2; exit 1; }
25
+ pass() { passed=$((passed + 1)); echo "PASS: $*"; }
26
+
27
+ # Static/executed three-way pin: the tail guard's literal must equal the
28
+ # script's own pass-call inventory, so a dropped or added case cannot leave the
29
+ # guard silently stale again (the observed drift shape: a 16 guarding 13
30
+ # executed cases, accumulated while this suite could not run).
31
+ static_pass_calls="$(grep -c '^pass "' "$0")"
32
+ [ "$static_pass_calls" = "14" ] \
33
+ || fail "pass-call inventory drifted: counted $static_pass_calls, guard expects 14"
34
+ pass "executed-count guard matches the script's own pass-call inventory"
35
+
36
+ REPO="$TMP/repo"
37
+ git clone -q "$ROOT" "$REPO"
38
+ git -C "$REPO" config user.email test@example.invalid
39
+ git -C "$REPO" config user.name "Test User"
40
+ # Give the clone its own base branch and upstream, the same fixture shape the
41
+ # sibling register tests use. The checker resolves its diff base from
42
+ # `@{upstream}` and falls back to `origin/main`; a clone made while CI has the
43
+ # project checked out at a DETACHED HEAD carries neither, so impact-chain fails
44
+ # closed with `impact_chain_merge_base_missing: origin/main` and this test would
45
+ # red for a reason unrelated to the wiring it asserts. Pinning
46
+ # CCL_SKILL_BASE_REF=HEAD instead is NOT equivalent: it makes the
47
+ # evidence-card detector's self-test take its no-base branch and fail
48
+ # (`no-base clean changed-scope should be degraded`). A real branch with a real
49
+ # upstream keeps every other gate on its normal path.
50
+ git -C "$REPO" branch -f fixture-base HEAD
51
+ git -C "$REPO" switch -q -C fixture-work fixture-base
52
+ git -C "$REPO" branch --set-upstream-to=fixture-base fixture-work >/dev/null 2>&1
53
+ REGISTER="$REPO/skills/skill-extraction-workflow/references/source-register.md"
54
+ [ -f "$REGISTER" ] || fail "cloned register missing: $REGISTER"
55
+
56
+ # The distributed register starts as a source-neutral template. Add one live,
57
+ # repository-local locator to this clone so the wiring test can mutate a real
58
+ # anchor without shipping task provenance in the published repository. The
59
+ # anchor lives in a note file THIS FIXTURE writes and commits itself, so every
60
+ # byte of the anchor vocabulary is suite-owned: the previous design pinned a
61
+ # README heading literal (stale the moment the README evolved, undetected while
62
+ # the heavy lane never ran), and the replacement runtime-derivation grew a
63
+ # fence-parsing surface that produced same-class findings across two adversarial
64
+ # rounds (fenced decoy, mixed-marker fence, close-suffix recognition) — parsing
65
+ # an artifact the suite does not own was the defect class, so the capability is
66
+ # deleted rather than hardened further.
67
+ FIXTURE_NOTE_REL="skills/skill-extraction-workflow/references/wiring-fixture-note.md"
68
+ FIXTURE_ANCHOR="Wiring fixture anchor heading for the resolution gate"
69
+ printf '# %s\n\nSynthetic fixture note committed by the wiring suite; the heading above is the seeded firing-path anchor.\n' \
70
+ "$FIXTURE_ANCHOR" > "$REPO/$FIXTURE_NOTE_REL"
71
+ printf '| wiring fixture | firing-path: file:%s#%s | `updated` | synthetic test |\n' \
72
+ "$FIXTURE_NOTE_REL" "$FIXTURE_ANCHOR" >> "$REGISTER"
73
+ git -C "$REPO" add "$REGISTER" "$FIXTURE_NOTE_REL"
74
+ git -C "$REPO" commit -qm "Add wiring fixture"
75
+ git -C "$REPO" branch -f fixture-base HEAD
76
+
77
+ run_check() {
78
+ set +e
79
+ out="$(env -u CCL_SKILL_BASE_REF ALIAS_AUDIT_CMD='true' bash "$CHECK_SCRIPT" "$REPO" 2>&1)"
80
+ rc=$?
81
+ set -e
82
+ }
83
+
84
+ # Always show the checker's own output when an assertion fails; without this a
85
+ # CI red says only "got rc=1" and the actual cause has to be re-derived by hand.
86
+ dump() { printf '%s\n' "--- checker output (rc=$rc) ---" "$out" | tail -25 >&2; }
87
+
88
+ # ── Control: the pristine clone passes and the gate's token is emitted ───────
89
+ run_check
90
+ [ "$rc" = "0" ] || { dump; fail "pristine clone should pass the checker, got rc=$rc"; }
91
+ case "$out" in
92
+ *register_firing_path_resolution_ok*) : ;;
93
+ *) dump; fail "checker did not emit the firing-path gate token — the gate is not wired in" ;;
94
+ esac
95
+ pass "checker entrypoint runs the firing-path gate on a clean tree"
96
+
97
+ # ── RED: break a historical anchor; the CHECKER (not just the gate) must fail ─
98
+ # Reproduces the observed shape: an anchored rule reworded after its row landed.
99
+ anchor_line="$(grep -m1 -o 'firing-path: file:[^|;]*#[^|;]*' "$REGISTER")"
100
+ [ -n "$anchor_line" ] || fail "no file: anchor found in the cloned register"
101
+ target_rel="${anchor_line#firing-path: file:}"; target_rel="${target_rel%%#*}"
102
+ anchor_text="${anchor_line#*#}"
103
+ target="$REPO/$target_rel"
104
+ [ -f "$target" ] || fail "anchor target missing in clone: $target"
105
+ python3 - "$target" "$anchor_text" <<'PY'
106
+ import sys
107
+ p, anchor = sys.argv[1], sys.argv[2].strip()
108
+ s = open(p, encoding="utf-8").read()
109
+ assert anchor in s, "fixture precondition failed: anchor not present before mutation"
110
+ # Rewrite the anchor's TAIL. Appending would leave the original anchor intact as
111
+ # a substring, so the fixture would assert nothing while looking like a mutation.
112
+ assert len(anchor) > 12, "anchor too short to mutate safely"
113
+ mutated = anchor[:-8] + "ZZQXZZQX"
114
+ s2 = s.replace(anchor, mutated, 1)
115
+ assert anchor not in s2, "fixture failed to remove the anchor — mutation is a no-op"
116
+ open(p, "w", encoding="utf-8").write(s2)
117
+ PY
118
+ run_check
119
+ [ "$rc" != "0" ] || { dump; fail "checker must FAIL when a historical firing-path anchor no longer resolves"; }
120
+ case "$out" in
121
+ *register_firing_path_unresolved*) : ;;
122
+ *) dump; fail "checker failed, but not via the firing-path gate (wrong-reason RED)" ;;
123
+ esac
124
+ pass "reworded historical anchor turns the CHECKER ENTRYPOINT red for the right reason"
125
+
126
+ # ── RED: rc=0 without the gate's terminal token must NOT read as a pass ──────
127
+ # A clean rc has to pair with a clean terminal line. A gate that dies quietly
128
+ # after `set -e` is disarmed inside it, or whose token gets reworded, still
129
+ # exits 0 — and a bare `ruby "$gate" "$root"` call site cannot tell that apart
130
+ # from a real clean run, so the checker certifies a gate that never adjudicated
131
+ # anything. The stub reproduces exactly that: exit 0, print nothing.
132
+ #
133
+ # The call site resolves the gate from the CHECKER's own directory, not from
134
+ # $root, so stubbing the clone's copy would be a no-op — the fixture has to
135
+ # drive a checker whose sibling scripts dir it owns.
136
+ STUB_SCRIPTS="$TMP/stubscripts"
137
+ cp -R "$SCRIPT_DIR" "$STUB_SCRIPTS"
138
+ STUB_CHECK="$STUB_SCRIPTS/check-ccl-skills.sh"
139
+ STUB_GATE="$STUB_SCRIPTS/register-firing-path-resolution.rb"
140
+ [ -f "$STUB_GATE" ] || fail "stub scripts dir missing the firing-path gate: $STUB_GATE"
141
+ printf '%s\n' '#!/usr/bin/env ruby' 'exit 0' > "$STUB_GATE"
142
+
143
+ run_stub_check() {
144
+ set +e
145
+ out="$(env -u CCL_SKILL_BASE_REF ALIAS_AUDIT_CMD='true' bash "$STUB_CHECK" "$REPO" 2>&1)"
146
+ rc=$?
147
+ set -e
148
+ }
149
+
150
+ # The clone still carries the r1 anchor mutation from the RED above; restore it
151
+ # so this assertion isolates the silent-rc-0 path from the unresolved-anchor one.
152
+ git -C "$REPO" checkout -- . >/dev/null 2>&1 || fail "could not restore the clone before the stub case"
153
+ run_stub_check
154
+ [ "$rc" = "2" ] || { dump; fail "a gate exiting 0 with no terminal token must fail closed as rc=2, got rc=$rc"; }
155
+ case "$out" in
156
+ *register_firing_path_terminal_missing*) : ;;
157
+ *) dump; fail "checker rejected the silent gate, but not via the terminal-token contract (wrong-reason RED)" ;;
158
+ esac
159
+ case "$out" in
160
+ *ccl_skill_check_clean_ok*) dump; fail "a silent gate must never yield a clean-landing token" ;;
161
+ *) : ;;
162
+ esac
163
+ pass "gate rc=0 without its terminal token fails closed instead of certifying a pass"
164
+
165
+ # ── RED: a non-git root must not print a clean-landing token ─────────────────
166
+ # Every gate above (impact-chain, firing-path resolution, register pending
167
+ # status, diff --check) sits inside `if git rev-parse --is-inside-work-tree`.
168
+ # On an exported copy / build artifact directory that branch is simply skipped,
169
+ # and with nothing marking the skip the run still reaches the clean token — four
170
+ # gates silently not run, reported as a clean landing. Skip must never read as
171
+ # clean (same honesty shape as the size gate's `*_unevaluated` token).
172
+ NONGIT="$TMP/nongit"
173
+ mkdir -p "$NONGIT"
174
+ git -C "$REPO" archive HEAD | tar -x -C "$NONGIT"
175
+ [ -d "$NONGIT/skills" ] || fail "non-git fixture export produced no skills/ tree"
176
+ [ ! -e "$NONGIT/.git" ] || fail "non-git fixture is still a git work tree"
177
+
178
+ set +e
179
+ out="$(env -u CCL_SKILL_BASE_REF ALIAS_AUDIT_CMD='true' bash "$CHECK_SCRIPT" "$NONGIT" 2>&1)"
180
+ rc=$?
181
+ set -e
182
+ case "$out" in
183
+ *ccl_skill_check_clean_ok*) dump; fail "a non-git root skips the git-dependent gates — it must not report a clean landing" ;;
184
+ *) : ;;
185
+ esac
186
+ case "$out" in
187
+ *ccl_skill_check_interim_ok*) : ;;
188
+ *) dump; fail "a non-git root should downgrade to interim, saw neither clean nor interim token" ;;
189
+ esac
190
+ case "$out" in
191
+ *"not a git work tree"*) : ;;
192
+ *) dump; fail "the interim downgrade must name the skipped git-dependent gates" ;;
193
+ esac
194
+ pass "non-git root downgrades to interim instead of silently reporting clean"
195
+
196
+ # ── RED: an export nested INSIDE another checkout is not a clean landing ─────
197
+ # `--is-inside-work-tree` answers true for a directory that merely sits under
198
+ # some other repository, so a bare inside-work-tree predicate lets the four
199
+ # git-dependent gates adjudicate the ENCLOSING repository's state while reading
200
+ # this directory's files — the wrong tree, reported clean. $root must be the
201
+ # work tree's own top level.
202
+ NESTED="$REPO/nested-export-fixture"
203
+ mkdir -p "$NESTED"
204
+ git -C "$REPO" archive HEAD | tar -x -C "$NESTED"
205
+ [ -d "$NESTED/skills" ] || fail "nested fixture export produced no skills/ tree"
206
+ [ "$(git -C "$NESTED" rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ] \
207
+ || fail "nested fixture precondition failed: git does not consider it inside a work tree"
208
+ [ "$(git -C "$NESTED" rev-parse --show-toplevel 2>/dev/null)" != "$NESTED" ] \
209
+ || fail "nested fixture precondition failed: it IS its own toplevel, so nothing is being tested"
210
+
211
+ set +e
212
+ out="$(env -u CCL_SKILL_BASE_REF ALIAS_AUDIT_CMD='true' bash "$CHECK_SCRIPT" "$NESTED" 2>&1)"
213
+ rc=$?
214
+ set -e
215
+ case "$out" in
216
+ *ccl_skill_check_clean_ok*) dump; fail "an export nested inside another checkout must not report a clean landing" ;;
217
+ *) : ;;
218
+ esac
219
+ case "$out" in
220
+ *"not a git work tree root"*) : ;;
221
+ *) dump; fail "the nested-export downgrade must name the skipped git-dependent gates" ;;
222
+ esac
223
+ # "Downgraded" means it reached a SUCCESSFUL interim verdict. Asserting only the
224
+ # absence of the clean token would also accept an unrelated hard failure.
225
+ [ "$rc" = "0" ] || { dump; fail "the nested-export downgrade must still succeed, got rc=$rc"; }
226
+ case "$out" in
227
+ *ccl_skill_check_interim_ok*) : ;;
228
+ *) dump; fail "the nested-export run must end on the interim token, not merely lack the clean one" ;;
229
+ esac
230
+ pass "export nested inside another checkout downgrades instead of adjudicating the enclosing repo"
231
+
232
+ # ── RED: a TRUNCATED terminal line is a malfunction, not a pass ──────────────
233
+ # The shape a gate crashing mid-print actually produces. An unanchored substring
234
+ # check accepts it, which would defeat the terminal-token contract above.
235
+ printf '%s\n' '#!/usr/bin/env ruby' \
236
+ 'print "register_firing_path_resolution_ok (269 locators resolved"' \
237
+ 'exit 0' > "$STUB_GATE"
238
+ run_stub_check
239
+ [ "$rc" = "2" ] || { dump; fail "a truncated terminal line must fail closed as rc=2, got rc=$rc"; }
240
+ assert_out_has_terminal_missing() {
241
+ case "$out" in
242
+ *register_firing_path_terminal_missing*) : ;;
243
+ *) dump; fail "truncated terminal line rejected, but not via the terminal-token contract" ;;
244
+ esac
245
+ }
246
+ assert_out_has_terminal_missing
247
+ pass "truncated gate terminal line fails closed instead of matching as a substring"
248
+
249
+ # ── RED: bulk output BEFORE a valid token must NOT read as missing ──────────
250
+ # The false-RED direction of the contract. Under `pipefail`, a `printf | grep -q`
251
+ # form has the writer take SIGPIPE once grep short-circuits, so the pipeline
252
+ # reports 141 and a gate that DID emit its token gets rejected as malfunctioning.
253
+ # The bulk goes BEFORE the token because the terminal line must stay last — the
254
+ # two properties are checked together on purpose, so neither can be satisfied by
255
+ # weakening the other. 50k lines is 4,538,890 bytes (measured), well past the
256
+ # 64 KiB pipe buffer where SIGPIPE starts.
257
+ printf '%s\n' '#!/usr/bin/env ruby' \
258
+ '50_000.times { |i| puts "leading diagnostic line #{i} " + ("x" * 60) }' \
259
+ 'puts "register_firing_path_resolution_ok (271 locators resolved)"' \
260
+ 'exit 0' > "$STUB_GATE"
261
+ run_stub_check
262
+ case "$out" in
263
+ *register_firing_path_terminal_missing*) dump; fail "a complete terminal line preceded by bulk output must not be reported as missing (SIGPIPE false RED)" ;;
264
+ *) : ;;
265
+ esac
266
+ # Assert the SUCCESS, not merely the absence of rc=2: `!= 2` would also accept a
267
+ # false red arriving as 1/126/127/141 — including the very SIGPIPE status this
268
+ # case exists to rule out.
269
+ [ "$rc" = "0" ] || { dump; fail "bulk output preceding a valid terminal line must still pass, got rc=$rc"; }
270
+ case "$out" in
271
+ *ccl_skill_check_clean_ok*) : ;;
272
+ *) dump; fail "a valid terminal line plus bulk output must still reach the clean-landing token" ;;
273
+ esac
274
+ pass "valid terminal line survives bulk preceding output (no pipefail/SIGPIPE false RED)"
275
+
276
+ # ── RED: a token that is NOT the last line must not certify a clean run ─────
277
+ # The shape of a gate that reached its terminal line and then died on a later
278
+ # path. An any-line match accepts it; the last-line contract does not.
279
+ printf '%s\n' '#!/usr/bin/env ruby' \
280
+ 'puts "register_firing_path_resolution_ok (271 locators resolved)"' \
281
+ 'puts "post-terminal work continued and produced this"' \
282
+ 'exit 0' > "$STUB_GATE"
283
+ run_stub_check
284
+ [ "$rc" = "2" ] || { dump; fail "a token followed by further stdout must fail closed as rc=2, got rc=$rc"; }
285
+ case "$out" in
286
+ *register_firing_path_terminal_missing*) : ;;
287
+ *) dump; fail "non-terminal token rejected, but not via the terminal-token contract" ;;
288
+ esac
289
+ pass "a token that is not the last stdout line fails closed"
290
+
291
+ # ── RED: an undiagnosed non-zero rc is infra failure, not a ledger violation ─
292
+ # A Ruby syntax error, an uncaught exception, and a silent `exit 1` all arrive
293
+ # as rc=1. Forwarding that as rc=1 tells CI "the ledger is wrong" when the truth
294
+ # is "the gate did not run" — and leaves no diagnosable cause in the log.
295
+ printf '%s\n' '#!/usr/bin/env ruby' 'exit 1' > "$STUB_GATE"
296
+ run_stub_check
297
+ [ "$rc" = "2" ] || { dump; fail "a silent rc=1 must be re-tiered to rc=2, got rc=$rc"; }
298
+ case "$out" in
299
+ *register_firing_path_gate_failed*) : ;;
300
+ *) dump; fail "silent rc=1 rejected, but not via the gate-failure tier" ;;
301
+ esac
302
+ pass "undiagnosed non-zero rc is re-tiered as gate failure, not a ledger violation"
303
+
304
+ # GREEN control: a DIAGNOSED rc=1 must still pass through as a rule failure, so
305
+ # the re-tiering above cannot be satisfied by mapping every failure to rc=2.
306
+ printf '%s\n' '#!/usr/bin/env ruby' \
307
+ 'warn "register_firing_path_unresolved: a recorded firing path no longer resolves"' \
308
+ 'warn " fixture-source.md:1: anchor text absent from target: file:demo#anchor"' \
309
+ 'exit 1' > "$STUB_GATE"
310
+ run_stub_check
311
+ [ "$rc" = "1" ] || { dump; fail "a diagnosed ledger violation must stay rc=1, got rc=$rc"; }
312
+ pass "diagnosed rc=1 still surfaces as a ledger violation"
313
+
314
+ # ── RED: failing to create the capture directory is infra, not a violation ──
315
+ # The checker cannot run the gate at all if it has nowhere to capture output.
316
+ # An unchecked `mktemp` would exit with whatever status it happened to have —
317
+ # typically 1, indistinguishable from an adjudicated ledger violation — so CI
318
+ # would read "the ledger is wrong" when the truth is "the checker could not
319
+ # start". A PATH shim fails only THIS mktemp so the rest of the checker keeps
320
+ # its normal path; setting TMPDIR to a bad directory would instead trip an
321
+ # earlier, unrelated mktemp and test nothing about this call site.
322
+ REAL_MKTEMP="$(command -v mktemp)"
323
+ [ -n "$REAL_MKTEMP" ] || fail "mktemp not found; cannot build the shim"
324
+ SHIM_DIR="$TMP/shimbin"
325
+ mkdir -p "$SHIM_DIR"
326
+ {
327
+ echo '#!/usr/bin/env bash'
328
+ echo 'case "$*" in *firingpath*) echo "mktemp: shimmed failure" >&2; exit 1;; esac'
329
+ echo "exec $REAL_MKTEMP \"\$@\""
330
+ } > "$SHIM_DIR/mktemp"
331
+ chmod +x "$SHIM_DIR/mktemp"
332
+ # Confirm the shim actually discriminates before trusting a RED it produces.
333
+ PATH="$SHIM_DIR:$PATH" mktemp -d "${TMPDIR:-/tmp}/firingpath.XXXXXX" >/dev/null 2>&1 \
334
+ && fail "shim precondition failed: the firingpath template should have failed"
335
+ shim_passthrough="$(PATH="$SHIM_DIR:$PATH" mktemp -d "${TMPDIR:-/tmp}/shimprobe.XXXXXX")" \
336
+ || fail "shim precondition failed: unrelated templates must still succeed"
337
+ rm -rf "$shim_passthrough"
338
+
339
+ # Restore the real gate: this case is about the checker's own capture setup.
340
+ cp "$SCRIPT_DIR/register-firing-path-resolution.rb" "$STUB_GATE"
341
+ set +e
342
+ out="$(env -u CCL_SKILL_BASE_REF ALIAS_AUDIT_CMD='true' PATH="$SHIM_DIR:$PATH" bash "$STUB_CHECK" "$REPO" 2>&1)"
343
+ rc=$?
344
+ set -e
345
+ [ "$rc" = "2" ] || { dump; fail "a failed capture-directory creation must fail closed as rc=2, got rc=$rc"; }
346
+ case "$out" in
347
+ *register_firing_path_gate_failed*) : ;;
348
+ *) dump; fail "capture-setup failure rejected, but not via the gate-failure tier" ;;
349
+ esac
350
+ pass "capture-directory creation failure is reported as infrastructure, not a ledger violation"
351
+
352
+ # ── RED: the digest-table seam must never yield a clean landing ─────────────
353
+ # The injected table exists so a fixture can describe its own synthetic ledger,
354
+ # but an injected table can only ever be weaker than the built-in one for the
355
+ # real ledger. If the seam were silent, an inherited test environment would
356
+ # disable the digest and missing-row layers on a real run and still report a
357
+ # clean landing — the exact false-green shape this whole change exists to close.
358
+ git -C "$REPO" checkout -- . >/dev/null 2>&1 || fail "could not restore the clone before the seam case"
359
+ SEAM_TABLE="$TMP/injected-exempt-digests.json"
360
+ printf '{}\n' > "$SEAM_TABLE"
361
+ set +e
362
+ out="$(env -u CCL_SKILL_BASE_REF ALIAS_AUDIT_CMD='true' \
363
+ REGISTER_FIRING_PATH_EXEMPT_DIGESTS="$SEAM_TABLE" bash "$CHECK_SCRIPT" "$REPO" 2>&1)"
364
+ rc=$?
365
+ set -e
366
+ [ "$rc" = "0" ] || { dump; fail "an injected digest table is a downgrade, not a failure, got rc=$rc"; }
367
+ case "$out" in
368
+ *ccl_skill_check_clean_ok*) dump; fail "a run with an injected EXEMPT digest table must not report a clean landing" ;;
369
+ *) : ;;
370
+ esac
371
+ case "$out" in
372
+ *ccl_skill_check_interim_ok*) : ;;
373
+ *) dump; fail "the injected-table run must end on the interim token" ;;
374
+ esac
375
+ case "$out" in
376
+ *register_firing_path_exempt_digests_injected*) : ;;
377
+ *) dump; fail "the gate must announce that its waiver-row bindings were replaced" ;;
378
+ esac
379
+ pass "injected EXEMPT digest table downgrades to interim instead of silently bypassing"
380
+
381
+ # ── RED: a failure while the cleanup trap is armed must keep its status ─────
382
+ # The narrow window between arming the temp-dir cleanup trap and disarming it.
383
+ # `rm -rf` succeeds inside the trap and overwrites the pending exit status, so a
384
+ # trap that does not save and restore `$?` first converts this block's rc=2 for
385
+ # an unreadable capture into rc=0 — a failure reported as success.
386
+ CAT_SHIM_DIR="$TMP/catshim"
387
+ mkdir -p "$CAT_SHIM_DIR"
388
+ REAL_CAT="$(command -v cat)"
389
+ [ -n "$REAL_CAT" ] || fail "cat not found; cannot build the shim"
390
+ {
391
+ echo '#!/usr/bin/env bash'
392
+ echo 'case "$*" in *firingpath*/out|*firingpath*/err) echo "cat: shimmed failure" >&2; exit 1;; esac'
393
+ echo "exec $REAL_CAT \"\$@\""
394
+ } > "$CAT_SHIM_DIR/cat"
395
+ chmod +x "$CAT_SHIM_DIR/cat"
396
+ PATH="$CAT_SHIM_DIR:$PATH" cat /dev/null >/dev/null 2>&1 \
397
+ || fail "shim precondition failed: unrelated cat invocations must still work"
398
+
399
+ git -C "$REPO" checkout -- . >/dev/null 2>&1 || fail "could not restore the clone before the trap-status case"
400
+ cp "$SCRIPT_DIR/register-firing-path-resolution.rb" "$STUB_GATE"
401
+ set +e
402
+ out="$(env -u CCL_SKILL_BASE_REF ALIAS_AUDIT_CMD='true' PATH="$CAT_SHIM_DIR:$PATH" \
403
+ bash "$STUB_CHECK" "$REPO" 2>&1)"
404
+ rc=$?
405
+ set -e
406
+ [ "$rc" = "2" ] || { dump; fail "an unreadable capture must keep its rc=2 through the cleanup trap, got rc=$rc"; }
407
+ case "$out" in
408
+ *register_firing_path_gate_failed*) : ;;
409
+ *) dump; fail "capture read failure rejected, but not via the gate-failure tier" ;;
410
+ esac
411
+ pass "a failure inside the cleanup-trap window keeps its exit status"
412
+
413
+ [ "$passed" -eq 14 ] || fail "expected 14 assertions, saw $passed"
414
+ echo "register_firing_path_wiring_tests_ok ($passed assertions)"
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env bash
2
+ # Guard: every test_*.sh in the extraction scripts/ dir must be registered in
3
+ # test_check_ccl_regressions.sh's fast_tests/heavy_tests arrays, or CI
4
+ # silently skips it — the false-green class that let test_validate_skill_credential_cwd.sh
5
+ # ship unrun. This test asserts zero unregistered on the real repo (so a future
6
+ # unwired test turns CI red), and proves the detector actually flags an
7
+ # unregistered fixture (non-vacuous).
8
+ set -euo pipefail
9
+
10
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)"
11
+ RUNNER="$SCRIPT_DIR/test_check_ccl_regressions.sh"
12
+ [ -f "$RUNNER" ] || { echo "FAIL: runner not found: $RUNNER" >&2; exit 1; }
13
+ fail() { echo "FAIL: $*" >&2; exit 1; }
14
+
15
+ # (1) Real repo: no sibling test_*.sh is left out of the aggregate arrays.
16
+ out="$(bash "$RUNNER" --list-unregistered)"
17
+ [ -z "$out" ] || fail "test_*.sh not registered in fast_tests/heavy_tests (CI would not run them):\n$out"
18
+
19
+ # (2) Non-vacuous: an unregistered fixture IS reported and a registered name is NOT.
20
+ TMP="$(mktemp -d "${TMPDIR:-/tmp}/regreg.XXXXXX")"
21
+ trap 'rm -rf "$TMP"' EXIT
22
+ : > "$TMP/test_zzz_unregistered.sh"
23
+ : > "$TMP/test_generic_r0_leak_scan.sh" # a name that IS in fast_tests
24
+ fout="$(REGRESSION_SCRIPTS_DIR="$TMP" bash "$RUNNER" --list-unregistered)"
25
+ case "$fout" in
26
+ *test_zzz_unregistered.sh*) : ;;
27
+ *) fail "detector did not flag an unregistered fixture\n$fout" ;;
28
+ esac
29
+ case "$fout" in
30
+ *test_generic_r0_leak_scan.sh*) fail "detector wrongly flagged a registered test\n$fout" ;;
31
+ *) : ;;
32
+ esac
33
+
34
+ echo "test_regression_runner_registration: ok"
@@ -0,0 +1,205 @@
1
+ #!/usr/bin/env bash
2
+ # Structural contract test for the routing task bank (eval/routing-tasks.jsonl).
3
+ #
4
+ # SCOPE — read this before citing the lane as evidence. This test proves the
5
+ # bank is well-formed and that every skill it names actually exists. It does
6
+ # NOT route anything and therefore does NOT prove any fixture's expectation is
7
+ # delivered: the behavioural grader (`eval-routing-bank.rb`) shells out to a
8
+ # live `claude` CLI, so it is advisory Tier-2 and cannot be a deterministic CI
9
+ # gate. A source-register row may cite THIS lane for "the fixture exists, is
10
+ # well-formed, and its targets resolve" — never for "the fixture passes".
11
+ #
12
+ # What it catches (the gap it was written for): a fixture silently deleted,
13
+ # an id collision, a typo'd or renamed target skill, a required provenance
14
+ # field dropped, or a self-contradictory row. Before this lane existed, all of
15
+ # those stayed green because the only registered routing lane checks literal
16
+ # phrases in SKILL.md files and never opens the bank at all.
17
+ set -u
18
+ ROOT="${BANK_ROOT:-$(cd "$(dirname "$0")/../../.." && pwd)}"
19
+ [ -n "${BANK_ROOT:-}" ] && echo "NOTICE: BANK_ROOT set — testing tree: $ROOT" >&2
20
+ BANK="$ROOT/eval/routing-tasks.jsonl"
21
+
22
+ if [ ! -f "$BANK" ]; then
23
+ echo "FAIL: task bank missing ($BANK)" >&2
24
+ exit 1
25
+ fi
26
+
27
+ python3 - "$ROOT" "$BANK" <<'PY'
28
+ import json, os, sys
29
+
30
+ root, bank = sys.argv[1], sys.argv[2]
31
+ skills_dir = os.path.join(root, "skills")
32
+ installed = {
33
+ name for name in os.listdir(skills_dir)
34
+ if os.path.isfile(os.path.join(skills_dir, name, "SKILL.md"))
35
+ }
36
+
37
+ # Universal fields, measured against the bank rather than assumed: all 113 rows
38
+ # carry these five. `source` is present on only 37/113 and `added_by_change_sha`
39
+ # on none, although docs/f4-skill-effectiveness-harness.md lists both as required
40
+ # provenance — that doc-vs-bank drift is reported below, not failed, because
41
+ # failing it would red-line ~76 pre-existing rows this change never touched.
42
+ REQUIRED = ("id", "utterance", "expected_skill", "why_expected", "frozen_at_sha")
43
+ fail = 0
44
+ seen = {}
45
+ rows = 0
46
+
47
+ def bad(msg):
48
+ global fail
49
+ print(f"FAIL: {msg}", file=sys.stderr)
50
+ fail = 1
51
+
52
+ with open(bank, encoding="utf-8") as fh:
53
+ for lineno, raw in enumerate(fh, 1):
54
+ raw = raw.strip()
55
+ if not raw:
56
+ continue
57
+ rows += 1
58
+ try:
59
+ row = json.loads(raw)
60
+ except json.JSONDecodeError as exc:
61
+ bad(f"line {lineno}: not valid JSON ({exc})")
62
+ continue
63
+
64
+ rid = row.get("id")
65
+ for field in REQUIRED:
66
+ if not row.get(field):
67
+ bad(f"line {lineno} ({rid}): missing/empty required field '{field}'")
68
+
69
+ if rid in seen:
70
+ bad(f"line {lineno}: duplicate id '{rid}' (first seen line {seen[rid]})")
71
+ elif rid:
72
+ seen[rid] = lineno
73
+
74
+ expected = row.get("expected_skill")
75
+ if expected and expected not in installed:
76
+ bad(f"line {lineno} ({rid}): expected_skill '{expected}' is not a skill in skills/")
77
+
78
+ must_not = row.get("must_not_route_to") or []
79
+ if not isinstance(must_not, list):
80
+ bad(f"line {lineno} ({rid}): must_not_route_to must be a list")
81
+ must_not = []
82
+ for target in must_not:
83
+ if target not in installed:
84
+ bad(f"line {lineno} ({rid}): must_not_route_to names '{target}', not a skill in skills/")
85
+ if target == expected:
86
+ bad(f"line {lineno} ({rid}): '{target}' is both expected_skill and must_not_route_to")
87
+
88
+ # A truncated or emptied bank must fail rather than vacuously pass.
89
+ MIN_ROWS = 100
90
+ if rows < MIN_ROWS:
91
+ bad(f"bank has {rows} rows, expected at least {MIN_ROWS} (truncation guard)")
92
+
93
+ # Row-count guards are too coarse to notice ONE deleted fixture (deleting one of
94
+ # 113 still clears MIN_ROWS). Any fixture a source-register row cites as its
95
+ # evidence is pinned by id here, so removing it turns this lane red instead of
96
+ # silently invalidating the row that points at it. Add an id when a new register
97
+ # row cites a new fixture, in the same diff.
98
+ CITED_BY_REGISTER_ROWS = (
99
+ "miss-refactor-python-unqualified",
100
+ "miss-refactor-miniapp",
101
+ "route-python-cli-not-terminal",
102
+ "route-go-cli-not-terminal",
103
+ "route-cli-contract-design-not-stack",
104
+ )
105
+ for rid in CITED_BY_REGISTER_ROWS:
106
+ if rid not in seen:
107
+ bad(f"fixture '{rid}' is cited by a source-register row but is absent from the bank")
108
+
109
+ # frozen_at_sha ancestry. docs/f4-skill-effectiveness-harness.md says the runner
110
+ # validates this, but the runner needs a live model and no committed-time lane
111
+ # checked it — so a fixture carrying a sha from an unrelated history (the "drift"
112
+ # the field exists to catch) reached main unchallenged. Verified here instead.
113
+ #
114
+ # SEMANTICS, because two readers already read this field two different ways:
115
+ # frozen_at_sha is an ANCESTRY/BATCH marker, not a claim that the expectation was
116
+ # already deliverable at that commit. Fixtures that land together share the sha
117
+ # of the branch point, so a fixture added ALONGSIDE the routing surface it
118
+ # describes is correctly frozen at a commit where that surface does not yet
119
+ # exist. Do not "fix" such a row by pointing it at a post-landing commit: branch
120
+ # shas do not survive a squash merge, and a dangling sha reads as drift and
121
+ # silently drops the fixture from regression judgement.
122
+ import subprocess
123
+
124
+ def git(*args):
125
+ return subprocess.run(("git", "-C", root) + args,
126
+ capture_output=True, text=True)
127
+
128
+
129
+ if git("rev-parse", "--git-dir").returncode != 0:
130
+ print("routing_bank_ancestry_info: not a git checkout — ancestry not verified")
131
+ else:
132
+ # An unresolvable sha is tolerated ONLY where it is genuinely explainable:
133
+ # a shallow or partial clone that simply does not carry the object. In a
134
+ # COMPLETE checkout an unresolvable sha means the row points at a mistyped,
135
+ # dangling, or unrelated history — which is precisely the drift this check
136
+ # exists to catch, and the row would be silently dropped from regression
137
+ # judgement. Tolerating it unconditionally made the lane pass in exactly the
138
+ # case it was written for.
139
+ # Shallow detection: ONE signal, the `shallow` marker file. It is the ground
140
+ # truth `--is-shallow-repository` itself derives from, so pairing the two as
141
+ # "primary + fallback" is not redundancy — whichever is second is provably
142
+ # unreachable, and shipping an unreachable branch is how you get code that
143
+ # has never been observed to work. Verified both ways: deleting the marker
144
+ # makes the porcelain report false too.
145
+ #
146
+ # --git-COMMON-dir, not --git-dir: in a linked worktree --git-dir returns
147
+ # .git/worktrees/<name>, while `shallow` lives in the shared .git — probing
148
+ # the per-worktree dir silently finds nothing and reports every shallow
149
+ # worktree as a complete checkout.
150
+ common_dir = git("rev-parse", "--git-common-dir").stdout.strip()
151
+ shallow = False
152
+ if common_dir:
153
+ cd_abs = common_dir if os.path.isabs(common_dir) else os.path.join(root, common_dir)
154
+ shallow = os.path.isfile(os.path.join(cd_abs, "shallow"))
155
+ # Partial clone: git marks the PROMISOR REMOTE, whose name is not necessarily
156
+ # "origin" (`git clone -o upstream --filter=...`). Scan every remote, or a
157
+ # partial clone under any other remote name gets red-lined on every row.
158
+ # `extensions.partialClone` is the repository-level marker (it names the
159
+ # promisor remote) and survives a remote rename; the per-remote keys are the
160
+ # corroborating signal. Check both, under any remote name.
161
+ partial = bool(git("config", "--get", "extensions.partialClone").stdout.strip()) or \
162
+ bool(git("config", "--get-regexp",
163
+ r"^remote\..*\.(promisor|partialclonefilter)$").stdout.strip())
164
+ # ONE decision point, deliberately hoisted out of the per-sha loop.
165
+ #
166
+ # This used to be consulted twice INSIDE the loop — once for an unresolvable
167
+ # object, once for a failed ancestry query — and both times I added a new
168
+ # failure mode while guarding only one of the two exits. A degraded clone
169
+ # cannot answer either question, so the honest structure is to decide once,
170
+ # up front, whether ancestry is answerable at all. Adding a third git query
171
+ # later cannot reintroduce the bug: there is no per-query tolerance to forget.
172
+ degraded = shallow or partial
173
+ if degraded:
174
+ kind = "shallow" if shallow else "partial"
175
+ print(f"routing_bank_ancestry_info: {kind} clone — ancestry NOT verified for any row "
176
+ f"(a complete checkout verifies every row and fails on drift)")
177
+ else:
178
+ for rid, sha in sorted({r.get("id"): r.get("frozen_at_sha") for r in
179
+ [json.loads(l) for l in open(bank, encoding="utf-8") if l.strip()]}.items()):
180
+ if not sha:
181
+ continue # empty/missing is already a required-field failure above
182
+ if sha == "root":
183
+ sha = git("rev-list", "--max-parents=0", "HEAD").stdout.splitlines()[0]
184
+ if git("cat-file", "-e", f"{sha}^{{commit}}").returncode != 0:
185
+ bad(f"({rid}): frozen_at_sha {sha[:12]} does not resolve to a commit in this "
186
+ f"complete checkout (mistyped or from an unrelated history — the row would "
187
+ f"be silently excluded from regression judgement)")
188
+ continue
189
+ if git("merge-base", "--is-ancestor", sha, "HEAD").returncode != 0:
190
+ bad(f"({rid}): frozen_at_sha {sha[:12]} is not an ancestor of HEAD (drift — the "
191
+ f"row would be silently excluded from regression judgement)")
192
+ print(f"routing_bank_ancestry_ok: {rows} row(s) verified against HEAD")
193
+
194
+ if fail:
195
+ sys.exit(1)
196
+
197
+ # Informational: provenance coverage the harness doc asks for but the bank does
198
+ # not yet carry. Reported so the drift stays visible without blocking.
199
+ with open(bank, encoding="utf-8") as fh:
200
+ parsed = [json.loads(l) for l in fh if l.strip()]
201
+ with_source = sum(1 for r in parsed if r.get("source"))
202
+ print(f"routing_bank_provenance_info: source present on {with_source}/{rows} rows "
203
+ f"(docs/f4-skill-effectiveness-harness.md lists it as required; not enforced here)")
204
+ print(f"routing_bank_integrity_ok rows={rows} (structure only — routing NOT evaluated)")
205
+ PY