cc-devflow 4.5.8 → 4.5.10

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 (149) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +33 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +9 -4
  3. package/.claude/skills/cc-act/SKILL.md +73 -12
  4. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_INDEX_TEMPLATE.md +30 -0
  5. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_PRINCIPLES_TEMPLATE.md +29 -0
  6. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_TEMPLATE.md +103 -0
  7. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +61 -5
  8. package/.claude/skills/cc-act/references/closure-contract.md +4 -1
  9. package/.claude/skills/cc-act/references/git-commit-guidelines.md +342 -37
  10. package/.claude/skills/cc-act/scripts/cc-act-common.sh +29 -1
  11. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +164 -0
  12. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +1 -1
  13. package/.claude/skills/cc-check/CHANGELOG.md +17 -0
  14. package/.claude/skills/cc-check/PLAYBOOK.md +1 -0
  15. package/.claude/skills/cc-check/SKILL.md +9 -5
  16. package/.claude/skills/cc-check/references/review-contract.md +7 -0
  17. package/.claude/skills/cc-check/scripts/render-report-card.js +6 -1
  18. package/.claude/skills/cc-dev/CHANGELOG.md +5 -0
  19. package/.claude/skills/cc-dev/SKILL.md +26 -1
  20. package/.claude/skills/cc-do/CHANGELOG.md +23 -0
  21. package/.claude/skills/cc-do/PLAYBOOK.md +7 -7
  22. package/.claude/skills/cc-do/SKILL.md +49 -45
  23. package/.claude/skills/cc-do/references/execution-recovery.md +18 -13
  24. package/.claude/skills/cc-do/scripts/build-task-context.sh +13 -22
  25. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +0 -6
  26. package/.claude/skills/cc-do/scripts/record-review-decision.sh +4 -5
  27. package/.claude/skills/cc-do/scripts/recover-workflow.sh +9 -11
  28. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +12 -10
  29. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +7 -29
  30. package/.claude/skills/cc-investigate/CHANGELOG.md +34 -0
  31. package/.claude/skills/cc-investigate/PLAYBOOK.md +21 -5
  32. package/.claude/skills/cc-investigate/SKILL.md +97 -40
  33. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +66 -4
  34. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +30 -59
  35. package/.claude/skills/cc-investigate/assets/{ANALYSIS_TEMPLATE.md → legacy/ANALYSIS_TEMPLATE.md} +48 -0
  36. package/.claude/skills/cc-investigate/references/investigation-contract.md +16 -2
  37. package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +1 -1
  38. package/.claude/skills/cc-next/CHANGELOG.md +6 -0
  39. package/.claude/skills/cc-next/PLAYBOOK.md +26 -4
  40. package/.claude/skills/cc-next/SKILL.md +39 -4
  41. package/.claude/skills/cc-plan/CHANGELOG.md +38 -0
  42. package/.claude/skills/cc-plan/PLAYBOOK.md +60 -53
  43. package/.claude/skills/cc-plan/SKILL.md +164 -87
  44. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +101 -9
  45. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +58 -229
  46. package/.claude/skills/cc-plan/assets/{DESIGN_TEMPLATE.md → legacy/DESIGN_TEMPLATE.md} +68 -0
  47. package/.claude/skills/cc-plan/assets/{TINY_DESIGN_TEMPLATE.md → legacy/TINY_DESIGN_TEMPLATE.md} +47 -1
  48. package/.claude/skills/cc-plan/references/planning-contract.md +48 -33
  49. package/.claude/skills/cc-review/CHANGELOG.md +6 -0
  50. package/.claude/skills/cc-review/PLAYBOOK.md +9 -11
  51. package/.claude/skills/cc-review/SKILL.md +37 -61
  52. package/.claude/skills/cc-review/references/e2e-and-plugin-verification.md +1 -1
  53. package/.claude/skills/cc-review/references/implementation-review-branch.md +5 -5
  54. package/.claude/skills/cc-review/references/plan-review-branch.md +1 -1
  55. package/.claude/skills/cc-review/references/review-methods.md +4 -4
  56. package/.claude/skills/cc-review/scripts/collect-review-context.sh +14 -7
  57. package/.claude/skills/cc-roadmap/CHANGELOG.md +6 -0
  58. package/.claude/skills/cc-roadmap/PLAYBOOK.md +30 -0
  59. package/.claude/skills/cc-roadmap/SKILL.md +45 -8
  60. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +8 -0
  61. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +22 -0
  62. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +32 -1
  63. package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +14 -14
  64. package/CHANGELOG.md +28 -0
  65. package/CONTRIBUTING.md +40 -4
  66. package/CONTRIBUTING.zh-CN.md +40 -4
  67. package/README.md +57 -43
  68. package/README.zh-CN.md +57 -43
  69. package/bin/cc-devflow-cli.js +293 -36
  70. package/docs/examples/START-HERE.md +5 -4
  71. package/docs/examples/example-bindings.json +10 -10
  72. package/docs/examples/full-design-blocked/BACKLOG.md +1 -1
  73. package/docs/examples/full-design-blocked/README.md +2 -2
  74. package/docs/examples/full-design-blocked/ROADMAP.md +1 -1
  75. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +2 -1
  76. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +29 -312
  77. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +11 -8
  78. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +4 -4
  79. package/docs/examples/full-design-blocked/roadmap.json +1 -1
  80. package/docs/examples/local-handoff/BACKLOG.md +1 -1
  81. package/docs/examples/local-handoff/README.md +2 -2
  82. package/docs/examples/local-handoff/ROADMAP.md +1 -1
  83. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +2 -1
  84. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +27 -210
  85. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +9 -6
  86. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +1 -1
  87. package/docs/examples/local-handoff/roadmap.json +1 -1
  88. package/docs/examples/pdca-loop/BACKLOG.md +1 -1
  89. package/docs/examples/pdca-loop/README.md +2 -2
  90. package/docs/examples/pdca-loop/ROADMAP.md +1 -1
  91. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +65 -1
  92. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +2 -1
  93. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +26 -228
  94. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +9 -6
  95. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +1 -1
  96. package/docs/examples/pdca-loop/roadmap.json +1 -1
  97. package/docs/examples/scripts/check-example-bindings.sh +11 -5
  98. package/docs/get-shit-done-strategy-audit.md +22 -22
  99. package/docs/guides/artifact-contract.md +44 -0
  100. package/docs/guides/getting-started.md +10 -8
  101. package/docs/guides/getting-started.zh-CN.md +10 -8
  102. package/docs/guides/minimize-artifacts.md +123 -0
  103. package/docs/guides/project-postmortem.md +78 -0
  104. package/lib/compiler/__tests__/skills-registry.test.js +2 -2
  105. package/lib/skill-runtime/CLAUDE.md +1 -1
  106. package/lib/skill-runtime/__tests__/autopilot.test.js +42 -6
  107. package/lib/skill-runtime/__tests__/benchmark-artifacts.test.js +165 -0
  108. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +2 -2
  109. package/lib/skill-runtime/__tests__/dispatch.test.js +8 -38
  110. package/lib/skill-runtime/__tests__/intent.test.js +4 -20
  111. package/lib/skill-runtime/__tests__/lifecycle.test.js +1 -1
  112. package/lib/skill-runtime/__tests__/paths.test.js +7 -1
  113. package/lib/skill-runtime/__tests__/planner.tdd.test.js +63 -2
  114. package/lib/skill-runtime/__tests__/prepare-pr.test.js +3 -16
  115. package/lib/skill-runtime/__tests__/query.test.js +388 -7
  116. package/lib/skill-runtime/__tests__/review-check-integration.test.js +148 -0
  117. package/lib/skill-runtime/__tests__/review-records.test.js +619 -0
  118. package/lib/skill-runtime/__tests__/runtime.integration.test.js +64 -23
  119. package/lib/skill-runtime/__tests__/schemas.test.js +76 -2
  120. package/lib/skill-runtime/__tests__/task-contract-migrate.test.js +137 -0
  121. package/lib/skill-runtime/__tests__/task-contract.test.js +783 -0
  122. package/lib/skill-runtime/__tests__/verify-artifacts.test.js +203 -0
  123. package/lib/skill-runtime/__tests__/worker-run.test.js +4 -11
  124. package/lib/skill-runtime/__tests__/workflow-context-legacy-fallback.test.js +31 -0
  125. package/lib/skill-runtime/__tests__/workflow-context.test.js +98 -0
  126. package/lib/skill-runtime/artifacts.js +0 -5
  127. package/lib/skill-runtime/context-index.js +545 -0
  128. package/lib/skill-runtime/intent.js +9 -33
  129. package/lib/skill-runtime/lifecycle.js +1 -1
  130. package/lib/skill-runtime/operations/CLAUDE.md +2 -2
  131. package/lib/skill-runtime/operations/dispatch.js +4 -42
  132. package/lib/skill-runtime/operations/init.js +2 -6
  133. package/lib/skill-runtime/operations/janitor.js +2 -18
  134. package/lib/skill-runtime/operations/resume.js +21 -38
  135. package/lib/skill-runtime/operations/review-records.js +265 -0
  136. package/lib/skill-runtime/operations/snapshot.js +1 -1
  137. package/lib/skill-runtime/operations/task-contract.js +524 -0
  138. package/lib/skill-runtime/operations/worker-run.js +2 -30
  139. package/lib/skill-runtime/paths.js +4 -4
  140. package/lib/skill-runtime/planner.js +25 -13
  141. package/lib/skill-runtime/query-registry.js +2 -2
  142. package/lib/skill-runtime/query.js +16 -3
  143. package/lib/skill-runtime/review-records.js +123 -0
  144. package/lib/skill-runtime/review.js +246 -11
  145. package/lib/skill-runtime/schemas.js +179 -15
  146. package/lib/skill-runtime/store.js +0 -10
  147. package/lib/skill-runtime/task-contract.js +187 -0
  148. package/lib/skill-runtime/workflow-context.js +748 -0
  149. package/package.json +7 -4
@@ -6,44 +6,31 @@
6
6
  "requirementId": "REQ-003",
7
7
  "requirementVersion": "REQ-003.v1",
8
8
  "planningMeta": {
9
- "reqPlanSkillVersion": "3.8.2",
9
+ "reqPlanSkillVersion": "3.9.0",
10
10
  "designVersion": "design.v1",
11
+ "workBranch": "REQ/003-audit-log-export",
11
12
  "approvedAt": "2026-04-16T13:10:00.000Z",
12
- "approvedBy": "user",
13
13
  "basedOnOption": "Tiny design card",
14
- "requirementBrief": {
15
- "problemStatement": "Admins can review audit summary rows in the UI, but weekly reporting requires manual copying.",
16
- "solutionSummary": "Add a CSV download action for the currently visible audit summary rows.",
17
- "actors": [
18
- "workspace admin reviewing weekly activity"
19
- ],
20
- "userStories": [
21
- {
22
- "id": "US-001",
23
- "actor": "workspace admin",
24
- "want": "download visible audit summary rows as CSV",
25
- "benefit": "include them in weekly reporting without manual copying",
26
- "acceptance": [
27
- "Panel behavior test proves the export action uses current summary rows"
28
- ]
29
- }
30
- ],
31
- "edgeOrRecoveryStories": [],
32
- "implementationDecisions": [
33
- "Export only rows already visible in the panel",
34
- "Keep CSV as the only output format"
35
- ],
36
- "testingDecisions": [
37
- "Test through the admin panel action and visible row data"
38
- ],
39
- "outOfScope": [
40
- "JSON export",
41
- "scheduled reporting",
42
- "shared reporting backend"
43
- ],
44
- "furtherNotes": [
45
- "Richer machine-readable exports should become a separate requirement"
46
- ]
14
+ "aiLeverageDecisionLens": {
15
+ "realUserOrOperator": "workspace admin preparing weekly review notes",
16
+ "statusQuoWorkaround": "manual copy of visible audit rows",
17
+ "humanTeamEffortForFullScope": "about one day for an engineer to implement, test, and document the local export",
18
+ "ccAgentEffortForFullScope": "about 30 minutes for visible-row CSV export plus targeted test and lint",
19
+ "aiCompressionRatio": "roughly 10x for the bounded local export path",
20
+ "completeLakeBoundary": "visible-row CSV export, panel action, current data source, targeted panel test, and lint",
21
+ "oceanBoundary": "JSON export, scheduled reporting, shared reporting backend, and cross-panel reporting platform",
22
+ "scopeRecommendation": "boil-lake",
23
+ "costModel": {
24
+ "agentTime": "low",
25
+ "humanReviewTime": "low",
26
+ "verificationCost": "targeted panel test plus lint",
27
+ "maintenanceCost": "low while scoped to visible rows",
28
+ "failureCost": "admins keep copying rows manually",
29
+ "reversibility": "reversible UI action"
30
+ },
31
+ "verdict": "boil-lake",
32
+ "missingEvidenceOrPivotReason": "",
33
+ "impactOnApprovedDirection": "complete the local visible-row export lake while deferring reporting platform work"
47
34
  },
48
35
  "externalBestPractice": {
49
36
  "needed": false,
@@ -89,31 +76,9 @@
89
76
  "impact": "cc-do exports only visible rows from the current panel and avoids new reporting contracts",
90
77
  "status": "answered"
91
78
  }
92
- ],
93
- "aiLeverageDecisionLens": {
94
- "realUserOrOperator": "workspace admin preparing weekly review notes",
95
- "statusQuoWorkaround": "manual copy of visible audit rows",
96
- "humanTeamEffortForFullScope": "about one day for an engineer to implement, test, and document the local export",
97
- "ccAgentEffortForFullScope": "about 30 minutes for visible-row CSV export plus targeted test and lint",
98
- "aiCompressionRatio": "roughly 10x for the bounded local export path",
99
- "completeLakeBoundary": "visible-row CSV export, panel action, current data source, targeted panel test, and lint",
100
- "oceanBoundary": "JSON export, scheduled reporting, shared reporting backend, and cross-panel reporting platform",
101
- "scopeRecommendation": "boil-lake",
102
- "costModel": {
103
- "agentTime": "low",
104
- "humanReviewTime": "low",
105
- "verificationCost": "targeted panel test plus lint",
106
- "maintenanceCost": "low while scoped to visible rows",
107
- "failureCost": "admins keep copying rows manually",
108
- "reversibility": "reversible UI action"
109
- },
110
- "verdict": "boil-lake",
111
- "missingEvidenceOrPivotReason": "",
112
- "impactOnApprovedDirection": "complete the local visible-row export lake while deferring reporting platform work"
113
- }
79
+ ]
114
80
  },
115
81
  "currentTaskId": null,
116
- "activePhase": null,
117
82
  "tasks": [
118
83
  {
119
84
  "id": "T001",
@@ -178,45 +143,7 @@
178
143
  "type": "automated-test",
179
144
  "determinism": "deterministic",
180
145
  "expectedFailure": "Fails before the behavior exists"
181
- },
182
- "allowedMocks": [
183
- "download / blob boundary"
184
- ],
185
- "testQuality": {
186
- "usesPublicInterface": true,
187
- "describesBehavior": true,
188
- "specStyleName": true,
189
- "oneLogicalBehavior": true,
190
- "verifiesThroughPublicPath": true,
191
- "survivesInternalRefactor": true,
192
- "mocksOnlySystemBoundaries": true,
193
- "noBulkRed": true
194
- },
195
- "greenMinimality": {
196
- "guard": "Keep the task scoped to its stated verification evidence",
197
- "noSpeculativeBranches": true
198
- },
199
- "completion": {
200
- "command": "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",
201
- "requiredBeforeCompletion": [
202
- "verification evidence captured",
203
- "checkpoint written",
204
- "spec review gate recorded",
205
- "code review gate recorded"
206
- ],
207
- "forbiddenShortcuts": [
208
- "manual checkbox edit",
209
- "manual manifest status edit",
210
- "leaving currentTaskId stale"
211
- ]
212
- },
213
- "refactorCandidates": [
214
- "duplication",
215
- "long method",
216
- "primitive obsession",
217
- "naming",
218
- "more than three nested branches"
219
- ]
146
+ }
220
147
  },
221
148
  {
222
149
  "id": "T002",
@@ -247,7 +174,7 @@
247
174
  ],
248
175
  "evidence": [
249
176
  "passing test output",
250
- "checkpoint summary"
177
+ "CLI log summary"
251
178
  ],
252
179
  "context": {
253
180
  "readFiles": [
@@ -283,45 +210,7 @@
283
210
  "type": "automated-test",
284
211
  "determinism": "deterministic",
285
212
  "expectedFailure": ""
286
- },
287
- "allowedMocks": [
288
- "download / blob boundary"
289
- ],
290
- "testQuality": {
291
- "usesPublicInterface": true,
292
- "describesBehavior": true,
293
- "specStyleName": true,
294
- "oneLogicalBehavior": true,
295
- "verifiesThroughPublicPath": true,
296
- "survivesInternalRefactor": true,
297
- "mocksOnlySystemBoundaries": true,
298
- "noBulkRed": true
299
- },
300
- "greenMinimality": {
301
- "guard": "Implement only the code needed to pass the current red behavior",
302
- "noSpeculativeBranches": true
303
- },
304
- "completion": {
305
- "command": "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",
306
- "requiredBeforeCompletion": [
307
- "verification evidence captured",
308
- "checkpoint written",
309
- "spec review gate recorded",
310
- "code review gate recorded"
311
- ],
312
- "forbiddenShortcuts": [
313
- "manual checkbox edit",
314
- "manual manifest status edit",
315
- "leaving currentTaskId stale"
316
- ]
317
- },
318
- "refactorCandidates": [
319
- "duplication",
320
- "long method",
321
- "primitive obsession",
322
- "naming",
323
- "more than three nested branches"
324
- ]
213
+ }
325
214
  },
326
215
  {
327
216
  "id": "T003",
@@ -392,84 +281,12 @@
392
281
  "type": "automated-test",
393
282
  "determinism": "deterministic",
394
283
  "expectedFailure": ""
395
- },
396
- "allowedMocks": [
397
- "download / blob boundary"
398
- ],
399
- "testQuality": {
400
- "usesPublicInterface": true,
401
- "describesBehavior": true,
402
- "specStyleName": true,
403
- "oneLogicalBehavior": true,
404
- "verifiesThroughPublicPath": true,
405
- "survivesInternalRefactor": true,
406
- "mocksOnlySystemBoundaries": true,
407
- "noBulkRed": true
408
- },
409
- "greenMinimality": {
410
- "guard": "Keep the task scoped to its stated verification evidence",
411
- "noSpeculativeBranches": true
412
- },
413
- "completion": {
414
- "command": "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",
415
- "requiredBeforeCompletion": [
416
- "verification evidence captured",
417
- "checkpoint written",
418
- "spec review gate recorded",
419
- "code review gate recorded"
420
- ],
421
- "forbiddenShortcuts": [
422
- "manual checkbox edit",
423
- "manual manifest status edit",
424
- "leaving currentTaskId stale"
425
- ]
426
- },
427
- "refactorCandidates": [
428
- "duplication",
429
- "long method",
430
- "primitive obsession",
431
- "naming",
432
- "more than three nested branches"
433
- ]
284
+ }
434
285
  }
435
286
  ],
436
287
  "metadata": {
437
288
  "source": "tasks.md",
438
289
  "generatedBy": "docs-example",
439
290
  "planVersion": 1
440
- },
441
- "executionProtocol": {
442
- "templateCompliance": {
443
- "required": true,
444
- "sourceTemplate": "assets/TASKS_TEMPLATE.md",
445
- "taskBlockMustInclude": [
446
- "Goal",
447
- "TDD phase",
448
- "Files",
449
- "Read first",
450
- "Verification",
451
- "Evidence",
452
- "Test seam",
453
- "Public verification path",
454
- "Allowed mocks",
455
- "Completion"
456
- ],
457
- "titleOnlyTasks": "forbidden"
458
- },
459
- "selection": {
460
- "sourceOfTruth": "planning/task-manifest.json.currentTaskId",
461
- "commandTemplate": "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\"/select-ready-tasks.sh --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json"
462
- },
463
- "completion": {
464
- "manualStatusEdit": "forbidden",
465
- "commandTemplate": "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 <task-id>",
466
- "failurePolicy": "Do not hand-edit status; fix missing checkpoint, review gate, or dependency evidence and rerun the script.",
467
- "updates": [
468
- "planning/task-manifest.json.tasks[].status",
469
- "planning/task-manifest.json.currentTaskId",
470
- "planning/task-manifest.json.status",
471
- "planning/tasks.md checkbox"
472
- ]
473
- }
474
291
  }
475
292
  }
@@ -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.2`
7
+ - CC-Plan skill version: `3.9.0`
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
  },
@@ -5,7 +5,7 @@
5
5
  },
6
6
  "meta": {
7
7
  "roadmapVersion": "roadmap.v2",
8
- "skillVersion": "5.2.0",
8
+ "skillVersion": "5.3.0",
9
9
  "status": "active",
10
10
  "lastUpdated": "2026-04-19",
11
11
  "currentFocusStage": "Stage 2"
@@ -5,7 +5,7 @@
5
5
  ## Backlog Meta
6
6
 
7
7
  - Roadmap version: `roadmap.v1`
8
- - Skill version: `5.2.0`
8
+ - Skill version: `5.3.0`
9
9
  - Last synced: `2026-04-19`
10
10
  - Current focus stage: `Stage 1`
11
11
  - Roadmap state source: `roadmap.json`
@@ -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.2.0`, `cc-plan@3.8.2`, `cc-do@1.6.3`, `cc-check@1.10.1`, `cc-act@1.8.3`
7
+ - Bound skills: `cc-roadmap@5.3.0`, `cc-plan@3.9.0`, `cc-do@1.6.7`, `cc-check@1.11.1`, `cc-act@1.8.8`
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
@@ -3,7 +3,7 @@
3
3
  ## Roadmap Meta
4
4
 
5
5
  - Roadmap version: `roadmap.v1`
6
- - Skill version: `5.2.0`
6
+ - Skill version: `5.3.0`
7
7
  - Status: `active`
8
8
  - Last updated: `2026-04-15`
9
9
  - Owner / decider: `product-owner`
@@ -1,5 +1,9 @@
1
1
  # PR Brief
2
2
 
3
+ ## Document Meta
4
+
5
+ - Output language: en
6
+
3
7
  ## Decision
4
8
 
5
9
  - Recommended mode: `create-pr`
@@ -24,7 +28,7 @@
24
28
 
25
29
  - Reviewed base SHA: `example-base`
26
30
  - Reviewed head SHA: `example-head`
27
- - Review packet: `planning/tasks.md#T001-T003`; `planning/design.md`
31
+ - Review packet: `planning/tasks.md#Contract Summary`; `planning/tasks.md#T001-T003`
28
32
  - Finding triage: no findings
29
33
  - QA / claim evidence: `qa=pass`, `tests-pass=pass`, `requirements-met=pass`
30
34
 
@@ -39,6 +43,66 @@
39
43
  - Documentation release: README and CLAUDE unchanged for this scoped example
40
44
  - PR body accuracy: regenerate the PR body from this brief, current report-card, and current diff
41
45
 
46
+ ## Pull Request Body Contract
47
+
48
+ - Language source: `Output language: en`
49
+ - PR body language: English
50
+ - Title rule: use English after the Conventional Commits `type(scope)` prefix; keep identifiers, paths, commands, and issue keys unchanged.
51
+ - Body source: current `pr-brief.md`, current diff, current `review/report-card.json`, doc sync output, and roadmap/backlog writeback.
52
+ - Required sections: summary, problem, changes, validation, review/gate evidence, risk/rollback, docs/writeback, and follow-ups.
53
+ - Completeness gate: no empty headings, no stale inherited PR body, no generic "tests passed" without commands or evidence, and no `<placeholder>` text before `gh pr create`.
54
+
55
+ ## Pull Request Body Draft
56
+
57
+ ```markdown
58
+ ## Summary
59
+
60
+ - removes a small but visible sharing friction in the beta flow
61
+ - keeps the patch inside the approved `tiny-design` boundary
62
+ - ships with fresh test, lint, and review proof
63
+
64
+ ## Problem
65
+
66
+ - Requirement: `RM-001` / `REQ-001`
67
+ - User-visible gap: users can see the invite URL but cannot copy it with one click from the share dialog.
68
+
69
+ ## Changes
70
+
71
+ - adds a `Copy invite link` action beside the existing invite URL
72
+ - reuses the current invite link source of truth
73
+ - adds copied-state confirmation without redesigning the dialog
74
+
75
+ ## Validation
76
+
77
+ - `report-card.json` verdict: `pass`
78
+ - `npm test -- src/features/share/ShareDialog.test.tsx`
79
+ - `npm run lint -- src/features/share/ShareDialog.tsx`
80
+
81
+ ## Review / Gate Evidence
82
+
83
+ - Reviewed base SHA: `example-base`
84
+ - Reviewed head SHA: `example-head`
85
+ - Review packet: `planning/tasks.md#Contract Summary`; `planning/tasks.md#T001-T003`
86
+ - Finding triage: no findings
87
+ - QA / claim evidence: `qa=pass`, `tests-pass=pass`, `requirements-met=pass`
88
+ - Readiness: review freshness=`fresh`; QA coverage has no gaps; browser QA intentionally skipped for this fixture.
89
+
90
+ ## Risk And Rollback
91
+
92
+ - Main risk: copied-state feedback may still be too subtle for some users.
93
+ - Rollback boundary: revert the share-dialog change and targeted test in one commit; no data migration or external side effect is involved.
94
+
95
+ ## Docs And Writeback
96
+
97
+ - `CLAUDE.md`: unchanged
98
+ - `README.md`: unchanged
99
+ - Roadmap progress: `RM-001` is ready for PR review after this create-pr handoff.
100
+
101
+ ## Follow-ups
102
+
103
+ - If users still miss the feedback, lift `RM-002` into the next requirement.
104
+ ```
105
+
42
106
  ## Summary
43
107
 
44
108
  - removes a small but visible sharing friction in the beta flow
@@ -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.2`
7
+ - CC-Plan skill version: `3.9.0`
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