cc-devflow 4.5.9 → 4.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +11 -0
  2. package/.claude/skills/cc-act/SKILL.md +19 -10
  3. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +1 -1
  4. package/.claude/skills/cc-act/references/closure-contract.md +1 -1
  5. package/.claude/skills/cc-act/references/git-commit-guidelines.md +1 -1
  6. package/.claude/skills/cc-check/CHANGELOG.md +23 -0
  7. package/.claude/skills/cc-check/PLAYBOOK.md +1 -0
  8. package/.claude/skills/cc-check/SKILL.md +15 -9
  9. package/.claude/skills/cc-check/references/review-contract.md +7 -0
  10. package/.claude/skills/cc-check/scripts/render-report-card.js +6 -1
  11. package/.claude/skills/cc-dev/CHANGELOG.md +10 -0
  12. package/.claude/skills/cc-dev/SKILL.md +34 -2
  13. package/.claude/skills/cc-do/CHANGELOG.md +18 -0
  14. package/.claude/skills/cc-do/PLAYBOOK.md +7 -7
  15. package/.claude/skills/cc-do/SKILL.md +47 -40
  16. package/.claude/skills/cc-do/references/execution-recovery.md +18 -13
  17. package/.claude/skills/cc-do/scripts/build-task-context.sh +4 -17
  18. package/.claude/skills/cc-do/scripts/record-review-decision.sh +4 -5
  19. package/.claude/skills/cc-do/scripts/recover-workflow.sh +9 -11
  20. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +12 -10
  21. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +7 -29
  22. package/.claude/skills/cc-investigate/CHANGELOG.md +24 -0
  23. package/.claude/skills/cc-investigate/PLAYBOOK.md +10 -9
  24. package/.claude/skills/cc-investigate/SKILL.md +163 -417
  25. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +56 -10
  26. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +6 -6
  27. package/.claude/skills/cc-investigate/assets/{ANALYSIS_TEMPLATE.md → legacy/ANALYSIS_TEMPLATE.md} +1 -0
  28. package/.claude/skills/cc-investigate/references/investigation-contract.md +5 -4
  29. package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +1 -1
  30. package/.claude/skills/cc-plan/CHANGELOG.md +32 -0
  31. package/.claude/skills/cc-plan/PLAYBOOK.md +55 -53
  32. package/.claude/skills/cc-plan/SKILL.md +209 -536
  33. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +50 -14
  34. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +5 -4
  35. package/.claude/skills/cc-plan/assets/{DESIGN_TEMPLATE.md → legacy/DESIGN_TEMPLATE.md} +1 -0
  36. package/.claude/skills/cc-plan/assets/{TINY_DESIGN_TEMPLATE.md → legacy/TINY_DESIGN_TEMPLATE.md} +1 -1
  37. package/.claude/skills/cc-plan/references/planning-contract.md +12 -10
  38. package/.claude/skills/cc-review/CHANGELOG.md +6 -0
  39. package/.claude/skills/cc-review/PLAYBOOK.md +9 -11
  40. package/.claude/skills/cc-review/SKILL.md +37 -61
  41. package/.claude/skills/cc-review/references/e2e-and-plugin-verification.md +1 -1
  42. package/.claude/skills/cc-review/references/implementation-review-branch.md +5 -5
  43. package/.claude/skills/cc-review/references/plan-review-branch.md +1 -1
  44. package/.claude/skills/cc-review/references/review-methods.md +4 -4
  45. package/.claude/skills/cc-review/scripts/collect-review-context.sh +14 -7
  46. package/CHANGELOG.md +30 -0
  47. package/CONTRIBUTING.md +40 -4
  48. package/CONTRIBUTING.zh-CN.md +40 -4
  49. package/README.md +22 -8
  50. package/README.zh-CN.md +22 -8
  51. package/bin/cc-devflow-cli.js +293 -36
  52. package/docs/examples/START-HERE.md +6 -4
  53. package/docs/examples/example-bindings.json +8 -8
  54. package/docs/examples/full-design-blocked/README.md +2 -2
  55. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +2 -1
  56. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +3 -2
  57. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +11 -8
  58. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +4 -4
  59. package/docs/examples/local-handoff/README.md +2 -2
  60. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +2 -1
  61. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +3 -2
  62. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +9 -6
  63. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +1 -1
  64. package/docs/examples/pdca-loop/README.md +2 -2
  65. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +2 -2
  66. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +2 -1
  67. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +2 -1
  68. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +9 -6
  69. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +1 -1
  70. package/docs/examples/scripts/check-example-bindings.sh +2 -0
  71. package/docs/get-shit-done-strategy-audit.md +22 -22
  72. package/docs/guides/artifact-contract.md +5 -1
  73. package/docs/guides/getting-started.md +11 -8
  74. package/docs/guides/getting-started.zh-CN.md +11 -8
  75. package/docs/guides/minimize-artifacts.md +137 -0
  76. package/lib/compiler/__tests__/skills-registry.test.js +2 -2
  77. package/lib/skill-runtime/CLAUDE.md +1 -1
  78. package/lib/skill-runtime/__tests__/autopilot.test.js +42 -6
  79. package/lib/skill-runtime/__tests__/benchmark-artifacts.test.js +165 -0
  80. package/lib/skill-runtime/__tests__/benchmark-skills.test.js +109 -0
  81. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +2 -2
  82. package/lib/skill-runtime/__tests__/dispatch.test.js +8 -38
  83. package/lib/skill-runtime/__tests__/intent.test.js +4 -20
  84. package/lib/skill-runtime/__tests__/lifecycle.test.js +1 -1
  85. package/lib/skill-runtime/__tests__/paths.test.js +7 -1
  86. package/lib/skill-runtime/__tests__/planner.tdd.test.js +61 -0
  87. package/lib/skill-runtime/__tests__/prepare-pr.test.js +3 -16
  88. package/lib/skill-runtime/__tests__/query.test.js +388 -7
  89. package/lib/skill-runtime/__tests__/review-check-integration.test.js +148 -0
  90. package/lib/skill-runtime/__tests__/review-records.test.js +619 -0
  91. package/lib/skill-runtime/__tests__/runtime.integration.test.js +64 -23
  92. package/lib/skill-runtime/__tests__/schemas.test.js +43 -0
  93. package/lib/skill-runtime/__tests__/task-contract-migrate.test.js +137 -0
  94. package/lib/skill-runtime/__tests__/task-contract.test.js +874 -0
  95. package/lib/skill-runtime/__tests__/verify-artifacts.test.js +203 -0
  96. package/lib/skill-runtime/__tests__/worker-run.test.js +4 -11
  97. package/lib/skill-runtime/__tests__/workflow-context-legacy-fallback.test.js +31 -0
  98. package/lib/skill-runtime/__tests__/workflow-context.test.js +98 -0
  99. package/lib/skill-runtime/artifacts.js +0 -5
  100. package/lib/skill-runtime/context-index.js +545 -0
  101. package/lib/skill-runtime/intent.js +9 -33
  102. package/lib/skill-runtime/lifecycle.js +1 -1
  103. package/lib/skill-runtime/operations/CLAUDE.md +2 -2
  104. package/lib/skill-runtime/operations/dispatch.js +4 -42
  105. package/lib/skill-runtime/operations/init.js +2 -6
  106. package/lib/skill-runtime/operations/janitor.js +2 -18
  107. package/lib/skill-runtime/operations/resume.js +21 -38
  108. package/lib/skill-runtime/operations/review-records.js +265 -0
  109. package/lib/skill-runtime/operations/snapshot.js +1 -1
  110. package/lib/skill-runtime/operations/task-contract.js +593 -0
  111. package/lib/skill-runtime/operations/worker-run.js +2 -30
  112. package/lib/skill-runtime/paths.js +4 -4
  113. package/lib/skill-runtime/planner.js +24 -11
  114. package/lib/skill-runtime/query-registry.js +2 -2
  115. package/lib/skill-runtime/query.js +15 -2
  116. package/lib/skill-runtime/review-records.js +123 -0
  117. package/lib/skill-runtime/review.js +246 -11
  118. package/lib/skill-runtime/schemas.js +174 -12
  119. package/lib/skill-runtime/store.js +0 -10
  120. package/lib/skill-runtime/task-contract.js +188 -0
  121. package/lib/skill-runtime/workflow-context.js +748 -0
  122. package/package.json +6 -2
@@ -6,8 +6,9 @@
6
6
  "requirementId": "REQ-003",
7
7
  "requirementVersion": "REQ-003.v1",
8
8
  "planningMeta": {
9
- "reqPlanSkillVersion": "3.8.5",
9
+ "reqPlanSkillVersion": "3.9.2",
10
10
  "designVersion": "design.v1",
11
+ "workBranch": "REQ/003-audit-log-export",
11
12
  "approvedAt": "2026-04-16T13:10:00.000Z",
12
13
  "basedOnOption": "Tiny design card",
13
14
  "aiLeverageDecisionLens": {
@@ -173,7 +174,7 @@
173
174
  ],
174
175
  "evidence": [
175
176
  "passing test output",
176
- "checkpoint summary"
177
+ "CLI log summary"
177
178
  ],
178
179
  "context": {
179
180
  "readFiles": [
@@ -4,7 +4,8 @@
4
4
 
5
5
  - Requirement version: `REQ-003.v1`
6
6
  - Design version: `design.v1`
7
- - CC-Plan skill version: `3.8.5`
7
+ - CC-Plan skill version: `3.9.2`
8
+ - Work branch: `REQ/003-audit-log-export`
8
9
  - Source roadmap item: `RM-020`
9
10
  - Source roadmap version: `roadmap.v3`
10
11
 
@@ -41,12 +42,14 @@
41
42
  ClaudeCode / Codex 执行本计划时,必须把本文件当成任务模板合同,而不是普通 TODO 列表。
42
43
 
43
44
  - Template source: `assets/TASKS_TEMPLATE.md`
45
+ - Context index first: run `cc-devflow query workflow-context --change <changeId> --change-key <changeKey> --cwd <repo-root> --data-only --no-trace --compact` before opening deep sections; use `packetOnly` plus `mustNotForget` first, verify `sourceHashes`, open `defaultOpen` refs only when needed, and reserve `deepOpen` for matching `openWhen.conditions`.
44
46
  - Task selection: read `planning/task-manifest.json.currentTaskId`; if empty, run the ready-task selector before choosing work.
45
47
  - Task block rule: read the full task block before coding; title-only execution is invalid.
46
48
  - Completion rule: after verification and review gates pass, run the completion script; do not manually edit checkbox, status, or `currentTaskId`.
47
- - Completion failure: if the script fails, fix the missing checkpoint / review / dependency evidence and rerun it. Do not bypass it by editing JSON or Markdown.
49
+ - Completion failure: if the script fails, fix the missing review / dependency evidence and rerun it. Do not bypass it by editing JSON or Markdown.
48
50
 
49
51
  ```bash
52
+ cc-devflow query workflow-context --change <changeId> --change-key <changeKey> --cwd <repo-root> --data-only --no-trace --compact
50
53
  SCRIPT_ROOT=".claude/skills/cc-do/scripts"
51
54
  if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then
52
55
  SCRIPT_ROOT=".codex/skills/cc-do/scripts"
@@ -64,7 +67,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff
64
67
  Read first: `design.md`, `src/admin/AuditSummaryPanel.tsx`
65
68
  Verification: `npm test -- src/admin/AuditSummaryPanel.test.tsx`
66
69
  Evidence: failing output
67
- Completion: after verification evidence and required checkpoint/review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md --task T001`; do not hand-edit status.
70
+ Completion: after verification evidence and required review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md --task T001`; do not hand-edit status.
68
71
  Test seam: admin audit panel UI behavior
69
72
  Public verification path: Run the audit summary panel test and observe CSV export through visible rows
70
73
  Allowed mocks: download / blob boundary
@@ -76,8 +79,8 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff
76
79
  Files: `src/admin/AuditSummaryPanel.tsx`
77
80
  Read first: `design.md`, `src/admin/AuditSummaryPanel.test.tsx`
78
81
  Verification: `npm test -- src/admin/AuditSummaryPanel.test.tsx`
79
- Evidence: passing output + checkpoint
80
- Completion: after verification evidence and required checkpoint/review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md --task T002`; do not hand-edit status.
82
+ Evidence: passing output + Git diff
83
+ Completion: after verification evidence and required review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md --task T002`; do not hand-edit status.
81
84
  Test seam: admin audit panel UI behavior
82
85
  Public verification path: Run the audit summary panel test and observe CSV export through visible rows
83
86
  Allowed mocks: download / blob boundary
@@ -94,7 +97,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff
94
97
  - `npm test -- src/admin/AuditSummaryPanel.test.tsx`
95
98
  - `npm run lint -- src/admin/AuditSummaryPanel.tsx`
96
99
  Evidence: passing output + clean lint output
97
- Completion: after verification evidence and required checkpoint/review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md --task T003`; do not hand-edit status.
100
+ Completion: after verification evidence and required review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md --task T003`; do not hand-edit status.
98
101
  Test seam: admin audit panel UI behavior
99
102
  Public verification path: Run the audit summary panel test and observe CSV export through visible rows
100
103
  Allowed mocks: download / blob boundary
@@ -120,7 +120,7 @@
120
120
  "reviewPacket": {
121
121
  "baseSha": "example-base",
122
122
  "headSha": "example-head",
123
- "requirements": "planning/design.md",
123
+ "requirements": "planning/tasks.md#Contract Summary",
124
124
  "implemented": "audit log export summary view",
125
125
  "reviewerContext": "requirement diff, plan completion, scope drift, docs staleness"
126
126
  },
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Example version: `1.0.0`
6
6
  - Last reviewed: `2026-04-17`
7
- - Bound skills: `cc-roadmap@5.3.0`, `cc-plan@3.8.5`, `cc-do@1.6.5`, `cc-check@1.10.1`, `cc-act@1.8.7`
7
+ - Bound skills: `cc-roadmap@5.3.0`, `cc-plan@3.9.2`, `cc-do@1.6.8`, `cc-check@1.11.2`, `cc-act@1.8.9`
8
8
 
9
9
  This folder shows one minimal but complete `cc-roadmap -> cc-plan -> cc-do -> cc-check -> cc-act` loop.
10
10
 
@@ -30,8 +30,8 @@ The sample requirement is:
30
30
  - `roadmap.json`: editable roadmap truth that renders the generated views
31
31
  - `ROADMAP.md`: generated view of what `cc-roadmap` decided and why this item is first
32
32
  - `BACKLOG.md`: deprecated capability-aware projection that makes `RM-001` ready for `cc-plan`
33
- - `changes/REQ-001-copy-invite-link/planning/design.md`: approved tiny design
34
33
  - `changes/REQ-001-copy-invite-link/planning/tasks.md`: executable task handoff
34
+ - `changes/REQ-001-copy-invite-link/planning/design.md`: legacy fallback sample for the approved tiny design
35
35
  - `changes/REQ-001-copy-invite-link/planning/task-manifest.json`: machine-readable execution truth
36
36
  - `changes/REQ-001-copy-invite-link/review/report-card.json`: `cc-check` proof and verdict
37
37
  - `changes/REQ-001-copy-invite-link/handoff/pr-brief.md`: ship-ready PR handoff
@@ -28,7 +28,7 @@
28
28
 
29
29
  - Reviewed base SHA: `example-base`
30
30
  - Reviewed head SHA: `example-head`
31
- - Review packet: `planning/tasks.md#T001-T003`; `planning/design.md`
31
+ - Review packet: `planning/tasks.md#Contract Summary`; `planning/tasks.md#T001-T003`
32
32
  - Finding triage: no findings
33
33
  - QA / claim evidence: `qa=pass`, `tests-pass=pass`, `requirements-met=pass`
34
34
 
@@ -82,7 +82,7 @@
82
82
 
83
83
  - Reviewed base SHA: `example-base`
84
84
  - Reviewed head SHA: `example-head`
85
- - Review packet: `planning/tasks.md#T001-T003`; `planning/design.md`
85
+ - Review packet: `planning/tasks.md#Contract Summary`; `planning/tasks.md#T001-T003`
86
86
  - Finding triage: no findings
87
87
  - QA / claim evidence: `qa=pass`, `tests-pass=pass`, `requirements-met=pass`
88
88
  - Readiness: review freshness=`fresh`; QA coverage has no gaps; browser QA intentionally skipped for this fixture.
@@ -4,7 +4,8 @@
4
4
 
5
5
  - Requirement version: `REQ-001.v1`
6
6
  - Design version: `design.v1`
7
- - CC-Plan skill version: `3.8.5`
7
+ - CC-Plan skill version: `3.9.2`
8
+ - Work branch: `REQ/001-copy-invite-link`
8
9
  - Requirement ID: `REQ-001`
9
10
  - Design mode: `tiny-design`
10
11
  - Why this stays `tiny-design`: the patch is limited to an existing dialog and test file, with no API or data model changes
@@ -6,8 +6,9 @@
6
6
  "requirementId": "REQ-001",
7
7
  "requirementVersion": "REQ-001.v1",
8
8
  "planningMeta": {
9
- "reqPlanSkillVersion": "3.8.5",
9
+ "reqPlanSkillVersion": "3.9.2",
10
10
  "designVersion": "design.v1",
11
+ "workBranch": "REQ/001-copy-invite-link",
11
12
  "approvedAt": "2026-04-15T10:05:00.000Z",
12
13
  "basedOnOption": "Tiny design card",
13
14
  "aiLeverageDecisionLens": {
@@ -4,7 +4,8 @@
4
4
 
5
5
  - Requirement version: `REQ-001.v1`
6
6
  - Design version: `design.v1`
7
- - CC-Plan skill version: `3.8.5`
7
+ - CC-Plan skill version: `3.9.2`
8
+ - Work branch: `REQ/001-copy-invite-link`
8
9
  - Source roadmap item: `RM-001`
9
10
  - Source roadmap version: `roadmap.v1`
10
11
 
@@ -44,12 +45,14 @@
44
45
  ClaudeCode / Codex 执行本计划时,必须把本文件当成任务模板合同,而不是普通 TODO 列表。
45
46
 
46
47
  - Template source: `assets/TASKS_TEMPLATE.md`
48
+ - Context index first: run `cc-devflow query workflow-context --change <changeId> --change-key <changeKey> --cwd <repo-root> --data-only --no-trace --compact` before opening deep sections; use `packetOnly` plus `mustNotForget` first, verify `sourceHashes`, open `defaultOpen` refs only when needed, and reserve `deepOpen` for matching `openWhen.conditions`.
47
49
  - Task selection: read `planning/task-manifest.json.currentTaskId`; if empty, run the ready-task selector before choosing work.
48
50
  - Task block rule: read the full task block before coding; title-only execution is invalid.
49
51
  - Completion rule: after verification and review gates pass, run the completion script; do not manually edit checkbox, status, or `currentTaskId`.
50
- - Completion failure: if the script fails, fix the missing checkpoint / review / dependency evidence and rerun it. Do not bypass it by editing JSON or Markdown.
52
+ - Completion failure: if the script fails, fix the missing review / dependency evidence and rerun it. Do not bypass it by editing JSON or Markdown.
51
53
 
52
54
  ```bash
55
+ cc-devflow query workflow-context --change <changeId> --change-key <changeKey> --cwd <repo-root> --data-only --no-trace --compact
53
56
  SCRIPT_ROOT=".claude/skills/cc-do/scripts"
54
57
  if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then
55
58
  SCRIPT_ROOT=".codex/skills/cc-do/scripts"
@@ -67,7 +70,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/pdca-loop/cha
67
70
  Read first: `design.md`, `src/features/share/ShareDialog.tsx`
68
71
  Verification: `npm test -- src/features/share/ShareDialog.test.tsx`
69
72
  Evidence: failing output that shows the missing button / action
70
- Completion: after verification evidence and required checkpoint/review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json --tasks docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md --task T001`; do not hand-edit status.
73
+ Completion: after verification evidence and required review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json --tasks docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md --task T001`; do not hand-edit status.
71
74
  Test seam: share dialog UI behavior
72
75
  Public verification path: Run the share dialog test and observe the copy action through the rendered dialog
73
76
  Allowed mocks: clipboard boundary
@@ -79,8 +82,8 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/pdca-loop/cha
79
82
  Files: `src/features/share/ShareDialog.tsx`
80
83
  Read first: `design.md`, `src/features/share/ShareDialog.test.tsx`
81
84
  Verification: `npm test -- src/features/share/ShareDialog.test.tsx`
82
- Evidence: passing output + checkpoint + review notes
83
- Completion: after verification evidence and required checkpoint/review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json --tasks docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md --task T002`; do not hand-edit status.
85
+ Evidence: passing output + review notes
86
+ Completion: after verification evidence and required review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json --tasks docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md --task T002`; do not hand-edit status.
84
87
  Test seam: share dialog UI behavior
85
88
  Public verification path: Run the share dialog test and observe the copy action through the rendered dialog
86
89
  Allowed mocks: clipboard boundary
@@ -97,7 +100,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/pdca-loop/cha
97
100
  - `npm test -- src/features/share/ShareDialog.test.tsx`
98
101
  - `npm run lint -- src/features/share/ShareDialog.tsx`
99
102
  Evidence: passing test output + clean lint output
100
- Completion: after verification evidence and required checkpoint/review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json --tasks docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md --task T003`; do not hand-edit status.
103
+ Completion: after verification evidence and required review records exist, run `SCRIPT_ROOT=".claude/skills/cc-do/scripts"; if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then SCRIPT_ROOT=".codex/skills/cc-do/scripts"; fi; bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json --tasks docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md --task T003`; do not hand-edit status.
101
104
  Test seam: share dialog UI behavior
102
105
  Public verification path: Run the share dialog test and observe the copy action through the rendered dialog
103
106
  Allowed mocks: clipboard boundary
@@ -120,7 +120,7 @@
120
120
  "reviewPacket": {
121
121
  "baseSha": "example-base",
122
122
  "headSha": "example-head",
123
- "requirements": "planning/design.md",
123
+ "requirements": "planning/tasks.md#Contract Summary",
124
124
  "implemented": "copy invite link workflow",
125
125
  "reviewerContext": "requirement diff, plan completion, scope drift, docs staleness"
126
126
  },
@@ -113,6 +113,8 @@ while IFS= read -r encoded; do
113
113
  ' "$planning_dir/task-manifest.json" >/dev/null
114
114
 
115
115
  assert_contains "$planning_dir/tasks.md" "## Execution Protocol"
116
+ assert_contains "$planning_dir/tasks.md" "cc-devflow query workflow-context"
117
+ assert_contains "$planning_dir/tasks.md" "--data-only --no-trace --compact"
116
118
  assert_contains "$planning_dir/tasks.md" "mark-task-complete.sh"
117
119
  assert_contains "$planning_dir/tasks.md" "TDD phase:"
118
120
  assert_contains "$planning_dir/tasks.md" "Completion:"
@@ -68,7 +68,7 @@ lib/skill-runtime
68
68
  |
69
69
  v
70
70
  durable artifacts
71
- task-manifest.json / report-card.json / change-state.json / analysis.md
71
+ planning/tasks.md / task-manifest.json / report-card.json / change-meta.json
72
72
  ```
73
73
 
74
74
  SKILL/PLAYBOOK 拥有 workflow 语义。`lib/skill-runtime` 只拥有 typed reads、
@@ -125,11 +125,11 @@ Codebase Map 七件套只作为按需缓存:
125
125
 
126
126
  | Contract | Artifact owner | Gate | Tests |
127
127
  | --- | --- | --- | --- |
128
- | WHAT/WHY ambiguity score | `task-manifest.json.planningMeta` + `planning/design.md` | score above threshold blocks task manifest approval | unit fixture: ambiguous input blocks; clear input passes |
129
- | Assumptions preview | `planning/design.md` decision log | user-visible assumptions before approval | fixture: hidden assumption fails review |
130
- | Bounded review loop | `planning/design.md` | max attempts and stall detection reroute to `cc-roadmap` or user question | hostile fixture: repeated issue count blocks |
131
- | External doc conflict buckets | `planning/design.md` | imported docs classified as auto-resolved, competing, unresolved | fixture: conflicting ADR/PRD creates blocker |
132
- | Trust boundary | `planning/design.md` | external text is evidence/source only, never instruction | hostile fixture: prompt injection remains evidence-only |
128
+ | WHAT/WHY ambiguity score | `task-manifest.json.planningMeta` + `planning/tasks.md#Contract Summary` | score above threshold blocks task manifest approval | unit fixture: ambiguous input blocks; clear input passes |
129
+ | Assumptions preview | `planning/tasks.md#Contract Summary` decision log | user-visible assumptions before approval | fixture: hidden assumption fails review |
130
+ | Bounded review loop | `planning/tasks.md#Contract Summary` | max attempts and stall detection reroute to `cc-roadmap` or user question | hostile fixture: repeated issue count blocks |
131
+ | External doc conflict buckets | `planning/tasks.md#Contract Summary` | imported docs classified as auto-resolved, competing, unresolved | fixture: conflicting ADR/PRD creates blocker |
132
+ | Trust boundary | `planning/tasks.md#Contract Summary` | external text is evidence/source only, never instruction | hostile fixture: prompt injection remains evidence-only |
133
133
 
134
134
  `cc-plan` must keep design decisions readable in Markdown and machine truth in JSON.
135
135
  No separate GSD-style `.planning/` tree.
@@ -140,20 +140,20 @@ No separate GSD-style `.planning/` tree.
140
140
  | --- | --- | --- | --- |
141
141
  | Wave scheduling | `task-manifest.json.tasks[].phase/parallel/dependsOn/touches` | parallel only when dependencies and touches do not conflict | schema fixture: shared touches rejected |
142
142
  | Submodule-aware worktree gate | `task-manifest.json.tasks[].touches` + runtime submodule scan | only tasks touching submodule paths lose isolation | hostile fixture: repo with `.gitmodules` but unrelated touches still parallel |
143
- | Quick lane mini manifest | `task-manifest.json.metadata.lane=quick` | small work still has checkpoint, verification, handoff | fixture: quick lane without verification blocks |
144
- | Thread/pause/resume | `change-state.json` + one final handoff file | resume query returns stable next action | integration: stale checkpoint restores to pending |
143
+ | Quick lane mini manifest | `task-manifest.json.metadata.lane=quick` | small work still has task-state truth, verification, handoff | fixture: quick lane without verification blocks |
144
+ | Thread/pause/resume | `change-meta.json`, manifest task state, optional CLI logs, and one final handoff file | resume query returns stable next action | integration: stale manifest state restores to pending |
145
145
 
146
- `cc-do` should not invent new task state outside `task-manifest.json` and checkpoints.
146
+ `cc-do` should not invent new task state outside `task-manifest.json`.
147
147
 
148
148
  ### `cc-investigate`
149
149
 
150
150
  | Contract | Artifact owner | Gate | Tests |
151
151
  | --- | --- | --- | --- |
152
- | Persistent debug session | `planning/analysis.md` session block, optional machine summary in `task-manifest.json` | hypotheses, probes, symptom match, cleanup recorded | fixture: missing cleanup blocks freeze |
153
- | Diagnose-only report | `planning/analysis.md` | no code edits required; root cause and next action explicit | fixture: diagnose-only does not mark implementation complete |
154
- | Workflow forensics | `planning/analysis.md` + trace refs | git/artifact/state failures classified before fixes | hostile fixture: corrupt manifest produces named failure |
152
+ | Persistent debug session | `planning/tasks.md#Root Cause Contract`, optional machine summary in `task-manifest.json` | hypotheses, probes, symptom match, cleanup recorded | fixture: missing cleanup blocks freeze |
153
+ | Diagnose-only report | `planning/tasks.md#Root Cause Contract` | no code edits required; root cause and next action explicit | fixture: diagnose-only does not mark implementation complete |
154
+ | Workflow forensics | `planning/tasks.md#Root Cause Contract` + trace refs | git/artifact/state failures classified before fixes | hostile fixture: corrupt manifest produces named failure |
155
155
 
156
- Prefer extending `planning/analysis.md` over adding `planning/debug-session.md`.
156
+ Prefer extending `planning/tasks.md#Root Cause Contract` over adding `planning/debug-session.md`.
157
157
  Only add a new file if the debug transcript becomes too large and has a single owner.
158
158
 
159
159
  ### `cc-check`
@@ -208,11 +208,11 @@ default planning path.
208
208
 
209
209
  | Data | Owner | Human view | Machine truth |
210
210
  | --- | --- | --- | --- |
211
- | Ambiguity and assumptions | `cc-plan` | `planning/design.md` | `task-manifest.json.planningMeta` |
212
- | Imported doc trust classification | `cc-plan` | `planning/design.md` | `planning/design.md` |
211
+ | Ambiguity and assumptions | `cc-plan` | `planning/tasks.md#Contract Summary` | `task-manifest.json.planningMeta` |
212
+ | Imported doc trust classification | `cc-plan` | `planning/tasks.md#Contract Summary` | `planning/tasks.md` |
213
213
  | Task graph and waves | `cc-plan` / `cc-do` | `planning/tasks.md` | `task-manifest.json.tasks[]` |
214
- | Quick lane state | `cc-do` | checkpoint summary | `task-manifest.json.metadata`, `checkpoint.json` |
215
- | Debug hypotheses and probes | `cc-investigate` | `planning/analysis.md` | optional `task-manifest.json.investigation` |
214
+ | Quick lane state | `cc-do` | task-state summary | `task-manifest.json.metadata`, `planning/tasks.md` |
215
+ | Debug hypotheses and probes | `cc-investigate` | `planning/tasks.md#Root Cause Contract` | optional `task-manifest.json.investigation` |
216
216
  | Verification/UAT/facets | `cc-check` | review summary | `report-card.json` |
217
217
  | Runtime failures | `cc-check` | review summary | `report-card.json.runtime.failureOwnership[]` |
218
218
  | Ship target and rollback | `cc-act` | `handoff/pr-brief.md` / `release-note.md` | structured preflight output |
@@ -243,7 +243,7 @@ owner skill, and next action.
243
243
  | --- | --- | --- | --- | --- | --- | --- |
244
244
  | external docs -> `cc-plan` | block with missing source | skip with reason | `TrustBoundaryError` | conflict bucket | mark stale source | partial import warning |
245
245
  | `tasks.md` -> `task-manifest.json` | block | block | schema error | dependency conflict | plan version mismatch | no manifest approval |
246
- | manifest -> wave scheduling | block | no runnable task | `InvalidTaskGraphError` | serialize or block | stale checkpoint rejected | reroute resume |
246
+ | manifest -> wave scheduling | block | no runnable task | `InvalidTaskGraphError` | serialize or block | stale manifest state rejected | reroute resume |
247
247
  | debug session -> analysis | block freeze | require note | schema/narrative mismatch | competing hypotheses | stale symptom | diagnose-only |
248
248
  | query registry -> next action | `MissingArtifactError` | no next action with reason | named parse/schema error | blocked graph | stale state warning | degraded output |
249
249
  | inventory -> publish gate | missing inventory blocks | empty inventory blocks | schema error | drift blocks | stale hash blocks | publish blocked |
@@ -320,7 +320,7 @@ Large-file guardrails:
320
320
 
321
321
  ### Phase 3: `cc-investigate` debug session and forensics
322
322
 
323
- - Extend `planning/analysis.md` and optional machine summary.
323
+ - Extend `planning/tasks.md#Root Cause Contract` and optional machine summary.
324
324
  - Required proof: diagnose-only and missing cleanup fixtures.
325
325
 
326
326
  ### Phase 4: `cc-check` and `cc-act` consumers
@@ -354,7 +354,7 @@ These rules protect cc-devflow's identity:
354
354
  | Existing cc-devflow asset | Reuse |
355
355
  | --- | --- |
356
356
  | `lib/skill-runtime/query.js` | current progress/next/full-state facade |
357
- | `lib/skill-runtime/schemas.js` | manifest/report/checkpoint schema boundary |
357
+ | `lib/skill-runtime/schemas.js` | manifest/report/runtime schema boundary |
358
358
  | `lib/skill-runtime/config.js` | layered config and doctor pattern |
359
359
  | `lib/compiler/manifest.js` | hash and drift detection foundation |
360
360
  | `scripts/validate-publish.js` | publish validation orchestrator |
@@ -404,7 +404,7 @@ not the cc-devflow implementation order.
404
404
  | `ship` | structured ship preflight |
405
405
  | `next` | runtime query `route.next-action` |
406
406
  | `fast` | TDD exception / quick lane rule |
407
- | `quick` | mini manifest + checkpoint |
407
+ | `quick` | mini manifest + task-state truth |
408
408
  | `ui-review` | conditional frontend `cc-check` facet |
409
409
  | `code-review` | finding schema |
410
410
  | `code-review-fix` | fix loop and return to `cc-check` |
@@ -433,7 +433,7 @@ not the cc-devflow implementation order.
433
433
  | `cleanup` | low priority cleanup |
434
434
  | `manager` | skip UI |
435
435
  | `workstreams` | active pointer only |
436
- | `autonomous` | smart-discuss/checkpoint guard only |
436
+ | `autonomous` | smart-discuss/task-state guard only |
437
437
  | `undo` | rollback guard |
438
438
 
439
439
  ### Session And Navigation
@@ -1,6 +1,9 @@
1
1
  # Artifact Contract
2
2
 
3
3
  cc-devflow artifacts follow two rules: progressive disclosure and one state owner.
4
+ Machine JSON has a third rule: it is CLI-owned. Agents write the human contract
5
+ in `planning/tasks.md`, then run `cc-devflow task-contract compile` / `validate`;
6
+ they must not handwrite `task-manifest.json` or `change-meta.json`.
4
7
 
5
8
  ## Progressive Disclosure
6
9
 
@@ -20,7 +23,7 @@ If a field has no clear opener and no downstream consumer, remove it.
20
23
  | Capability/spec sync state | `devflow/changes/<change-key>/change-meta.json` | `planning/tasks.md`, `review/report-card.json`, handoff summaries |
21
24
  | Execution task status | `planning/task-manifest.json.tasks[].status` | `planning/tasks.md` checkboxes, recovery summaries |
22
25
  | Ready task / phase | derived from `tasks[].status`, `tasks[].phase`, and `tasks[].dependsOn` | `currentTaskId` cache, ready-task selector output |
23
- | Runtime checkpoint state | `execution/tasks/<task-id>/checkpoint.json` | `events.jsonl`, recovery summaries |
26
+ | Runtime event log | `execution/tasks/<task-id>/events.jsonl` only for debug/failed runs | recovery summaries |
24
27
  | Review verdict | `review/report-card.json.verdict` | PR brief, release note, act gate |
25
28
  | PR / remote queue truth | live GitHub API / `gh` output | local review notes and handoff summaries |
26
29
  | Project postmortem facts and principles | `devflow/postmortems/` | planning recall, investigation hypotheses, task guardrails |
@@ -32,6 +35,7 @@ If a field has no clear opener and no downstream consumer, remove it.
32
35
  - Derived fields must be described as derived/cache and must be recomputable.
33
36
  - A skill must not create a new status field unless it also names the owner, lifecycle, projection readers, and validation gate.
34
37
  - Task manifests must not duplicate PRD narrative, review-loop prose, source-trust details, completion shell commands, roadmap progress, or spec sync status.
38
+ - Task manifests and change metadata must be generated or refreshed by CLI/template tooling, not manually edited as process notes.
35
39
  - Project postmortems must cite stronger owner artifacts and Git evidence; they do not own roadmap progress, task status, review verdicts, or spec sync state.
36
40
 
37
41
  ## Required Check
@@ -11,10 +11,10 @@ CC-DevFlow has two entry paths:
11
11
  - `cc-devflow init`: install the whole `.claude` pack into your project
12
12
  - `cc-devflow adapt`: generate platform outputs such as Codex rules
13
13
 
14
- The core workflow is driven by six visible skills, with `cc-review` available as an optional deep review pass:
14
+ The core workflow can run manually through PDCA/IDCA skills or automatically through the PR harness skills:
15
15
 
16
16
  ```text
17
- cc-roadmap
17
+ cc-roadmap -> cc-next -> cc-dev
18
18
 
19
19
  PDCA: cc-plan -> [cc-review] -> cc-do -> [cc-review] -> cc-check -> cc-act
20
20
  IDCA: cc-investigate -> [cc-review] -> cc-do -> [cc-review] -> cc-check -> cc-act
@@ -36,7 +36,7 @@ The public skills are the visible harness. Each distributed `SKILL.md` now carri
36
36
  npx cc-devflow init --dir /path/to/your/project
37
37
  ```
38
38
 
39
- The whole-pack install includes the six core workflow skills, optional `cc-review`, plus `cc-spec-init` and `cc-simplify` as maintenance helpers.
39
+ The whole-pack install includes roadmap, next-work selection, autonomous dev, manual PDCA/IDCA, optional `cc-review`, PR review/landing, plus `cc-spec-init` and `cc-simplify` as maintenance helpers.
40
40
 
41
41
  ### Single Skill Install
42
42
 
@@ -87,9 +87,9 @@ Typical outputs:
87
87
 
88
88
  - `cc-roadmap` writes `devflow/roadmap.json` as the editable roadmap truth, then generates `devflow/ROADMAP.md` and deprecated `devflow/BACKLOG.md`
89
89
  - `cc-spec-init` writes `devflow/specs/INDEX.md`, capability specs, and `change-meta.json`
90
- - `cc-plan` writes `planning/design.md`, `planning/tasks.md`, `task-manifest.json`, and `change-meta.json`
91
- - `cc-investigate` writes `planning/analysis.md`, `planning/tasks.md`, `task-manifest.json`, and `change-meta.json`
92
- - `cc-review` writes `cc-review-plan.md`, `cc-review-ledger.jsonl`, `cc-review-report.md`, optional `cc-review-agent-results.jsonl`, and optional structured findings for deep plan or implementation review
90
+ - `cc-plan` writes `planning/tasks.md#Contract Summary`, then CLI-generates `task-manifest.json` and `change-meta.json`
91
+ - `cc-investigate` writes `planning/tasks.md#Root Cause Contract`, then CLI-generates `task-manifest.json` and `change-meta.json`
92
+ - `cc-review` writes `review-ledger.jsonl`, optional `review-findings.json`, and Markdown reports only when rendered on demand
93
93
  - `cc-check` writes `report-card.json`
94
94
  - `cc-act` writes exactly one final handoff file: `handoff/pr-brief.md`, `handoff/resume-index.md`, or `handoff/release-note.md`
95
95
 
@@ -98,7 +98,9 @@ Change truth lives in `devflow/changes/<change>/`.
98
98
 
99
99
  - Keep `INDEX.md` plus capability markdown under `devflow/specs/`.
100
100
  - Name new change directories as `REQ-<number>-<description>` for requirements or `FIX-<number>-<description>` for bug fixes. `REQ` and `FIX` advance as separate local sequences, so cross-prefix duplicates are valid. Parallel worktrees may still repeat numbers; the full change key, especially the description, distinguishes the work. Old lowercase directories are compatibility reads only.
101
- - Keep `change-state.json`, `change-meta.json`, planning docs, `task-manifest.json`, optional `team-state.json`, task `checkpoint.json`, `report-card.json`, and one final handoff file under each `devflow/changes/<change>/`.
101
+ - Keep CLI-generated `change-meta.json`, `planning/tasks.md`, CLI-generated `task-manifest.json`, review ledger/findings records, optional CLI logs for debug/failure, `report-card.json`, and one final handoff file under each `devflow/changes/<change>/`. Do not generate task `context.md`, `checkpoint.json`, or AI-written process files.
102
+ - Machine JSON is CLI-owned: run `cc-devflow task-contract compile` / `validate`; do not handwrite `task-manifest.json` or `change-meta.json`.
103
+ - Legacy `planning/design.md`, `planning/analysis.md`, and `cc-review-*.md` are readable fallback inputs for older changes, not new default writes.
102
104
  - Worker prompts, journals, assignments, and session logs belong under `devflow/workspaces/<change>/` as ephemeral scratch.
103
105
 
104
106
  Planning handoffs should be evidence-rich before implementation starts:
@@ -154,7 +156,7 @@ npx cc-devflow adapt --cwd /path/to/your/project --platform codex
154
156
 
155
157
  If your project has no optional `.claude/commands/` input, this is expected: the compiler will still generate the skills registry and mirror the distributed skill set for Codex.
156
158
 
157
- Codex mirrors the distributed skills from `.claude/skills/<skill>/` into `.codex/skills/<skill>/`. That set includes the six core workflow skills, optional `cc-review`, `cc-spec-init`, and `cc-simplify`, and the mirror is additive-only: existing project-owned Codex skills are preserved instead of being deleted.
159
+ Codex mirrors the distributed skills from `.claude/skills/<skill>/` into `.codex/skills/<skill>/`. That set includes the public workflow skills plus maintenance skills `cc-spec-init` and `cc-simplify`, and the mirror is additive-only: existing project-owned Codex skills are preserved instead of being deleted.
158
160
 
159
161
  ### Keep skills and examples in sync
160
162
 
@@ -173,6 +175,7 @@ npm run verify:publish
173
175
  - [CLI And Skills](../commands/README.md)
174
176
  - [Workflow Guide](./workflow-guide.md)
175
177
  - [Best Practices](./best-practices.md)
178
+ - [Minimized Artifact Contract](./minimize-artifacts.md)
176
179
  - [Example Entry Page](../examples/START-HERE.md)
177
180
  - [Compact Example List](../examples/README.md)
178
181
  - [Project README](../../README.md)
@@ -11,10 +11,10 @@ CC-DevFlow 现在有两条入口:
11
11
  - `cc-devflow init`:把整包 `.claude` 安装到你的项目里
12
12
  - `cc-devflow adapt`:生成 Codex、Cursor、Qwen、Antigravity 等平台产物
13
13
 
14
- 核心工作流由 6 个可见 Skill 组成,复杂工作可选 `cc-review` 做深度 Review:
14
+ 核心工作流可以手动走 PDCA/IDCA Skill,也可以通过 PR harness Skill 自动推进:
15
15
 
16
16
  ```text
17
- cc-roadmap
17
+ cc-roadmap -> cc-next -> cc-dev
18
18
 
19
19
  PDCA: cc-plan -> [cc-review] -> cc-do -> [cc-review] -> cc-check -> cc-act
20
20
  IDCA: cc-investigate -> [cc-review] -> cc-do -> [cc-review] -> cc-check -> cc-act
@@ -36,7 +36,7 @@ IDCA: cc-investigate -> [cc-review] -> cc-do -> [cc-review] -> cc-check -> cc-ac
36
36
  npx cc-devflow init --dir /path/to/your/project
37
37
  ```
38
38
 
39
- 整包安装会带上 6 个核心 workflow skill、可选 `cc-review`,以及维护用的 `cc-spec-init` 和 `cc-simplify`。
39
+ 整包安装会带上 roadmap、next-work selection、autonomous dev、手动 PDCA/IDCA、可选 `cc-review`、PR review/landing,以及维护用的 `cc-spec-init` 和 `cc-simplify`。
40
40
 
41
41
  ### 单个 Skill 安装
42
42
 
@@ -87,9 +87,9 @@ find .codex/skills -mindepth 2 -maxdepth 2 -name SKILL.md | sort
87
87
 
88
88
  - `cc-roadmap` 产出可编辑真相 `devflow/roadmap.json`,再生成 `devflow/ROADMAP.md` 和 deprecated `devflow/BACKLOG.md`
89
89
  - `cc-spec-init` 产出 `devflow/specs/INDEX.md`、capability spec 和 `change-meta.json`
90
- - `cc-plan` 产出 `planning/design.md`、`planning/tasks.md`、`task-manifest.json` 和 `change-meta.json`
91
- - `cc-investigate` 产出 `planning/analysis.md`、`planning/tasks.md`、`task-manifest.json` 和 `change-meta.json`
92
- - `cc-review` 产出 `cc-review-plan.md`、`cc-review-ledger.jsonl`、`cc-review-report.md`、可选 `cc-review-agent-results.jsonl`,以及可选的结构化深度 Review findings
90
+ - `cc-plan` 产出 `planning/tasks.md#Contract Summary`,再由 CLI 生成 `task-manifest.json` 和 `change-meta.json`
91
+ - `cc-investigate` 产出 `planning/tasks.md#Root Cause Contract`,再由 CLI 生成 `task-manifest.json` 和 `change-meta.json`
92
+ - `cc-review` 产出 `review-ledger.jsonl`、可选 `review-findings.json`,Markdown 报告只在需要时按需渲染
93
93
  - `cc-check` 产出 `report-card.json`
94
94
  - `cc-act` 只产出一个最终 handoff 文件:`handoff/pr-brief.md`、`handoff/resume-index.md` 或 `handoff/release-note.md`
95
95
 
@@ -97,7 +97,9 @@ durable truth 分两层:
97
97
 
98
98
  - `devflow/specs/`:capability 真相,保留 `INDEX.md` 与 `capabilities/*.md`
99
99
  - 新 change 目录必须命名为 `REQ-<number>-<description>`(需求)或 `FIX-<number>-<description>`(修复);`REQ` 和 `FIX` 分别维护自己的递增编号,跨前缀同号不是冲突;并行工作树造成重复编号时,完整 change key 的描述负责区分业务内容,旧小写目录只作为历史兼容读取。
100
- - `devflow/changes/<change>/`:变更真相,保留 `change-state.json`、`change-meta.json`、planning 文档、`task-manifest.json`、可选 `team-state.json`、任务级 `checkpoint.json`、`report-card.json` 和唯一的最终 handoff 文件。
100
+ - `devflow/changes/<change>/`:变更真相,保留 CLI 生成的 `change-meta.json`、`planning/tasks.md`、CLI 生成的 `task-manifest.json`、review ledger / findings 记录、debug / failed 的可选 CLI 日志、`report-card.json` 和唯一的最终 handoff 文件。不要生成任务级 `context.md`、`checkpoint.json` AI 手写过程文件。
101
+ - 机器态 JSON 归 CLI 所有:运行 `cc-devflow task-contract compile` / `validate`;不要手写 `task-manifest.json` 或 `change-meta.json`。
102
+ - 历史 `planning/design.md`、`planning/analysis.md` 和 `cc-review-*.md` 是旧 change 的可读 fallback,不再是新默认写入。
101
103
  - worker prompt、journal、assignment、session log 统一放到 `devflow/workspaces/<change>/`,作为 ephemeral scratch。
102
104
 
103
105
  进入实现前,planning handoff 应该先把证据写实:
@@ -153,7 +155,7 @@ npx cc-devflow adapt --cwd /path/to/your/project --platform codex
153
155
 
154
156
  如果你的项目没有可选的 `.claude/commands/` 输入目录,这也是正常的;编译器仍然会生成 skills registry,并为 Codex 镜像正式分发 skill 集合。
155
157
 
156
- Codex 现在会把正式分发的 skill 从 `.claude/skills/<skill>/` 镜像到 `.codex/skills/<skill>/`。这套集合包含 6 个核心 workflow skill、可选 `cc-review` 和维护类 skill `cc-spec-init`、`cc-simplify`,并且镜像是纯增量的:项目里已有的自定义 Codex skill 不会被删除。
158
+ Codex 现在会把正式分发的 skill 从 `.claude/skills/<skill>/` 镜像到 `.codex/skills/<skill>/`。这套集合包含公开 workflow skill 和维护类 skill `cc-spec-init`、`cc-simplify`,并且镜像是纯增量的:项目里已有的自定义 Codex skill 不会被删除。
157
159
 
158
160
  ### 保持 skill 和样例同步
159
161
 
@@ -172,6 +174,7 @@ npm run verify:publish
172
174
  - [CLI 与 Skill](../commands/README.zh-CN.md)
173
175
  - [工作流详解](./workflow-guide.md)
174
176
  - [最佳实践](./best-practices.md)
177
+ - [最小 Artifact 合同](./minimize-artifacts.md)
175
178
  - [样例入口页](../examples/START-HERE.md)
176
179
  - [简版样例列表](../examples/README.md)
177
180
  - [项目 README](../../README.zh-CN.md)