cc-devflow 4.5.3 → 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.
Files changed (104) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +12 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +28 -5
  3. package/.claude/skills/cc-act/SKILL.md +45 -12
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +39 -0
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +16 -0
  6. package/.claude/skills/cc-act/references/closure-contract.md +3 -0
  7. package/.claude/skills/cc-act/scripts/cc-act-common.sh +48 -0
  8. package/.claude/skills/cc-act/scripts/generate-status-report.sh +3 -0
  9. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +6 -0
  10. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +13 -0
  11. package/.claude/skills/cc-check/CHANGELOG.md +6 -0
  12. package/.claude/skills/cc-check/PLAYBOOK.md +4 -0
  13. package/.claude/skills/cc-check/SKILL.md +15 -2
  14. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +18 -0
  15. package/.claude/skills/cc-do/CHANGELOG.md +12 -0
  16. package/.claude/skills/cc-do/PLAYBOOK.md +13 -10
  17. package/.claude/skills/cc-do/SKILL.md +40 -16
  18. package/.claude/skills/cc-do/references/execution-recovery.md +12 -0
  19. package/.claude/skills/cc-do/references/parallel-dispatch.md +6 -4
  20. package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +49 -3
  21. package/.claude/skills/cc-investigate/CHANGELOG.md +12 -0
  22. package/.claude/skills/cc-investigate/PLAYBOOK.md +12 -1
  23. package/.claude/skills/cc-investigate/SKILL.md +31 -5
  24. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +44 -0
  25. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +1 -0
  26. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +9 -1
  27. package/.claude/skills/cc-investigate/references/investigation-contract.md +2 -0
  28. package/.claude/skills/cc-plan/CHANGELOG.md +29 -0
  29. package/.claude/skills/cc-plan/PLAYBOOK.md +43 -17
  30. package/.claude/skills/cc-plan/SKILL.md +85 -44
  31. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +109 -3
  32. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +32 -5
  33. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +85 -4
  34. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +78 -0
  35. package/.claude/skills/cc-plan/references/planning-contract.md +29 -7
  36. package/.claude/skills/cc-roadmap/CHANGELOG.md +12 -0
  37. package/.claude/skills/cc-roadmap/PLAYBOOK.md +15 -9
  38. package/.claude/skills/cc-roadmap/SKILL.md +22 -16
  39. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +3 -1
  40. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +11 -1
  41. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +57 -10
  42. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +68 -3
  43. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +120 -0
  44. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +25 -1
  45. package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +13 -5
  46. package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +3 -3
  47. package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +3 -3
  48. package/CHANGELOG.md +15 -0
  49. package/README.md +5 -5
  50. package/README.zh-CN.md +5 -5
  51. package/bin/cc-devflow-cli.js +93 -2
  52. package/docs/CLAUDE.md +1 -1
  53. package/docs/examples/START-HERE.md +3 -3
  54. package/docs/examples/example-bindings.json +27 -10
  55. package/docs/examples/full-design-blocked/BACKLOG.md +4 -2
  56. package/docs/examples/full-design-blocked/README.md +4 -4
  57. package/docs/examples/full-design-blocked/ROADMAP.md +16 -2
  58. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +39 -1
  59. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +41 -0
  60. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +8 -1
  61. package/docs/examples/full-design-blocked/roadmap.json +123 -0
  62. package/docs/examples/local-handoff/BACKLOG.md +4 -2
  63. package/docs/examples/local-handoff/README.md +4 -4
  64. package/docs/examples/local-handoff/ROADMAP.md +16 -2
  65. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +19 -1
  66. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +26 -0
  67. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +8 -1
  68. package/docs/examples/local-handoff/roadmap.json +121 -0
  69. package/docs/examples/pdca-loop/BACKLOG.md +4 -2
  70. package/docs/examples/pdca-loop/README.md +4 -4
  71. package/docs/examples/pdca-loop/ROADMAP.md +16 -2
  72. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +19 -1
  73. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +22 -3
  74. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +8 -1
  75. package/docs/examples/pdca-loop/roadmap.json +191 -0
  76. package/docs/examples/scripts/check-example-bindings.sh +7 -4
  77. package/docs/get-shit-done-strategy-audit.md +518 -0
  78. package/docs/guides/getting-started.md +2 -2
  79. package/docs/guides/getting-started.zh-CN.md +2 -2
  80. package/lib/compiler/__tests__/inventory.test.js +51 -0
  81. package/lib/compiler/__tests__/skills-registry.test.js +17 -3
  82. package/lib/compiler/inventory.js +78 -0
  83. package/lib/skill-runtime/__tests__/approve.test.js +92 -0
  84. package/lib/skill-runtime/__tests__/autopilot.test.js +4 -0
  85. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +9 -1
  86. package/lib/skill-runtime/__tests__/planner.tdd.test.js +20 -0
  87. package/lib/skill-runtime/__tests__/query.test.js +147 -1
  88. package/lib/skill-runtime/__tests__/readiness.test.js +53 -0
  89. package/lib/skill-runtime/__tests__/release.test.js +85 -0
  90. package/lib/skill-runtime/__tests__/runtime.integration.test.js +11 -0
  91. package/lib/skill-runtime/__tests__/schemas.test.js +56 -0
  92. package/lib/skill-runtime/__tests__/worker-run.test.js +29 -0
  93. package/lib/skill-runtime/errors.js +39 -0
  94. package/lib/skill-runtime/index.js +8 -0
  95. package/lib/skill-runtime/operations/approve.js +17 -2
  96. package/lib/skill-runtime/operations/release.js +6 -3
  97. package/lib/skill-runtime/operations/worker-run.js +30 -0
  98. package/lib/skill-runtime/planner.js +10 -2
  99. package/lib/skill-runtime/query-registry.js +101 -0
  100. package/lib/skill-runtime/query.js +159 -91
  101. package/lib/skill-runtime/readiness.js +84 -0
  102. package/lib/skill-runtime/schemas.js +28 -3
  103. package/lib/skill-runtime/trace.js +22 -0
  104. package/package.json +1 -1
@@ -16,6 +16,25 @@ const ChangeIdSchema = z.string().regex(CHANGE_ID_PATTERN, 'Invalid changeId for
16
16
  const TaskStatusSchema = z.enum(['pending', 'running', 'passed', 'failed', 'skipped']);
17
17
  const ReviewDecisionStatusSchema = z.enum(['pending', 'pass', 'fail', 'blocked', 'skipped']);
18
18
 
19
+ function normalizeTouch(value) {
20
+ return String(value)
21
+ .replace(/\\/g, '/')
22
+ .replace(/\/+/g, '/')
23
+ .replace(/^\.\//, '')
24
+ .replace(/\/$/, '');
25
+ }
26
+
27
+ function overlappingTouch(left, right) {
28
+ if (left === right) return left;
29
+ if (left && right.startsWith(`${left}/`)) return left;
30
+ if (right && left.startsWith(`${right}/`)) return right;
31
+ return '';
32
+ }
33
+
34
+ function taskTouches(task) {
35
+ return [...new Set([...(task.touches || []), ...(task.files || [])].map(normalizeTouch).filter(Boolean))];
36
+ }
37
+
19
38
  const RuntimeStatusSchema = z.enum(['initialized', 'planned', 'in_progress', 'verified', 'released']);
20
39
  const ApprovalStatusSchema = z.enum(['pending', 'approved']);
21
40
  const ExecutionModeSchema = z.enum(['direct', 'delegate', 'team']);
@@ -213,7 +232,7 @@ const ManifestSchema = z.object({
213
232
  continue;
214
233
  }
215
234
 
216
- const leftTouches = new Set([...(left.touches || []), ...(left.files || [])]);
235
+ const leftTouches = taskTouches(left);
217
236
 
218
237
  for (let rightIndex = leftIndex + 1; rightIndex < manifest.tasks.length; rightIndex += 1) {
219
238
  const right = manifest.tasks[rightIndex];
@@ -233,8 +252,14 @@ const ManifestSchema = z.object({
233
252
  });
234
253
  }
235
254
 
236
- const sharedTouches = [...new Set([...(right.touches || []), ...(right.files || [])])]
237
- .filter((touch) => leftTouches.has(touch));
255
+ const rightTouches = taskTouches(right);
256
+ const sharedTouches = [
257
+ ...new Set(
258
+ leftTouches.flatMap((leftTouch) =>
259
+ rightTouches.map((rightTouch) => overlappingTouch(leftTouch, rightTouch)).filter(Boolean)
260
+ )
261
+ )
262
+ ];
238
263
 
239
264
  if (sharedTouches.length > 0) {
240
265
  ctx.addIssue({
@@ -0,0 +1,22 @@
1
+ /**
2
+ * [INPUT]: 接收 query/doctor/preflight 的事件名、artifact refs 与下一动作。
3
+ * [OUTPUT]: 生成统一 trace shape,供恢复、排查和 report-card 引用。
4
+ * [POS]: skill runtime 的 operational trace 层,不承载 workflow 决策。
5
+ * [PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md
6
+ */
7
+
8
+ const crypto = require('crypto');
9
+
10
+ function createTrace({ event, changeId, artifactRefs = [], nextAction = 'inspect-result' } = {}) {
11
+ return {
12
+ eventId: `trace-${crypto.randomUUID()}`,
13
+ event: event || 'runtime-event',
14
+ changeId: changeId || '',
15
+ artifactRefs,
16
+ nextAction
17
+ };
18
+ }
19
+
20
+ module.exports = {
21
+ createTrace
22
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc-devflow",
3
- "version": "4.5.3",
3
+ "version": "4.5.5",
4
4
  "description": "Multi-platform CLI and skill pack for agent coding",
5
5
  "main": "bin/cc-devflow.js",
6
6
  "bin": {