cc-devflow 4.5.4 → 4.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/cc-act/CHANGELOG.md +6 -0
- package/.claude/skills/cc-act/PLAYBOOK.md +21 -5
- package/.claude/skills/cc-act/SKILL.md +21 -11
- package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +10 -0
- package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +8 -0
- package/.claude/skills/cc-act/references/closure-contract.md +3 -0
- package/.claude/skills/cc-act/scripts/cc-act-common.sh +48 -0
- package/.claude/skills/cc-act/scripts/generate-status-report.sh +3 -0
- package/.claude/skills/cc-act/scripts/render-pr-brief.sh +6 -0
- package/.claude/skills/cc-act/scripts/sync-act-docs.sh +13 -0
- package/.claude/skills/cc-do/CHANGELOG.md +6 -0
- package/.claude/skills/cc-do/PLAYBOOK.md +7 -6
- package/.claude/skills/cc-do/SKILL.md +27 -12
- package/.claude/skills/cc-do/references/execution-recovery.md +9 -0
- package/.claude/skills/cc-investigate/CHANGELOG.md +6 -0
- package/.claude/skills/cc-investigate/PLAYBOOK.md +5 -1
- package/.claude/skills/cc-investigate/SKILL.md +22 -5
- package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +14 -0
- package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +1 -0
- package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +9 -1
- package/.claude/skills/cc-investigate/references/investigation-contract.md +2 -0
- package/.claude/skills/cc-plan/CHANGELOG.md +23 -0
- package/.claude/skills/cc-plan/PLAYBOOK.md +38 -18
- package/.claude/skills/cc-plan/SKILL.md +81 -47
- package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +68 -3
- package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +28 -5
- package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +54 -2
- package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +44 -0
- package/.claude/skills/cc-plan/references/planning-contract.md +29 -15
- package/.claude/skills/cc-roadmap/CHANGELOG.md +12 -0
- package/.claude/skills/cc-roadmap/PLAYBOOK.md +15 -9
- package/.claude/skills/cc-roadmap/SKILL.md +22 -16
- package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +3 -1
- package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +11 -1
- package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +57 -10
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +68 -3
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +120 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +25 -1
- package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +13 -5
- package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +3 -3
- package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +3 -3
- package/CHANGELOG.md +7 -0
- package/README.md +5 -5
- package/README.zh-CN.md +5 -5
- package/docs/CLAUDE.md +1 -1
- package/docs/examples/START-HERE.md +3 -3
- package/docs/examples/example-bindings.json +26 -9
- package/docs/examples/full-design-blocked/BACKLOG.md +4 -2
- package/docs/examples/full-design-blocked/README.md +4 -4
- package/docs/examples/full-design-blocked/ROADMAP.md +16 -2
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +39 -1
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +41 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +8 -1
- package/docs/examples/full-design-blocked/roadmap.json +123 -0
- package/docs/examples/local-handoff/BACKLOG.md +4 -2
- package/docs/examples/local-handoff/README.md +4 -4
- package/docs/examples/local-handoff/ROADMAP.md +16 -2
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +19 -1
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +26 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +8 -1
- package/docs/examples/local-handoff/roadmap.json +121 -0
- package/docs/examples/pdca-loop/BACKLOG.md +4 -2
- package/docs/examples/pdca-loop/README.md +4 -4
- package/docs/examples/pdca-loop/ROADMAP.md +16 -2
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +19 -1
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +22 -3
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +8 -1
- package/docs/examples/pdca-loop/roadmap.json +191 -0
- package/docs/examples/scripts/check-example-bindings.sh +7 -4
- package/docs/guides/getting-started.md +2 -2
- package/docs/guides/getting-started.zh-CN.md +2 -2
- package/lib/compiler/__tests__/skills-registry.test.js +17 -3
- package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +9 -1
- package/package.json +1 -1
package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Requirement version: `REQ-002.v2`
|
|
6
6
|
- Design version: `design.v2`
|
|
7
|
-
- CC-Plan skill version: `3.7.
|
|
7
|
+
- CC-Plan skill version: `3.7.5`
|
|
8
8
|
- Source roadmap item: `RM-010`
|
|
9
9
|
- Source roadmap version: `roadmap.v2`
|
|
10
10
|
|
|
@@ -15,6 +15,13 @@
|
|
|
15
15
|
- Frozen decisions:
|
|
16
16
|
- bulk invite results must classify each row
|
|
17
17
|
- audit behavior must match visible results
|
|
18
|
+
- PRD brief:
|
|
19
|
+
- Problem statement: admins need predictable CSV invite outcomes for duplicates, invalid rows, and seat limits
|
|
20
|
+
- Solution summary: freeze deterministic row outcomes before executing the bulk invite flow
|
|
21
|
+
- User stories covered: `US-001`, `US-002`, `US-003`, `US-EDGE-001`, `US-EDGE-002`
|
|
22
|
+
- Implementation decisions: reuse invite engine, billing checks, and audit contract after the row-outcome matrix is approved
|
|
23
|
+
- Testing decisions: test bulk-import rules, admin upload flow, and audit mapping
|
|
24
|
+
- Out of scope: SCIM provisioning, background jobs, rollback wizard
|
|
18
25
|
- Read first:
|
|
19
26
|
- `design.md`
|
|
20
27
|
- `src/admin/BulkInvitePanel.tsx`
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"outputPolicy": {
|
|
4
|
+
"documentLanguage": "en"
|
|
5
|
+
},
|
|
6
|
+
"meta": {
|
|
7
|
+
"roadmapVersion": "roadmap.v2",
|
|
8
|
+
"skillVersion": "5.0.0",
|
|
9
|
+
"status": "active",
|
|
10
|
+
"lastUpdated": "2026-04-19",
|
|
11
|
+
"currentFocusStage": "Stage 2"
|
|
12
|
+
},
|
|
13
|
+
"context": {
|
|
14
|
+
"planningPosture": "",
|
|
15
|
+
"evidenceMaturity": "",
|
|
16
|
+
"canonicalTerms": [],
|
|
17
|
+
"durableDecisionSources": []
|
|
18
|
+
},
|
|
19
|
+
"evidence": [],
|
|
20
|
+
"route": {
|
|
21
|
+
"recommended": "",
|
|
22
|
+
"whyThisWinsNow": "",
|
|
23
|
+
"rejectedRoutes": [],
|
|
24
|
+
"firstSignal": "",
|
|
25
|
+
"killSignal": ""
|
|
26
|
+
},
|
|
27
|
+
"stages": [],
|
|
28
|
+
"items": [
|
|
29
|
+
{
|
|
30
|
+
"rmId": "RM-010",
|
|
31
|
+
"item": "Add CSV bulk invite import for admins",
|
|
32
|
+
"stage": "Stage 2",
|
|
33
|
+
"priority": "P1",
|
|
34
|
+
"primaryCapability": "cap-bulk-invite-import",
|
|
35
|
+
"secondaryCapabilities": [
|
|
36
|
+
"cap-workspace-membership"
|
|
37
|
+
],
|
|
38
|
+
"expectedSpecDelta": "define import semantics before widening current truth",
|
|
39
|
+
"dependsOn": [],
|
|
40
|
+
"status": "Verification blocked",
|
|
41
|
+
"req": "REQ-002",
|
|
42
|
+
"progress": "80%",
|
|
43
|
+
"backlog": {
|
|
44
|
+
"capabilityGap": "admins can invite one user at a time but cannot safely import invite batches",
|
|
45
|
+
"evidence": "sales onboarding asks for spreadsheet-scale invites",
|
|
46
|
+
"parallelWith": [],
|
|
47
|
+
"unknowns": "duplicate-email policy, seat enforcement, audit fan-out",
|
|
48
|
+
"nextDecision": "reroute to full design before more execution work",
|
|
49
|
+
"ready": true,
|
|
50
|
+
"whyNow": "demand is real, but the contract is too wide to keep improvising in code",
|
|
51
|
+
"successSignal": "the capability has a trusted import contract before implementation resumes",
|
|
52
|
+
"entryConstraints": "must freeze limits, duplicates, warnings, and audit behavior first",
|
|
53
|
+
"openRisks": "another partial implementation pass would deepen the semantic drift",
|
|
54
|
+
"firstPlanningQuestion": "which subflows share one import contract and which need explicit splits?",
|
|
55
|
+
"requiredContextToLoad": "invite limits, billing rules, duplicate handling, audit logging",
|
|
56
|
+
"whyReadyNow": "the blocker is design truth, not implementation effort",
|
|
57
|
+
"parked": false,
|
|
58
|
+
"parkedReason": "",
|
|
59
|
+
"triggerToReopen": "",
|
|
60
|
+
"missingEvidence": ""
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"handoff": {
|
|
65
|
+
"readyForCcPlan": [
|
|
66
|
+
"RM-010"
|
|
67
|
+
],
|
|
68
|
+
"parked": [],
|
|
69
|
+
"serialSpine": [
|
|
70
|
+
"RM-010"
|
|
71
|
+
],
|
|
72
|
+
"parallelWaves": []
|
|
73
|
+
},
|
|
74
|
+
"architecture": {
|
|
75
|
+
"diagramType": "flowchart",
|
|
76
|
+
"nodes": [
|
|
77
|
+
{
|
|
78
|
+
"id": "roadmap_json",
|
|
79
|
+
"label": "roadmap.json"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "roadmap_md",
|
|
83
|
+
"label": "ROADMAP.md"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "backlog_md",
|
|
87
|
+
"label": "BACKLOG.md (deprecated)"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "cc_plan",
|
|
91
|
+
"label": "cc-plan"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"edges": [
|
|
95
|
+
{
|
|
96
|
+
"from": "roadmap_json",
|
|
97
|
+
"to": "roadmap_md",
|
|
98
|
+
"label": "renders"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"from": "roadmap_json",
|
|
102
|
+
"to": "backlog_md",
|
|
103
|
+
"label": "projects"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"from": "roadmap_md",
|
|
107
|
+
"to": "cc_plan",
|
|
108
|
+
"label": "hands off"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
"backlogMeta": {
|
|
113
|
+
"roadmapVersion": "roadmap.v2",
|
|
114
|
+
"skillVersion": "4.4.1",
|
|
115
|
+
"currentFocusStage": "Stage 2"
|
|
116
|
+
},
|
|
117
|
+
"dependencyHandoff": {
|
|
118
|
+
"serialSpine": "RM-010",
|
|
119
|
+
"parallelReadyNextWave": "-",
|
|
120
|
+
"notesOnBlockers": "verification is blocked until the import contract covers limits, duplicates, billing, and audit consistency"
|
|
121
|
+
},
|
|
122
|
+
"lastSyncedAt": "2026-04-19"
|
|
123
|
+
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# BACKLOG
|
|
2
2
|
|
|
3
|
+
> Deprecated projection. Edit `roadmap.json` instead.
|
|
4
|
+
|
|
3
5
|
## Backlog Meta
|
|
4
6
|
|
|
5
7
|
- Roadmap version: `roadmap.v2`
|
|
6
|
-
- Skill version: `
|
|
8
|
+
- Skill version: `5.0.0`
|
|
7
9
|
- Last synced: `2026-04-19`
|
|
8
10
|
- Current focus stage: `Stage 2`
|
|
9
|
-
-
|
|
11
|
+
- Roadmap state source: `roadmap.json`
|
|
10
12
|
|
|
11
13
|
## Queue
|
|
12
14
|
|
|
@@ -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@
|
|
7
|
+
- Bound skills: `cc-roadmap@5.0.0`, `cc-plan@3.7.5`, `cc-do@1.6.2`, `cc-check@1.10.1`, `cc-act@1.8.2`
|
|
8
8
|
|
|
9
9
|
This example shows verified work that is **ready to move forward**, but `cc-act` still chooses `local-handoff`.
|
|
10
10
|
|
|
@@ -36,9 +36,9 @@ But the current environment is local-only:
|
|
|
36
36
|
|
|
37
37
|
## Artifact Map
|
|
38
38
|
|
|
39
|
-
- `
|
|
40
|
-
- `
|
|
41
|
-
- `BACKLOG.md`
|
|
39
|
+
- `roadmap.json` (editable roadmap truth)
|
|
40
|
+
- `ROADMAP.md` (generated view)
|
|
41
|
+
- `BACKLOG.md` (deprecated projection)
|
|
42
42
|
- `changes/REQ-003-audit-log-export/planning/design.md`
|
|
43
43
|
- `changes/REQ-003-audit-log-export/planning/tasks.md`
|
|
44
44
|
- `changes/REQ-003-audit-log-export/planning/task-manifest.json`
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Roadmap Meta
|
|
4
4
|
|
|
5
5
|
- Roadmap version: `roadmap.v3`
|
|
6
|
-
- Skill version: `
|
|
6
|
+
- Skill version: `5.0.0`
|
|
7
7
|
- Status: `active`
|
|
8
8
|
- Last updated: `2026-04-16`
|
|
9
9
|
- Owner / decider: `product-owner`
|
|
@@ -36,10 +36,24 @@
|
|
|
36
36
|
- Kill signal / stop condition: if export requires a shared reporting pipeline redesign
|
|
37
37
|
|
|
38
38
|
## Implementation Tracking
|
|
39
|
-
-
|
|
39
|
+
- Roadmap state source: `roadmap.json`
|
|
40
40
|
|
|
41
41
|
<!-- roadmap-tracking:start -->
|
|
42
42
|
| RM-ID | Item | Stage | Priority | Primary Capability | Secondary Capabilities | Expected Spec Delta | Depends On | Status | REQ | Progress |
|
|
43
43
|
|------|------|------|------|------|------|------|------|------|------|------|
|
|
44
44
|
| RM-020 | Add an audit-log export summary download | Stage 2 | P1 | cap-audit-log-export | - | codify local export summary truth | - | Local handoff | REQ-003 | 100% |
|
|
45
45
|
<!-- roadmap-tracking:end -->
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## Technical Architecture
|
|
49
|
+
|
|
50
|
+
```mermaid
|
|
51
|
+
flowchart TD
|
|
52
|
+
roadmap_json["roadmap.json"]
|
|
53
|
+
roadmap_md["ROADMAP.md"]
|
|
54
|
+
backlog_md["BACKLOG.md (deprecated)"]
|
|
55
|
+
cc_plan["cc-plan"]
|
|
56
|
+
roadmap_json -->|renders| roadmap_md
|
|
57
|
+
roadmap_json -->|projects| backlog_md
|
|
58
|
+
roadmap_md -->|hands off| cc_plan
|
|
59
|
+
```
|
|
@@ -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.7.
|
|
7
|
+
- CC-Plan skill version: `3.7.5`
|
|
8
8
|
- Requirement ID: `REQ-003`
|
|
9
9
|
- Design mode: `tiny-design`
|
|
10
10
|
- Why this stays `tiny-design`: the patch adds one export action inside the existing admin audit UI without changing data contracts
|
|
@@ -34,6 +34,23 @@
|
|
|
34
34
|
- keep the action inside the current admin panel
|
|
35
35
|
- Upgrade trigger to `full-design`: if export needs background generation or new reporting contracts
|
|
36
36
|
|
|
37
|
+
## PRD-Grade Brief
|
|
38
|
+
|
|
39
|
+
- Problem statement: admins can review audit summary rows in the UI, but taking them into weekly reports requires manual copying.
|
|
40
|
+
- Solution summary: admins can download the currently visible audit summary rows as a CSV from the existing admin panel.
|
|
41
|
+
- Actors / personas:
|
|
42
|
+
- workspace admin reviewing weekly activity
|
|
43
|
+
- User stories:
|
|
44
|
+
- US-001: As a workspace admin, I want to download visible audit summary rows as CSV, so that I can include them in weekly reporting without manual copying.
|
|
45
|
+
- Implementation decisions:
|
|
46
|
+
- Export only the rows already visible in the panel.
|
|
47
|
+
- Keep CSV as the only output format.
|
|
48
|
+
- Testing decisions:
|
|
49
|
+
- Test through the admin panel action and visible row data.
|
|
50
|
+
- Existing audit summary panel tests are the prior art.
|
|
51
|
+
- Out of scope: JSON export, scheduled reporting, and shared reporting backend work.
|
|
52
|
+
- Further notes: richer machine-readable exports should become a separate requirement.
|
|
53
|
+
|
|
37
54
|
## Validation
|
|
38
55
|
|
|
39
56
|
- Primary check: targeted panel test proves the export action is available and uses current summary rows
|
|
@@ -56,6 +73,7 @@
|
|
|
56
73
|
- Scope scan: pass
|
|
57
74
|
- Ambiguity scan: pass
|
|
58
75
|
- Feasibility scan: pass
|
|
76
|
+
- PRD brief scan: pass; the export story and scope boundaries are explicit
|
|
59
77
|
- Final recommendation: approved as `tiny-design`
|
|
60
78
|
|
|
61
79
|
## Approval
|
package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json
CHANGED
|
@@ -5,6 +5,32 @@
|
|
|
5
5
|
"updatedAt": "2026-04-16T14:20:00.000Z",
|
|
6
6
|
"requirementId": "REQ-003",
|
|
7
7
|
"requirementVersion": "REQ-003.v1",
|
|
8
|
+
"planningMeta": {
|
|
9
|
+
"reqPlanSkillVersion": "3.7.5",
|
|
10
|
+
"designVersion": "design.v1",
|
|
11
|
+
"approvedAt": "2026-04-16T13:10:00.000Z",
|
|
12
|
+
"approvedBy": "user",
|
|
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": ["workspace admin reviewing weekly activity"],
|
|
18
|
+
"userStories": [
|
|
19
|
+
{
|
|
20
|
+
"id": "US-001",
|
|
21
|
+
"actor": "workspace admin",
|
|
22
|
+
"want": "download visible audit summary rows as CSV",
|
|
23
|
+
"benefit": "include them in weekly reporting without manual copying",
|
|
24
|
+
"acceptance": ["Panel behavior test proves the export action uses current summary rows"]
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"edgeOrRecoveryStories": [],
|
|
28
|
+
"implementationDecisions": ["Export only rows already visible in the panel", "Keep CSV as the only output format"],
|
|
29
|
+
"testingDecisions": ["Test through the admin panel action and visible row data"],
|
|
30
|
+
"outOfScope": ["JSON export", "scheduled reporting", "shared reporting backend"],
|
|
31
|
+
"furtherNotes": ["Richer machine-readable exports should become a separate requirement"]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
8
34
|
"currentTaskId": null,
|
|
9
35
|
"activePhase": null,
|
|
10
36
|
"tasks": [
|
|
@@ -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.7.
|
|
7
|
+
- CC-Plan skill version: `3.7.5`
|
|
8
8
|
- Source roadmap item: `RM-020`
|
|
9
9
|
- Source roadmap version: `roadmap.v3`
|
|
10
10
|
|
|
@@ -15,6 +15,13 @@
|
|
|
15
15
|
- Frozen decisions:
|
|
16
16
|
- export only the visible audit summary rows
|
|
17
17
|
- CSV is the only format in this requirement
|
|
18
|
+
- PRD brief:
|
|
19
|
+
- Problem statement: admins manually copy audit summaries into weekly reports
|
|
20
|
+
- Solution summary: CSV download action for currently visible audit summary rows
|
|
21
|
+
- User stories covered: `US-001`
|
|
22
|
+
- Implementation decisions: export visible rows only, CSV only
|
|
23
|
+
- Testing decisions: test through admin panel action and visible row data
|
|
24
|
+
- Out of scope: JSON export, scheduled reporting, shared reporting backend
|
|
18
25
|
- Read first:
|
|
19
26
|
- `design.md`
|
|
20
27
|
- `src/admin/AuditSummaryPanel.tsx`
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"outputPolicy": {
|
|
4
|
+
"documentLanguage": "en"
|
|
5
|
+
},
|
|
6
|
+
"meta": {
|
|
7
|
+
"roadmapVersion": "roadmap.v2",
|
|
8
|
+
"skillVersion": "5.0.0",
|
|
9
|
+
"status": "active",
|
|
10
|
+
"lastUpdated": "2026-04-19",
|
|
11
|
+
"currentFocusStage": "Stage 2"
|
|
12
|
+
},
|
|
13
|
+
"context": {
|
|
14
|
+
"planningPosture": "",
|
|
15
|
+
"evidenceMaturity": "",
|
|
16
|
+
"canonicalTerms": [],
|
|
17
|
+
"durableDecisionSources": []
|
|
18
|
+
},
|
|
19
|
+
"evidence": [],
|
|
20
|
+
"route": {
|
|
21
|
+
"recommended": "",
|
|
22
|
+
"whyThisWinsNow": "",
|
|
23
|
+
"rejectedRoutes": [],
|
|
24
|
+
"firstSignal": "",
|
|
25
|
+
"killSignal": ""
|
|
26
|
+
},
|
|
27
|
+
"stages": [],
|
|
28
|
+
"items": [
|
|
29
|
+
{
|
|
30
|
+
"rmId": "RM-020",
|
|
31
|
+
"item": "Add an audit-log export summary download",
|
|
32
|
+
"stage": "Stage 2",
|
|
33
|
+
"priority": "P1",
|
|
34
|
+
"primaryCapability": "cap-audit-log-export",
|
|
35
|
+
"secondaryCapabilities": [],
|
|
36
|
+
"expectedSpecDelta": "codify local export summary truth",
|
|
37
|
+
"dependsOn": [],
|
|
38
|
+
"status": "Local handoff",
|
|
39
|
+
"req": "REQ-003",
|
|
40
|
+
"progress": "100%",
|
|
41
|
+
"backlog": {
|
|
42
|
+
"capabilityGap": "admins can export raw audit data but not a compact summary for review",
|
|
43
|
+
"evidence": "support escalations keep asking for a lightweight summary bundle",
|
|
44
|
+
"parallelWith": [],
|
|
45
|
+
"unknowns": "csv-only or csv-plus-markdown summary",
|
|
46
|
+
"nextDecision": "resume from local handoff once remote access returns",
|
|
47
|
+
"ready": true,
|
|
48
|
+
"whyNow": "the implementation and proof already exist, only the landing path is deferred",
|
|
49
|
+
"successSignal": "admins can download a concise audit summary without manual spreadsheet cleanup",
|
|
50
|
+
"entryConstraints": "stay local-only and avoid remote automation",
|
|
51
|
+
"openRisks": "handoff may age if schema changes before the next maintainer resumes",
|
|
52
|
+
"firstPlanningQuestion": "does the summary format need another review before remote landing?",
|
|
53
|
+
"requiredContextToLoad": "admin export screen, generated summary fixture, local handoff notes",
|
|
54
|
+
"whyReadyNow": "the requirement is already proven and only needs a clean resume point",
|
|
55
|
+
"parked": false,
|
|
56
|
+
"parkedReason": "",
|
|
57
|
+
"triggerToReopen": "",
|
|
58
|
+
"missingEvidence": ""
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"handoff": {
|
|
63
|
+
"readyForCcPlan": [
|
|
64
|
+
"RM-020"
|
|
65
|
+
],
|
|
66
|
+
"parked": [],
|
|
67
|
+
"serialSpine": [
|
|
68
|
+
"RM-020"
|
|
69
|
+
],
|
|
70
|
+
"parallelWaves": []
|
|
71
|
+
},
|
|
72
|
+
"architecture": {
|
|
73
|
+
"diagramType": "flowchart",
|
|
74
|
+
"nodes": [
|
|
75
|
+
{
|
|
76
|
+
"id": "roadmap_json",
|
|
77
|
+
"label": "roadmap.json"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "roadmap_md",
|
|
81
|
+
"label": "ROADMAP.md"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "backlog_md",
|
|
85
|
+
"label": "BACKLOG.md (deprecated)"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "cc_plan",
|
|
89
|
+
"label": "cc-plan"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"edges": [
|
|
93
|
+
{
|
|
94
|
+
"from": "roadmap_json",
|
|
95
|
+
"to": "roadmap_md",
|
|
96
|
+
"label": "renders"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"from": "roadmap_json",
|
|
100
|
+
"to": "backlog_md",
|
|
101
|
+
"label": "projects"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"from": "roadmap_md",
|
|
105
|
+
"to": "cc_plan",
|
|
106
|
+
"label": "hands off"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"backlogMeta": {
|
|
111
|
+
"roadmapVersion": "roadmap.v2",
|
|
112
|
+
"skillVersion": "4.4.1",
|
|
113
|
+
"currentFocusStage": "Stage 2"
|
|
114
|
+
},
|
|
115
|
+
"dependencyHandoff": {
|
|
116
|
+
"serialSpine": "RM-020",
|
|
117
|
+
"parallelReadyNextWave": "-",
|
|
118
|
+
"notesOnBlockers": "export work stays local-only until the next maintainer has remote access"
|
|
119
|
+
},
|
|
120
|
+
"lastSyncedAt": "2026-04-19"
|
|
121
|
+
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# BACKLOG
|
|
2
2
|
|
|
3
|
+
> Deprecated projection. Edit `roadmap.json` instead.
|
|
4
|
+
|
|
3
5
|
## Backlog Meta
|
|
4
6
|
|
|
5
7
|
- Roadmap version: `roadmap.v1`
|
|
6
|
-
- Skill version: `
|
|
8
|
+
- Skill version: `5.0.0`
|
|
7
9
|
- Last synced: `2026-04-19`
|
|
8
10
|
- Current focus stage: `Stage 1`
|
|
9
|
-
-
|
|
11
|
+
- Roadmap state source: `roadmap.json`
|
|
10
12
|
|
|
11
13
|
## Queue
|
|
12
14
|
|
|
@@ -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@
|
|
7
|
+
- Bound skills: `cc-roadmap@5.0.0`, `cc-plan@3.7.5`, `cc-do@1.6.2`, `cc-check@1.10.1`, `cc-act@1.8.2`
|
|
8
8
|
|
|
9
9
|
This folder shows one minimal but complete `cc-roadmap -> cc-plan -> cc-do -> cc-check -> cc-act` loop.
|
|
10
10
|
|
|
@@ -27,9 +27,9 @@ The sample requirement is:
|
|
|
27
27
|
|
|
28
28
|
## Artifact Map
|
|
29
29
|
|
|
30
|
-
- `
|
|
31
|
-
- `
|
|
32
|
-
- `BACKLOG.md`: capability-aware
|
|
30
|
+
- `roadmap.json`: editable roadmap truth that renders the generated views
|
|
31
|
+
- `ROADMAP.md`: generated view of what `cc-roadmap` decided and why this item is first
|
|
32
|
+
- `BACKLOG.md`: deprecated capability-aware projection that makes `RM-001` ready for `cc-plan`
|
|
33
33
|
- `changes/REQ-001-copy-invite-link/planning/design.md`: approved tiny design
|
|
34
34
|
- `changes/REQ-001-copy-invite-link/planning/tasks.md`: executable task handoff
|
|
35
35
|
- `changes/REQ-001-copy-invite-link/planning/task-manifest.json`: machine-readable execution truth
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Roadmap Meta
|
|
4
4
|
|
|
5
5
|
- Roadmap version: `roadmap.v1`
|
|
6
|
-
- Skill version: `
|
|
6
|
+
- Skill version: `5.0.0`
|
|
7
7
|
- Status: `active`
|
|
8
8
|
- Last updated: `2026-04-15`
|
|
9
9
|
- Owner / decider: `product-owner`
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
- What changed in this version: narrowed Stage 1 to the smallest visible sharing fix
|
|
123
123
|
|
|
124
124
|
## Implementation Tracking
|
|
125
|
-
-
|
|
125
|
+
- Roadmap state source: `roadmap.json`
|
|
126
126
|
|
|
127
127
|
<!-- roadmap-tracking:start -->
|
|
128
128
|
| RM-ID | Item | Stage | Priority | Primary Capability | Secondary Capabilities | Expected Spec Delta | Depends On | Status | REQ | Progress |
|
|
@@ -131,3 +131,17 @@
|
|
|
131
131
|
| RM-002 | Add copied-state feedback to the share dialog | Stage 1 | P2 | cap-invite-links | - | extend invite-link feedback truth | RM-001 | Planned | - | 0% |
|
|
132
132
|
| RM-004 | Collaboration analytics follow-up | - | - | - | - | - | - | - | - | - |
|
|
133
133
|
<!-- roadmap-tracking:end -->
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
## Technical Architecture
|
|
137
|
+
|
|
138
|
+
```mermaid
|
|
139
|
+
flowchart TD
|
|
140
|
+
roadmap_json["roadmap.json"]
|
|
141
|
+
roadmap_md["ROADMAP.md"]
|
|
142
|
+
backlog_md["BACKLOG.md (deprecated)"]
|
|
143
|
+
cc_plan["cc-plan"]
|
|
144
|
+
roadmap_json -->|renders| roadmap_md
|
|
145
|
+
roadmap_json -->|projects| backlog_md
|
|
146
|
+
roadmap_md -->|hands off| cc_plan
|
|
147
|
+
```
|
|
@@ -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.7.
|
|
7
|
+
- CC-Plan skill version: `3.7.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
|
|
@@ -34,6 +34,23 @@
|
|
|
34
34
|
- show a lightweight copied-state confirmation inside the current dialog
|
|
35
35
|
- Upgrade trigger to `full-design`: if clipboard support requires new platform fallbacks, or if the patch spills into shared share-service contracts
|
|
36
36
|
|
|
37
|
+
## PRD-Grade Brief
|
|
38
|
+
|
|
39
|
+
- Problem statement: users can see the invite URL, but copying it still requires manual selection and creates avoidable share-flow friction.
|
|
40
|
+
- Solution summary: users get a one-click copy action in the existing share dialog and see lightweight confirmation after the link is copied.
|
|
41
|
+
- Actors / personas:
|
|
42
|
+
- workspace member sharing an invite
|
|
43
|
+
- User stories:
|
|
44
|
+
- US-001: As a workspace member, I want to copy the invite link with one click, so that I can share it without manually selecting text.
|
|
45
|
+
- Implementation decisions:
|
|
46
|
+
- Reuse the existing invite URL source and dialog props.
|
|
47
|
+
- Keep clipboard behavior inside the current share dialog surface.
|
|
48
|
+
- Testing decisions:
|
|
49
|
+
- Test through the dialog behavior, not an internal helper.
|
|
50
|
+
- Existing share-dialog tests are the prior art.
|
|
51
|
+
- Out of scope: new invite generation, role controls, analytics, or clipboard fallback redesign.
|
|
52
|
+
- Further notes: if confirmation remains unclear, open a separate UX requirement.
|
|
53
|
+
|
|
37
54
|
## Validation
|
|
38
55
|
|
|
39
56
|
- Primary check: targeted dialog test proves the button renders and copies the current invite URL
|
|
@@ -57,6 +74,7 @@
|
|
|
57
74
|
- Scope scan: pass; no backend, no permission work
|
|
58
75
|
- Ambiguity scan: pass; execution does not need to re-decide button placement or clipboard source
|
|
59
76
|
- Feasibility scan: pass; existing dialog and tests already cover the target surface
|
|
77
|
+
- PRD brief scan: pass; problem, story, implementation decision, testing decision, and out-of-scope are durable
|
|
60
78
|
- Final recommendation: approved as `tiny-design`
|
|
61
79
|
|
|
62
80
|
## Approval
|
package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"sourceRoadmap": {
|
|
10
10
|
"itemId": "RM-001",
|
|
11
11
|
"roadmapVersion": "roadmap.v1",
|
|
12
|
-
"roadmapSkillVersion": "
|
|
12
|
+
"roadmapSkillVersion": "5.0.0",
|
|
13
13
|
"sourceStage": "Stage 1",
|
|
14
14
|
"successSignal": "Users can copy the invite link with one click",
|
|
15
15
|
"killSignal": "The patch requires backend or permission changes",
|
|
@@ -22,11 +22,30 @@
|
|
|
22
22
|
]
|
|
23
23
|
},
|
|
24
24
|
"planningMeta": {
|
|
25
|
-
"reqPlanSkillVersion": "3.7.
|
|
25
|
+
"reqPlanSkillVersion": "3.7.5",
|
|
26
26
|
"designVersion": "design.v1",
|
|
27
27
|
"approvedAt": "2026-04-15T10:05:00.000Z",
|
|
28
28
|
"approvedBy": "user",
|
|
29
|
-
"basedOnOption": "Tiny design card"
|
|
29
|
+
"basedOnOption": "Tiny design card",
|
|
30
|
+
"requirementBrief": {
|
|
31
|
+
"problemStatement": "Users can see the invite URL, but copying it still requires manual selection.",
|
|
32
|
+
"solutionSummary": "Add a one-click copy action with lightweight confirmation inside the existing share dialog.",
|
|
33
|
+
"actors": ["workspace member sharing an invite"],
|
|
34
|
+
"userStories": [
|
|
35
|
+
{
|
|
36
|
+
"id": "US-001",
|
|
37
|
+
"actor": "workspace member",
|
|
38
|
+
"want": "copy the invite link with one click",
|
|
39
|
+
"benefit": "share it without manually selecting text",
|
|
40
|
+
"acceptance": ["Dialog behavior test proves the current invite URL is copied"]
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"edgeOrRecoveryStories": [],
|
|
44
|
+
"implementationDecisions": ["Reuse the existing invite URL source and dialog props"],
|
|
45
|
+
"testingDecisions": ["Test through the share dialog behavior, not an internal helper"],
|
|
46
|
+
"outOfScope": ["invite generation", "role controls", "analytics", "clipboard fallback redesign"],
|
|
47
|
+
"furtherNotes": ["Richer copied-state feedback is a separate UX requirement"]
|
|
48
|
+
}
|
|
30
49
|
},
|
|
31
50
|
"currentTaskId": null,
|
|
32
51
|
"activePhase": null,
|
|
@@ -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.7.
|
|
7
|
+
- CC-Plan skill version: `3.7.5`
|
|
8
8
|
- Source roadmap item: `RM-001`
|
|
9
9
|
- Source roadmap version: `roadmap.v1`
|
|
10
10
|
|
|
@@ -16,6 +16,13 @@
|
|
|
16
16
|
- copy from the existing invite URL source
|
|
17
17
|
- keep the patch inside the current dialog
|
|
18
18
|
- leave richer feedback for a future requirement if needed
|
|
19
|
+
- PRD brief:
|
|
20
|
+
- Problem statement: copying the visible invite URL still requires manual selection
|
|
21
|
+
- Solution summary: one-click copy action with lightweight confirmation
|
|
22
|
+
- User stories covered: `US-001`
|
|
23
|
+
- Implementation decisions: reuse existing invite URL source and dialog props
|
|
24
|
+
- Testing decisions: test through share dialog behavior
|
|
25
|
+
- Out of scope: invite generation, role controls, analytics, clipboard fallback redesign
|
|
19
26
|
- Read first:
|
|
20
27
|
- `design.md`
|
|
21
28
|
- `src/features/share/ShareDialog.tsx`
|