cc-devflow 4.5.11 → 4.5.12
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 +18 -0
- package/.claude/skills/cc-act/PLAYBOOK.md +17 -269
- package/.claude/skills/cc-act/SKILL.md +38 -425
- package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_INDEX_TEMPLATE.md +2 -13
- package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_TEMPLATE.md +1 -9
- package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +21 -177
- package/.claude/skills/cc-act/references/closure-contract.md +12 -63
- package/.claude/skills/cc-act/references/git-commit-guidelines.md +5 -5
- package/.claude/skills/cc-act/scripts/cc-act-common.sh +5 -322
- package/.claude/skills/cc-act/scripts/detect-ship-target.sh +11 -2
- package/.claude/skills/cc-act/scripts/inspect-git-index.sh +58 -0
- package/.claude/skills/cc-act/scripts/render-pr-brief.sh +40 -440
- package/.claude/skills/cc-act/scripts/verify-act-gate.sh +10 -50
- package/.claude/skills/cc-check/CHANGELOG.md +18 -0
- package/.claude/skills/cc-check/PLAYBOOK.md +19 -273
- package/.claude/skills/cc-check/SKILL.md +33 -456
- package/.claude/skills/cc-check/references/review-contract.md +12 -147
- package/.claude/skills/cc-dev/CHANGELOG.md +15 -0
- package/.claude/skills/cc-dev/PLAYBOOK.md +1 -1
- package/.claude/skills/cc-dev/SKILL.md +52 -137
- package/.claude/skills/cc-dev/scripts/resolve-cc-devflow.sh +181 -0
- package/.claude/skills/cc-do/CHANGELOG.md +11 -0
- package/.claude/skills/cc-do/PLAYBOOK.md +19 -113
- package/.claude/skills/cc-do/SKILL.md +39 -245
- package/.claude/skills/cc-do/references/execution-recovery.md +15 -109
- package/.claude/skills/cc-do/scripts/cc-do-common.sh +5 -57
- package/.claude/skills/cc-do/scripts/check-task-status.sh +35 -65
- package/.claude/skills/cc-do/scripts/mark-task-complete.sh +9 -46
- package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +29 -97
- package/.claude/skills/cc-investigate/CHANGELOG.md +16 -0
- package/.claude/skills/cc-investigate/PLAYBOOK.md +20 -180
- package/.claude/skills/cc-investigate/SKILL.md +64 -246
- package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +48 -98
- package/.claude/skills/cc-investigate/references/investigation-contract.md +14 -218
- package/.claude/skills/cc-next/CHANGELOG.md +6 -0
- package/.claude/skills/cc-next/PLAYBOOK.md +12 -8
- package/.claude/skills/cc-next/SKILL.md +34 -140
- package/.claude/skills/cc-plan/CHANGELOG.md +16 -0
- package/.claude/skills/cc-plan/PLAYBOOK.md +22 -161
- package/.claude/skills/cc-plan/SKILL.md +45 -295
- package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +30 -228
- package/.claude/skills/cc-plan/references/planning-contract.md +24 -161
- package/.claude/skills/cc-plan/scripts/next-change-key.sh +8 -44
- package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +2 -2
- package/.claude/skills/cc-plan/scripts/validate-scope.sh +1 -1
- package/.claude/skills/cc-pr-land/SKILL.md +14 -114
- package/.claude/skills/cc-pr-review/CHANGELOG.md +4 -0
- package/.claude/skills/cc-pr-review/SKILL.md +20 -103
- package/.claude/skills/cc-review/CHANGELOG.md +17 -0
- package/.claude/skills/cc-review/PLAYBOOK.md +13 -86
- package/.claude/skills/cc-review/SKILL.md +53 -241
- package/.claude/skills/cc-review/references/e2e-and-plugin-verification.md +2 -2
- package/.claude/skills/cc-review/references/implementation-review-branch.md +7 -147
- package/.claude/skills/cc-review/references/plan-review-branch.md +5 -147
- package/.claude/skills/cc-review/references/review-methods.md +10 -218
- package/.claude/skills/cc-review/scripts/collect-review-context.sh +4 -63
- package/.claude/skills/cc-roadmap/PLAYBOOK.md +1 -1
- package/.claude/skills/cc-roadmap/SKILL.md +3 -3
- package/.claude/skills/cc-simplify/CHANGELOG.md +7 -0
- package/.claude/skills/cc-simplify/SKILL.md +26 -21
- package/.claude/skills/cc-spec-init/PLAYBOOK.md +12 -48
- package/.claude/skills/cc-spec-init/SKILL.md +29 -132
- package/.claude/skills/cc-spec-init/references/spec-contract.md +8 -17
- package/CHANGELOG.md +13 -0
- package/bin/cc-devflow-cli.js +20 -260
- package/bin/cc-devflow.js +44 -7
- package/docs/commands/README.md +1 -1
- package/docs/commands/README.zh-CN.md +1 -1
- package/docs/examples/README.md +1 -1
- package/docs/examples/START-HERE.md +14 -15
- package/docs/examples/example-bindings.json +11 -11
- package/docs/examples/full-design-blocked/README.md +4 -6
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/{planning/tasks.md → task.md} +20 -15
- package/docs/examples/local-handoff/README.md +8 -11
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/pr-brief.md +31 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/{planning/tasks.md → task.md} +18 -13
- package/docs/examples/pdca-loop/README.md +6 -9
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +9 -11
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/{planning/tasks.md → task.md} +18 -13
- package/docs/examples/scripts/check-example-bindings.sh +11 -62
- package/docs/guides/artifact-contract.md +10 -40
- package/docs/guides/getting-started.md +8 -8
- package/docs/guides/getting-started.zh-CN.md +8 -8
- package/docs/guides/minimize-artifacts.md +16 -130
- package/docs/guides/project-postmortem.md +14 -71
- package/lib/compiler/__tests__/skills-registry.test.js +9 -8
- package/lib/compiler/resource-copier.js +29 -0
- package/lib/skill-runtime/__tests__/archive-change.test.js +2 -2
- package/lib/skill-runtime/__tests__/benchmark-skills.test.js +3 -3
- package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +14 -4
- package/lib/skill-runtime/errors.js +3 -3
- package/lib/skill-runtime/index.js +5 -23
- package/lib/skill-runtime/paths.js +5 -52
- package/lib/skill-runtime/query-registry.js +4 -4
- package/lib/skill-runtime/query.js +89 -201
- package/lib/skill-runtime/store.js +4 -40
- package/lib/skill-runtime/trace.js +2 -2
- package/package.json +2 -5
- package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_PRINCIPLES_TEMPLATE.md +0 -29
- package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +0 -54
- package/.claude/skills/cc-act/scripts/generate-status-report.sh +0 -92
- package/.claude/skills/cc-act/scripts/sync-act-docs.sh +0 -355
- package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +0 -234
- package/.claude/skills/cc-check/scripts/render-report-card.js +0 -438
- package/.claude/skills/cc-check/scripts/verify-gate.sh +0 -85
- package/.claude/skills/cc-do/scripts/build-task-context.sh +0 -175
- package/.claude/skills/cc-do/scripts/record-review-decision.sh +0 -88
- package/.claude/skills/cc-do/scripts/recover-workflow.sh +0 -82
- package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +0 -70
- package/.claude/skills/cc-do/scripts/verify-task-gates.sh +0 -109
- package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +0 -92
- package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +0 -224
- package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +0 -178
- package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +0 -28
- package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +0 -45
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +0 -234
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +0 -488
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +0 -189
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +0 -39
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +0 -29
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +0 -123
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +0 -292
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +0 -136
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +0 -29
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +0 -124
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +0 -292
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +0 -136
- package/docs/get-shit-done-strategy-audit.md +0 -518
- package/docs/skill-runtime-migration.md +0 -46
- package/lib/skill-runtime/__tests__/approve.test.js +0 -92
- package/lib/skill-runtime/__tests__/autopilot.test.js +0 -253
- package/lib/skill-runtime/__tests__/benchmark-artifacts.test.js +0 -165
- package/lib/skill-runtime/__tests__/delegation.test.js +0 -97
- package/lib/skill-runtime/__tests__/dispatch.test.js +0 -237
- package/lib/skill-runtime/__tests__/intent.test.js +0 -203
- package/lib/skill-runtime/__tests__/lifecycle.test.js +0 -169
- package/lib/skill-runtime/__tests__/planner.tdd.test.js +0 -331
- package/lib/skill-runtime/__tests__/prepare-pr.test.js +0 -126
- package/lib/skill-runtime/__tests__/query.test.js +0 -860
- package/lib/skill-runtime/__tests__/readiness.test.js +0 -53
- package/lib/skill-runtime/__tests__/release.test.js +0 -85
- package/lib/skill-runtime/__tests__/review-check-integration.test.js +0 -148
- package/lib/skill-runtime/__tests__/review-records.test.js +0 -619
- package/lib/skill-runtime/__tests__/runtime.integration.test.js +0 -351
- package/lib/skill-runtime/__tests__/schemas.test.js +0 -337
- package/lib/skill-runtime/__tests__/task-contract-migrate.test.js +0 -137
- package/lib/skill-runtime/__tests__/task-contract.test.js +0 -874
- package/lib/skill-runtime/__tests__/team-state.test.js +0 -51
- package/lib/skill-runtime/__tests__/verify-artifacts.test.js +0 -203
- package/lib/skill-runtime/__tests__/worker-run.test.js +0 -275
- package/lib/skill-runtime/__tests__/worker.test.js +0 -56
- package/lib/skill-runtime/__tests__/workflow-context-legacy-fallback.test.js +0 -31
- package/lib/skill-runtime/__tests__/workflow-context.test.js +0 -98
- package/lib/skill-runtime/artifacts.js +0 -88
- package/lib/skill-runtime/context-index.js +0 -545
- package/lib/skill-runtime/delegation.js +0 -533
- package/lib/skill-runtime/intent.js +0 -309
- package/lib/skill-runtime/lifecycle.js +0 -294
- package/lib/skill-runtime/operations/CLAUDE.md +0 -19
- package/lib/skill-runtime/operations/approve.js +0 -81
- package/lib/skill-runtime/operations/autopilot-core.js +0 -337
- package/lib/skill-runtime/operations/autopilot-execution.js +0 -307
- package/lib/skill-runtime/operations/autopilot-shared.js +0 -48
- package/lib/skill-runtime/operations/autopilot.js +0 -163
- package/lib/skill-runtime/operations/dispatch.js +0 -416
- package/lib/skill-runtime/operations/init.js +0 -60
- package/lib/skill-runtime/operations/janitor.js +0 -61
- package/lib/skill-runtime/operations/plan.js +0 -59
- package/lib/skill-runtime/operations/prepare-pr.js +0 -25
- package/lib/skill-runtime/operations/release.js +0 -99
- package/lib/skill-runtime/operations/resume.js +0 -126
- package/lib/skill-runtime/operations/review-records.js +0 -265
- package/lib/skill-runtime/operations/snapshot.js +0 -45
- package/lib/skill-runtime/operations/task-contract.js +0 -593
- package/lib/skill-runtime/operations/verify.js +0 -170
- package/lib/skill-runtime/operations/worker-run.js +0 -531
- package/lib/skill-runtime/operations/worker.js +0 -33
- package/lib/skill-runtime/planner.js +0 -539
- package/lib/skill-runtime/readiness.js +0 -84
- package/lib/skill-runtime/review-records.js +0 -123
- package/lib/skill-runtime/review.js +0 -855
- package/lib/skill-runtime/schemas.js +0 -746
- package/lib/skill-runtime/task-contract.js +0 -188
- package/lib/skill-runtime/team-state.js +0 -122
- package/lib/skill-runtime/workflow-context.js +0 -748
package/docs/commands/README.md
CHANGED
|
@@ -20,7 +20,7 @@ IDCA: cc-investigate -> cc-do -> cc-check -> cc-act
|
|
|
20
20
|
|
|
21
21
|
Use maintenance skills separately when needed:
|
|
22
22
|
|
|
23
|
-
- `cc-spec-init`: bootstrap or repair `devflow/specs/` and
|
|
23
|
+
- `cc-spec-init`: bootstrap or repair `devflow/specs/` and ``
|
|
24
24
|
- `cc-simplify`: cleanup pass before ship
|
|
25
25
|
|
|
26
26
|
Use [skills.sh CLI](https://skills.sh/docs/cli) when you only want one skill:
|
|
@@ -20,7 +20,7 @@ IDCA: cc-investigate -> cc-do -> cc-check -> cc-act
|
|
|
20
20
|
|
|
21
21
|
维护类动作按需单独调用:
|
|
22
22
|
|
|
23
|
-
- `cc-spec-init`:初始化或修复 `devflow/specs/` 与
|
|
23
|
+
- `cc-spec-init`:初始化或修复 `devflow/specs/` 与 ``
|
|
24
24
|
- `cc-simplify`:ship 前做清理和坏味道检查
|
|
25
25
|
|
|
26
26
|
如果你只想安装单个 Skill,再使用 [skills.sh CLI](https://skills.sh/docs/cli):
|
package/docs/examples/README.md
CHANGED
|
@@ -33,6 +33,6 @@ If you need to verify that examples still match the current skill contracts, use
|
|
|
33
33
|
- Shows:
|
|
34
34
|
- work that is truly verified
|
|
35
35
|
- a case where remote / PR actions are intentionally skipped
|
|
36
|
-
- `cc-act` leaving exactly one final handoff
|
|
36
|
+
- `cc-act` leaving exactly one final `handoff/pr-brief.md` file for local handoff
|
|
37
37
|
|
|
38
38
|
If you need symptom routing or artifact-based lookup, go back to [START-HERE.md](./START-HERE.md).
|
|
@@ -30,7 +30,7 @@ npm run verify:publish
|
|
|
30
30
|
|
|
31
31
|
## Fast Route
|
|
32
32
|
|
|
33
|
-
### 1. Do you already have a
|
|
33
|
+
### 1. Do you already have a verification verdict?
|
|
34
34
|
|
|
35
35
|
- If **no**, start with [the happy path example](./pdca-loop/README.md) to understand the full loop once.
|
|
36
36
|
- If **yes**, continue below.
|
|
@@ -67,14 +67,13 @@ Use this when the only thing you know is the file in front of you.
|
|
|
67
67
|
| `roadmap.json` | `cc-roadmap` editable machine truth source | [pdca-loop/roadmap.json](./pdca-loop/roadmap.json) |
|
|
68
68
|
| `ROADMAP.md` | `cc-roadmap` generated human view | [pdca-loop/ROADMAP.md](./pdca-loop/ROADMAP.md) |
|
|
69
69
|
| `BACKLOG.md` | deprecated `cc-roadmap` -> `cc-plan` projection | [pdca-loop/BACKLOG.md](./pdca-loop/BACKLOG.md) |
|
|
70
|
-
| `
|
|
71
|
-
| `
|
|
72
|
-
|
|
|
73
|
-
| `report-card.json` | `cc-check` | [pdca-loop/report-card.json](./pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json), [full-design-blocked/report-card.json](./full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json), or [local-handoff/report-card.json](./local-handoff/changes/REQ-003-audit-log-export/review/report-card.json) |
|
|
70
|
+
| `task.md` | `cc-plan`, `cc-investigate`, or `cc-do` | [pdca-loop/task.md](./pdca-loop/changes/REQ-001-copy-invite-link/task.md) |
|
|
71
|
+
| Git diff / commit | `cc-do` or `cc-check` | current branch history and working tree |
|
|
72
|
+
| current response verdict | `cc-check` | the verification summary from the latest run |
|
|
74
73
|
| `pr-brief.md` | `cc-act` | [pdca-loop/pr-brief.md](./pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md) |
|
|
75
|
-
| `
|
|
74
|
+
| local `pr-brief.md` | `cc-act` with `local-handoff` | [local-handoff/pr-brief.md](./local-handoff/changes/REQ-003-audit-log-export/handoff/pr-brief.md) |
|
|
76
75
|
|
|
77
|
-
### Read
|
|
76
|
+
### Read The Verification Verdict Like This
|
|
78
77
|
|
|
79
78
|
| Verdict | Reroute | Meaning |
|
|
80
79
|
| --- | --- | --- |
|
|
@@ -83,7 +82,7 @@ Use this when the only thing you know is the file in front of you.
|
|
|
83
82
|
| `blocked` | `cc-do` | proof or execution prerequisites are missing |
|
|
84
83
|
| `blocked` | `cc-plan` | design or scope truth is broken; do not keep coding blindly |
|
|
85
84
|
|
|
86
|
-
### Read
|
|
85
|
+
### Read Local Handoff Like This
|
|
87
86
|
|
|
88
87
|
Ask only:
|
|
89
88
|
|
|
@@ -118,17 +117,17 @@ If both are true, you are usually in `cc-act` local handoff territory, not back
|
|
|
118
117
|
|
|
119
118
|
## Wrong Turns To Avoid
|
|
120
119
|
|
|
121
|
-
- Do not jump from `
|
|
122
|
-
- Do not treat green tests as stronger than a `
|
|
123
|
-
- Do not treat `
|
|
120
|
+
- Do not jump from `task.md` straight to `cc-act`
|
|
121
|
+
- Do not treat green tests as stronger than a `cc-check` reroute
|
|
122
|
+
- Do not treat `local-handoff` as proof that planning failed; it may simply mean remote actions are intentionally unavailable
|
|
124
123
|
|
|
125
124
|
## One-Minute Rule
|
|
126
125
|
|
|
127
126
|
If you only have one minute, open these files in order:
|
|
128
127
|
|
|
129
128
|
1. example `README.md`
|
|
130
|
-
2. change `
|
|
131
|
-
3. `
|
|
129
|
+
2. change `task.md`
|
|
130
|
+
3. `handoff/pr-brief.md` when present; otherwise the latest Git commit and current verification response
|
|
132
131
|
|
|
133
132
|
That should already tell you:
|
|
134
133
|
|
|
@@ -140,8 +139,8 @@ That should already tell you:
|
|
|
140
139
|
|
|
141
140
|
`devflow/changes/<change>/` should stay lean.
|
|
142
141
|
|
|
143
|
-
- Durable truth only:
|
|
144
|
-
-
|
|
142
|
+
- Durable truth only: `task.md`, optional `handoff/pr-brief.md`, and incident postmortem files when a real recurring failure needs one. Do not generate process files.
|
|
143
|
+
- Workflow state is Git-owned: keep `task.md` current and commit each completed stage.
|
|
145
144
|
- Legacy `planning/design.md`, `planning/analysis.md`, and `cc-review-*.md` are readable fallback inputs for older examples, not new default writes.
|
|
146
145
|
- Runtime scratch belongs in `devflow/workspaces/<change>/`, not beside the durable record.
|
|
147
146
|
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
"updatedAt": "2026-05-13",
|
|
3
3
|
"skills": {
|
|
4
4
|
"cc-roadmap": "5.3.0",
|
|
5
|
-
"cc-next": "1.
|
|
6
|
-
"cc-dev": "1.
|
|
7
|
-
"cc-plan": "3.
|
|
8
|
-
"cc-investigate": "1.
|
|
9
|
-
"cc-do": "1.
|
|
10
|
-
"cc-review": "2.
|
|
11
|
-
"cc-pr-review": "1.
|
|
12
|
-
"cc-pr-land": "1.
|
|
13
|
-
"cc-check": "1.
|
|
14
|
-
"cc-act": "1.
|
|
15
|
-
"cc-spec-init": "1.
|
|
5
|
+
"cc-next": "1.1.1",
|
|
6
|
+
"cc-dev": "1.1.2",
|
|
7
|
+
"cc-plan": "3.10.1",
|
|
8
|
+
"cc-investigate": "1.6.1",
|
|
9
|
+
"cc-do": "1.7.1",
|
|
10
|
+
"cc-review": "2.1.2",
|
|
11
|
+
"cc-pr-review": "1.1.1",
|
|
12
|
+
"cc-pr-land": "1.1.0",
|
|
13
|
+
"cc-check": "1.12.1",
|
|
14
|
+
"cc-act": "1.9.1",
|
|
15
|
+
"cc-spec-init": "1.2.0"
|
|
16
16
|
},
|
|
17
17
|
"examples": [
|
|
18
18
|
{
|
|
@@ -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.
|
|
7
|
+
- Bound skills: `cc-roadmap@5.3.0`, `cc-plan@3.10.1`, `cc-do@1.7.1`, `cc-check@1.12.1`
|
|
8
8
|
|
|
9
9
|
This example shows a requirement that **looked executable**, but `cc-check` correctly stopped it and sent it back to `cc-plan`.
|
|
10
10
|
|
|
@@ -13,7 +13,7 @@ The shape is intentional:
|
|
|
13
13
|
- roadmap item is real enough to matter
|
|
14
14
|
- design requires `full-design`
|
|
15
15
|
- tasks were executed far enough to produce evidence
|
|
16
|
-
-
|
|
16
|
+
- the verification verdict is still `blocked`
|
|
17
17
|
- reroute is `cc-plan`, not `cc-do`
|
|
18
18
|
|
|
19
19
|
## Scenario
|
|
@@ -43,10 +43,8 @@ The sample shows what happens when implementation moved before the integration d
|
|
|
43
43
|
- `roadmap.json` (editable roadmap truth)
|
|
44
44
|
- `ROADMAP.md` (generated view)
|
|
45
45
|
- `BACKLOG.md` (deprecated projection)
|
|
46
|
-
- `changes/REQ-002-bulk-invite-import/
|
|
47
|
-
- `changes/REQ-002-bulk-invite-import/
|
|
48
|
-
- `changes/REQ-002-bulk-invite-import/planning/task-manifest.json`
|
|
49
|
-
- `changes/REQ-002-bulk-invite-import/review/report-card.json`
|
|
46
|
+
- `changes/REQ-002-bulk-invite-import/task.md`
|
|
47
|
+
- `changes/REQ-002-bulk-invite-import/task.md`
|
|
50
48
|
|
|
51
49
|
## Why There Is No `cc-act` Output
|
|
52
50
|
|
|
@@ -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
|
+
- CC-Plan skill version: `3.10.1`
|
|
8
8
|
- Work branch: `REQ/002-bulk-invite-import`
|
|
9
9
|
- Source roadmap item: `RM-010`
|
|
10
10
|
- Source roadmap version: `roadmap.v2`
|
|
@@ -43,20 +43,25 @@
|
|
|
43
43
|
ClaudeCode / Codex 执行本计划时,必须把本文件当成任务模板合同,而不是普通 TODO 列表。
|
|
44
44
|
|
|
45
45
|
- Template source: `assets/TASKS_TEMPLATE.md`
|
|
46
|
-
-
|
|
47
|
-
-
|
|
46
|
+
- CLI resolver: all workflow commands must run through `.claude/skills/cc-dev/scripts/resolve-cc-devflow.sh` or `.codex/skills/cc-dev/scripts/resolve-cc-devflow.sh`; if it cannot prove `query workflow-context` and `next-change-key`, stop blocked.
|
|
47
|
+
- Context first: run resolved CLI `query workflow-context --change <changeId> --change-key <changeKey> --cwd <repo-root> --data-only --no-trace --compact` before opening deep sections.
|
|
48
|
+
- Task selection: use `scripts/select-ready-tasks.sh --tasks devflow/changes/<change-key>/task.md`.
|
|
48
49
|
- Task block rule: read the full task block before coding; title-only execution is invalid.
|
|
49
|
-
- Completion rule: after verification and review gates pass, run
|
|
50
|
-
-
|
|
50
|
+
- Completion rule: after verification and review gates pass, run `scripts/mark-task-complete.sh --tasks devflow/changes/<change-key>/task.md --task <task-id>`.
|
|
51
|
+
- Runtime file ban: do not generate process files beyond this `task.md`.
|
|
51
52
|
|
|
52
53
|
```bash
|
|
53
|
-
cc-
|
|
54
|
-
|
|
54
|
+
DEVFLOW=".claude/skills/cc-dev/scripts/resolve-cc-devflow.sh"
|
|
55
|
+
if [[ ! -f "$DEVFLOW" && -f ".codex/skills/cc-dev/scripts/resolve-cc-devflow.sh" ]]; then
|
|
56
|
+
DEVFLOW=".codex/skills/cc-dev/scripts/resolve-cc-devflow.sh"
|
|
57
|
+
fi
|
|
58
|
+
bash "$DEVFLOW" require query workflow-context next-change-key
|
|
59
|
+
bash "$DEVFLOW" query workflow-context --change <changeId> --change-key <changeKey> --cwd <repo-root> --data-only --no-trace --compactSCRIPT_ROOT=".claude/skills/cc-do/scripts"
|
|
55
60
|
if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then
|
|
56
61
|
SCRIPT_ROOT=".codex/skills/cc-do/scripts"
|
|
57
62
|
fi
|
|
58
|
-
bash "$SCRIPT_ROOT/select-ready-tasks.sh" --manifest docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/
|
|
59
|
-
bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/
|
|
63
|
+
bash "$SCRIPT_ROOT/select-ready-tasks.sh" --manifest docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/
|
|
64
|
+
bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/ --tasks docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/task.md --task <task-id>
|
|
60
65
|
```
|
|
61
66
|
|
|
62
67
|
## Phase 1: Rule Matrix
|
|
@@ -68,7 +73,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/full-design-b
|
|
|
68
73
|
Read first: `design.md`, `src/invite/bulk-import.ts`
|
|
69
74
|
Verification: `npm test -- src/invite/bulk-import.test.ts`
|
|
70
75
|
Evidence: failing output
|
|
71
|
-
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/full-design-blocked/changes/REQ-002-bulk-invite-import/
|
|
76
|
+
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/full-design-blocked/changes/REQ-002-bulk-invite-import/ --tasks docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/task.md --task T001`; do not hand-edit status.
|
|
72
77
|
Test seam: bulk invite rules and admin upload UI behavior
|
|
73
78
|
Public verification path: Run the bulk invite rule and admin panel tests through their public flows
|
|
74
79
|
Allowed mocks: file upload boundary / billing / seat limit boundary
|
|
@@ -81,7 +86,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/full-design-b
|
|
|
81
86
|
Read first: `design.md`, `src/invite/bulk-import.test.ts`
|
|
82
87
|
Verification: `npm test -- src/invite/bulk-import.test.ts`
|
|
83
88
|
Evidence: passing output + Git diff
|
|
84
|
-
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/full-design-blocked/changes/REQ-002-bulk-invite-import/
|
|
89
|
+
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/full-design-blocked/changes/REQ-002-bulk-invite-import/ --tasks docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/task.md --task T002`; do not hand-edit status.
|
|
85
90
|
Test seam: bulk invite rules and admin upload UI behavior
|
|
86
91
|
Public verification path: Run the bulk invite rule and admin panel tests through their public flows
|
|
87
92
|
Allowed mocks: file upload boundary / billing / seat limit boundary
|
|
@@ -96,7 +101,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/full-design-b
|
|
|
96
101
|
Read first: `design.md`, `src/admin/BulkInvitePanel.tsx`
|
|
97
102
|
Verification: `npm test -- src/admin/BulkInvitePanel.test.tsx`
|
|
98
103
|
Evidence: failing output
|
|
99
|
-
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/full-design-blocked/changes/REQ-002-bulk-invite-import/
|
|
104
|
+
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/full-design-blocked/changes/REQ-002-bulk-invite-import/ --tasks docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/task.md --task T003`; do not hand-edit status.
|
|
100
105
|
Test seam: bulk invite rules and admin upload UI behavior
|
|
101
106
|
Public verification path: Run the bulk invite rule and admin panel tests through their public flows
|
|
102
107
|
Allowed mocks: file upload boundary / billing / seat limit boundary
|
|
@@ -109,7 +114,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/full-design-b
|
|
|
109
114
|
Read first: `design.md`, `src/admin/BulkInvitePanel.test.tsx`
|
|
110
115
|
Verification: `npm test -- src/admin/BulkInvitePanel.test.tsx`
|
|
111
116
|
Evidence: passing output + review notes
|
|
112
|
-
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/full-design-blocked/changes/REQ-002-bulk-invite-import/
|
|
117
|
+
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/full-design-blocked/changes/REQ-002-bulk-invite-import/ --tasks docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/task.md --task T004`; do not hand-edit status.
|
|
113
118
|
Test seam: bulk invite rules and admin upload UI behavior
|
|
114
119
|
Public verification path: Run the bulk invite rule and admin panel tests through their public flows
|
|
115
120
|
Allowed mocks: file upload boundary / billing / seat limit boundary
|
|
@@ -121,12 +126,12 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/full-design-b
|
|
|
121
126
|
Goal: 为 `cc-check` 准备 bulk invite 的新鲜证据。
|
|
122
127
|
TDD phase: evidence
|
|
123
128
|
Files: `src/admin/BulkInvitePanel.tsx`, `src/invite/bulk-import.ts`
|
|
124
|
-
Read first: `
|
|
129
|
+
Read first: `task.md`
|
|
125
130
|
Verification:
|
|
126
131
|
- `npm test -- src/invite/bulk-import.test.ts`
|
|
127
132
|
- `npm test -- src/admin/BulkInvitePanel.test.tsx`
|
|
128
133
|
Evidence: passing output + review notes
|
|
129
|
-
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/full-design-blocked/changes/REQ-002-bulk-invite-import/
|
|
134
|
+
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/full-design-blocked/changes/REQ-002-bulk-invite-import/ --tasks docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/task.md --task T005`; do not hand-edit status.
|
|
130
135
|
Test seam: bulk invite rules and admin upload UI behavior
|
|
131
136
|
Public verification path: Run the bulk invite rule and admin panel tests through their public flows
|
|
132
137
|
Allowed mocks: file upload boundary / billing / seat limit boundary
|
|
@@ -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.
|
|
7
|
+
- Bound skills: `cc-roadmap@5.3.0`, `cc-plan@3.10.1`, `cc-do@1.7.1`, `cc-check@1.12.1`, `cc-act@1.9.1`
|
|
8
8
|
|
|
9
9
|
This example shows verified work that is **ready to move forward**, but `cc-act` still chooses `local-handoff`.
|
|
10
10
|
|
|
@@ -32,25 +32,22 @@ But the current environment is local-only:
|
|
|
32
32
|
|
|
33
33
|
1. Why `cc-check` is `pass`
|
|
34
34
|
2. Why `cc-act` still does not choose `create-pr`
|
|
35
|
-
3. How `
|
|
35
|
+
3. How `handoff/pr-brief.md` becomes the only final handoff file
|
|
36
36
|
|
|
37
37
|
## Artifact Map
|
|
38
38
|
|
|
39
39
|
- `roadmap.json` (editable roadmap truth)
|
|
40
40
|
- `ROADMAP.md` (generated view)
|
|
41
41
|
- `BACKLOG.md` (deprecated projection)
|
|
42
|
-
- `changes/REQ-003-audit-log-export/
|
|
43
|
-
- `changes/REQ-003-audit-log-export/
|
|
44
|
-
- `changes/REQ-003-audit-log-export/planning/task-manifest.json`
|
|
45
|
-
- `changes/REQ-003-audit-log-export/review/report-card.json`
|
|
46
|
-
- `changes/REQ-003-audit-log-export/handoff/resume-index.md`
|
|
42
|
+
- `changes/REQ-003-audit-log-export/task.md`
|
|
43
|
+
- `changes/REQ-003-audit-log-export/handoff/pr-brief.md`
|
|
47
44
|
|
|
48
|
-
## Why There Is
|
|
45
|
+
## Why There Is A Local `pr-brief.md`
|
|
49
46
|
|
|
50
47
|
This sample intentionally chooses `local-handoff`.
|
|
51
48
|
|
|
52
|
-
That mode needs:
|
|
49
|
+
That mode still needs one durable PR/handoff file:
|
|
53
50
|
|
|
54
|
-
- `
|
|
51
|
+
- `handoff/pr-brief.md`
|
|
55
52
|
|
|
56
|
-
It does **not** require
|
|
53
|
+
It does **not** require process files.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# PR Brief
|
|
2
|
+
|
|
3
|
+
## Change
|
|
4
|
+
|
|
5
|
+
- Change key: REQ-003-audit-log-export
|
|
6
|
+
- Branch: REQ/003-audit-log-export
|
|
7
|
+
|
|
8
|
+
## Task Summary
|
|
9
|
+
|
|
10
|
+
- Done: audit log export handoff example
|
|
11
|
+
|
|
12
|
+
## Validation
|
|
13
|
+
|
|
14
|
+
- Command: example binding check
|
|
15
|
+
- Result: pass
|
|
16
|
+
|
|
17
|
+
## PR Body Draft
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
## Summary
|
|
21
|
+
|
|
22
|
+
- Demonstrates local handoff with `task.md` and this PR brief.
|
|
23
|
+
|
|
24
|
+
## Validation
|
|
25
|
+
|
|
26
|
+
- Example files are checked by `docs/examples/scripts/check-example-bindings.sh`.
|
|
27
|
+
|
|
28
|
+
## Risk / Rollback
|
|
29
|
+
|
|
30
|
+
- Documentation-only example.
|
|
31
|
+
```
|
package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/{planning/tasks.md → task.md}
RENAMED
|
@@ -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
|
+
- CC-Plan skill version: `3.10.1`
|
|
8
8
|
- Work branch: `REQ/003-audit-log-export`
|
|
9
9
|
- Source roadmap item: `RM-020`
|
|
10
10
|
- Source roadmap version: `roadmap.v3`
|
|
@@ -42,20 +42,25 @@
|
|
|
42
42
|
ClaudeCode / Codex 执行本计划时,必须把本文件当成任务模板合同,而不是普通 TODO 列表。
|
|
43
43
|
|
|
44
44
|
- Template source: `assets/TASKS_TEMPLATE.md`
|
|
45
|
-
-
|
|
46
|
-
-
|
|
45
|
+
- CLI resolver: all workflow commands must run through `.claude/skills/cc-dev/scripts/resolve-cc-devflow.sh` or `.codex/skills/cc-dev/scripts/resolve-cc-devflow.sh`; if it cannot prove `query workflow-context` and `next-change-key`, stop blocked.
|
|
46
|
+
- Context first: run resolved CLI `query workflow-context --change <changeId> --change-key <changeKey> --cwd <repo-root> --data-only --no-trace --compact` before opening deep sections.
|
|
47
|
+
- Task selection: use `scripts/select-ready-tasks.sh --tasks devflow/changes/<change-key>/task.md`.
|
|
47
48
|
- Task block rule: read the full task block before coding; title-only execution is invalid.
|
|
48
|
-
- Completion rule: after verification and review gates pass, run
|
|
49
|
-
-
|
|
49
|
+
- Completion rule: after verification and review gates pass, run `scripts/mark-task-complete.sh --tasks devflow/changes/<change-key>/task.md --task <task-id>`.
|
|
50
|
+
- Runtime file ban: do not generate process files beyond this `task.md`.
|
|
50
51
|
|
|
51
52
|
```bash
|
|
52
|
-
cc-
|
|
53
|
-
|
|
53
|
+
DEVFLOW=".claude/skills/cc-dev/scripts/resolve-cc-devflow.sh"
|
|
54
|
+
if [[ ! -f "$DEVFLOW" && -f ".codex/skills/cc-dev/scripts/resolve-cc-devflow.sh" ]]; then
|
|
55
|
+
DEVFLOW=".codex/skills/cc-dev/scripts/resolve-cc-devflow.sh"
|
|
56
|
+
fi
|
|
57
|
+
bash "$DEVFLOW" require query workflow-context next-change-key
|
|
58
|
+
bash "$DEVFLOW" query workflow-context --change <changeId> --change-key <changeKey> --cwd <repo-root> --data-only --no-trace --compactSCRIPT_ROOT=".claude/skills/cc-do/scripts"
|
|
54
59
|
if [[ ! -d "$SCRIPT_ROOT" && -d ".codex/skills/cc-do/scripts" ]]; then
|
|
55
60
|
SCRIPT_ROOT=".codex/skills/cc-do/scripts"
|
|
56
61
|
fi
|
|
57
|
-
bash "$SCRIPT_ROOT/select-ready-tasks.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/
|
|
58
|
-
bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/
|
|
62
|
+
bash "$SCRIPT_ROOT/select-ready-tasks.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/
|
|
63
|
+
bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff/changes/REQ-003-audit-log-export/ --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/task.md --task <task-id>
|
|
59
64
|
```
|
|
60
65
|
|
|
61
66
|
## Phase 1: Foundation
|
|
@@ -67,7 +72,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff
|
|
|
67
72
|
Read first: `design.md`, `src/admin/AuditSummaryPanel.tsx`
|
|
68
73
|
Verification: `npm test -- src/admin/AuditSummaryPanel.test.tsx`
|
|
69
74
|
Evidence: failing output
|
|
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/
|
|
75
|
+
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/ --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/task.md --task T001`; do not hand-edit status.
|
|
71
76
|
Test seam: admin audit panel UI behavior
|
|
72
77
|
Public verification path: Run the audit summary panel test and observe CSV export through visible rows
|
|
73
78
|
Allowed mocks: download / blob boundary
|
|
@@ -80,7 +85,7 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff
|
|
|
80
85
|
Read first: `design.md`, `src/admin/AuditSummaryPanel.test.tsx`
|
|
81
86
|
Verification: `npm test -- src/admin/AuditSummaryPanel.test.tsx`
|
|
82
87
|
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/
|
|
88
|
+
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/ --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/task.md --task T002`; do not hand-edit status.
|
|
84
89
|
Test seam: admin audit panel UI behavior
|
|
85
90
|
Public verification path: Run the audit summary panel test and observe CSV export through visible rows
|
|
86
91
|
Allowed mocks: download / blob boundary
|
|
@@ -92,12 +97,12 @@ bash "$SCRIPT_ROOT/mark-task-complete.sh" --manifest docs/examples/local-handoff
|
|
|
92
97
|
Goal: 为 `cc-check` 和 `cc-act` 留下这次导出改动的真实证据。
|
|
93
98
|
TDD phase: evidence
|
|
94
99
|
Files: `src/admin/AuditSummaryPanel.tsx`, `src/admin/AuditSummaryPanel.test.tsx`
|
|
95
|
-
Read first: `
|
|
100
|
+
Read first: `task.md`
|
|
96
101
|
Verification:
|
|
97
102
|
- `npm test -- src/admin/AuditSummaryPanel.test.tsx`
|
|
98
103
|
- `npm run lint -- src/admin/AuditSummaryPanel.tsx`
|
|
99
104
|
Evidence: passing output + clean lint output
|
|
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/
|
|
105
|
+
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/ --tasks docs/examples/local-handoff/changes/REQ-003-audit-log-export/task.md --task T003`; do not hand-edit status.
|
|
101
106
|
Test seam: admin audit panel UI behavior
|
|
102
107
|
Public verification path: Run the audit summary panel test and observe CSV export through visible rows
|
|
103
108
|
Allowed mocks: download / blob boundary
|
|
@@ -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.
|
|
7
|
+
- Bound skills: `cc-roadmap@5.3.0`, `cc-plan@3.10.1`, `cc-do@1.7.1`, `cc-check@1.12.1`, `cc-act@1.9.1`
|
|
8
8
|
|
|
9
9
|
This folder shows one minimal but complete `cc-roadmap -> cc-plan -> cc-do -> cc-check -> cc-act` loop.
|
|
10
10
|
|
|
@@ -13,7 +13,7 @@ The example is intentionally small:
|
|
|
13
13
|
- product context is fake
|
|
14
14
|
- requirement scope is real enough to feel concrete
|
|
15
15
|
- the chosen ship mode is `create-pr`
|
|
16
|
-
-
|
|
16
|
+
- process files are intentionally omitted
|
|
17
17
|
|
|
18
18
|
## Scenario
|
|
19
19
|
|
|
@@ -30,13 +30,10 @@ 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/
|
|
34
|
-
- `changes/REQ-001-copy-invite-link/planning/design.md`: legacy fallback sample for the approved tiny design
|
|
35
|
-
- `changes/REQ-001-copy-invite-link/planning/task-manifest.json`: machine-readable execution truth
|
|
36
|
-
- `changes/REQ-001-copy-invite-link/review/report-card.json`: `cc-check` proof and verdict
|
|
33
|
+
- `changes/REQ-001-copy-invite-link/task.md`: executable task handoff
|
|
37
34
|
- `changes/REQ-001-copy-invite-link/handoff/pr-brief.md`: ship-ready PR handoff
|
|
38
35
|
|
|
39
|
-
## Why There
|
|
36
|
+
## Why There Are No Process Files
|
|
40
37
|
|
|
41
38
|
This sample chooses `create-pr`.
|
|
42
39
|
|
|
@@ -45,7 +42,7 @@ That mode needs:
|
|
|
45
42
|
- `pr-brief.md`
|
|
46
43
|
- synced docs if behavior changed
|
|
47
44
|
|
|
48
|
-
It does **not** need
|
|
45
|
+
It does **not** need process files, so the example intentionally stops there.
|
|
49
46
|
|
|
50
47
|
## What To Look For
|
|
51
48
|
|
|
@@ -55,4 +52,4 @@ When reading the sample, check whether you can answer these in under a minute:
|
|
|
55
52
|
2. Why does the requirement stay `tiny-design` instead of `full-design`?
|
|
56
53
|
3. Which task proved the missing behavior first?
|
|
57
54
|
4. What fresh evidence let `cc-check` say `pass`?
|
|
58
|
-
5. Why does `cc-act` choose `create-pr` and omit
|
|
55
|
+
5. Why does `cc-act` choose `create-pr` and omit process files?
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
- Reviewed base SHA: `example-base`
|
|
30
30
|
- Reviewed head SHA: `example-head`
|
|
31
|
-
- Review packet: `
|
|
31
|
+
- Review packet: `task.md#Contract Summary`; `task.md#T001-T003`
|
|
32
32
|
- Finding triage: no findings
|
|
33
33
|
- QA / claim evidence: `qa=pass`, `tests-pass=pass`, `requirements-met=pass`
|
|
34
34
|
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
- Browser QA: `skipped`, example fixture uses targeted component evidence instead of a live browser
|
|
42
42
|
- Failure ownership: no open failures recorded
|
|
43
43
|
- Documentation release: README and CLAUDE unchanged for this scoped example
|
|
44
|
-
- PR body accuracy: regenerate the PR body from this brief, current
|
|
44
|
+
- PR body accuracy: regenerate the PR body from this brief, current validation evidence, and current diff
|
|
45
45
|
|
|
46
46
|
## Pull Request Body Contract
|
|
47
47
|
|
|
48
48
|
- Language source: `Output language: en`
|
|
49
49
|
- PR body language: English
|
|
50
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
|
|
51
|
+
- Body source: current `pr-brief.md`, current diff, current verification response, and roadmap/backlog writeback.
|
|
52
52
|
- Required sections: summary, problem, changes, validation, review/gate evidence, risk/rollback, docs/writeback, and follow-ups.
|
|
53
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
54
|
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
|
|
75
75
|
## Validation
|
|
76
76
|
|
|
77
|
-
-
|
|
77
|
+
- Verification verdict: `pass`
|
|
78
78
|
- `npm test -- src/features/share/ShareDialog.test.tsx`
|
|
79
79
|
- `npm run lint -- src/features/share/ShareDialog.tsx`
|
|
80
80
|
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
|
|
83
83
|
- Reviewed base SHA: `example-base`
|
|
84
84
|
- Reviewed head SHA: `example-head`
|
|
85
|
-
- Review packet: `
|
|
85
|
+
- Review packet: `task.md#Contract Summary`; `task.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.
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
|
|
118
118
|
## Verification Evidence
|
|
119
119
|
|
|
120
|
-
-
|
|
120
|
+
- Verification verdict: `pass`
|
|
121
121
|
- Merged-result verification: not applicable before merge
|
|
122
122
|
- Fresh evidence:
|
|
123
123
|
- `npm test -- src/features/share/ShareDialog.test.tsx`
|
|
@@ -127,17 +127,15 @@
|
|
|
127
127
|
|
|
128
128
|
- `CLAUDE.md`: unchanged
|
|
129
129
|
- `README.md`: unchanged
|
|
130
|
-
-
|
|
131
|
-
- `resume-index.md`: not needed because the change is ready for PR handoff
|
|
130
|
+
- process files: intentionally omitted
|
|
132
131
|
|
|
133
132
|
## Minimum Landing Pack
|
|
134
133
|
|
|
135
134
|
- Required for this mode:
|
|
136
135
|
- `pr-brief.md`
|
|
137
|
-
- fresh
|
|
136
|
+
- fresh verification response
|
|
138
137
|
- Intentionally omitted:
|
|
139
|
-
-
|
|
140
|
-
- `resume-index.md`
|
|
138
|
+
- process files
|
|
141
139
|
|
|
142
140
|
## How To Verify
|
|
143
141
|
|