cc-devflow 4.2.0 → 4.4.1
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/.claude/skills/cc-act/CHANGELOG.md +64 -0
- package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
- package/.claude/skills/cc-act/SKILL.md +322 -0
- package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +64 -0
- package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +25 -0
- package/.claude/skills/cc-act/references/closure-contract.md +49 -0
- package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
- package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
- package/.claude/skills/cc-act/scripts/cc-act-common.sh +240 -0
- package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
- package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
- package/.claude/skills/cc-act/scripts/render-pr-brief.sh +195 -0
- package/.claude/skills/cc-act/scripts/sync-act-docs.sh +315 -0
- package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
- package/.claude/skills/cc-check/CHANGELOG.md +73 -0
- package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
- package/.claude/skills/cc-check/SKILL.md +345 -0
- package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +50 -0
- package/.claude/skills/cc-check/references/gate-contract.md +29 -0
- package/.claude/skills/cc-check/references/review-contract.md +45 -0
- package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
- package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
- package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
- package/.claude/skills/cc-do/CHANGELOG.md +49 -0
- package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
- package/.claude/skills/cc-do/SKILL.md +216 -0
- package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
- package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
- package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
- package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
- package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
- package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
- package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
- package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
- package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
- package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
- package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
- package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
- package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
- package/.claude/skills/cc-investigate/CHANGELOG.md +26 -0
- package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
- package/.claude/skills/cc-investigate/SKILL.md +221 -0
- package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +55 -0
- package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +52 -0
- package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +103 -0
- package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
- package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
- package/.claude/skills/cc-plan/CHANGELOG.md +99 -0
- package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
- package/.claude/skills/cc-plan/SKILL.md +325 -0
- package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +155 -0
- package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +98 -0
- package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +108 -0
- package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +79 -0
- package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
- package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
- package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
- package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
- package/.claude/skills/cc-roadmap/CHANGELOG.md +114 -0
- package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
- package/.claude/skills/cc-roadmap/SKILL.md +259 -0
- package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +45 -0
- package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +153 -0
- package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +48 -0
- package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
- package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
- package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
- package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
- package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
- package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
- package/.claude/skills/cc-simplify/SKILL.md +55 -0
- package/.claude/skills/cc-spec-init/CHANGELOG.md +7 -0
- package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
- package/.claude/skills/cc-spec-init/SKILL.md +127 -0
- package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +63 -0
- package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +25 -0
- package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +34 -0
- package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
- package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
- package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
- package/CHANGELOG.md +101 -4
- package/README.md +120 -755
- package/README.zh-CN.md +119 -755
- package/bin/adapt.js +2 -6
- package/bin/cc-devflow-cli.js +72 -177
- package/config/distributable-skills.json +24 -0
- package/docs/CLAUDE.md +10 -6
- package/docs/commands/README.md +19 -46
- package/docs/commands/README.zh-CN.md +25 -48
- package/docs/examples/BY-ARTIFACT.md +7 -0
- package/docs/examples/README.md +38 -0
- package/docs/examples/START-HERE.md +149 -0
- package/docs/examples/example-bindings.json +38 -0
- package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
- package/docs/examples/full-design-blocked/README.md +55 -0
- package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
- package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
- package/docs/examples/local-handoff/BACKLOG.md +45 -0
- package/docs/examples/local-handoff/README.md +56 -0
- package/docs/examples/local-handoff/ROADMAP.md +45 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
- package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
- package/docs/examples/pdca-loop/BACKLOG.md +46 -0
- package/docs/examples/pdca-loop/README.md +58 -0
- package/docs/examples/pdca-loop/ROADMAP.md +133 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
- package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
- package/docs/examples/scripts/check-example-bindings.sh +116 -0
- package/docs/guides/getting-started.md +94 -129
- package/docs/guides/getting-started.zh-CN.md +103 -84
- package/docs/skill-runtime-migration.md +46 -0
- package/docs/v4.3.0-migration-guide.md +111 -0
- package/lib/compiler/CLAUDE.md +55 -84
- package/lib/compiler/__tests__/drift.test.js +1 -1
- package/lib/compiler/__tests__/errors.test.js +0 -1
- package/lib/compiler/__tests__/integration.test.js +49 -3
- package/lib/compiler/__tests__/manifest.test.js +0 -156
- package/lib/compiler/__tests__/parser.test.js +33 -104
- package/lib/compiler/__tests__/schemas.test.js +30 -34
- package/lib/compiler/__tests__/skills-registry.test.js +114 -0
- package/lib/compiler/__tests__/transformer.test.js +5 -9
- package/lib/compiler/emitters/antigravity-emitter.js +5 -213
- package/lib/compiler/emitters/base-emitter.js +3 -298
- package/lib/compiler/emitters/codex-emitter.js +4 -202
- package/lib/compiler/emitters/cursor-emitter.js +3 -287
- package/lib/compiler/emitters/qwen-emitter.js +4 -176
- package/lib/compiler/index.js +65 -345
- package/lib/compiler/manifest.js +6 -68
- package/lib/compiler/parser.js +31 -63
- package/lib/compiler/platforms.js +32 -277
- package/lib/compiler/resource-copier.js +176 -6
- package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
- package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
- package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
- package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
- package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
- package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
- package/lib/compiler/rules-emitters/index.js +6 -3
- package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
- package/lib/compiler/schemas.js +8 -4
- package/lib/compiler/skills-registry.js +213 -15
- package/lib/compiler/transformer.js +1 -1
- package/lib/skill-runtime/CLAUDE.md +19 -0
- package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
- package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +181 -0
- package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
- package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
- package/lib/skill-runtime/__tests__/intent.test.js +219 -0
- package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
- package/lib/skill-runtime/__tests__/paths.test.js +42 -0
- package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
- package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
- package/lib/skill-runtime/__tests__/query.test.js +284 -0
- package/lib/skill-runtime/__tests__/runtime.integration.test.js +279 -0
- package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
- package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
- package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
- package/lib/skill-runtime/__tests__/worker.test.js +56 -0
- package/lib/skill-runtime/artifacts.js +93 -0
- package/lib/skill-runtime/delegation.js +533 -0
- package/lib/skill-runtime/index.js +34 -0
- package/lib/skill-runtime/intent.js +333 -0
- package/lib/skill-runtime/lifecycle.js +294 -0
- package/lib/skill-runtime/operations/CLAUDE.md +19 -0
- package/lib/skill-runtime/operations/approve.js +66 -0
- package/lib/skill-runtime/operations/autopilot-core.js +337 -0
- package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
- package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
- package/lib/skill-runtime/operations/autopilot.js +163 -0
- package/lib/skill-runtime/operations/dispatch.js +454 -0
- package/lib/skill-runtime/operations/init.js +64 -0
- package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
- package/lib/skill-runtime/operations/plan.js +59 -0
- package/lib/skill-runtime/operations/prepare-pr.js +25 -0
- package/lib/{harness → skill-runtime}/operations/release.js +18 -5
- package/lib/skill-runtime/operations/resume.js +143 -0
- package/lib/skill-runtime/operations/snapshot.js +45 -0
- package/lib/skill-runtime/operations/verify.js +170 -0
- package/lib/skill-runtime/operations/worker-run.js +529 -0
- package/lib/skill-runtime/operations/worker.js +33 -0
- package/lib/skill-runtime/paths.js +213 -0
- package/lib/skill-runtime/planner.js +519 -0
- package/lib/skill-runtime/query.js +157 -0
- package/lib/skill-runtime/review.js +557 -0
- package/lib/skill-runtime/schemas.js +400 -0
- package/lib/{harness → skill-runtime}/store.js +45 -30
- package/lib/skill-runtime/team-state.js +122 -0
- package/package.json +13 -11
- package/.claude/CLAUDE.md +0 -125
- package/.claude/agents/architecture-designer.md +0 -443
- package/.claude/agents/bug-analyzer.md +0 -381
- package/.claude/agents/checklist-agent.md +0 -175
- package/.claude/agents/clarify-analyst.md +0 -50
- package/.claude/agents/code-quality-reviewer.md +0 -205
- package/.claude/agents/code-reviewer.md +0 -71
- package/.claude/agents/codex-analyzer.md +0 -39
- package/.claude/agents/compatibility-checker.md +0 -579
- package/.claude/agents/consistency-checker.md +0 -532
- package/.claude/agents/dev-implementer.md +0 -195
- package/.claude/agents/flow-researcher.md +0 -132
- package/.claude/agents/impact-analyzer.md +0 -440
- package/.claude/agents/planner.md +0 -230
- package/.claude/agents/prd-writer.md +0 -320
- package/.claude/agents/project-guidelines-generator.md +0 -1329
- package/.claude/agents/qa-tester.md +0 -313
- package/.claude/agents/release-manager.md +0 -295
- package/.claude/agents/security-reviewer.md +0 -314
- package/.claude/agents/spec-reviewer.md +0 -221
- package/.claude/agents/style-guide-generator.md +0 -458
- package/.claude/agents/tech-architect.md +0 -516
- package/.claude/agents/ui-designer.md +0 -485
- package/.claude/commands/core/architecture.md +0 -459
- package/.claude/commands/core/guidelines.md +0 -511
- package/.claude/commands/core/roadmap.md +0 -468
- package/.claude/commands/core/style.md +0 -83
- package/.claude/commands/flow/CLAUDE.md +0 -28
- package/.claude/commands/flow/archive.md +0 -280
- package/.claude/commands/flow/checklist.md +0 -18
- package/.claude/commands/flow/clarify.md +0 -18
- package/.claude/commands/flow/constitution.md +0 -82
- package/.claude/commands/flow/context.md +0 -150
- package/.claude/commands/flow/delta.md +0 -245
- package/.claude/commands/flow/dev.md +0 -40
- package/.claude/commands/flow/fix.md +0 -217
- package/.claude/commands/flow/ideate.md +0 -214
- package/.claude/commands/flow/init.md +0 -38
- package/.claude/commands/flow/new.md +0 -23
- package/.claude/commands/flow/quality.md +0 -21
- package/.claude/commands/flow/release.md +0 -36
- package/.claude/commands/flow/restart.md +0 -97
- package/.claude/commands/flow/spec.md +0 -36
- package/.claude/commands/flow/status.md +0 -64
- package/.claude/commands/flow/update.md +0 -111
- package/.claude/commands/flow/upgrade.md +0 -115
- package/.claude/commands/flow/verify.md +0 -37
- package/.claude/commands/flow/workspace.md +0 -155
- package/.claude/commands/util/cancel-ralph.md +0 -60
- package/.claude/commands/util/code-review.md +0 -58
- package/.claude/commands/util/git-commit.md +0 -422
- package/.claude/commands/util/problem-analyzer.md +0 -60
- package/.claude/config/quality-gates.yml +0 -305
- package/.claude/config/quality-rules.yml +0 -161
- package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
- package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
- package/.claude/docs/design/intent-driven-input-design.md +0 -380
- package/.claude/docs/design/prd-version-management-design.md +0 -437
- package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
- package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
- package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
- package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
- package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
- package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -633
- package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
- package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
- package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
- package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
- package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
- package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
- package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
- package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
- package/.claude/docs/templates/EPIC_TEMPLATE.md +0 -805
- package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
- package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
- package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
- package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
- package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
- package/.claude/docs/templates/PRD_TEMPLATE.md +0 -562
- package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
- package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
- package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
- package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
- package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -1266
- package/.claude/docs/templates/TASKS_TEMPLATE.md +0 -523
- package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +0 -1019
- package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -1435
- package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
- package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
- package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
- package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
- package/.claude/docs/templates/context/dev.jsonl.template +0 -6
- package/.claude/docs/templates/context/epic.jsonl.template +0 -5
- package/.claude/docs/templates/context/prd.jsonl.template +0 -4
- package/.claude/docs/templates/context/research.jsonl.template +0 -4
- package/.claude/docs/templates/context/review.jsonl.template +0 -5
- package/.claude/docs/templates/context/tech.jsonl.template +0 -5
- package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
- package/.claude/guides/project-guidelines-system.md +0 -463
- package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
- package/.claude/guides/technical-guides/git-github-guide.md +0 -642
- package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
- package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
- package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
- package/.claude/hooks/CLAUDE.md +0 -342
- package/.claude/hooks/checklist-gate.js +0 -397
- package/.claude/hooks/error-handling-reminder.sh +0 -12
- package/.claude/hooks/error-handling-reminder.ts +0 -459
- package/.claude/hooks/hooks.json +0 -15
- package/.claude/hooks/inject-agent-context.ts +0 -480
- package/.claude/hooks/inject-skill-context.ts +0 -359
- package/.claude/hooks/post-tool-use-tracker.sh +0 -280
- package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
- package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
- package/.claude/hooks/ralph-loop.ts +0 -931
- package/.claude/hooks/ralph-stop-hook.sh +0 -190
- package/.claude/hooks/skill-activation-prompt.sh +0 -36
- package/.claude/hooks/skill-activation-prompt.ts +0 -214
- package/.claude/hooks/state/skills-used-test-guard.json +0 -3
- package/.claude/hooks/task-completed-hook.ts +0 -593
- package/.claude/hooks/teammate-idle-hook.ts +0 -690
- package/.claude/hooks/types/team-types.d.ts +0 -238
- package/.claude/rules/devflow-conventions.md +0 -286
- package/.claude/rules/project-constitution.md +0 -1002
- package/.claude/rules/rationalization-library.md +0 -282
- package/.claude/schemas/constitution.schema.json +0 -43
- package/.claude/scripts/CLAUDE.md +0 -76
- package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
- package/.claude/scripts/archive-requirement.sh +0 -394
- package/.claude/scripts/calculate-checklist-completion.sh +0 -243
- package/.claude/scripts/calculate-quarter.sh +0 -206
- package/.claude/scripts/check-dependencies.sh +0 -409
- package/.claude/scripts/check-prerequisites.sh +0 -232
- package/.claude/scripts/check-task-status.sh +0 -288
- package/.claude/scripts/checklist-errors.sh +0 -131
- package/.claude/scripts/common.sh +0 -1102
- package/.claude/scripts/consolidate-research.sh +0 -182
- package/.claude/scripts/create-requirement.sh +0 -451
- package/.claude/scripts/delta-parser.ts +0 -527
- package/.claude/scripts/detect-file-conflicts.sh +0 -151
- package/.claude/scripts/export-contracts.sh +0 -117
- package/.claude/scripts/extract-data-model.sh +0 -78
- package/.claude/scripts/flow-context-add.sh +0 -134
- package/.claude/scripts/flow-context-init.sh +0 -133
- package/.claude/scripts/flow-context-validate.sh +0 -144
- package/.claude/scripts/flow-delta-apply.sh +0 -297
- package/.claude/scripts/flow-delta-archive.sh +0 -71
- package/.claude/scripts/flow-delta-create.sh +0 -202
- package/.claude/scripts/flow-delta-list.sh +0 -142
- package/.claude/scripts/flow-delta-status.sh +0 -235
- package/.claude/scripts/flow-quality-full.sh +0 -215
- package/.claude/scripts/flow-quality-quick.sh +0 -119
- package/.claude/scripts/flow-workspace-init.sh +0 -117
- package/.claude/scripts/flow-workspace-record.sh +0 -164
- package/.claude/scripts/generate-clarification-questions.sh +0 -377
- package/.claude/scripts/generate-clarification-report.sh +0 -463
- package/.claude/scripts/generate-quickstart.sh +0 -146
- package/.claude/scripts/generate-research-tasks.sh +0 -157
- package/.claude/scripts/generate-status-report.sh +0 -523
- package/.claude/scripts/generate-tech-analysis.sh +0 -46
- package/.claude/scripts/get-workflow-status.sh +0 -415
- package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
- package/.claude/scripts/manage-constitution.sh +0 -602
- package/.claude/scripts/mark-task-complete.sh +0 -198
- package/.claude/scripts/parse-task-dependencies.js +0 -334
- package/.claude/scripts/populate-research-tasks.sh +0 -284
- package/.claude/scripts/record-quality-error.sh +0 -165
- package/.claude/scripts/recover-workflow.sh +0 -463
- package/.claude/scripts/run-clarify-scan.sh +0 -601
- package/.claude/scripts/run-high-review.sh +0 -62
- package/.claude/scripts/run-problem-analysis.sh +0 -68
- package/.claude/scripts/run-quality-gates.sh +0 -242
- package/.claude/scripts/setup-epic.sh +0 -173
- package/.claude/scripts/setup-ralph-loop.sh +0 -155
- package/.claude/scripts/sync-roadmap-progress.sh +0 -300
- package/.claude/scripts/sync-task-marks.sh +0 -199
- package/.claude/scripts/team-dev-init.sh +0 -319
- package/.claude/scripts/team-state-recovery.sh +0 -229
- package/.claude/scripts/test-clarify-scan.sh +0 -515
- package/.claude/scripts/update-agent-context.sh +0 -806
- package/.claude/scripts/validate-constitution.sh +0 -567
- package/.claude/scripts/validate-hooks.sh +0 -487
- package/.claude/scripts/validate-research.sh +0 -332
- package/.claude/scripts/validate-scope-boundary.sh +0 -493
- package/.claude/scripts/verify-gate.sh +0 -269
- package/.claude/scripts/verify-setup.sh +0 -37
- package/.claude/scripts/workflow-status.ts +0 -433
- package/.claude/settings.json +0 -95
- package/.claude/skills/_reference-implementations/README.md +0 -96
- package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
- package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
- package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
- package/.claude/skills/domain/attention-refresh/SKILL.md +0 -170
- package/.claude/skills/domain/brainstorming/SKILL.md +0 -161
- package/.claude/skills/domain/debugging/SKILL.md +0 -221
- package/.claude/skills/domain/finishing-branch/SKILL.md +0 -189
- package/.claude/skills/domain/receiving-review/SKILL.md +0 -153
- package/.claude/skills/domain/tdd/SKILL.md +0 -218
- package/.claude/skills/domain/verification/SKILL.md +0 -158
- package/.claude/skills/guardrail/constitution-guardian/SKILL.md +0 -306
- package/.claude/skills/guardrail/tdd-enforcer/SKILL.md +0 -192
- package/.claude/skills/skill-rules.json +0 -359
- package/.claude/skills/utility/constitution-quick-ref/SKILL.md +0 -374
- package/.claude/skills/utility/file-standards/SKILL.md +0 -353
- package/.claude/skills/utility/fractal-docs/SKILL.md +0 -45
- package/.claude/skills/utility/journey-checker/SKILL.md +0 -199
- package/.claude/skills/utility/journey-checker/pressure-scenarios.md +0 -164
- package/.claude/skills/utility/npm-release/SKILL.md +0 -314
- package/.claude/skills/utility/skill-creator/LICENSE.txt +0 -202
- package/.claude/skills/utility/skill-creator/SKILL.md +0 -356
- package/.claude/skills/utility/skill-creator/references/output-patterns.md +0 -82
- package/.claude/skills/utility/skill-creator/references/workflows.md +0 -28
- package/.claude/skills/utility/skill-creator/scripts/init_skill.py +0 -303
- package/.claude/skills/utility/skill-creator/scripts/package_skill.py +0 -110
- package/.claude/skills/utility/skill-creator/scripts/quick_validate.py +0 -95
- package/.claude/skills/workflow/CLAUDE.md +0 -24
- package/.claude/skills/workflow/flow-dev/CLAUDE.md +0 -16
- package/.claude/skills/workflow/flow-dev/SKILL.md +0 -94
- package/.claude/skills/workflow/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
- package/.claude/skills/workflow/flow-dev/context.jsonl +0 -4
- package/.claude/skills/workflow/flow-dev/dev-implementer.jsonl +0 -8
- package/.claude/skills/workflow/flow-dev/scripts/entry-gate.sh +0 -116
- package/.claude/skills/workflow/flow-dev/scripts/exit-gate.sh +0 -101
- package/.claude/skills/workflow/flow-dev/scripts/task-orchestrator.sh +0 -106
- package/.claude/skills/workflow/flow-fix/SKILL.md +0 -105
- package/.claude/skills/workflow/flow-fix/context.jsonl +0 -6
- package/.claude/skills/workflow/flow-fix/references/bug-analyzer.md +0 -381
- package/.claude/skills/workflow/flow-init/SKILL.md +0 -84
- package/.claude/skills/workflow/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
- package/.claude/skills/workflow/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
- package/.claude/skills/workflow/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
- package/.claude/skills/workflow/flow-init/context.jsonl +0 -5
- package/.claude/skills/workflow/flow-init/references/flow-researcher.md +0 -132
- package/.claude/skills/workflow/flow-init/scripts/check-prerequisites.sh +0 -240
- package/.claude/skills/workflow/flow-init/scripts/consolidate-research.sh +0 -182
- package/.claude/skills/workflow/flow-init/scripts/create-requirement.sh +0 -404
- package/.claude/skills/workflow/flow-init/scripts/generate-research-tasks.sh +0 -157
- package/.claude/skills/workflow/flow-init/scripts/populate-research-tasks.sh +0 -284
- package/.claude/skills/workflow/flow-init/scripts/validate-research.sh +0 -340
- package/.claude/skills/workflow/flow-quality/SKILL.md +0 -98
- package/.claude/skills/workflow/flow-quality/context.jsonl +0 -6
- package/.claude/skills/workflow/flow-quality/references/code-quality-reviewer.md +0 -205
- package/.claude/skills/workflow/flow-quality/references/qa-tester.md +0 -313
- package/.claude/skills/workflow/flow-quality/references/security-reviewer.md +0 -314
- package/.claude/skills/workflow/flow-quality/references/spec-reviewer.md +0 -221
- package/.claude/skills/workflow/flow-release/SKILL.md +0 -49
- package/.claude/skills/workflow/flow-release/context.jsonl +0 -5
- package/.claude/skills/workflow/flow-release/references/release-manager.md +0 -295
- package/.claude/skills/workflow/flow-spec/CLAUDE.md +0 -17
- package/.claude/skills/workflow/flow-spec/SKILL.md +0 -74
- package/.claude/skills/workflow/flow-spec/context.jsonl +0 -5
- package/.claude/skills/workflow/flow-spec/scripts/entry-gate.sh +0 -194
- package/.claude/skills/workflow/flow-spec/scripts/exit-gate.sh +0 -244
- package/.claude/skills/workflow/flow-spec/scripts/parallel-orchestrator.sh +0 -205
- package/.claude/skills/workflow/flow-spec/scripts/team-communication.sh +0 -353
- package/.claude/skills/workflow/flow-spec/scripts/team-init.sh +0 -195
- package/.claude/skills/workflow/flow-spec/scripts/test-team-mode.sh +0 -496
- package/.claude/skills/workflow/flow-spec/team-config.json +0 -165
- package/.claude/skills/workflow/flow-verify/CLAUDE.md +0 -10
- package/.claude/skills/workflow/flow-verify/SKILL.md +0 -53
- package/.claude/skills/workflow/flow-verify/context.jsonl +0 -5
- package/.claude/skills/workflow.yaml +0 -219
- package/.claude/tests/README.md +0 -300
- package/.claude/tests/TODO.md +0 -69
- package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
- package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
- package/.claude/tests/constitution/test_article_coverage.sh +0 -201
- package/.claude/tests/constitution/test_template_completeness.sh +0 -150
- package/.claude/tests/constitution/test_version_consistency.sh +0 -120
- package/.claude/tests/fixtures/spec_delta_full.md +0 -16
- package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
- package/.claude/tests/run-all-tests.sh +0 -229
- package/.claude/tests/scripts/run.sh +0 -30
- package/.claude/tests/scripts/test-framework.sh +0 -128
- package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
- package/.claude/tests/scripts/test_check_task_status.sh +0 -499
- package/.claude/tests/scripts/test_common.sh +0 -244
- package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
- package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
- package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
- package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
- package/.claude/tests/scripts/test_setup_epic.sh +0 -437
- package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
- package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
- package/.claude/tests/scripts/test_validate_research.sh +0 -462
- package/.claude/tests/slugify.bats +0 -82
- package/.claude/tests/test-framework.sh +0 -732
- package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
- package/.claude/tests/test_consolidate_research.py +0 -48
- package/.claude/tests/test_export_contracts.py +0 -43
- package/.claude/tests/test_extract_data_model.py +0 -33
- package/.claude/tests/test_generate_quickstart.py +0 -50
- package/.claude/tests/test_generate_research_tasks.py +0 -52
- package/bin/harness.js +0 -22
- package/docs/commands/core-roadmap.md +0 -106
- package/docs/commands/core-roadmap.zh-CN.md +0 -102
- package/docs/commands/core-style.md +0 -53
- package/docs/commands/core-style.zh-CN.md +0 -53
- package/docs/commands/flow-init.md +0 -140
- package/docs/commands/flow-init.zh-CN.md +0 -169
- package/docs/commands/flow-new.md +0 -39
- package/docs/commands/flow-new.zh-CN.md +0 -39
- package/lib/compiler/__tests__/compile-regression.test.js +0 -103
- package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
- package/lib/compiler/__tests__/resource-copier.test.js +0 -26
- package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
- package/lib/compiler/context-expander.js +0 -179
- package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
- package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
- package/lib/compiler/skill-discovery.js +0 -68
- package/lib/harness/CLAUDE.md +0 -21
- package/lib/harness/cli.js +0 -208
- package/lib/harness/index.js +0 -16
- package/lib/harness/operations/dispatch.js +0 -285
- package/lib/harness/operations/init.js +0 -48
- package/lib/harness/operations/pack.js +0 -100
- package/lib/harness/operations/plan.js +0 -29
- package/lib/harness/operations/resume.js +0 -44
- package/lib/harness/operations/verify.js +0 -163
- package/lib/harness/planner.js +0 -141
- package/lib/harness/schemas.js +0 -108
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# CC-Check Playbook
|
|
2
|
+
|
|
3
|
+
## Iron Law
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
NO PASS WITHOUT FRESH EVIDENCE
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
只要 gate、review、spec truth 里任一层没有本轮新鲜证据,`pass` 就不成立。
|
|
10
|
+
|
|
11
|
+
## Visible State Machine
|
|
12
|
+
|
|
13
|
+
`cc-do -> cc-check -> cc-act`
|
|
14
|
+
|
|
15
|
+
- Enter from: closed implementation work with fresh runtime evidence.
|
|
16
|
+
- Stay in: `cc-check` while verdict is being rebuilt from current commands and review proof.
|
|
17
|
+
- Exit to: `cc-act` only when the verdict is `pass` with `reroute=none`.
|
|
18
|
+
- Reroute to: `cc-do` for code fixes, `cc-investigate` for root-cause invalidation, or `cc-plan` for design invalidation.
|
|
19
|
+
|
|
20
|
+
## First Verdict Test
|
|
21
|
+
|
|
22
|
+
开始前只问 3 件事:
|
|
23
|
+
|
|
24
|
+
1. 我手里有没有本次新鲜证据?
|
|
25
|
+
2. 这些证据是在证明失败,还是只是在暴露缺件?
|
|
26
|
+
3. 如果现在不能 `pass`,下一步应该回 `cc-do`、`cc-investigate` 还是 `cc-plan`?
|
|
27
|
+
|
|
28
|
+
先答完这三题,再跑完整 gate;不要一边验证一边发明 verdict。
|
|
29
|
+
|
|
30
|
+
## Four Verification Phases
|
|
31
|
+
|
|
32
|
+
1. **Reset Contract**
|
|
33
|
+
- 重新读取 `planning/design.md` 或 `planning/analysis.md`
|
|
34
|
+
- 重新读取 `planning/tasks.md`、`planning/task-manifest.json`
|
|
35
|
+
- 明确本轮验收对象和 spec delta
|
|
36
|
+
2. **Re-run Reality**
|
|
37
|
+
- 重新跑 gate
|
|
38
|
+
- 读取退出码、关键输出、skip 原因
|
|
39
|
+
3. **Check Every Boundary**
|
|
40
|
+
- runtime gate
|
|
41
|
+
- task review proof
|
|
42
|
+
- requirement diff review
|
|
43
|
+
- spec sync readiness
|
|
44
|
+
4. **Freeze Verdict**
|
|
45
|
+
- 只允许 `pass` / `fail` / `blocked`
|
|
46
|
+
- 只允许诚实 reroute
|
|
47
|
+
|
|
48
|
+
## Gate Function
|
|
49
|
+
|
|
50
|
+
在宣称任何“完成、通过、ready”之前,必须做 4 件事:
|
|
51
|
+
|
|
52
|
+
1. 找到证明这个结论的命令
|
|
53
|
+
2. 重新运行完整命令
|
|
54
|
+
3. 读取真实输出和退出码
|
|
55
|
+
4. 把证据写进 `report-card.json`
|
|
56
|
+
5. 把任务级 review 与需求级 diff review 分开写清楚
|
|
57
|
+
|
|
58
|
+
## Verification Layers
|
|
59
|
+
|
|
60
|
+
1. Runtime reality
|
|
61
|
+
2. Task review proof
|
|
62
|
+
3. Requirement diff truth
|
|
63
|
+
4. Spec alignment and sync readiness
|
|
64
|
+
|
|
65
|
+
## Requirement Diff Review
|
|
66
|
+
|
|
67
|
+
需求级 review 至少分 5 步:
|
|
68
|
+
|
|
69
|
+
1. `base truth`:确认 base branch、当前 branch、PR 状态。
|
|
70
|
+
2. `plan completion`:逐项核对 tasks / manifest 是否真的由 diff 或 runtime proof 兑现。
|
|
71
|
+
3. `scope drift`:识别多做、少做、做偏。
|
|
72
|
+
4. `critical pass`:检查数据安全、并发、shell、LLM trust boundary、枚举覆盖、静默失败、文档漂移。
|
|
73
|
+
5. `adversarial synthesis`:合并外部 review / codex / subagent /人工 finding,去重并标置信度。
|
|
74
|
+
|
|
75
|
+
这些结论进入 `review.diffReview`,不能只写在口头总结里。
|
|
76
|
+
|
|
77
|
+
## Verdict
|
|
78
|
+
|
|
79
|
+
只允许 3 种结论:
|
|
80
|
+
|
|
81
|
+
- `pass`
|
|
82
|
+
- `fail`
|
|
83
|
+
- `blocked`
|
|
84
|
+
|
|
85
|
+
速判规则:
|
|
86
|
+
|
|
87
|
+
1. 命令或 review 明确失败 => `fail`
|
|
88
|
+
2. 条件缺失、证据不足、review 缺件 => `blocked`
|
|
89
|
+
3. 只有当 gate 和 review 都过,才是 `pass`
|
|
90
|
+
|
|
91
|
+
如果已经证明根因故事失效,别用 `blocked` 糊过去,直接 reroute 到 `cc-investigate`。
|
|
92
|
+
|
|
93
|
+
## Minimum `report-card.json`
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"changeId": "REQ-123",
|
|
98
|
+
"verdict": "pass",
|
|
99
|
+
"overall": "pass",
|
|
100
|
+
"summary": "one-line reality",
|
|
101
|
+
"quickGates": [],
|
|
102
|
+
"strictGates": [],
|
|
103
|
+
"review": {
|
|
104
|
+
"status": "pass",
|
|
105
|
+
"summary": "",
|
|
106
|
+
"details": "",
|
|
107
|
+
"taskReviews": { "status": "pass", "required": true, "summary": "", "reviewers": [], "findings": [] },
|
|
108
|
+
"diffReview": { "status": "skipped", "required": false, "summary": "", "reviewers": [], "findings": [] },
|
|
109
|
+
"findings": []
|
|
110
|
+
},
|
|
111
|
+
"blockingFindings": [],
|
|
112
|
+
"reroute": "none",
|
|
113
|
+
"timestamp": "2026-04-15T12:00:00.000Z"
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
`reroute` 只能是 `none`、`cc-do`、`cc-investigate`、`cc-plan`。
|
|
118
|
+
|
|
119
|
+
## Reroute Rules
|
|
120
|
+
|
|
121
|
+
- 实现没做完、测试没过、review 提出明确修复项 => `cc-do`
|
|
122
|
+
- 根因站不住、复现链断了、当前修复只是症状补丁 => `cc-investigate`
|
|
123
|
+
- 范围错了、设计前提失效、当前计划已经不可信 => `cc-plan`
|
|
124
|
+
- 只有 `pass` 才能写 `none`
|
|
125
|
+
|
|
126
|
+
## Red Flags
|
|
127
|
+
|
|
128
|
+
看到下面这些念头就停下 reset:
|
|
129
|
+
|
|
130
|
+
- “上次跑过,沿用就行”
|
|
131
|
+
- “测试绿了,review 应该也没问题”
|
|
132
|
+
- “先给 blocked,省得解释 reroute”
|
|
133
|
+
- “manifest proof 以后再补”
|
|
134
|
+
- “spec truth 应该没漂”
|
|
135
|
+
|
|
136
|
+
## Local Kit
|
|
137
|
+
|
|
138
|
+
- `assets/REPORT_CARD_TEMPLATE.json` 提供最小输出形状
|
|
139
|
+
- `scripts/run-quality-gates.sh` 跑真实命令
|
|
140
|
+
- `scripts/render-report-card.js` 根据 gate 结果、review 结果和 manifest 生成 `report-card.json`
|
|
141
|
+
- `scripts/verify-gate.sh` 检查证据和文件是否齐全
|
|
142
|
+
- `references/review-contract.md` 说明任务级 / 需求级审查责任边界
|
|
143
|
+
|
|
144
|
+
## Dry-Run Checklist
|
|
145
|
+
|
|
146
|
+
真正落盘前,快速过这 5 问:
|
|
147
|
+
|
|
148
|
+
1. 我写下的 summary 能不能让 reviewer 一眼看懂现在卡在哪?
|
|
149
|
+
2. `blockingFindings` 是不是具体到可行动?
|
|
150
|
+
3. `reroute` 是不是和失败类型一致?
|
|
151
|
+
4. `review.status` 是真实现实,还是我脑补的绿色?
|
|
152
|
+
5. 如果把这份 `report-card.json` 给下一位接手者,他知道接下来去哪吗?
|
|
153
|
+
6. diff review 是否同时覆盖了 plan completion、scope drift、critical pass、doc staleness?
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cc-check
|
|
3
|
+
version: 1.8.1
|
|
4
|
+
description: Use when a planned or investigated change needs fresh verification evidence, layered gate proof, review truth, and an honest pass fail blocked verdict before entering cc-act.
|
|
5
|
+
triggers:
|
|
6
|
+
- 验收这个需求
|
|
7
|
+
- 帮我确认是否完成
|
|
8
|
+
- 跑一下质量门
|
|
9
|
+
- check this requirement
|
|
10
|
+
- verify with evidence
|
|
11
|
+
- can this ship
|
|
12
|
+
- 是不是可以进 cc-act
|
|
13
|
+
reads:
|
|
14
|
+
- PLAYBOOK.md
|
|
15
|
+
- CHANGELOG.md
|
|
16
|
+
- references/gate-contract.md
|
|
17
|
+
- references/review-contract.md
|
|
18
|
+
- assets/REPORT_CARD_TEMPLATE.json
|
|
19
|
+
writes:
|
|
20
|
+
- path: devflow/changes/<change-key>/review/report-card.json
|
|
21
|
+
durability: durable
|
|
22
|
+
required: true
|
|
23
|
+
entry_gate:
|
|
24
|
+
- Read planning/design.md or planning/analysis.md, then planning/tasks.md, planning/task-manifest.json, and the latest runtime evidence before selecting a verdict.
|
|
25
|
+
- Re-run fresh commands instead of inheriting cc-do narration.
|
|
26
|
+
- If evidence is stale or missing, reset context and rebuild the verdict from canonical artifacts.
|
|
27
|
+
exit_criteria:
|
|
28
|
+
- review/report-card.json records pass, fail, or blocked using fresh evidence, plus spec alignment and sync readiness.
|
|
29
|
+
- Task-level review and requirement-level diff review are separated clearly.
|
|
30
|
+
- 'The next step is unambiguous: cc-act, cc-do, cc-investigate, or cc-plan.'
|
|
31
|
+
reroutes:
|
|
32
|
+
- when: The implementation is incomplete, tests fail, or review findings require code changes.
|
|
33
|
+
target: cc-do
|
|
34
|
+
- when: The bug still lacks a trustworthy root cause or the investigation contract is disproven.
|
|
35
|
+
target: cc-investigate
|
|
36
|
+
- when: The plan assumptions, scope, or design contract are invalid.
|
|
37
|
+
target: cc-plan
|
|
38
|
+
recovery_modes:
|
|
39
|
+
- name: clean-room-reset
|
|
40
|
+
when: The current verdict is contaminated by stale chat memory or old command output.
|
|
41
|
+
action: Discard narrative memory, reload canonical artifacts, rerun fresh gates, and rebuild review/report-card.json from current evidence only.
|
|
42
|
+
tool_budget:
|
|
43
|
+
read_files: 8
|
|
44
|
+
search_steps: 4
|
|
45
|
+
shell_commands: 6
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
# CC-Check
|
|
49
|
+
|
|
50
|
+
> [PROTOCOL]: 变更时同步更新 `version`、`CHANGELOG.md`、相关模板/脚本引用,然后检查 `CLAUDE.md`
|
|
51
|
+
|
|
52
|
+
## Role
|
|
53
|
+
|
|
54
|
+
`cc-check` 是 PDCA 里的 `Check`。
|
|
55
|
+
|
|
56
|
+
它负责把“应该好了”变成“证据表明它好了”。
|
|
57
|
+
|
|
58
|
+
它不是收尾话术器,也不是替 `cc-do` 涂绿。
|
|
59
|
+
|
|
60
|
+
## Iron Law
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
NO PASS WITHOUT FRESH EVIDENCE
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
如果本轮没有重新读取契约、重新跑 gate、重新核对 review,就没有资格写 `pass`。
|
|
67
|
+
|
|
68
|
+
`cc-check` 的失败不是“你不够努力”,而是“现实还没有被证据证明为绿色”。
|
|
69
|
+
|
|
70
|
+
## Read First
|
|
71
|
+
|
|
72
|
+
1. `PLAYBOOK.md`
|
|
73
|
+
2. `CHANGELOG.md`
|
|
74
|
+
3. `references/gate-contract.md`
|
|
75
|
+
4. `references/review-contract.md`
|
|
76
|
+
|
|
77
|
+
## Use This Skill When
|
|
78
|
+
|
|
79
|
+
- 代码改完,准备验收
|
|
80
|
+
- 需要跑测试、lint、类型检查、质量门
|
|
81
|
+
- 需要判断 requirement 是否真的完成
|
|
82
|
+
- 需要确认是否可以进入交付动作
|
|
83
|
+
- 需要判断一个 investigated bug fix 是否真的兑现了 `planning/analysis.md`
|
|
84
|
+
|
|
85
|
+
如果代码还在继续变、任务还没收口,停下并回 `cc-do`。
|
|
86
|
+
|
|
87
|
+
## Quick Start
|
|
88
|
+
|
|
89
|
+
先判断当前现实属于哪一类,再选 verdict:
|
|
90
|
+
|
|
91
|
+
| 现实状态 | 先读成什么 |
|
|
92
|
+
| --- | --- |
|
|
93
|
+
| 命令和 review 都齐了,只差最终裁决 | `pass-candidate` |
|
|
94
|
+
| 已有明确失败输出或 review finding | `fail-candidate` |
|
|
95
|
+
| 关键证据、review、环境、输入缺件 | `blocked-candidate` |
|
|
96
|
+
|
|
97
|
+
`cc-check` 的第一步不是跑更多形容词,而是先判“我是缺证据,还是有失败,还是已经足够过门”。
|
|
98
|
+
|
|
99
|
+
## Four Verification Phases
|
|
100
|
+
|
|
101
|
+
你必须按阶段推进,不能跳着给结论:
|
|
102
|
+
|
|
103
|
+
1. **Reset Contract**
|
|
104
|
+
- 读 `planning/design.md` 或 `planning/analysis.md`
|
|
105
|
+
- 读 `planning/tasks.md`、`planning/task-manifest.json`
|
|
106
|
+
- 明确本轮要验证的 capability / task / spec delta
|
|
107
|
+
2. **Re-run Reality**
|
|
108
|
+
- 重新执行 gate,不继承 `cc-do` 叙述
|
|
109
|
+
- 读取退出码、关键输出、失败位置、skip 原因
|
|
110
|
+
3. **Check Every Boundary**
|
|
111
|
+
- runtime gate
|
|
112
|
+
- task-level review proof
|
|
113
|
+
- requirement-level diff review
|
|
114
|
+
- spec alignment / sync readiness
|
|
115
|
+
4. **Freeze Verdict**
|
|
116
|
+
- 只允许 `pass` / `fail` / `blocked`
|
|
117
|
+
- 明确 `reroute`
|
|
118
|
+
- 写入 `review/report-card.json`
|
|
119
|
+
|
|
120
|
+
任何阶段发现“证据过期、边界矛盾、结论无法诚实成立”,都必须停下重建,而不是硬凑 `pass`。
|
|
121
|
+
|
|
122
|
+
## Harness Contract
|
|
123
|
+
|
|
124
|
+
- Allowed actions: rerun gates, inspect review proof, record a verdict, and route the requirement honestly.
|
|
125
|
+
- Forbidden actions: continuing development, inheriting old execution claims without fresh proof, or masking blocked work as pass.
|
|
126
|
+
- Required evidence: every passing statement must cite fresh command output, exit status, and key observation.
|
|
127
|
+
- Reroute rule: code and review fixes return to `cc-do`; root-cause drift returns to `cc-investigate`; scope or design invalidation returns to `cc-plan`.
|
|
128
|
+
|
|
129
|
+
## Verification Layers
|
|
130
|
+
|
|
131
|
+
`cc-check` 不是只看“测试是不是绿的”,而是至少看 4 层:
|
|
132
|
+
|
|
133
|
+
1. **Runtime Layer**
|
|
134
|
+
- 测试、lint、typecheck、build、脚本 gate
|
|
135
|
+
2. **Task Review Layer**
|
|
136
|
+
- `planning/task-manifest.json` 里的 task proof 是否完整
|
|
137
|
+
- `reviews.spec` / `reviews.code` 是否与完成状态一致
|
|
138
|
+
3. **Requirement Diff Layer**
|
|
139
|
+
- 当前改动是否真的兑现 requirement,而不是只让局部测试通过
|
|
140
|
+
4. **Spec Sync Layer**
|
|
141
|
+
- capability truth、expected spec delta、handoff readiness 是否仍然一致
|
|
142
|
+
|
|
143
|
+
任何一层失真,都不能写 `pass`。
|
|
144
|
+
|
|
145
|
+
## Diff Review Pipeline
|
|
146
|
+
|
|
147
|
+
`cc-check` 的 requirement-level review 不能只写“diff 看过了”。至少要形成这些事实:
|
|
148
|
+
|
|
149
|
+
1. Base truth:识别 base branch、当前分支、是否已有 PR / MR,避免拿错比较基准。
|
|
150
|
+
2. Plan completion audit:从 `planning/tasks.md` / `task-manifest.json` 抽取可执行项,逐项标 `DONE` / `PARTIAL` / `NOT_DONE` / `CHANGED`。
|
|
151
|
+
3. Scope drift:比较原始 intent 与当前 diff,标出 scope creep、missing requirement、意外文件触点。
|
|
152
|
+
4. Critical pass:检查数据安全、并发、shell injection、LLM trust boundary、enum/value completeness、time/window safety、错误吞噬、静默数据损坏。
|
|
153
|
+
5. Outside-diff lookup:新增枚举值、状态、路由、artifact 类型时,必须搜索 sibling references,不能只读 diff 内文件。
|
|
154
|
+
6. Documentation staleness:代码行为、入口、命令、结构变化时,检查 README / CLAUDE / architecture docs 是否漂移。
|
|
155
|
+
7. Adversarial synthesis:如果有 codex review、subagent review、人工 review,多视角 finding 要去重并标出高置信重叠项。
|
|
156
|
+
|
|
157
|
+
这些事实写入 `review.diffReview.details` 或 `review.findings`。`pass` 只在 scope、completion、critical pass、doc staleness 都没有 blocking finding 时成立。
|
|
158
|
+
|
|
159
|
+
## Entry Gate
|
|
160
|
+
|
|
161
|
+
1. 先读 `planning/design.md` 或 `planning/analysis.md`,再读 `planning/tasks.md`、`planning/task-manifest.json`。
|
|
162
|
+
2. 明确本次要验证哪些事实,不做含糊验收。
|
|
163
|
+
3. 所有通过结论都必须来自本次新鲜命令输出。
|
|
164
|
+
4. 已完成任务必须能拿出 `spec/code` review 证据,并能说明 expected spec delta 是否已被验证。
|
|
165
|
+
5. 如果 review、manifest、spec truth、runtime output 彼此矛盾,先停下做 reset,不准直接选 verdict。
|
|
166
|
+
|
|
167
|
+
## Verification Loop
|
|
168
|
+
|
|
169
|
+
1. **Reset the target**
|
|
170
|
+
- 写清楚本轮验收对象
|
|
171
|
+
- 识别这是 feature closeout 还是 investigated bug closeout
|
|
172
|
+
2. **Run fresh gates**
|
|
173
|
+
- 运行真实命令
|
|
174
|
+
- 记录 exit status
|
|
175
|
+
- 识别 failure 还是 blocked
|
|
176
|
+
3. **Compare against the contract**
|
|
177
|
+
- 对照 `planning/design.md` 或 `planning/analysis.md`
|
|
178
|
+
- 对照 `planning/tasks.md`、`planning/task-manifest.json`
|
|
179
|
+
- 对照 review truth 和 spec delta
|
|
180
|
+
4. **Freeze verdict**
|
|
181
|
+
- `pass` 只在所有必要层都通过时成立
|
|
182
|
+
- `fail` 用于已有明确失败现实
|
|
183
|
+
- `blocked` 用于缺件、缺环境、缺 review、缺输入
|
|
184
|
+
5. **Route honestly**
|
|
185
|
+
- 代码修补回 `cc-do`
|
|
186
|
+
- 根因站不住回 `cc-investigate`
|
|
187
|
+
- 设计前提失效回 `cc-plan`
|
|
188
|
+
|
|
189
|
+
## Verdict Matrix
|
|
190
|
+
|
|
191
|
+
`cc-check` 不允许“差不多算过”。结论只能从下面这张表里选:
|
|
192
|
+
|
|
193
|
+
| Verdict | 什么时候用 | reroute |
|
|
194
|
+
|---------|------------|---------|
|
|
195
|
+
| `pass` | 快速质量门通过,review gate 通过,当前证据足够支持“可以进入 `cc-act`” | `none` |
|
|
196
|
+
| `fail` | 命令明确失败,或 review 给出明确未解决问题 | `cc-do` |
|
|
197
|
+
| `blocked` | 缺 review 证据、缺必要前提、缺环境、缺输入,导致现在还不能诚实地下 `pass` / `fail` | `cc-do`、`cc-investigate` 或 `cc-plan` |
|
|
198
|
+
|
|
199
|
+
优先级永远是:
|
|
200
|
+
|
|
201
|
+
1. 先问“有没有新鲜证据”
|
|
202
|
+
2. 再问“证据是失败还是缺条件”
|
|
203
|
+
3. 最后才允许给 verdict
|
|
204
|
+
|
|
205
|
+
如果你已经知道实现方向错了、范围错了、设计前提失效了,`blocked` 不是答案,应该直接 reroute 到 `cc-investigate` 或 `cc-plan`。
|
|
206
|
+
|
|
207
|
+
## Red Flags: STOP And Reset
|
|
208
|
+
|
|
209
|
+
如果你出现下面这些念头,说明 `cc-check` 已经跑偏:
|
|
210
|
+
|
|
211
|
+
- “上次测过是绿的,这次就沿用”
|
|
212
|
+
- “review 应该没问题,先写 pass”
|
|
213
|
+
- “这个 warning 不影响交付,先忽略”
|
|
214
|
+
- “task 已标 done,manifest proof 以后再补”
|
|
215
|
+
- “现在先给 blocked,省得判断 reroute”
|
|
216
|
+
- “用户看起来满意,应该能进 `cc-act`”
|
|
217
|
+
- “测试是绿的,所以 spec 一定同步了”
|
|
218
|
+
|
|
219
|
+
这些都不叫验证,叫叙述污染。回到 `Reset Contract`。
|
|
220
|
+
|
|
221
|
+
## Minimum Evidence Shape
|
|
222
|
+
|
|
223
|
+
每条 evidence 至少要能回答这 3 件事:
|
|
224
|
+
|
|
225
|
+
1. 跑了什么命令
|
|
226
|
+
2. 退出码 / status 是什么
|
|
227
|
+
3. 关键观察是什么
|
|
228
|
+
|
|
229
|
+
不要写:
|
|
230
|
+
|
|
231
|
+
- “测试过了”
|
|
232
|
+
- “本地看起来可以”
|
|
233
|
+
- “review 没问题”
|
|
234
|
+
|
|
235
|
+
要写:
|
|
236
|
+
|
|
237
|
+
- `npm test` exited `0`, all targeted tests passed
|
|
238
|
+
- `npm run lint` exited `1`, `src/foo.ts:18` 仍有 unused import
|
|
239
|
+
- `spec review` 缺失,当前无法确认 T003 是否满足 requirement
|
|
240
|
+
|
|
241
|
+
## Multi-Boundary Rule
|
|
242
|
+
|
|
243
|
+
如果系统是多层链路,不要只验最终按钮或最终命令。
|
|
244
|
+
|
|
245
|
+
至少要确认:
|
|
246
|
+
|
|
247
|
+
1. 输入契约有没有被正确读取
|
|
248
|
+
2. runtime gate 有没有真实执行
|
|
249
|
+
3. review proof 有没有真的落到 manifest / review 产物
|
|
250
|
+
4. spec / handoff truth 有没有和本次实现同步
|
|
251
|
+
|
|
252
|
+
哪一层先坏,就把 blocking finding 写到那一层,不要把深层症状伪装成最终 verdict。
|
|
253
|
+
|
|
254
|
+
## Finding Discipline
|
|
255
|
+
|
|
256
|
+
每个 finding 至少要写清:
|
|
257
|
+
|
|
258
|
+
1. severity:`critical` / `important` / `info`
|
|
259
|
+
2. confidence:`high` / `medium` / `low`,低置信不要伪装成 blocker
|
|
260
|
+
3. source:`runtime` / `task-review` / `diff-review` / `adversarial` / `docs`
|
|
261
|
+
4. evidence:文件、命令、退出码、manifest path、或具体观察
|
|
262
|
+
5. action:`fix-now` / `reroute-cc-do` / `reroute-cc-plan` / `reroute-cc-investigate` / `document-follow-up`
|
|
263
|
+
|
|
264
|
+
不能写“可能有问题”然后让接手者猜。要么证明,要么标成待验证 gap。
|
|
265
|
+
|
|
266
|
+
## Good Output
|
|
267
|
+
|
|
268
|
+
最小高质量 `review/report-card.json` 至少应该长这样:
|
|
269
|
+
|
|
270
|
+
```json
|
|
271
|
+
{
|
|
272
|
+
"changeId": "REQ-123",
|
|
273
|
+
"verdict": "pass",
|
|
274
|
+
"overall": "pass",
|
|
275
|
+
"summary": "verdict=pass quick=3/3 strict=0/0 review=pass",
|
|
276
|
+
"quickGates": [],
|
|
277
|
+
"strictGates": [],
|
|
278
|
+
"review": {
|
|
279
|
+
"status": "pass",
|
|
280
|
+
"summary": "Task review and diff review both passed",
|
|
281
|
+
"details": "",
|
|
282
|
+
"taskReviews": { "status": "pass", "required": true, "summary": "all completed tasks carry spec/code proof", "reviewers": [], "findings": [] },
|
|
283
|
+
"diffReview": { "status": "pass", "required": true, "summary": "plan completion clean, no scope drift, no critical diff findings", "reviewers": [], "findings": [] },
|
|
284
|
+
"findings": []
|
|
285
|
+
},
|
|
286
|
+
"blockingFindings": [],
|
|
287
|
+
"reroute": "none",
|
|
288
|
+
"timestamp": "2026-04-15T12:00:00.000Z"
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
看完第一屏,下一位接手者应该立刻知道:
|
|
293
|
+
|
|
294
|
+
1. 现在是 `pass`、`fail` 还是 `blocked`
|
|
295
|
+
2. 这个结论由哪条新鲜证据支撑
|
|
296
|
+
3. 如果没过,应该回 `cc-do`、`cc-investigate` 还是 `cc-plan`
|
|
297
|
+
|
|
298
|
+
## Output
|
|
299
|
+
|
|
300
|
+
- `review/report-card.json`
|
|
301
|
+
- 验证结果输出
|
|
302
|
+
- review 结论
|
|
303
|
+
- reroute 结论
|
|
304
|
+
|
|
305
|
+
## Bundled Resources
|
|
306
|
+
|
|
307
|
+
- 变更记录:`CHANGELOG.md`
|
|
308
|
+
- 契约:`references/gate-contract.md`
|
|
309
|
+
- 审查契约:`references/review-contract.md`
|
|
310
|
+
- 模板:`assets/REPORT_CARD_TEMPLATE.json`
|
|
311
|
+
- 质量门执行:`scripts/run-quality-gates.sh`
|
|
312
|
+
- 报告渲染:`scripts/render-report-card.js`
|
|
313
|
+
- 结论校验:`scripts/verify-gate.sh`
|
|
314
|
+
|
|
315
|
+
## Working Rules
|
|
316
|
+
|
|
317
|
+
1. 先验证,再说完成。
|
|
318
|
+
2. 失败项必须有明确回退方向。
|
|
319
|
+
3. 没有证据,不允许绿灯。
|
|
320
|
+
4. 验收只认当前代码现实,不认计划里的自我安慰。
|
|
321
|
+
5. 通过结论必须可被 reviewer 复跑。
|
|
322
|
+
6. `pass` / `fail` / `blocked` 的选择必须能从 verdict matrix 逐条解释。
|
|
323
|
+
7. `reroute` 必须和阻塞原因一致,不能随手填默认值。
|
|
324
|
+
8. 如果同一 requirement 连续出现“测试绿但 closeout 红”,优先怀疑 review truth、manifest proof、spec sync,而不是继续给模糊总结。
|
|
325
|
+
9. Requirement diff review 默认要做 plan completion、scope drift、critical pass、doc staleness 四项;跳过任一项必须写 skip 理由。
|
|
326
|
+
|
|
327
|
+
## Exit Criteria
|
|
328
|
+
|
|
329
|
+
- 验证结论明确
|
|
330
|
+
- 失败项已指向 `cc-plan` 或 `cc-do`
|
|
331
|
+
- 通过时下一步唯一答案是 `cc-act`
|
|
332
|
+
|
|
333
|
+
## Do Not
|
|
334
|
+
|
|
335
|
+
- 不在这里偷偷继续开发
|
|
336
|
+
- 不拿“本地感觉没问题”替代结果
|
|
337
|
+
- 不把 review 评论当成已经修复
|
|
338
|
+
- 不把 stale JSON、旧截图、旧日志当成当前现实
|
|
339
|
+
- 不用 `blocked` 掩盖本该明确 reroute 的失败类型
|
|
340
|
+
|
|
341
|
+
## Companion Files
|
|
342
|
+
|
|
343
|
+
- 深入剧本:`PLAYBOOK.md`
|
|
344
|
+
- 变更记录:`CHANGELOG.md`
|
|
345
|
+
- Gate 契约:`references/gate-contract.md`
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"changeId": "REQ-123",
|
|
3
|
+
"verdict": "blocked",
|
|
4
|
+
"overall": "fail",
|
|
5
|
+
"summary": "verdict=blocked quick=1/2 strict=0/0 review=blocked",
|
|
6
|
+
"specAlignment": "blocked",
|
|
7
|
+
"specDeltaVerified": false,
|
|
8
|
+
"specSyncReady": false,
|
|
9
|
+
"quickGates": [
|
|
10
|
+
{
|
|
11
|
+
"name": "targeted-tests",
|
|
12
|
+
"status": "pass",
|
|
13
|
+
"command": "npm test -- src/feature/feature.test.ts",
|
|
14
|
+
"summary": "targeted tests passed"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "review-proof",
|
|
18
|
+
"status": "blocked",
|
|
19
|
+
"command": "review artifacts",
|
|
20
|
+
"summary": "missing spec review proof for T002"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"strictGates": [],
|
|
24
|
+
"review": {
|
|
25
|
+
"status": "blocked",
|
|
26
|
+
"summary": "Task review evidence is incomplete",
|
|
27
|
+
"details": "T002 is implemented, but the requirement still lacks spec review proof required by the gate.",
|
|
28
|
+
"taskReviews": {
|
|
29
|
+
"status": "blocked",
|
|
30
|
+
"required": true,
|
|
31
|
+
"summary": "T002 has no spec review record yet",
|
|
32
|
+
"reviewers": [],
|
|
33
|
+
"findings": []
|
|
34
|
+
},
|
|
35
|
+
"diffReview": {
|
|
36
|
+
"status": "skipped",
|
|
37
|
+
"required": false,
|
|
38
|
+
"summary": "",
|
|
39
|
+
"reviewers": [],
|
|
40
|
+
"findings": []
|
|
41
|
+
},
|
|
42
|
+
"findings": []
|
|
43
|
+
},
|
|
44
|
+
"blockingFindings": [
|
|
45
|
+
"review: missing spec review proof for T002"
|
|
46
|
+
],
|
|
47
|
+
"gaps": [],
|
|
48
|
+
"reroute": "cc-do",
|
|
49
|
+
"timestamp": "2026-04-15T12:00:00.000Z"
|
|
50
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Gate Contract
|
|
2
|
+
|
|
3
|
+
## Verdict
|
|
4
|
+
|
|
5
|
+
- `pass`: 本次验证输出足够支持完成结论
|
|
6
|
+
- `fail`: 本次验证给出了明确失败证据
|
|
7
|
+
- `blocked`: 缺少条件,暂时无法得出 pass / fail
|
|
8
|
+
|
|
9
|
+
## Evidence
|
|
10
|
+
|
|
11
|
+
每条 evidence 至少写清:
|
|
12
|
+
|
|
13
|
+
- command
|
|
14
|
+
- exit code
|
|
15
|
+
- key observation
|
|
16
|
+
|
|
17
|
+
所有通过结论都必须来自本次新鲜证据;旧输出只能当线索,不能直接继承 verdict。
|
|
18
|
+
|
|
19
|
+
## Reroute
|
|
20
|
+
|
|
21
|
+
- `none`
|
|
22
|
+
- `cc-do`
|
|
23
|
+
- `cc-investigate`
|
|
24
|
+
- `cc-plan`
|
|
25
|
+
|
|
26
|
+
## Clean-Room Rule
|
|
27
|
+
|
|
28
|
+
- 如果当前 verdict 依赖聊天叙事而不是规范工件和新鲜命令输出,先重置上下文再做裁决
|
|
29
|
+
- `cc-check` 是独立 evaluator,不继承 `cc-do` 的“看起来已经好了”
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Review Contract
|
|
2
|
+
|
|
3
|
+
## Native Review Layers
|
|
4
|
+
|
|
5
|
+
`cc-check` 不是只跑 shell gate。
|
|
6
|
+
|
|
7
|
+
它至少校验两层审查现实:
|
|
8
|
+
|
|
9
|
+
1. **Task Review Layer**
|
|
10
|
+
- 每个已完成任务都必须有 `spec review`
|
|
11
|
+
- 每个已完成任务都必须有 `code review`
|
|
12
|
+
- review 真相源默认落在 `planning/task-manifest.json` 的 `tasks[*].reviews`
|
|
13
|
+
|
|
14
|
+
2. **Requirement Diff Layer**
|
|
15
|
+
- 需求级 diff 必须有独立 review 结论
|
|
16
|
+
- 默认核对 plan completion、scope drift、critical categories、documentation staleness
|
|
17
|
+
- 严格模式下默认要求独立 diff review;`Codex review` / adversarial review 是可用时的增强视角
|
|
18
|
+
- adversarial review 属于补充视角,重点暴露 failure mode、silent data corruption、trust boundary drift
|
|
19
|
+
|
|
20
|
+
## Minimum Review Facts
|
|
21
|
+
|
|
22
|
+
每个 reviewer 结果至少说明:
|
|
23
|
+
|
|
24
|
+
- status
|
|
25
|
+
- summary
|
|
26
|
+
- evidence
|
|
27
|
+
- findings
|
|
28
|
+
|
|
29
|
+
每个 finding 至少说明:
|
|
30
|
+
|
|
31
|
+
- severity
|
|
32
|
+
- confidence
|
|
33
|
+
- source
|
|
34
|
+
- summary
|
|
35
|
+
- evidence
|
|
36
|
+
- action
|
|
37
|
+
|
|
38
|
+
## Gate Rules
|
|
39
|
+
|
|
40
|
+
- 任务级 review 缺证据,不能绿灯
|
|
41
|
+
- 需求级 diff review 在 strict 模式下缺失,至少是 `blocked`
|
|
42
|
+
- `important` / `critical` finding 未处理前,不算通过
|
|
43
|
+
- plan item 是 `PARTIAL` / `NOT_DONE` 且影响成功标准时,不能通过
|
|
44
|
+
- scope drift 没有解释清楚时,不能通过
|
|
45
|
+
- 文档漂移如果影响 reviewer / maintainer 接手,必须阻塞到 `cc-act` doc sync 或 reroute
|