cc-devflow 4.5.8 → 4.5.9

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 (77) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +27 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +9 -4
  3. package/.claude/skills/cc-act/SKILL.md +62 -3
  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 +60 -4
  8. package/.claude/skills/cc-act/references/closure-contract.md +3 -0
  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-do/CHANGELOG.md +11 -0
  14. package/.claude/skills/cc-do/SKILL.md +19 -13
  15. package/.claude/skills/cc-do/scripts/build-task-context.sh +9 -5
  16. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +0 -6
  17. package/.claude/skills/cc-investigate/CHANGELOG.md +17 -0
  18. package/.claude/skills/cc-investigate/PLAYBOOK.md +15 -0
  19. package/.claude/skills/cc-investigate/SKILL.md +46 -1
  20. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +47 -0
  21. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +21 -2
  22. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +28 -58
  23. package/.claude/skills/cc-investigate/references/investigation-contract.md +14 -0
  24. package/.claude/skills/cc-next/CHANGELOG.md +6 -0
  25. package/.claude/skills/cc-next/PLAYBOOK.md +26 -4
  26. package/.claude/skills/cc-next/SKILL.md +39 -4
  27. package/.claude/skills/cc-plan/CHANGELOG.md +19 -0
  28. package/.claude/skills/cc-plan/PLAYBOOK.md +25 -20
  29. package/.claude/skills/cc-plan/SKILL.md +83 -22
  30. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +67 -0
  31. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +59 -0
  32. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +55 -228
  33. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +46 -0
  34. package/.claude/skills/cc-plan/references/planning-contract.md +41 -27
  35. package/.claude/skills/cc-roadmap/CHANGELOG.md +6 -0
  36. package/.claude/skills/cc-roadmap/PLAYBOOK.md +30 -0
  37. package/.claude/skills/cc-roadmap/SKILL.md +45 -8
  38. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +8 -0
  39. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +22 -0
  40. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +32 -1
  41. package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +14 -14
  42. package/CHANGELOG.md +12 -0
  43. package/README.md +37 -35
  44. package/README.zh-CN.md +37 -35
  45. package/docs/examples/example-bindings.json +7 -7
  46. package/docs/examples/full-design-blocked/BACKLOG.md +1 -1
  47. package/docs/examples/full-design-blocked/README.md +1 -1
  48. package/docs/examples/full-design-blocked/ROADMAP.md +1 -1
  49. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +1 -1
  50. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +27 -311
  51. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +1 -1
  52. package/docs/examples/full-design-blocked/roadmap.json +1 -1
  53. package/docs/examples/local-handoff/BACKLOG.md +1 -1
  54. package/docs/examples/local-handoff/README.md +1 -1
  55. package/docs/examples/local-handoff/ROADMAP.md +1 -1
  56. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +1 -1
  57. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +25 -209
  58. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +1 -1
  59. package/docs/examples/local-handoff/roadmap.json +1 -1
  60. package/docs/examples/pdca-loop/BACKLOG.md +1 -1
  61. package/docs/examples/pdca-loop/README.md +1 -1
  62. package/docs/examples/pdca-loop/ROADMAP.md +1 -1
  63. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +64 -0
  64. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +1 -1
  65. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +25 -228
  66. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +1 -1
  67. package/docs/examples/pdca-loop/roadmap.json +1 -1
  68. package/docs/examples/scripts/check-example-bindings.sh +9 -5
  69. package/docs/get-shit-done-strategy-audit.md +4 -4
  70. package/docs/guides/artifact-contract.md +44 -0
  71. package/docs/guides/project-postmortem.md +78 -0
  72. package/lib/skill-runtime/__tests__/planner.tdd.test.js +2 -2
  73. package/lib/skill-runtime/__tests__/schemas.test.js +33 -2
  74. package/lib/skill-runtime/planner.js +1 -2
  75. package/lib/skill-runtime/query.js +1 -1
  76. package/lib/skill-runtime/schemas.js +5 -3
  77. package/package.json +1 -1
@@ -6,44 +6,30 @@
6
6
  "requirementId": "REQ-003",
7
7
  "requirementVersion": "REQ-003.v1",
8
8
  "planningMeta": {
9
- "reqPlanSkillVersion": "3.8.2",
9
+ "reqPlanSkillVersion": "3.8.5",
10
10
  "designVersion": "design.v1",
11
11
  "approvedAt": "2026-04-16T13:10:00.000Z",
12
- "approvedBy": "user",
13
12
  "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
- ]
13
+ "aiLeverageDecisionLens": {
14
+ "realUserOrOperator": "workspace admin preparing weekly review notes",
15
+ "statusQuoWorkaround": "manual copy of visible audit rows",
16
+ "humanTeamEffortForFullScope": "about one day for an engineer to implement, test, and document the local export",
17
+ "ccAgentEffortForFullScope": "about 30 minutes for visible-row CSV export plus targeted test and lint",
18
+ "aiCompressionRatio": "roughly 10x for the bounded local export path",
19
+ "completeLakeBoundary": "visible-row CSV export, panel action, current data source, targeted panel test, and lint",
20
+ "oceanBoundary": "JSON export, scheduled reporting, shared reporting backend, and cross-panel reporting platform",
21
+ "scopeRecommendation": "boil-lake",
22
+ "costModel": {
23
+ "agentTime": "low",
24
+ "humanReviewTime": "low",
25
+ "verificationCost": "targeted panel test plus lint",
26
+ "maintenanceCost": "low while scoped to visible rows",
27
+ "failureCost": "admins keep copying rows manually",
28
+ "reversibility": "reversible UI action"
29
+ },
30
+ "verdict": "boil-lake",
31
+ "missingEvidenceOrPivotReason": "",
32
+ "impactOnApprovedDirection": "complete the local visible-row export lake while deferring reporting platform work"
47
33
  },
48
34
  "externalBestPractice": {
49
35
  "needed": false,
@@ -89,31 +75,9 @@
89
75
  "impact": "cc-do exports only visible rows from the current panel and avoids new reporting contracts",
90
76
  "status": "answered"
91
77
  }
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
- }
78
+ ]
114
79
  },
115
80
  "currentTaskId": null,
116
- "activePhase": null,
117
81
  "tasks": [
118
82
  {
119
83
  "id": "T001",
@@ -178,45 +142,7 @@
178
142
  "type": "automated-test",
179
143
  "determinism": "deterministic",
180
144
  "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
- ]
145
+ }
220
146
  },
221
147
  {
222
148
  "id": "T002",
@@ -283,45 +209,7 @@
283
209
  "type": "automated-test",
284
210
  "determinism": "deterministic",
285
211
  "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
- ]
212
+ }
325
213
  },
326
214
  {
327
215
  "id": "T003",
@@ -392,84 +280,12 @@
392
280
  "type": "automated-test",
393
281
  "determinism": "deterministic",
394
282
  "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
- ]
283
+ }
434
284
  }
435
285
  ],
436
286
  "metadata": {
437
287
  "source": "tasks.md",
438
288
  "generatedBy": "docs-example",
439
289
  "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
290
  }
475
291
  }
@@ -4,7 +4,7 @@
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.8.5`
8
8
  - Source roadmap item: `RM-020`
9
9
  - Source roadmap version: `roadmap.v3`
10
10
 
@@ -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.8.5`, `cc-do@1.6.5`, `cc-check@1.10.1`, `cc-act@1.8.7`
8
8
 
9
9
  This folder shows one minimal but complete `cc-roadmap -> cc-plan -> cc-do -> cc-check -> cc-act` loop.
10
10
 
@@ -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`
@@ -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#T001-T003`; `planning/design.md`
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,7 @@
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.8.5`
8
8
  - Requirement ID: `REQ-001`
9
9
  - Design mode: `tiny-design`
10
10
  - Why this stays `tiny-design`: the patch is limited to an existing dialog and test file, with no API or data model changes