@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.
- package/LICENSE +201 -0
- package/README.md +49 -0
- package/dist/assets/marketplace/.agents/plugins/marketplace.json +12 -0
- package/dist/assets/marketplace/.claude-plugin/marketplace.json +13 -0
- package/dist/assets/marketplace/marketplace-manifest.json +12 -0
- package/dist/assets/marketplace/plugins/ccl-skills/.claude-plugin/marketplace.json +16 -0
- package/dist/assets/marketplace/plugins/ccl-skills/.claude-plugin/plugin.json +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/.codex-plugin/plugin.json +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/.worktree-only +3 -0
- package/dist/assets/marketplace/plugins/ccl-skills/agent-context/session-start.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/agent-context/subagent-start.md +12 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/AGENTS.md +19 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-delegation-owner.sh +125 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-edit-isolation.sh +102 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-merge-authorization.sh +1156 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/hooks.json +131 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/merge-authorization-prompt.sh +142 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/owner-dispatch-guard.sh +12 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/owner-dispatch-stop.sh +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/remind-post-merge-cleanup.sh +144 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/session-context.sh +87 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/session-start.sh +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/skill-extraction-gate-stop.sh +69 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/subagent-start.sh +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_delegation_owner.sh +329 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_edit_isolation.sh +322 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_merge_authorization.sh +902 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_merge_authorization_prompt.sh +178 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_remind_post_merge_cleanup.sh +121 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_session_start.sh +170 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/AGENTS.md +17 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts +564 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-install-skills.md +14 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-update-skills.md +44 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-verify-skills.md +109 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-worktree-check.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/AGENTS.md +28 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/README.md +276 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.example.json +10 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.sh +1307 -0
- package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/test.sh +941 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/agents-file-coverage-gate/SKILL.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/agents-file-coverage-gate/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/SKILL.md +188 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/android-dev.md +92 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/flutter-dev.md +80 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/ios-dev.md +72 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/kotlin-multiplatform.md +93 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/mobile-platform-boundaries.md +77 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/mobile-quality-release.md +77 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/source-evidence-map.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/SKILL.md +353 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/client-routing.md +419 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/manual-invocation-and-prompts.md +126 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md +197 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/timeout-auth-and-capabilities.md +179 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/AGENTS.md +98 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/classify_envelope.py +93 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/classify_timeout_exit.sh +15 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/claude_review.sh +1438 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/codex_review.sh +324 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/concern_excerpt.py +295 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/egress_schema.py +214 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/init_policy_matrix.py +642 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_packet_mcp.py +181 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_review.sh +1165 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/opencode_review.sh +1190 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_cli_review.py +946 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_opencode_review.py +474 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_probe_result.py +1899 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_review_json.py +200 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py +2845 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.sh +6 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/run_claude_capture.py +71 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/runtime-surface-verification-design.md +53 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_classify_envelope.sh +68 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_claude_review_probe.sh +2311 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_cli_review_wrappers.sh +1832 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_code_review_identity.sh +73 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_concern_excerpt.sh +245 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_egress_schema.sh +177 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_init_policy_matrix.sh +272 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_kimi_packet_mcp.py +195 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_opencode_review_concurrency.sh +120 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_opencode_review_retry.sh +1005 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_opencode_review.sh +258 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_probe_result.sh +574 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_review_json.sh +349 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_compat.py +434 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_order.sh +264 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_gate.sh +2412 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/verify_native_skill_binding.py +123 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/SKILL.md +153 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/references/diagnosis-playbook.md +54 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/references/prevention-routing.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/SKILL.md +69 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/references/security-review-gate.md +41 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/SKILL.md +165 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/api-security-boundaries.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/architecture-playbook.md +160 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/artifact-generation-architecture.md +37 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/audit-history-architecture.md +29 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/bulk-workflow-architecture.md +33 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/config-rule-routing-architecture.md +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/cross-cutting-concerns.md +72 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/data-modeling-and-migrations.md +79 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/data-platform-architecture.md +210 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/dependency-platform.md +105 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/developer-tooling-architecture.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/error-contract-architecture.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/event-driven-architecture.md +260 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/http-gateway-architecture.md +74 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/mq-consumer-architecture.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/multi-tenant-isolation.md +275 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/notification-architecture.md +25 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/ops-checklist.md +57 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/performance-capacity-architecture.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/protobuf-contract-architecture.md +119 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/redis-cache-coordination.md +93 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/release-runtime-readiness.md +65 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/replay-comparison-architecture.md +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/runtime-observability.md +94 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/service-scaffold.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/source-evidence-map.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/workflow-state-architecture.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/SKILL.md +159 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/artifact-generation-patterns.md +37 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/audit-history-patterns.md +28 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/bulk-import-export-patterns.md +56 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/config-rule-routing-patterns.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/data-access-patterns.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/db-schema-and-dal-patterns.md +109 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/dependency-client-patterns.md +130 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/developer-tooling-patterns.md +70 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/domain-feature-patterns.md +78 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/engineering-patterns.md +119 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/error-contract-patterns.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/feature-playbook.md +61 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/http-gateway-client-patterns.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/mq-consumer-patterns.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/notification-patterns.md +42 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/observability-implementation-patterns.md +101 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/performance-capacity-patterns.md +44 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/protobuf-contract-patterns.md +72 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/public-api-integration-patterns.md +56 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/quality-and-testing-patterns.md +91 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/redis-cache-lock-patterns.md +123 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/release-ops-patterns.md +112 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/reliability-patterns.md +83 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/replay-comparison-patterns.md +32 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/scaffold-and-codegen.md +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/source-evidence-map.md +54 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/state-machine-task-patterns.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/grill-me/SKILL.md +80 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/grill-me/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/SKILL.md +117 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-approval-auto-reviewer.md +106 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-command-sandbox.md +441 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-context-freshness.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-credentials-auth.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-extensions-skills.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-file-edit-protocol.md +129 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-ide-integration.md +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-input-ingestion.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-instruction-composition.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-lifecycle-hooks.md +92 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-messaging.md +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-runtime-bootstrap.md +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-session-persistence.md +448 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-task-orchestration.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-tool-dispatch.md +123 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-turn-lifecycle.md +131 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/inference-capacity-operations.md +162 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/llm-client-gateway.md +156 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/model-prompt-evaluation.md +146 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/retrieval-agent-safety.md +273 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/SKILL.md +202 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/contracts-and-state.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/cross-stack-alignment.md +94 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/framework-choice.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/online-practice-uptake.md +56 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/platform-capabilities.md +91 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/product-page-checklist.md +40 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/qa-release.md +72 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/source-evidence-map.md +82 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/SKILL.md +103 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/agents/openai.yaml +5 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/references/multi-agent-delegation-playbook.md +100 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/SKILL.md +70 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/public-data-acquisition.md +549 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/public-disclosure-channels.md +97 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/research-prompts.md +66 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/scripts/AGENTS.md +32 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/scripts/test-public-data-acquisition-recipes.sh +379 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/SKILL.md +244 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/alerting-and-on-call.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/framework-middleware-checklist.md +142 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/infra-component-deployment.md +268 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/log-correlation-recipe.md +124 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/log-schema-canonical.md +208 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/metrics-conventions.md +105 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/obs-stack-architecture.md +107 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/sli-slo-design.md +95 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/source-register.md +11 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/SKILL.md +303 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/canary-and-rollout-strategy.md +163 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/config-center-via-etcd.md +245 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/custom-control-plane-boundary.md +298 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/deploy-cli-concrete-recipe.md +312 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/deploy-pipeline.md +165 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/env-and-lane-matrix.md +126 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/lane-orchestration-control-plane.md +383 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/multi-region-and-cluster.md +135 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/promotion-gate-and-review.md +149 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/python-package-registry-release.md +462 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/rollback-playbook.md +123 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/secret-and-config-management.md +231 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/version-authority-and-deprecation.md +21 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/SKILL.md +276 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/dual-sidecar-and-traffic-config-center.md +127 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/framework-middleware.md +143 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/grpc-authority-workaround.md +90 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/http-response-envelope-contract.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/mesh-architecture.md +127 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/multi-env-routing.md +192 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/protobuf-http-contract-signals.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/retry-timeout-circuit-breaker.md +124 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/rpc-framework-recipe.md +494 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-choice.md +113 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-migration-playbook.md +231 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-recipe.md +131 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md +235 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/adr-convention.md +146 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-checklist.md +30 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-evaluation-report-template.md +25 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-execution-spec.md +108 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-sop.md +457 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-templates.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/artifact-egress-confidentiality.md +58 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/code-review-checklist.md +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/cross-repo-coordination.md +46 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/delivery-lifecycle.md +192 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-review-gate-mechanics.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-routing-and-readiness.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/diagnostic-spec-match-gate.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/dispatch-owner-skills.md +35 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/dormant-code-activation.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/existing-project-assessment-report.md +223 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/external-skill-augmentation.md +46 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/feature-deprecation-cascade.md +15 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/high-risk-resilience-gates.md +73 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/implementation-completeness-and-minimality.md +120 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/implementation-entry-reentry-gate.md +122 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/modular-monolith-heuristic.md +105 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/pre-final-continuation-gate.md +115 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/problem-resolution-and-learning.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/quality-attributes.md +112 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/quality-remediation-program.md +88 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/rd-standards-doc-family-checklist.md +27 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/refactoring-discipline.md +52 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/review-reception.md +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/shared-gate-artifact-classification.md +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/source-evidence-map.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/status-tracker-sync.md +77 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/sync-spec-repo-contract.md +25 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/verify-developer-experience.md +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/worktree-mechanics.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/scripts/AGENTS.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/scripts/check-agent-contract-coverage.sh +213 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/SKILL.md +136 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/agents/openai.yaml +9 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/analytics-visualization-interactions.md +206 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/behavioral-aesthetic-logic.md +108 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/complex-creation-interactions.md +194 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-execution-checklist.md +214 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-impl-naming-and-versioning.md +53 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-intake-and-acceptance.md +129 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-system-source-of-truth.md +97 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/external-ui-ux-quality-benchmarks.md +79 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/frontend-code-evidence-map.md +63 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/interaction-design-patterns.md +146 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/layout-recipes-and-screenshot-acceptance.md +250 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/multi-project-token-consistency.md +237 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/multi-stack-strategy.md +65 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/operational-processing-workflows.md +237 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/platform-mobile-patterns.md +324 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/platform-web-desktop-patterns.md +456 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/product-lifecycle-acceptance-and-iteration.md +114 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/product-surface-patterns.md +79 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/resource-management-interactions.md +113 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/scenario-community-patterns.md +133 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/source-map.md +130 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/tokens-and-components.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/trust-sensitive-ai-and-data-patterns.md +96 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/ui-ux-audit.md +106 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/ui-ux-design-development.md +176 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/visual-craft.md +111 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/SKILL.md +157 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/ai-service-integration-boundaries.md +57 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/api-contract-and-schema.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/api-security-boundaries.md +39 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/architecture-playbook.md +46 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/async-execution-model.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/background-jobs-and-scheduling.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/batch-and-pipeline-architecture.md +11 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/config-secrets-runtime.md +22 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/data-modeling-and-migrations.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/data-platform-architecture.md +211 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/event-driven-architecture.md +263 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/multi-tenant-isolation.md +281 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/observability-and-ops.md +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/packaging-runtime-readiness.md +20 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/redis-cache-coordination.md +41 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/reliability-and-error-contract.md +17 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/source-evidence-map.md +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/web-framework-boundaries.md +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/SKILL.md +143 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/ai-service-wiring-patterns.md +16 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/async-and-worker-patterns.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/background-job-patterns.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/batch-and-artifact-patterns.md +13 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/dependency-client-patterns.md +39 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/error-handling-patterns.md +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/feature-playbook.md +43 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/observability-implementation-patterns.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/project-structure-and-tooling.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/public-api-security-patterns.md +52 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/redis-cache-lock-patterns.md +78 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/schema-and-validation-patterns.md +23 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/source-evidence-map.md +56 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/sqlalchemy-and-migrations-patterns.md +99 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/testing-and-quality-patterns.md +61 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/web-framework-patterns.md +35 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/SKILL.md +91 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/config-runtime-readback.md +20 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/mr-merge-authorization.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/post-release-env-reset.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/release-closeout-evidence.md +20 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/release-scope-confirmation.md +21 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/tag-and-prod-pipeline-gate.md +20 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/test-scope-prompt.md +24 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/watcher-discipline.md +14 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/SKILL.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/comment-safe-release-doc.md +19 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/release-evidence-workflow.md +23 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/release-testing-scope-section.md +15 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-baseline/SKILL.md +87 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-baseline/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/SKILL.md +130 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/prd-composition-contract.md +35 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/requirement-closure-contract.md +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/security-four-questions.md +38 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-intent/SKILL.md +91 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-intent/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-scope/SKILL.md +88 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-scope/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/SKILL.md +337 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/analysis-parse-fix-test-challenge-replay.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/attribution-verification.md +69 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/bootstrap-slim-c3-obligation-table.md +112 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/coverage-exhaustion-traps.md +45 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/description-authoring.md +162 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/dual-track-review-gate.md +507 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/eval-routing.md +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/evidence-card-template.md +51 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/example-domain-preselect.md +79 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/external-practice-controls.md +57 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-lifecycle-handoff.md +65 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-quickstart.md +194 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/firing-point-placement.md +75 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/harness-patterns-and-eval.md +286 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/incident-postmortem-extraction.md +190 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/l0-l1-l2-routing.md +114 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/online-skill-review.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/parallel-stack-references-pattern.md +164 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/r0-leakage-audit.md +90 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/recurring-anti-patterns-checklist.md +320 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/resume-paused-delivery.md +16 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-feedback-mining.md +33 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-finding-standards.md +57 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-rubric.md +40 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/rule-consolidation.md +118 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/skill-listing-budget.md +19 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md +254 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-to-skill-extraction.md +658 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/two-source-extraction-pattern.md +167 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/uiux-judgment-extraction.md +179 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/uiux-routing-map.md +51 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/validation-and-landing.md +180 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/AGENTS.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-ccl-skills.sh +1452 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-evidence-card-leak.sh +491 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-mr-target-freshness.sh +173 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-size-budget.sh +488 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-sync-pointers.sh +419 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-golden-trace.rb +197 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-health.rb +327 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing-bank.rb +401 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing.rb +248 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/generic-r0-leak-scan.sh +282 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/governing-chain-diff.py +321 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/impact-chain-gate.rb +964 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/register-firing-path-resolution.rb +708 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/skill-behavior-eval.py +540 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/source-register-lifecycle.rb +51 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/source-register-pending-status.rb +55 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh +829 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_impact_chain_refscripts.sh +1203 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_r0_status.sh +75 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_register_pending_exclusion.sh +137 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh +173 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_route_drift.sh +377 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_size_budget.sh +833 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_skill_catalog.sh +491 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_source_register_lifecycle.sh +114 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_mr_target_freshness.sh +261 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_sync_pointers.sh +538 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_controlled_escalation_pins.sh +154 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_grader_diagnostics.sh +190 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_surface_binding.sh +178 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_prose_target.sh +86 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_generic_r0_leak_scan.sh +131 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_git_identity_predicate_gate.sh +243 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_governing_chain_diff.sh +419 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_impact_chain_gate_dateless_host.sh +120 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_resolution.sh +724 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_wiring.sh +414 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_regression_runner_registration.sh +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_routing_bank_integrity.sh +205 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_routing_pointer_integrity.sh +194 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_credential_cwd.sh +61 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_cross_refs.sh +111 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_root_depth.sh +53 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/validate-skill.sh +257 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/SKILL.md +98 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/input-state-machines.md +36 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/streaming-rich-output.md +130 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/terminal-side-channels.md +96 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/SKILL.md +408 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/AGENTS.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/bitable-setup.md +573 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/README.md +120 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/github-actions.yml +119 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/gitlab-ci.yml +76 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/jenkins.Jenkinsfile +106 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/classical-test-design-techniques.md +279 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/gen_report.py +2807 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/makefile-template.md +200 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/report-config-schema.md +272 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/run_pytestless.py +475 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/source-to-case-workflows.md +258 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc-marker-conventions.md +316 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc-review-and-prioritization.md +145 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/AGENTS.md +16 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.dart +129 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.go +197 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.py +135 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.ts +285 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/test_gen_report.py +2144 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/update-lifecycle.md +62 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/SKILL.md +212 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/ci-fixtures-and-flake-control.md +75 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/client-runtime-test-matrices.md +50 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/data-and-workflow-testing.md +34 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/design-closed-contract-oracles.md +31 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/e2e-real-flow-testing.md +71 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/fitness-functions.md +240 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/integration-contract-testing.md +235 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/non-functional-specialized-scenarios.md +296 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/rd-testing-standard-template.md +126 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/run-killing-mutation-walk.md +43 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/scenario-testing.md +136 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/source-evidence-map.md +59 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/structured-tc-input-translation.md +67 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-code-authoring-patterns.md +392 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-data-and-determinism.md +39 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-topology-and-commands.md +92 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/unit-testing.md +46 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/vendored-contract-drift-checklist.md +64 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/verify-enforcement-mechanisms.md +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/AGENTS.md +17 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/client-terminal-ansi-check.py +140 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/client-terminal-ansi-check.test.sh +75 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-ast-check.py +170 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-ast-check.test.sh +87 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-go-check.go +198 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-go-check.test.sh +109 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/test_mutation_backup_recipe.sh +237 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/SKILL.md +184 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/comment-safe-feishu.md +93 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/cross-model-co-review.md +3 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/delivery-face-closeout.md +60 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/doc-charter-first.md +17 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/session-vantage-leakage.md +58 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/SKILL.md +126 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/complex-workspace-patterns.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/embedded-h5-in-host.md +87 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/react-architecture.md +194 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/source-evidence-map.md +60 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/web-quality-release.md +190 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/web-ui-quality.md +83 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/SKILL.md +179 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/agents/openai.yaml +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/references/shared-branch-rebase.md +25 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/AGENTS.md +23 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_status.sh +207 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_sweep.sh +481 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/worktree-status.sh +325 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/worktree-sweep.sh +245 -0
- package/dist/assets/release.json +2797 -0
- package/dist/claude-adapter.d.ts +9 -0
- package/dist/claude-adapter.js +240 -0
- package/dist/cli-worker.d.ts +1 -0
- package/dist/cli-worker.js +32 -0
- package/dist/cli.d.ts +22 -0
- package/dist/cli.js +214 -0
- package/dist/codex-host.d.ts +30 -0
- package/dist/codex-host.js +162 -0
- package/dist/fs-safe.d.ts +21 -0
- package/dist/fs-safe.js +241 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/manifest.d.ts +8 -0
- package/dist/manifest.js +135 -0
- package/dist/opencode-adapter.d.ts +10 -0
- package/dist/opencode-adapter.js +416 -0
- package/dist/operations.d.ts +3 -0
- package/dist/operations.js +956 -0
- package/dist/paths.d.ts +20 -0
- package/dist/paths.js +4 -0
- package/dist/types.d.ts +58 -0
- package/dist/types.js +1 -0
- package/dist/unified.d.ts +4 -0
- package/dist/unified.js +64 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +5 -0
- package/package.json +35 -0
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Regression tests for check-sync-pointers.sh (semantic tier of the sync
|
|
3
|
+
# family: declared pinned pairs + the security-four-questions subset
|
|
4
|
+
# registry). Clones this repo, then mutates ONE side of a registered pair /
|
|
5
|
+
# registry at a time. The checker is invoked DIRECTLY (not through
|
|
6
|
+
# check-ccl-skills.sh) so rc semantics belong to this unit alone.
|
|
7
|
+
# All in-place file mutations go through python3 — BSD `sed -i ''` is not
|
|
8
|
+
# portable to GNU sed (Linux CI), and a red suite there would be a harness
|
|
9
|
+
# defect, not evidence.
|
|
10
|
+
set -euo pipefail
|
|
11
|
+
|
|
12
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)"
|
|
13
|
+
SYNC_SCRIPT="$SCRIPT_DIR/check-sync-pointers.sh"
|
|
14
|
+
[ -f "$SYNC_SCRIPT" ] || { echo "FAIL: sync checker not found: $SYNC_SCRIPT" >&2; exit 1; }
|
|
15
|
+
ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd -P)"
|
|
16
|
+
|
|
17
|
+
TMP="$(mktemp -d "${TMPDIR:-/tmp}/syncpointers.XXXXXX")"
|
|
18
|
+
trap 'rm -rf "$TMP"' EXIT
|
|
19
|
+
|
|
20
|
+
fail() { echo "FAIL: $*" >&2; exit 1; }
|
|
21
|
+
assert_rc() { [ "$1" = "$2" ] || fail "expected rc=$2 got rc=$1${3:+ ($3)}"; }
|
|
22
|
+
assert_contains() { case "$2" in *"$1"*) : ;; *) fail "expected output to contain: $1${3:+ ($3)}";; esac; }
|
|
23
|
+
assert_not_contains() { case "$2" in *"$1"*) fail "expected output NOT to contain: $1${3:+ ($3)}";; *) : ;; esac; }
|
|
24
|
+
|
|
25
|
+
# replace_in_file <file> <old> <new> — fails loudly when the anchor is absent.
|
|
26
|
+
replace_in_file() {
|
|
27
|
+
python3 - "$1" "$2" "$3" <<'PY'
|
|
28
|
+
import sys
|
|
29
|
+
path, old, new = sys.argv[1], sys.argv[2], sys.argv[3]
|
|
30
|
+
text = open(path).read()
|
|
31
|
+
assert old in text, f"fixture anchor missing in {path}: {old!r}"
|
|
32
|
+
open(path, "w").write(text.replace(old, new, 1))
|
|
33
|
+
PY
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
run_sync() {
|
|
37
|
+
set +e
|
|
38
|
+
out="$(bash "$SYNC_SCRIPT" "$REPO" 2>&1)"
|
|
39
|
+
rc=$?
|
|
40
|
+
set -e
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
REPO="$TMP/repo"
|
|
44
|
+
git clone -q "$ROOT" "$REPO"
|
|
45
|
+
git -C "$REPO" config user.email test@example.invalid
|
|
46
|
+
git -C "$REPO" config user.name "Test User"
|
|
47
|
+
# Give the clone its own base branch and upstream — the same fixture shape the
|
|
48
|
+
# sibling e2e (test_register_firing_path_wiring.sh) documents. The two
|
|
49
|
+
# end-to-end cases below run the FULL validator, whose diff base comes from
|
|
50
|
+
# `@{upstream}` with an `origin/main` fallback. A clone taken while CI has the
|
|
51
|
+
# project at a DETACHED HEAD carries neither, so the impact-chain gate exits 1
|
|
52
|
+
# with `impact_chain_merge_base_missing: origin/main` BEFORE the run reaches the
|
|
53
|
+
# combined sync verdict — and because the deferred-verdict EXIT trap only fires
|
|
54
|
+
# on an otherwise-clean exit (by design: an already-red run is not re-verdicted),
|
|
55
|
+
# `sync_reference_blocking_failed` would never be printed. rc would still be 1,
|
|
56
|
+
# so only the token assertion reds: a CI-only harness defect that says nothing
|
|
57
|
+
# about the wiring under test. Reproduced first-hand against a detached-HEAD
|
|
58
|
+
# clone before this line existed.
|
|
59
|
+
git -C "$REPO" branch -f fixture-base HEAD
|
|
60
|
+
git -C "$REPO" switch -q -C fixture-work fixture-base
|
|
61
|
+
git -C "$REPO" branch --set-upstream-to=fixture-base fixture-work >/dev/null 2>&1
|
|
62
|
+
WT="$REPO/skills/worktree-isolation/SKILL.md"
|
|
63
|
+
SEC4="$REPO/skills/requirement-doc-writer/references/security-four-questions.md"
|
|
64
|
+
DTREF="$REPO/skills/skill-extraction-workflow/references/dual-track-review-gate.md"
|
|
65
|
+
|
|
66
|
+
# GREEN: the unmutated clone must pass — both tiers run to their done markers.
|
|
67
|
+
run_sync
|
|
68
|
+
assert_rc "$rc" 0 "unmutated clone must pass the semantic sync gate"
|
|
69
|
+
assert_contains "sync_pointer_check_done" "$out" "pointer tier completes"
|
|
70
|
+
assert_contains "sync_subset_check_done" "$out" "subset tier completes"
|
|
71
|
+
assert_contains "sync_semantic_check_ok" "$out" "final ok token present"
|
|
72
|
+
|
|
73
|
+
# s1 RED: canonical section label reworded => the always-on pointer dangles.
|
|
74
|
+
replace_in_file "$WT" "合并执行协议(canonical" "合并落地协议(canonical"
|
|
75
|
+
run_sync
|
|
76
|
+
assert_rc "$rc" 1 "reworded canonical section must block"
|
|
77
|
+
assert_contains "sync_pointer_block: merge-exec-protocol-section" "$out" "block names the pair"
|
|
78
|
+
git -C "$REPO" checkout -- skills/worktree-isolation/SKILL.md
|
|
79
|
+
|
|
80
|
+
# s2 RED: section heading renamed => 收尾节 pointer dangles (the pinned
|
|
81
|
+
# literal carries the colon so a longer heading cannot substring-satisfy it).
|
|
82
|
+
replace_in_file "$WT" "## 收尾:" "## 收尾清理:"
|
|
83
|
+
run_sync
|
|
84
|
+
assert_rc "$rc" 1 "renamed teardown heading must block"
|
|
85
|
+
assert_contains "sync_pointer_block: worktree-teardown-section" "$out" "block names the pair"
|
|
86
|
+
git -C "$REPO" checkout -- skills/worktree-isolation/SKILL.md
|
|
87
|
+
|
|
88
|
+
# s3 RED: bootstrap side reworded => pointer literal lost on the source side.
|
|
89
|
+
replace_in_file "$REPO/agent-context/session-start.md" "「合并执行协议」" "「合并协议」"
|
|
90
|
+
run_sync
|
|
91
|
+
assert_rc "$rc" 1 "reworded always-on pointer must block"
|
|
92
|
+
assert_contains "sync_pointer_block: merge-exec-protocol-section: agent-context/session-start.md lost the registered pointer literal" "$out" "block names the source side"
|
|
93
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
94
|
+
|
|
95
|
+
# s4 RED: canonical reference file deleted => bare-filename pointer dangles
|
|
96
|
+
# (a blocking violation, NOT an infra error).
|
|
97
|
+
rm -f "$DTREF"
|
|
98
|
+
run_sync
|
|
99
|
+
assert_rc "$rc" 1 "deleted canonical reference must block"
|
|
100
|
+
assert_contains "sync_pointer_block: dual-track-review-gate-ref" "$out" "block names the pair"
|
|
101
|
+
git -C "$REPO" checkout -- skills/skill-extraction-workflow/references/dual-track-review-gate.md
|
|
102
|
+
|
|
103
|
+
# s5 RED: canonical predicate removed from the registry => the extracted
|
|
104
|
+
# bootstrap table escapes the (shrunk) canonical set.
|
|
105
|
+
replace_in_file "$SEC4" "q2-canonical: 伪造,篡改,重放,越权,重复提交,误删,覆盖" "q2-canonical: 伪造,重放,越权,重复提交,误删,覆盖"
|
|
106
|
+
run_sync
|
|
107
|
+
assert_rc "$rc" 1 "bootstrap superset of the registry must block"
|
|
108
|
+
assert_contains "escapes the canonical predicate set" "$out" "block names the escape"
|
|
109
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
110
|
+
|
|
111
|
+
# s6 RED: registry-only canonical token (absent from its anchored list region).
|
|
112
|
+
replace_in_file "$SEC4" "q2-canonical: 伪造,篡改,重放,越权,重复提交,误删,覆盖" "q2-canonical: 伪造,篡改,重放,越权,重复提交,误删,覆盖,抵赖"
|
|
113
|
+
run_sync
|
|
114
|
+
assert_rc "$rc" 1 "registry-only canonical token must block"
|
|
115
|
+
assert_contains "absent from its list region" "$out" "block names the registry/region mismatch"
|
|
116
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
117
|
+
|
|
118
|
+
# s7 RED: alias dropped => trigger lists no longer reconcile.
|
|
119
|
+
replace_in_file "$SEC4" "alias: 租户或用户隔离=租户/用户隔离" "alias:"
|
|
120
|
+
run_sync
|
|
121
|
+
assert_rc "$rc" 1 "dropped alias must block"
|
|
122
|
+
assert_contains "sync_subset_block:" "$out" "subset block present"
|
|
123
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
124
|
+
|
|
125
|
+
# s8 infra: registry block removed entirely => fail-closed rc 2, no ok token.
|
|
126
|
+
python3 - "$SEC4" <<'PY'
|
|
127
|
+
import re, sys
|
|
128
|
+
p = sys.argv[1]
|
|
129
|
+
text = open(p).read()
|
|
130
|
+
text2 = re.sub(r'<!--\s*sync-registry:v1\s*.*?-->', '', text, flags=re.S)
|
|
131
|
+
assert text2 != text, "fixture premise: registry block exists"
|
|
132
|
+
open(p, 'w').write(text2)
|
|
133
|
+
PY
|
|
134
|
+
run_sync
|
|
135
|
+
assert_rc "$rc" 2 "missing registry must fail closed as infra"
|
|
136
|
+
assert_contains "sync_subset_infra" "$out" "infra marker present"
|
|
137
|
+
assert_not_contains "sync_semantic_check_ok" "$out" "no ok token on infra failure"
|
|
138
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
139
|
+
|
|
140
|
+
# s9 wiring anchors: the validator must invoke the gate, propagate rc=1 into
|
|
141
|
+
# the deferred verdict, fail closed on rc>=2, and treat a missing script as a
|
|
142
|
+
# broken checkout (never a skippable advisory). Each anchor must be FIRABLE:
|
|
143
|
+
# assert the grepped line exists before judging its content.
|
|
144
|
+
validator="$SCRIPT_DIR/check-ccl-skills.sh"
|
|
145
|
+
grep -q '|| sync_pointer_rc=\$?' "$validator" || fail "validator no longer records sync-gate rc"
|
|
146
|
+
grep -q 'sync_pointer_infra_failed' "$validator" || fail "validator missing infra fail-closed branch"
|
|
147
|
+
grep -qF 'sync_pointer_script="$checker_scripts_dir/check-sync-pointers.sh"' "$validator" || fail "validator must resolve the semantic gate beside itself (an in-tree copy could be doctored to exit 0)"
|
|
148
|
+
grep -qF 'check-sync-pointers.sh missing or not a regular file beside the validator' "$validator" || fail "validator missing the beside-itself existence guard"
|
|
149
|
+
wiring_line="$(grep -F 'bash "$sync_pointer_script" "$root"' "$validator" || true)"
|
|
150
|
+
[ -n "$wiring_line" ] || fail "validator sync-gate invocation line not found (wiring anchor moved?)"
|
|
151
|
+
case "$wiring_line" in
|
|
152
|
+
*"|| true"*) fail "validator demoted the semantic sync gate back to || true advisory" ;;
|
|
153
|
+
esac
|
|
154
|
+
# skip-degradation wiring anchors (the e2e of the skip state is not
|
|
155
|
+
# constructible in a full clone — a package removal reddens the route gate
|
|
156
|
+
# first — so these pins are firable greps, not behavioral fixtures):
|
|
157
|
+
grep -qF 'sync_pointer_skipped=1' "$validator" || fail "validator lost the skip-marker detection branch"
|
|
158
|
+
grep -qF '"${sync_pointer_skipped:-0}" != "1"' "$validator" || fail "validator lost the clean-token downgrade condition"
|
|
159
|
+
grep -qF 'semantic sync checks were partially skipped' "$validator" || fail "validator lost the skip interim notice"
|
|
160
|
+
|
|
161
|
+
# s10: agent-context/session-start.md deleted from an otherwise-FULL tree is an always-on-layer
|
|
162
|
+
# deletion (it bypasses every pin) and must BLOCK; only a genuinely partial
|
|
163
|
+
# tree (no canonical packages at all) gets the marked skip. The skip-marker
|
|
164
|
+
# degradation wiring is exercised via wiring anchors (s9): a package removal in
|
|
165
|
+
# a full clone turns its backticked mentions into stale routes and the route
|
|
166
|
+
# gate reddens first, so a full-validator e2e of the skip state is not
|
|
167
|
+
# constructible in a clone — recorded, not silently skipped.
|
|
168
|
+
git -C "$REPO" rm -q agent-context/session-start.md
|
|
169
|
+
run_sync
|
|
170
|
+
assert_rc "$rc" 1 "deleting agent-context/session-start.md from a full tree must block"
|
|
171
|
+
assert_contains "agent-context/session-start.md missing while pinned canonical packages are present" "$out" "block names the always-on-layer deletion"
|
|
172
|
+
assert_not_contains "sync_semantic_check_ok" "$out" "no ok token on a block"
|
|
173
|
+
git -C "$REPO" checkout HEAD -- agent-context/session-start.md
|
|
174
|
+
|
|
175
|
+
# s11 RED: bootstrap Q2 grows a superset token whose string still CONTAINS the
|
|
176
|
+
# old literal — only real extraction (not a substring include?) catches it.
|
|
177
|
+
replace_in_file "$REPO/agent-context/session-start.md" "若某值被伪造/篡改爆炸半径" "若某值被伪造/篡改/滥用爆炸半径"
|
|
178
|
+
run_sync
|
|
179
|
+
assert_rc "$rc" 1 "a superset token in the bootstrap table must block"
|
|
180
|
+
assert_contains "sync_subset_block: bootstrap q2 table" "$out" "block names the escaping token"
|
|
181
|
+
assert_contains "滥用" "$out" "the escaping token is named"
|
|
182
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
183
|
+
|
|
184
|
+
# s12 RED: bootstrap trigger anchor reworded => extraction fails closed as a
|
|
185
|
+
# block (reword the reflection and the anchors together).
|
|
186
|
+
replace_in_file "$REPO/agent-context/session-start.md" "触及 身份·计费·配额" "触及:身份·计费·配额"
|
|
187
|
+
run_sync
|
|
188
|
+
assert_rc "$rc" 1 "a destroyed extraction anchor must block"
|
|
189
|
+
assert_contains "no longer matches the registered anchor shape" "$out" "block names the anchor loss"
|
|
190
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
191
|
+
|
|
192
|
+
# s13 RED: q2/q4 extraction anchor loss must also block (the /若某值被…爆炸半径/
|
|
193
|
+
# and /写一条…负向用例/ shapes were previously unpinned).
|
|
194
|
+
replace_in_file "$REPO/agent-context/session-start.md" "若某值被伪造/篡改爆炸半径" "若某值被伪造/篡改的影响半径"
|
|
195
|
+
run_sync
|
|
196
|
+
assert_rc "$rc" 1 "a destroyed q2 anchor must block"
|
|
197
|
+
assert_contains "agent-context/session-start.md compressed q2 table no longer matches the registered anchor shape" "$out" "block names the q2 anchor loss"
|
|
198
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
199
|
+
|
|
200
|
+
# s14 RED: a token dropped from the bootstrap trigger list (anchor intact)
|
|
201
|
+
# must block on the missing branch.
|
|
202
|
+
replace_in_file "$REPO/agent-context/session-start.md" "权限·删除·覆盖 时" "权限·删除 时"
|
|
203
|
+
run_sync
|
|
204
|
+
assert_rc "$rc" 1 "a dropped trigger token must block"
|
|
205
|
+
assert_contains "not reflected in the bootstrap list" "$out" "block names the missing-token branch"
|
|
206
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
207
|
+
|
|
208
|
+
# s15: package availability ladder — a wholesale-missing package with the
|
|
209
|
+
# always-on layer ALIVE blocks (bypass-by-omission); the marked skip exists
|
|
210
|
+
# only for a genuinely partial tree (bootstrap also absent); a file lost
|
|
211
|
+
# inside a present package blocks.
|
|
212
|
+
mv "$REPO/skills/tighten-doc" "$TMP/tighten-doc-parked"
|
|
213
|
+
run_sync
|
|
214
|
+
assert_rc "$rc" 1 "an absent package with the always-on layer alive must block"
|
|
215
|
+
assert_contains "sync_pointer_block: cross-model-caveat: canonical package tighten-doc missing while the always-on layer is present" "$out" "block names the wholesale bypass"
|
|
216
|
+
git -C "$REPO" rm -q agent-context/session-start.md
|
|
217
|
+
run_sync
|
|
218
|
+
assert_rc "$rc" 1 "bootstrap gone with other pinned packages still present must block"
|
|
219
|
+
assert_contains "agent-context/session-start.md missing while pinned canonical packages are present" "$out" "block names the omission bypass"
|
|
220
|
+
git -C "$REPO" checkout HEAD -- agent-context/session-start.md
|
|
221
|
+
mv "$TMP/tighten-doc-parked" "$REPO/skills/tighten-doc"
|
|
222
|
+
# The marked skip exists only for a tree with NO pinned package at all —
|
|
223
|
+
# exercised on a synthetic mini tree (in a full clone every package removal
|
|
224
|
+
# reddens an earlier gate first).
|
|
225
|
+
TINY="$TMP/tiny-tree"
|
|
226
|
+
mkdir -p "$TINY/skills/demo-skill"
|
|
227
|
+
printf -- '---\nname: demo-skill\ndescription: tiny tree fixture.\n---\n\nbody\n' > "$TINY/skills/demo-skill/SKILL.md"
|
|
228
|
+
set +e
|
|
229
|
+
out="$(bash "$SYNC_SCRIPT" "$TINY" 2>&1)"
|
|
230
|
+
rc=$?
|
|
231
|
+
set -e
|
|
232
|
+
assert_rc "$rc" 0 "a tree with no pinned package and no bootstrap must skip, not block"
|
|
233
|
+
assert_contains "sync_pointer_check_skipped: agent-context/session-start.md missing" "$out" "skip marker present"
|
|
234
|
+
assert_not_contains "sync_semantic_check_ok" "$out" "no ok token on a skip"
|
|
235
|
+
rm -f "$REPO/skills/tighten-doc/SKILL.md"
|
|
236
|
+
run_sync
|
|
237
|
+
assert_rc "$rc" 1 "a file lost inside a present package must block"
|
|
238
|
+
assert_contains "sync_pointer_block: cross-model-caveat" "$out" "block names the pair with the lost target"
|
|
239
|
+
git -C "$REPO" checkout -- skills/tighten-doc/SKILL.md
|
|
240
|
+
|
|
241
|
+
# s16 RED: the canonical registry file deleted while its package is present.
|
|
242
|
+
rm -f "$SEC4"
|
|
243
|
+
run_sync
|
|
244
|
+
assert_rc "$rc" 1 "deleted canonical registry file must block"
|
|
245
|
+
assert_contains "canonical registry file missing inside a present package" "$out" "block names the registry loss"
|
|
246
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
247
|
+
|
|
248
|
+
# s17 RED: the agent-command-sandbox canonical reference file removed (the
|
|
249
|
+
# pair pins the dedicated file, not a recursive mention).
|
|
250
|
+
rm -f "$REPO/skills/llm-inference-integration/references/agent-command-sandbox.md"
|
|
251
|
+
run_sync
|
|
252
|
+
assert_rc "$rc" 1 "deleted agent-command-sandbox reference must block"
|
|
253
|
+
assert_contains "sync_pointer_block: agent-command-sandbox" "$out" "block names the pair"
|
|
254
|
+
git -C "$REPO" checkout -- skills/llm-inference-integration/references/agent-command-sandbox.md
|
|
255
|
+
|
|
256
|
+
# s18 infra: a second sync-registry:v1 block shadows the real one => rc 2.
|
|
257
|
+
python3 - "$SEC4" <<'PY'
|
|
258
|
+
import re, sys
|
|
259
|
+
p = sys.argv[1]
|
|
260
|
+
text = open(p).read()
|
|
261
|
+
shadow = "<!-- sync-registry:v1\ntrigger-canonical: 身份\nq2-canonical: 伪造\nq4-canonical: 伪造\n-->\n"
|
|
262
|
+
assert len(re.findall(r'<!--\s*sync-registry:v1', text)) == 1, "fixture premise: exactly one registry block"
|
|
263
|
+
open(p, "w").write(shadow + text)
|
|
264
|
+
PY
|
|
265
|
+
run_sync
|
|
266
|
+
assert_rc "$rc" 2 "a second registry block must fail closed as infra"
|
|
267
|
+
assert_contains "sync-registry:v1 blocks" "$out" "infra marker names the shadow block"
|
|
268
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
269
|
+
|
|
270
|
+
# s19 infra: duplicate key inside the registry => rc 2 (last-wins override
|
|
271
|
+
# would be invisible).
|
|
272
|
+
replace_in_file "$SEC4" "q2-canonical: 伪造,篡改,重放,越权,重复提交,误删,覆盖" $'q2-canonical: 伪造,篡改\nq2-canonical: 伪造'
|
|
273
|
+
run_sync
|
|
274
|
+
assert_rc "$rc" 2 "a duplicate registry key must fail closed as infra"
|
|
275
|
+
assert_contains "duplicate registry key" "$out" "infra marker names the duplicate"
|
|
276
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
277
|
+
|
|
278
|
+
# s20 RED: alias whose right side is not a canonical trigger token (mapping
|
|
279
|
+
# INTO an uncarried token) must block.
|
|
280
|
+
replace_in_file "$SEC4" "alias: 租户或用户隔离=租户/用户隔离" "alias: 租户或用户隔离=租户与用户隔离"
|
|
281
|
+
run_sync
|
|
282
|
+
assert_rc "$rc" 1 "alias mapping into an uncarried canonical token must block"
|
|
283
|
+
assert_contains "alias right side" "$out" "block names the alias right side"
|
|
284
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
285
|
+
|
|
286
|
+
# s21 RED: alias whose left side is not in the extracted bootstrap trigger
|
|
287
|
+
# list (an unattested alias) must block.
|
|
288
|
+
replace_in_file "$SEC4" "alias: 租户或用户隔离=租户/用户隔离" "alias: 租户或用户隔离=租户/用户隔离,滥用=覆盖"
|
|
289
|
+
run_sync
|
|
290
|
+
assert_rc "$rc" 1 "an unattested alias left side must block"
|
|
291
|
+
assert_contains "alias left side" "$out" "block names the alias left side"
|
|
292
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
293
|
+
|
|
294
|
+
# s22 RED (end-to-end): a sync violation must redden the FULL validator
|
|
295
|
+
# through the deferred verdict — the static wiring anchors alone cannot prove
|
|
296
|
+
# the rc path fires, and a deleted `|| [ "$sync_pointer_rc" -eq 1 ]` leg must
|
|
297
|
+
# not go green.
|
|
298
|
+
replace_in_file "$REPO/agent-context/session-start.md" "「合并执行协议」" "「合并协议」"
|
|
299
|
+
set +e
|
|
300
|
+
out="$(env -u ALIAS_AUDIT_CMD -u CCL_SKILL_BASE_REF bash "$validator" "$REPO" 2>&1)"
|
|
301
|
+
rc=$?
|
|
302
|
+
set -e
|
|
303
|
+
assert_rc "$rc" 1 "a sync violation must fail the full validator"
|
|
304
|
+
assert_contains "sync_reference_blocking_failed" "$out" "combined verdict present end-to-end"
|
|
305
|
+
assert_not_contains "ccl_skill_check_clean_ok" "$out" "no clean token next to a sync block"
|
|
306
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
307
|
+
|
|
308
|
+
# s23 RED: renaming the real canonical section while keeping a narrative
|
|
309
|
+
# mention of the label must still block (the pinned literal carries the
|
|
310
|
+
# structural prefix, so a demoted label no longer matches).
|
|
311
|
+
replace_in_file "$WT" "**合并执行协议(canonical——" "(既往)合并执行协议(canonical——"
|
|
312
|
+
run_sync
|
|
313
|
+
assert_rc "$rc" 1 "a demoted-to-narrative section label must block"
|
|
314
|
+
assert_contains "sync_pointer_block: merge-exec-protocol-section" "$out" "block names the pair"
|
|
315
|
+
git -C "$REPO" checkout -- skills/worktree-isolation/SKILL.md
|
|
316
|
+
|
|
317
|
+
# s24 RED: a compliant decoy line inserted before the real reflection makes
|
|
318
|
+
# the extraction anchor ambiguous (scan requires exactly one hit).
|
|
319
|
+
replace_in_file "$REPO/agent-context/session-start.md" "② 若某值被伪造/篡改爆炸半径" "触及 身份·计费·配额·租户或用户隔离·权限·删除·覆盖 时\n② 若某值被伪造/篡改爆炸半径"
|
|
320
|
+
run_sync
|
|
321
|
+
assert_rc "$rc" 1 "a decoy anchor line must block"
|
|
322
|
+
assert_contains "decoy/duplicate anchor" "$out" "block names the ambiguity"
|
|
323
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
324
|
+
|
|
325
|
+
# s25 RED: alias laundering — an escaping token added to the bootstrap trigger
|
|
326
|
+
# list plus an alias onto an already-carried canonical token must block (an
|
|
327
|
+
# alias must be the sole attestation of its canonical token).
|
|
328
|
+
replace_in_file "$REPO/agent-context/session-start.md" "权限·删除·覆盖 时" "权限·滥用·删除·覆盖 时"
|
|
329
|
+
replace_in_file "$SEC4" "alias: 租户或用户隔离=租户/用户隔离" "alias: 租户或用户隔离=租户/用户隔离,滥用=权限"
|
|
330
|
+
run_sync
|
|
331
|
+
assert_rc "$rc" 1 "alias laundering must block"
|
|
332
|
+
assert_contains "sole attestation" "$out" "block names the sole-attestation rule"
|
|
333
|
+
git -C "$REPO" checkout -- agent-context/session-start.md skills/requirement-doc-writer/references/security-four-questions.md
|
|
334
|
+
|
|
335
|
+
# s26 RED: the bootstrap pointer demoted to a narrative mention (bare name
|
|
336
|
+
# survives, structural literal gone) must block on the source side.
|
|
337
|
+
replace_in_file "$REPO/agent-context/session-start.md" "「合并执行协议」(canonical" "(见合并执行协议)"
|
|
338
|
+
run_sync
|
|
339
|
+
assert_rc "$rc" 1 "a demoted bootstrap pointer must block"
|
|
340
|
+
assert_contains "sync_pointer_block: merge-exec-protocol-section: agent-context/session-start.md lost the registered pointer literal" "$out" "block names the source-side loss"
|
|
341
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
342
|
+
|
|
343
|
+
# s27 RED: shedding a floor predicate from the bootstrap Q2 table (anchor
|
|
344
|
+
# intact, still a canonical subset) must block on the registered min floor.
|
|
345
|
+
replace_in_file "$REPO/agent-context/session-start.md" "若某值被伪造/篡改爆炸半径" "若某值被伪造爆炸半径"
|
|
346
|
+
run_sync
|
|
347
|
+
assert_rc "$rc" 1 "shedding a floor predicate must block"
|
|
348
|
+
assert_contains "below the registered q2-bootstrap-min floor" "$out" "block names the floor breach"
|
|
349
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
350
|
+
|
|
351
|
+
# s28 RED: both sides of a pair drifted in the same run must BOTH be reported
|
|
352
|
+
# (no early return on the source side).
|
|
353
|
+
replace_in_file "$REPO/agent-context/session-start.md" "「合并执行协议」(canonical" "(见合并执行协议)"
|
|
354
|
+
replace_in_file "$WT" "**合并执行协议(canonical——" "(既往)合并执行协议(canonical——"
|
|
355
|
+
run_sync
|
|
356
|
+
assert_rc "$rc" 1 "two-sided drift must block"
|
|
357
|
+
assert_contains "agent-context/session-start.md lost the registered pointer literal" "$out" "source side reported"
|
|
358
|
+
assert_contains "canonical target" "$out" "target side reported in the same run"
|
|
359
|
+
git -C "$REPO" checkout -- agent-context/session-start.md skills/worktree-isolation/SKILL.md
|
|
360
|
+
|
|
361
|
+
# s29a: the semantic gate resolves beside the validator, so pruning the IN-TREE
|
|
362
|
+
# copy changes nothing — on a clean tree the validator still evaluates with its
|
|
363
|
+
# own copy (rc 0, done markers present). Removing the whole in-tree scripts
|
|
364
|
+
# dir still dies on missing_validate_script (rc 2, $root-based guard).
|
|
365
|
+
rm -f "$REPO/skills/skill-extraction-workflow/scripts/check-sync-pointers.sh"
|
|
366
|
+
set +e
|
|
367
|
+
out="$(env -u ALIAS_AUDIT_CMD -u CCL_SKILL_BASE_REF bash "$validator" "$REPO" 2>&1)"
|
|
368
|
+
rc=$?
|
|
369
|
+
set -e
|
|
370
|
+
assert_rc "$rc" 0 "pruning the in-tree copy must not matter (validator uses its own)"
|
|
371
|
+
assert_contains "sync_pointer_check_done" "$out" "the validator's own gate copy ran"
|
|
372
|
+
git -C "$REPO" checkout HEAD -- skills/skill-extraction-workflow/scripts/check-sync-pointers.sh
|
|
373
|
+
rm -rf "$REPO/skills/skill-extraction-workflow/scripts"
|
|
374
|
+
set +e
|
|
375
|
+
out="$(env -u ALIAS_AUDIT_CMD -u CCL_SKILL_BASE_REF bash "$validator" "$REPO" 2>&1)"
|
|
376
|
+
rc=$?
|
|
377
|
+
set -e
|
|
378
|
+
assert_rc "$rc" 2 "a pruned scripts dir must fail even earlier (validate-skill)"
|
|
379
|
+
assert_contains "missing_validate_script" "$out" "validate-skill absence beats the semantic tier"
|
|
380
|
+
git -C "$REPO" checkout HEAD -- skills/skill-extraction-workflow/scripts
|
|
381
|
+
|
|
382
|
+
# replace_all_in_file <file> <old> <new> — every occurrence.
|
|
383
|
+
replace_all_in_file() {
|
|
384
|
+
python3 - "$1" "$2" "$3" <<'PY'
|
|
385
|
+
import sys
|
|
386
|
+
path, old, new = sys.argv[1], sys.argv[2], sys.argv[3]
|
|
387
|
+
text = open(path).read()
|
|
388
|
+
assert old in text, f"fixture anchor missing in {path}: {old!r}"
|
|
389
|
+
open(path, "w").write(text.replace(old, new))
|
|
390
|
+
PY
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
# s30 RED: the three pointer pairs whose bootstrap literal is a bare mention
|
|
394
|
+
# must block when the directive is demoted to narrative (structural literal
|
|
395
|
+
# gone, bare token surviving).
|
|
396
|
+
replace_in_file "$REPO/agent-context/session-start.md" "详见 tighten-doc cross-model caveat" "(见 cross-model caveat)"
|
|
397
|
+
run_sync
|
|
398
|
+
assert_rc "$rc" 1 "a demoted cross-model pointer must block"
|
|
399
|
+
assert_contains "sync_pointer_block: cross-model-caveat: agent-context/session-start.md lost the registered pointer literal" "$out" "block names the demoted pointer"
|
|
400
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
401
|
+
replace_in_file "$REPO/agent-context/session-start.md" "细则归 \`llm-inference-integration\` agent-command-sandbox" "(见 agent-command-sandbox)"
|
|
402
|
+
run_sync
|
|
403
|
+
assert_rc "$rc" 1 "a demoted sandbox pointer must block"
|
|
404
|
+
assert_contains "sync_pointer_block: agent-command-sandbox: agent-context/session-start.md lost the registered pointer literal" "$out" "block names the demoted pointer"
|
|
405
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
406
|
+
replace_all_in_file "$REPO/agent-context/session-start.md" "详见 product-rd 验证门 + skill-extraction \`dual-track-review-gate.md\`" "(见 dual-track-review-gate.md)"
|
|
407
|
+
run_sync
|
|
408
|
+
assert_rc "$rc" 1 "a demoted dual-track pointer must block"
|
|
409
|
+
assert_contains "sync_pointer_block: dual-track-review-gate-ref: agent-context/session-start.md lost the registered pointer literal" "$out" "block names the demoted pointer"
|
|
410
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
411
|
+
|
|
412
|
+
# s31 RED: a canonical token surviving only as a SUPERSTRING of a different
|
|
413
|
+
# word must not attest (list-item equality, not substring).
|
|
414
|
+
replace_in_file "$SEC4" "身份、计费、配额、租户/用户隔离、权限、删除、覆盖" "身份、计费、配额、租户/用户隔离、权限模型、删除、覆盖"
|
|
415
|
+
run_sync
|
|
416
|
+
assert_rc "$rc" 1 "a superstring-only token must not attest"
|
|
417
|
+
assert_contains "absent from its list region" "$out" "block names the attestation failure"
|
|
418
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
419
|
+
|
|
420
|
+
# s32 GREEN: a legal rewording that inserts a comma before the anchor tail
|
|
421
|
+
# must NOT false-red (edge punctuation is trimmed from extracted items).
|
|
422
|
+
replace_in_file "$REPO/agent-context/session-start.md" "若某值被伪造/篡改爆炸半径" "若某值被伪造/篡改,爆炸半径"
|
|
423
|
+
run_sync
|
|
424
|
+
assert_rc "$rc" 0 "an inserted comma before the anchor tail must not false-red"
|
|
425
|
+
assert_contains "sync_semantic_check_ok" "$out" "clean verdict survives the rewording"
|
|
426
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
427
|
+
|
|
428
|
+
# s29: substitution immunity — the semantic gate resolves beside the
|
|
429
|
+
# validator, so doctoring the in-tree copy to `exit 0` must NOT launder a real
|
|
430
|
+
# violation: the full validator still reds on a planted pointer loss.
|
|
431
|
+
printf '#!/usr/bin/env bash\nexit 0\n' > "$REPO/skills/skill-extraction-workflow/scripts/check-sync-pointers.sh"
|
|
432
|
+
replace_in_file "$REPO/agent-context/session-start.md" "「合并执行协议」(canonical" "(见合并执行协议)"
|
|
433
|
+
set +e
|
|
434
|
+
out="$(env -u ALIAS_AUDIT_CMD -u CCL_SKILL_BASE_REF bash "$validator" "$REPO" 2>&1)"
|
|
435
|
+
rc=$?
|
|
436
|
+
set -e
|
|
437
|
+
assert_rc "$rc" 1 "a doctored in-tree gate must not launder a real violation"
|
|
438
|
+
assert_contains "sync_reference_blocking_failed" "$out" "validator still reaches the sync verdict via its own gate copy"
|
|
439
|
+
git -C "$REPO" checkout HEAD -- agent-context/session-start.md skills/skill-extraction-workflow/scripts/check-sync-pointers.sh
|
|
440
|
+
|
|
441
|
+
# s33 infra: deleting a registered min-floor key disables the anti-shrink
|
|
442
|
+
# guard — the key is required, so its absence fails closed (rc 2).
|
|
443
|
+
python3 - "$SEC4" <<'PY'
|
|
444
|
+
import sys
|
|
445
|
+
p = sys.argv[1]
|
|
446
|
+
lines = open(p).readlines()
|
|
447
|
+
assert any(l.startswith("q2-bootstrap-min:") for l in lines), "fixture premise: floor key exists"
|
|
448
|
+
open(p, "w").writelines(l for l in lines if not l.startswith("q2-bootstrap-min:"))
|
|
449
|
+
PY
|
|
450
|
+
run_sync
|
|
451
|
+
assert_rc "$rc" 2 "a deleted min-floor key must fail closed as infra"
|
|
452
|
+
assert_contains "registry missing key q2-bootstrap-min" "$out" "infra marker names the missing floor key"
|
|
453
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
454
|
+
|
|
455
|
+
# s34 RED: the trigger list restructured across lines — the region must not
|
|
456
|
+
# reach past its own line to attest tokens ([^。\n] bound).
|
|
457
|
+
replace_in_file "$SEC4" "触及:身份、计费、配额、租户/用户隔离、权限、删除、覆盖。" $'触及:身份、计费、配额、租户/用户隔离、权限\n删除、覆盖。'
|
|
458
|
+
run_sync
|
|
459
|
+
assert_rc "$rc" 1 "a cross-line restructured trigger list must block"
|
|
460
|
+
assert_contains "absent from its list region" "$out" "block names the out-of-line attestation"
|
|
461
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
462
|
+
|
|
463
|
+
# s35 RED: a decoy DUPLICATE of a registered literal (real directive kept,
|
|
464
|
+
# same text also pasted into an unrelated line) makes the pointer
|
|
465
|
+
# unverifiable — each literal must occur exactly once on its side.
|
|
466
|
+
replace_in_file "$REPO/agent-context/session-start.md" "② 若某值被伪造/篡改爆炸半径" "(示例:详见 tighten-doc cross-model caveat)\n② 若某值被伪造/篡改爆炸半径"
|
|
467
|
+
run_sync
|
|
468
|
+
assert_rc "$rc" 1 "a duplicate of the literal must block"
|
|
469
|
+
assert_contains "2 times" "$out" "block names the duplicate count"
|
|
470
|
+
git -C "$REPO" checkout -- agent-context/session-start.md
|
|
471
|
+
|
|
472
|
+
# s36 RED (e2e infra): an infra condition in the tree (registry block deleted)
|
|
473
|
+
# must fail the FULL validator closed at rc 2 — never as a clean/advisory pass.
|
|
474
|
+
# (The deletion trims trailing blank lines: a whitespace-error diff dies on an
|
|
475
|
+
# earlier gate and would never reach the semantic tier.)
|
|
476
|
+
python3 - "$SEC4" <<'PY'
|
|
477
|
+
import re, sys
|
|
478
|
+
p = sys.argv[1]
|
|
479
|
+
text = open(p).read()
|
|
480
|
+
text2 = re.sub(r'<!--\s*sync-registry:v1\s*.*?-->\n?', '', text, flags=re.S)
|
|
481
|
+
assert text2 != text, "fixture premise: registry block exists"
|
|
482
|
+
open(p, 'w').write(text2.rstrip("\n") + "\n")
|
|
483
|
+
PY
|
|
484
|
+
set +e
|
|
485
|
+
out="$(env -u ALIAS_AUDIT_CMD -u CCL_SKILL_BASE_REF bash "$validator" "$REPO" 2>&1)"
|
|
486
|
+
rc=$?
|
|
487
|
+
set -e
|
|
488
|
+
assert_rc "$rc" 2 "an infra condition must fail the full validator at rc 2"
|
|
489
|
+
assert_contains "sync_pointer_infra_failed" "$out" "validator propagates the infra failure"
|
|
490
|
+
assert_not_contains "ccl_skill_check_ok" "$out" "no ok token at all on an infra failure"
|
|
491
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
492
|
+
|
|
493
|
+
# s37: an ABORTED subset interpreter must never be reported as a policy
|
|
494
|
+
# verdict. Ruby exits 1 on any uncaught exception (missing interpreter,
|
|
495
|
+
# non-UTF-8 locale, syntax error in the embedded program), and rc 1 out of this
|
|
496
|
+
# gate is what the validator folds into "reword both sides of a registered
|
|
497
|
+
# pair" — so collapsing the two would let a check that evaluated ZERO rules
|
|
498
|
+
# masquerade as a registry violation. Declared violations exit 3 internally;
|
|
499
|
+
# everything else is infra. A stub `ruby` on PATH reproduces the abort without
|
|
500
|
+
# mutating the gate under test.
|
|
501
|
+
stub_bin="$TMP/stub-bin"
|
|
502
|
+
mkdir -p "$stub_bin"
|
|
503
|
+
printf '#!/bin/sh\necho "ruby: simulated interpreter abort" >&2\nexit 1\n' > "$stub_bin/ruby"
|
|
504
|
+
chmod +x "$stub_bin/ruby"
|
|
505
|
+
set +e
|
|
506
|
+
out="$(PATH="$stub_bin:$PATH" bash "$SYNC_SCRIPT" "$REPO" 2>&1)"
|
|
507
|
+
rc=$?
|
|
508
|
+
set -e
|
|
509
|
+
assert_rc "$rc" 2 "an aborted subset interpreter must fail closed as infra, not as a registry violation"
|
|
510
|
+
assert_contains "sync_subset_infra_failed rc=1" "$out" "infra marker names the aborted interpreter"
|
|
511
|
+
assert_not_contains "sync_semantic_blocking_failed" "$out" "an abort must not be diagnosed as a policy violation"
|
|
512
|
+
assert_not_contains "sync_semantic_check_ok" "$out" "no ok token when the subset tier never ran"
|
|
513
|
+
# An exit STATUS is not evidence the tier ran, in EITHER direction: a silent rc 0
|
|
514
|
+
# would print the clean-landing token for zero evaluated rules (gate-did-not-judge
|
|
515
|
+
# read as gate-judged-and-passed), and a silent rc 3 would recreate the very
|
|
516
|
+
# rc-confusion the split removes. Each accepted status must carry the tier's own
|
|
517
|
+
# terminal token, so walk every status a stub can return.
|
|
518
|
+
for stub_rc in 0 3 2; do
|
|
519
|
+
printf '#!/bin/sh\nexit %s\n' "$stub_rc" > "$stub_bin/ruby"
|
|
520
|
+
set +e
|
|
521
|
+
out="$(PATH="$stub_bin:$PATH" bash "$SYNC_SCRIPT" "$REPO" 2>&1)"
|
|
522
|
+
rc=$?
|
|
523
|
+
set -e
|
|
524
|
+
assert_rc "$rc" 2 "a silent subset interpreter exiting $stub_rc must fail closed as infra"
|
|
525
|
+
assert_contains "sync_subset_infra_failed rc=$stub_rc" "$out" "infra marker names the unattested status $stub_rc"
|
|
526
|
+
assert_not_contains "sync_semantic_check_ok" "$out" "no ok token when the subset tier emitted no terminal token (rc $stub_rc)"
|
|
527
|
+
assert_not_contains "sync_semantic_blocking_failed" "$out" "an unattested status $stub_rc must not be diagnosed as a policy violation"
|
|
528
|
+
done
|
|
529
|
+
# Counterpart: a genuine declared violation still lands on rc 1 with the
|
|
530
|
+
# blocking verdict, so the split did not turn real findings into infra.
|
|
531
|
+
replace_in_file "$SEC4" "q2-canonical: 伪造,篡改," "q2-canonical: "
|
|
532
|
+
run_sync
|
|
533
|
+
assert_rc "$rc" 1 "a declared subset violation must still block at rc 1"
|
|
534
|
+
assert_contains "escapes the canonical predicate set" "$out" "the declared violation is named"
|
|
535
|
+
assert_contains "sync_semantic_blocking_failed" "$out" "the blocking verdict is still emitted"
|
|
536
|
+
git -C "$REPO" checkout -- skills/requirement-doc-writer/references/security-four-questions.md
|
|
537
|
+
|
|
538
|
+
echo "test_check_sync_pointers: ok"
|