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.
Files changed (185) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +18 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +17 -269
  3. package/.claude/skills/cc-act/SKILL.md +38 -425
  4. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_INDEX_TEMPLATE.md +2 -13
  5. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_TEMPLATE.md +1 -9
  6. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +21 -177
  7. package/.claude/skills/cc-act/references/closure-contract.md +12 -63
  8. package/.claude/skills/cc-act/references/git-commit-guidelines.md +5 -5
  9. package/.claude/skills/cc-act/scripts/cc-act-common.sh +5 -322
  10. package/.claude/skills/cc-act/scripts/detect-ship-target.sh +11 -2
  11. package/.claude/skills/cc-act/scripts/inspect-git-index.sh +58 -0
  12. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +40 -440
  13. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +10 -50
  14. package/.claude/skills/cc-check/CHANGELOG.md +18 -0
  15. package/.claude/skills/cc-check/PLAYBOOK.md +19 -273
  16. package/.claude/skills/cc-check/SKILL.md +33 -456
  17. package/.claude/skills/cc-check/references/review-contract.md +12 -147
  18. package/.claude/skills/cc-dev/CHANGELOG.md +15 -0
  19. package/.claude/skills/cc-dev/PLAYBOOK.md +1 -1
  20. package/.claude/skills/cc-dev/SKILL.md +52 -137
  21. package/.claude/skills/cc-dev/scripts/resolve-cc-devflow.sh +181 -0
  22. package/.claude/skills/cc-do/CHANGELOG.md +11 -0
  23. package/.claude/skills/cc-do/PLAYBOOK.md +19 -113
  24. package/.claude/skills/cc-do/SKILL.md +39 -245
  25. package/.claude/skills/cc-do/references/execution-recovery.md +15 -109
  26. package/.claude/skills/cc-do/scripts/cc-do-common.sh +5 -57
  27. package/.claude/skills/cc-do/scripts/check-task-status.sh +35 -65
  28. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +9 -46
  29. package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +29 -97
  30. package/.claude/skills/cc-investigate/CHANGELOG.md +16 -0
  31. package/.claude/skills/cc-investigate/PLAYBOOK.md +20 -180
  32. package/.claude/skills/cc-investigate/SKILL.md +64 -246
  33. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +48 -98
  34. package/.claude/skills/cc-investigate/references/investigation-contract.md +14 -218
  35. package/.claude/skills/cc-next/CHANGELOG.md +6 -0
  36. package/.claude/skills/cc-next/PLAYBOOK.md +12 -8
  37. package/.claude/skills/cc-next/SKILL.md +34 -140
  38. package/.claude/skills/cc-plan/CHANGELOG.md +16 -0
  39. package/.claude/skills/cc-plan/PLAYBOOK.md +22 -161
  40. package/.claude/skills/cc-plan/SKILL.md +45 -295
  41. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +30 -228
  42. package/.claude/skills/cc-plan/references/planning-contract.md +24 -161
  43. package/.claude/skills/cc-plan/scripts/next-change-key.sh +8 -44
  44. package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +2 -2
  45. package/.claude/skills/cc-plan/scripts/validate-scope.sh +1 -1
  46. package/.claude/skills/cc-pr-land/SKILL.md +14 -114
  47. package/.claude/skills/cc-pr-review/CHANGELOG.md +4 -0
  48. package/.claude/skills/cc-pr-review/SKILL.md +20 -103
  49. package/.claude/skills/cc-review/CHANGELOG.md +17 -0
  50. package/.claude/skills/cc-review/PLAYBOOK.md +13 -86
  51. package/.claude/skills/cc-review/SKILL.md +53 -241
  52. package/.claude/skills/cc-review/references/e2e-and-plugin-verification.md +2 -2
  53. package/.claude/skills/cc-review/references/implementation-review-branch.md +7 -147
  54. package/.claude/skills/cc-review/references/plan-review-branch.md +5 -147
  55. package/.claude/skills/cc-review/references/review-methods.md +10 -218
  56. package/.claude/skills/cc-review/scripts/collect-review-context.sh +4 -63
  57. package/.claude/skills/cc-roadmap/PLAYBOOK.md +1 -1
  58. package/.claude/skills/cc-roadmap/SKILL.md +3 -3
  59. package/.claude/skills/cc-simplify/CHANGELOG.md +7 -0
  60. package/.claude/skills/cc-simplify/SKILL.md +26 -21
  61. package/.claude/skills/cc-spec-init/PLAYBOOK.md +12 -48
  62. package/.claude/skills/cc-spec-init/SKILL.md +29 -132
  63. package/.claude/skills/cc-spec-init/references/spec-contract.md +8 -17
  64. package/CHANGELOG.md +13 -0
  65. package/bin/cc-devflow-cli.js +20 -260
  66. package/bin/cc-devflow.js +44 -7
  67. package/docs/commands/README.md +1 -1
  68. package/docs/commands/README.zh-CN.md +1 -1
  69. package/docs/examples/README.md +1 -1
  70. package/docs/examples/START-HERE.md +14 -15
  71. package/docs/examples/example-bindings.json +11 -11
  72. package/docs/examples/full-design-blocked/README.md +4 -6
  73. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/{planning/tasks.md → task.md} +20 -15
  74. package/docs/examples/local-handoff/README.md +8 -11
  75. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/pr-brief.md +31 -0
  76. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/{planning/tasks.md → task.md} +18 -13
  77. package/docs/examples/pdca-loop/README.md +6 -9
  78. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +9 -11
  79. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/{planning/tasks.md → task.md} +18 -13
  80. package/docs/examples/scripts/check-example-bindings.sh +11 -62
  81. package/docs/guides/artifact-contract.md +10 -40
  82. package/docs/guides/getting-started.md +8 -8
  83. package/docs/guides/getting-started.zh-CN.md +8 -8
  84. package/docs/guides/minimize-artifacts.md +16 -130
  85. package/docs/guides/project-postmortem.md +14 -71
  86. package/lib/compiler/__tests__/skills-registry.test.js +9 -8
  87. package/lib/compiler/resource-copier.js +29 -0
  88. package/lib/skill-runtime/__tests__/archive-change.test.js +2 -2
  89. package/lib/skill-runtime/__tests__/benchmark-skills.test.js +3 -3
  90. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +14 -4
  91. package/lib/skill-runtime/errors.js +3 -3
  92. package/lib/skill-runtime/index.js +5 -23
  93. package/lib/skill-runtime/paths.js +5 -52
  94. package/lib/skill-runtime/query-registry.js +4 -4
  95. package/lib/skill-runtime/query.js +89 -201
  96. package/lib/skill-runtime/store.js +4 -40
  97. package/lib/skill-runtime/trace.js +2 -2
  98. package/package.json +2 -5
  99. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_PRINCIPLES_TEMPLATE.md +0 -29
  100. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +0 -54
  101. package/.claude/skills/cc-act/scripts/generate-status-report.sh +0 -92
  102. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +0 -355
  103. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +0 -234
  104. package/.claude/skills/cc-check/scripts/render-report-card.js +0 -438
  105. package/.claude/skills/cc-check/scripts/verify-gate.sh +0 -85
  106. package/.claude/skills/cc-do/scripts/build-task-context.sh +0 -175
  107. package/.claude/skills/cc-do/scripts/record-review-decision.sh +0 -88
  108. package/.claude/skills/cc-do/scripts/recover-workflow.sh +0 -82
  109. package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +0 -70
  110. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +0 -109
  111. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +0 -92
  112. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +0 -224
  113. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +0 -178
  114. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +0 -28
  115. package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +0 -45
  116. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +0 -234
  117. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +0 -488
  118. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +0 -189
  119. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +0 -39
  120. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +0 -29
  121. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +0 -123
  122. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +0 -292
  123. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +0 -136
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +0 -29
  125. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +0 -124
  126. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +0 -292
  127. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +0 -136
  128. package/docs/get-shit-done-strategy-audit.md +0 -518
  129. package/docs/skill-runtime-migration.md +0 -46
  130. package/lib/skill-runtime/__tests__/approve.test.js +0 -92
  131. package/lib/skill-runtime/__tests__/autopilot.test.js +0 -253
  132. package/lib/skill-runtime/__tests__/benchmark-artifacts.test.js +0 -165
  133. package/lib/skill-runtime/__tests__/delegation.test.js +0 -97
  134. package/lib/skill-runtime/__tests__/dispatch.test.js +0 -237
  135. package/lib/skill-runtime/__tests__/intent.test.js +0 -203
  136. package/lib/skill-runtime/__tests__/lifecycle.test.js +0 -169
  137. package/lib/skill-runtime/__tests__/planner.tdd.test.js +0 -331
  138. package/lib/skill-runtime/__tests__/prepare-pr.test.js +0 -126
  139. package/lib/skill-runtime/__tests__/query.test.js +0 -860
  140. package/lib/skill-runtime/__tests__/readiness.test.js +0 -53
  141. package/lib/skill-runtime/__tests__/release.test.js +0 -85
  142. package/lib/skill-runtime/__tests__/review-check-integration.test.js +0 -148
  143. package/lib/skill-runtime/__tests__/review-records.test.js +0 -619
  144. package/lib/skill-runtime/__tests__/runtime.integration.test.js +0 -351
  145. package/lib/skill-runtime/__tests__/schemas.test.js +0 -337
  146. package/lib/skill-runtime/__tests__/task-contract-migrate.test.js +0 -137
  147. package/lib/skill-runtime/__tests__/task-contract.test.js +0 -874
  148. package/lib/skill-runtime/__tests__/team-state.test.js +0 -51
  149. package/lib/skill-runtime/__tests__/verify-artifacts.test.js +0 -203
  150. package/lib/skill-runtime/__tests__/worker-run.test.js +0 -275
  151. package/lib/skill-runtime/__tests__/worker.test.js +0 -56
  152. package/lib/skill-runtime/__tests__/workflow-context-legacy-fallback.test.js +0 -31
  153. package/lib/skill-runtime/__tests__/workflow-context.test.js +0 -98
  154. package/lib/skill-runtime/artifacts.js +0 -88
  155. package/lib/skill-runtime/context-index.js +0 -545
  156. package/lib/skill-runtime/delegation.js +0 -533
  157. package/lib/skill-runtime/intent.js +0 -309
  158. package/lib/skill-runtime/lifecycle.js +0 -294
  159. package/lib/skill-runtime/operations/CLAUDE.md +0 -19
  160. package/lib/skill-runtime/operations/approve.js +0 -81
  161. package/lib/skill-runtime/operations/autopilot-core.js +0 -337
  162. package/lib/skill-runtime/operations/autopilot-execution.js +0 -307
  163. package/lib/skill-runtime/operations/autopilot-shared.js +0 -48
  164. package/lib/skill-runtime/operations/autopilot.js +0 -163
  165. package/lib/skill-runtime/operations/dispatch.js +0 -416
  166. package/lib/skill-runtime/operations/init.js +0 -60
  167. package/lib/skill-runtime/operations/janitor.js +0 -61
  168. package/lib/skill-runtime/operations/plan.js +0 -59
  169. package/lib/skill-runtime/operations/prepare-pr.js +0 -25
  170. package/lib/skill-runtime/operations/release.js +0 -99
  171. package/lib/skill-runtime/operations/resume.js +0 -126
  172. package/lib/skill-runtime/operations/review-records.js +0 -265
  173. package/lib/skill-runtime/operations/snapshot.js +0 -45
  174. package/lib/skill-runtime/operations/task-contract.js +0 -593
  175. package/lib/skill-runtime/operations/verify.js +0 -170
  176. package/lib/skill-runtime/operations/worker-run.js +0 -531
  177. package/lib/skill-runtime/operations/worker.js +0 -33
  178. package/lib/skill-runtime/planner.js +0 -539
  179. package/lib/skill-runtime/readiness.js +0 -84
  180. package/lib/skill-runtime/review-records.js +0 -123
  181. package/lib/skill-runtime/review.js +0 -855
  182. package/lib/skill-runtime/schemas.js +0 -746
  183. package/lib/skill-runtime/task-contract.js +0 -188
  184. package/lib/skill-runtime/team-state.js +0 -122
  185. package/lib/skill-runtime/workflow-context.js +0 -748
@@ -1,39 +0,0 @@
1
- # Resume Index
2
-
3
- ## Current Reality
4
-
5
- - Requirement: `REQ-003`
6
- - Roadmap item: `RM-020`
7
- - Verification state: `pass`
8
- - Ship mode: `local-handoff`
9
- - Current branch: `feature/audit-summary-export`
10
- - Blocking environment fact: remote push / PR creation is unavailable right now
11
-
12
- ## What Is Already Done
13
-
14
- - design approved as `tiny-design`
15
- - implementation tasks `T001-T003` completed
16
- - targeted test and lint evidence collected
17
- - `report-card.json` confirms `pass`
18
-
19
- ## Next Entry
20
-
21
- - when remote access is restored, rerun `detect-ship-target`
22
- - if the branch still has no PR, switch from `local-handoff` to `create-pr`
23
- - use `resume-index.md` and `report-card.json` as the truth sources for the next ship step
24
-
25
- ## Read First
26
-
27
- - `design.md`
28
- - `tasks.md`
29
- - `task-manifest.json`
30
- - `report-card.json`
31
-
32
- ## How To Re-Verify
33
-
34
- - `npm test -- src/admin/AuditSummaryPanel.test.tsx`
35
- - `npm run lint -- src/admin/AuditSummaryPanel.tsx`
36
-
37
- ## Open Follow-Up
38
-
39
- - if operators ask for JSON or scheduled exports, lift that into a new roadmap item instead of reopening `REQ-003`
@@ -1,29 +0,0 @@
1
- # Status Report
2
-
3
- ## Requirement
4
-
5
- - Change ID: `REQ-003`
6
- - Roadmap item: `RM-020`
7
- - Current state: verified and ready for `local-handoff`
8
-
9
- ## What Is True Now
10
-
11
- - The admin audit summary panel can export the currently visible summary rows as CSV
12
- - The patch stayed inside the approved `tiny-design` boundary
13
- - Fresh targeted test and lint evidence both passed
14
- - `cc-check` returned `pass`
15
-
16
- ## Ship Decision
17
-
18
- - Recommended mode: `local-handoff`
19
- - Why now: the work is verified, but remote push / PR creation is intentionally unavailable in this environment
20
- - Why not others:
21
- - not `create-pr`: remote access is unavailable
22
- - not `update-pr`: there is no existing PR to refresh
23
- - not `post-merge-closeout`: the change is not merged yet
24
-
25
- ## Docs And Follow-Up
26
-
27
- - README / release docs: unchanged; this is not a public release step
28
- - Backlog writeback: if admins request additional export formats, open a new roadmap item
29
- - Next entry point: use `resume-index.md` to pick up the branch when remote access becomes available
@@ -1,123 +0,0 @@
1
- # DESIGN
2
-
3
- ## Document Meta
4
-
5
- - Requirement version: `REQ-003.v1`
6
- - Design version: `design.v1`
7
- - CC-Plan skill version: `3.9.2`
8
- - Work branch: `REQ/003-audit-log-export`
9
- - Requirement ID: `REQ-003`
10
- - Design mode: `tiny-design`
11
- - Why this stays `tiny-design`: the patch adds one export action inside the existing admin audit UI without changing data contracts
12
- - Approval status: `approved`
13
- - Source roadmap item: `RM-020`
14
- - Source roadmap version: `roadmap.v3`
15
-
16
- ## Source Handoff
17
-
18
- - Why now: admins need a lightweight way to take weekly activity summaries out of the UI
19
- - Inherited success signal: admins can download the summary without manual row copying
20
- - Inherited kill signal: if export requires a shared reporting pipeline, reopen planning
21
- - Inherited non-goals: no JSON export mode, no scheduled reporting
22
- - Upstream evidence: repeated internal admin requests during weekly reviews
23
-
24
- ## Frozen Design Card
25
-
26
- - Change: add a `Download summary` action that exports the visible audit summary rows as CSV
27
- - Keep out: no multi-format export and no shared reporting backend
28
- - Touched files:
29
- - `src/admin/AuditSummaryPanel.tsx`
30
- - `src/admin/AuditSummaryPanel.test.tsx`
31
- - Contract changes: none; reuse the existing summary rows already shown in the panel
32
- - Key decisions that `cc-do` must not re-decide:
33
- - export only what is already visible in the panel
34
- - use CSV as the single output format
35
- - keep the action inside the current admin panel
36
- - Upgrade trigger to `full-design`: if export needs background generation or new reporting contracts
37
-
38
- ## PRD-Grade Brief
39
-
40
- - Problem statement: admins can review audit summary rows in the UI, but taking them into weekly reports requires manual copying.
41
- - Solution summary: admins can download the currently visible audit summary rows as a CSV from the existing admin panel.
42
- - Actors / personas:
43
- - workspace admin reviewing weekly activity
44
- - User stories:
45
- - 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.
46
- - Implementation decisions:
47
- - Export only the rows already visible in the panel.
48
- - Keep CSV as the only output format.
49
- - Testing decisions:
50
- - Test through the admin panel action and visible row data.
51
- - Existing audit summary panel tests are the prior art.
52
- - Out of scope: JSON export, scheduled reporting, and shared reporting backend work.
53
- - Further notes: richer machine-readable exports should become a separate requirement.
54
-
55
- ## Validation
56
-
57
- - Primary check: targeted panel test proves the export action is available and uses current summary rows
58
- - Secondary checks:
59
- - existing audit summary rendering stays green
60
- - lint passes for the touched panel
61
- - Evidence to collect:
62
- - failing test before implementation
63
- - passing test and lint after implementation
64
-
65
- ## Main Risk
66
-
67
- - Risk: admins may soon ask for more export formats
68
- - Mitigation: treat JSON or scheduled exports as later roadmap items
69
-
70
- ## AI Leverage Decision Lens
71
-
72
- - Real user / operator: workspace admin preparing weekly review notes
73
- - Status quo workaround: manually copy visible audit rows
74
- - Human-team effort for full scope: about one day for an engineer to implement, test, and document the local export
75
- - CC / agent effort for full scope: about 30 minutes for visible-row CSV export plus targeted test and lint
76
- - AI compression ratio: roughly 10x for the bounded local export path
77
- - Complete-lake boundary: visible-row CSV export, panel action, current data source, targeted panel test, and lint
78
- - Ocean boundary: JSON export, scheduled reporting, shared reporting backend, and cross-panel reporting platform
79
- - Scope recommendation: `boil-lake`
80
- - Cost model: low agent time, low human review time, targeted panel test plus lint, low maintenance cost while scoped to visible rows, reversible UI action
81
- - Verdict: `boil-lake`
82
- - Missing evidence or pivot reason: none
83
-
84
- ## External Best-Practice Validation
85
-
86
- - Needed: No
87
- - Decision status: not-needed
88
- - Generalized search terms:
89
- - Sources checked:
90
- - Repo-fit verdict: skipped
91
- - Changes to frozen design:
92
- - Skipped reason: the local handoff exports existing visible rows and does not introduce a new reporting standard
93
-
94
- ## Review Gate
95
-
96
- - Placeholder scan: pass
97
- - Consistency scan: pass
98
- - Scope scan: pass
99
- - Ambiguity scan: pass
100
- - Feasibility scan: pass
101
- - PRD brief scan: pass; the export story and scope boundaries are explicit
102
- - AI Leverage Decision Lens scan: pass; visible-row export lake is bounded enough to complete while reporting platform work stays out
103
- - External best-practice scan: pass; not needed for a repo-local visible-row export
104
- - Decision question scan: pass; `D1` approved the tiny-design CSV-export boundary
105
- - Final recommendation: approved as `tiny-design`
106
-
107
- ## Decision Questions
108
-
109
- | ID | Gate | Known evidence | Recommendation | User choice | Impact on `cc-do` | Status |
110
- |----|------|----------------|----------------|-------------|-------------------|--------|
111
- | D1 | approach-approval | Existing admin panel already owns visible summary rows and the change does not need a reporting backend | Approve the tiny-design CSV export | Tiny design CSV export | Export only visible rows from the current panel; do not create reporting contracts | answered |
112
-
113
- ## Approval
114
-
115
- - User approval status: approved
116
- - Deferred questions:
117
- - if admins ask for machine-readable export next, open a separate requirement
118
-
119
- ## First-Read Test
120
-
121
- - 一眼能看出这次为什么够小
122
- - 一眼能看出什么情况会逼它升级成 `full-design`
123
- - `cc-do` 看完不会继续追问“导出的字段从哪里来”
@@ -1,292 +0,0 @@
1
- {
2
- "changeId": "REQ-003",
3
- "goal": "Add a local CSV export for the existing audit summary panel without introducing new reporting contracts.",
4
- "createdAt": "2026-04-16T13:00:00.000Z",
5
- "updatedAt": "2026-04-16T14:20:00.000Z",
6
- "requirementId": "REQ-003",
7
- "requirementVersion": "REQ-003.v1",
8
- "planningMeta": {
9
- "reqPlanSkillVersion": "3.9.2",
10
- "designVersion": "design.v1",
11
- "workBranch": "REQ/003-audit-log-export",
12
- "approvedAt": "2026-04-16T13:10:00.000Z",
13
- "basedOnOption": "Tiny design card",
14
- "aiLeverageDecisionLens": {
15
- "realUserOrOperator": "workspace admin preparing weekly review notes",
16
- "statusQuoWorkaround": "manual copy of visible audit rows",
17
- "humanTeamEffortForFullScope": "about one day for an engineer to implement, test, and document the local export",
18
- "ccAgentEffortForFullScope": "about 30 minutes for visible-row CSV export plus targeted test and lint",
19
- "aiCompressionRatio": "roughly 10x for the bounded local export path",
20
- "completeLakeBoundary": "visible-row CSV export, panel action, current data source, targeted panel test, and lint",
21
- "oceanBoundary": "JSON export, scheduled reporting, shared reporting backend, and cross-panel reporting platform",
22
- "scopeRecommendation": "boil-lake",
23
- "costModel": {
24
- "agentTime": "low",
25
- "humanReviewTime": "low",
26
- "verificationCost": "targeted panel test plus lint",
27
- "maintenanceCost": "low while scoped to visible rows",
28
- "failureCost": "admins keep copying rows manually",
29
- "reversibility": "reversible UI action"
30
- },
31
- "verdict": "boil-lake",
32
- "missingEvidenceOrPivotReason": "",
33
- "impactOnApprovedDirection": "complete the local visible-row export lake while deferring reporting platform work"
34
- },
35
- "externalBestPractice": {
36
- "needed": false,
37
- "decisionStatus": "not-needed",
38
- "decisionQuestionId": "",
39
- "privacyGuard": "generalized terms only; no project names, private requirements, customer names, secrets, logs, or proprietary concepts",
40
- "generalizedSearchTerms": [],
41
- "sourcesChecked": [],
42
- "conventionalWisdom": "",
43
- "currentDiscourse": "",
44
- "repoFitVerdict": "skipped",
45
- "designImpacts": [],
46
- "skippedReason": "the local handoff exports existing visible rows and does not introduce a new reporting standard"
47
- },
48
- "decisionQuestions": [
49
- {
50
- "questionId": "D1",
51
- "gate": "approach-approval",
52
- "knownEvidence": [
53
- "Existing admin panel already owns the visible summary rows",
54
- "No reporting backend is needed for the first useful export"
55
- ],
56
- "recommendation": "Approve the tiny-design CSV export",
57
- "options": [
58
- {
59
- "id": "A",
60
- "label": "Tiny design CSV export",
61
- "recommended": true,
62
- "completeness": "8/10",
63
- "good": "Solves weekly reporting friction with the current panel data",
64
- "costRisk": "Does not handle JSON, scheduling, or shared reporting contracts"
65
- },
66
- {
67
- "id": "B",
68
- "label": "Shared reporting pipeline",
69
- "recommended": false,
70
- "completeness": "10/10",
71
- "good": "Could support more formats and future scheduled reports",
72
- "costRisk": "Creates a larger platform surface before the local export is proven"
73
- }
74
- ],
75
- "userChoice": "A",
76
- "impact": "cc-do exports only visible rows from the current panel and avoids new reporting contracts",
77
- "status": "answered"
78
- }
79
- ]
80
- },
81
- "currentTaskId": null,
82
- "tasks": [
83
- {
84
- "id": "T001",
85
- "title": "[TEST] Add a failing test for the missing download action",
86
- "type": "TEST",
87
- "phase": 1,
88
- "parallel": false,
89
- "dependsOn": [],
90
- "touches": [
91
- "audit-summary",
92
- "tests"
93
- ],
94
- "files": [
95
- "src/admin/AuditSummaryPanel.test.tsx"
96
- ],
97
- "run": [
98
- "npm test -- src/admin/AuditSummaryPanel.test.tsx"
99
- ],
100
- "checks": [
101
- "test fails before implementation"
102
- ],
103
- "acceptance": [
104
- "the missing download action is reproduced as a failing test"
105
- ],
106
- "verification": [
107
- "npm test -- src/admin/AuditSummaryPanel.test.tsx"
108
- ],
109
- "evidence": [
110
- "failing test output"
111
- ],
112
- "context": {
113
- "readFiles": [
114
- "design.md",
115
- "tasks.md",
116
- "src/admin/AuditSummaryPanel.tsx"
117
- ],
118
- "commands": [
119
- "npm test -- src/admin/AuditSummaryPanel.test.tsx"
120
- ],
121
- "notes": [
122
- "stay inside the current audit summary panel"
123
- ]
124
- },
125
- "reviews": {
126
- "spec": "pass",
127
- "code": "pass"
128
- },
129
- "status": "passed",
130
- "attempts": 1,
131
- "maxRetries": 1,
132
- "tddPhase": "red",
133
- "verticalSlice": "Slice 1",
134
- "testSeam": {
135
- "entry": "admin audit panel UI behavior",
136
- "behaviorAsserted": "the missing download action is reproduced as a failing test",
137
- "specStyleTestName": "the missing download action is reproduced as a failing test",
138
- "oneLogicalBehavior": true,
139
- "publicVerificationPath": "Run the audit summary panel test and observe CSV export through visible rows",
140
- "implementationDetailRisk": "low"
141
- },
142
- "feedbackLoop": {
143
- "type": "automated-test",
144
- "determinism": "deterministic",
145
- "expectedFailure": "Fails before the behavior exists"
146
- }
147
- },
148
- {
149
- "id": "T002",
150
- "title": "[IMPL] Add the download summary action",
151
- "type": "IMPL",
152
- "phase": 1,
153
- "parallel": false,
154
- "dependsOn": [
155
- "T001"
156
- ],
157
- "touches": [
158
- "audit-summary"
159
- ],
160
- "files": [
161
- "src/admin/AuditSummaryPanel.tsx"
162
- ],
163
- "run": [
164
- "npm test -- src/admin/AuditSummaryPanel.test.tsx"
165
- ],
166
- "checks": [
167
- "panel test passes"
168
- ],
169
- "acceptance": [
170
- "admins can trigger a CSV download from the existing summary panel"
171
- ],
172
- "verification": [
173
- "npm test -- src/admin/AuditSummaryPanel.test.tsx"
174
- ],
175
- "evidence": [
176
- "passing test output",
177
- "CLI log summary"
178
- ],
179
- "context": {
180
- "readFiles": [
181
- "design.md",
182
- "tasks.md",
183
- "src/admin/AuditSummaryPanel.test.tsx"
184
- ],
185
- "commands": [
186
- "npm test -- src/admin/AuditSummaryPanel.test.tsx"
187
- ],
188
- "notes": [
189
- "reuse visible summary rows as the export source"
190
- ]
191
- },
192
- "reviews": {
193
- "spec": "pass",
194
- "code": "pass"
195
- },
196
- "status": "passed",
197
- "attempts": 1,
198
- "maxRetries": 1,
199
- "tddPhase": "green",
200
- "verticalSlice": "Slice 2",
201
- "testSeam": {
202
- "entry": "admin audit panel UI behavior",
203
- "behaviorAsserted": "admins can trigger a CSV download from the existing summary panel",
204
- "specStyleTestName": "admins can trigger a CSV download from the existing summary panel",
205
- "oneLogicalBehavior": true,
206
- "publicVerificationPath": "Run the audit summary panel test and observe CSV export through visible rows",
207
- "implementationDetailRisk": "low"
208
- },
209
- "feedbackLoop": {
210
- "type": "automated-test",
211
- "determinism": "deterministic",
212
- "expectedFailure": ""
213
- }
214
- },
215
- {
216
- "id": "T003",
217
- "title": "Run targeted checks and collect handoff evidence",
218
- "type": "OTHER",
219
- "phase": 2,
220
- "parallel": false,
221
- "dependsOn": [
222
- "T002"
223
- ],
224
- "touches": [
225
- "quality-gates"
226
- ],
227
- "files": [
228
- "src/admin/AuditSummaryPanel.tsx",
229
- "src/admin/AuditSummaryPanel.test.tsx"
230
- ],
231
- "run": [
232
- "npm test -- src/admin/AuditSummaryPanel.test.tsx",
233
- "npm run lint -- src/admin/AuditSummaryPanel.tsx"
234
- ],
235
- "checks": [
236
- "targeted tests pass",
237
- "lint passes"
238
- ],
239
- "acceptance": [
240
- "fresh verification evidence exists for local handoff"
241
- ],
242
- "verification": [
243
- "npm test -- src/admin/AuditSummaryPanel.test.tsx",
244
- "npm run lint -- src/admin/AuditSummaryPanel.tsx"
245
- ],
246
- "evidence": [
247
- "passing test output",
248
- "clean lint output"
249
- ],
250
- "context": {
251
- "readFiles": [
252
- "tasks.md",
253
- "task-manifest.json"
254
- ],
255
- "commands": [
256
- "npm test -- src/admin/AuditSummaryPanel.test.tsx",
257
- "npm run lint -- src/admin/AuditSummaryPanel.tsx"
258
- ],
259
- "notes": [
260
- "remote push is intentionally out of scope for this example"
261
- ]
262
- },
263
- "reviews": {
264
- "spec": "pass",
265
- "code": "pass"
266
- },
267
- "status": "passed",
268
- "attempts": 1,
269
- "maxRetries": 1,
270
- "tddPhase": "evidence",
271
- "verticalSlice": "Slice 3",
272
- "testSeam": {
273
- "entry": "admin audit panel UI behavior",
274
- "behaviorAsserted": "fresh verification evidence exists for local handoff",
275
- "specStyleTestName": "fresh verification evidence exists for local handoff",
276
- "oneLogicalBehavior": true,
277
- "publicVerificationPath": "Run the audit summary panel test and observe CSV export through visible rows",
278
- "implementationDetailRisk": "low"
279
- },
280
- "feedbackLoop": {
281
- "type": "automated-test",
282
- "determinism": "deterministic",
283
- "expectedFailure": ""
284
- }
285
- }
286
- ],
287
- "metadata": {
288
- "source": "tasks.md",
289
- "generatedBy": "docs-example",
290
- "planVersion": 1
291
- }
292
- }
@@ -1,136 +0,0 @@
1
- {
2
- "changeId": "REQ-003",
3
- "verdict": "pass",
4
- "overall": "pass",
5
- "summary": "verdict=pass quick=2/2 strict=0/0 review=pass",
6
- "specAlignment": "pass",
7
- "specDeltaVerified": true,
8
- "specSyncReady": true,
9
- "runtime": {
10
- "status": "pass",
11
- "failureOwnership": []
12
- },
13
- "claimEvidence": [
14
- {
15
- "claim": "tests-pass",
16
- "requiredProof": "fresh targeted test command with exit 0",
17
- "commandOrArtifact": "npm test -- src/admin/AuditSummaryPanel.test.tsx",
18
- "exitStatus": 0,
19
- "keyObservation": "audit summary panel targeted tests passed",
20
- "status": "pass"
21
- },
22
- {
23
- "claim": "requirements-met",
24
- "requiredProof": "line-by-line planning/tasks.md and task-manifest.json checklist",
25
- "commandOrArtifact": "planning/tasks.md + planning/task-manifest.json",
26
- "exitStatus": null,
27
- "keyObservation": "approved tiny-design scope completed",
28
- "status": "pass"
29
- }
30
- ],
31
- "qa": {
32
- "status": "pass",
33
- "regressionProof": [],
34
- "testQuality": [
35
- {
36
- "area": "audit-summary-panel",
37
- "checksRealBehavior": true,
38
- "mockBoundary": "none",
39
- "testOnlyProductionApi": false,
40
- "status": "pass"
41
- }
42
- ],
43
- "coverageAudit": {
44
- "status": "pass",
45
- "coveragePct": 80,
46
- "pathMap": ["audit summary render path", "empty audit state"],
47
- "gaps": [],
48
- "testsAdded": ["src/admin/AuditSummaryPanel.test.tsx"],
49
- "e2eRequired": false,
50
- "evalRequired": false,
51
- "qualityStars": "★★"
52
- },
53
- "browserEvidence": {
54
- "status": "skipped",
55
- "mode": "not-applicable",
56
- "affectedRoutes": [],
57
- "screenshots": [],
58
- "consoleErrors": [],
59
- "healthScore": null,
60
- "issues": [],
61
- "skipReason": "local handoff example records component evidence without a live browser fixture"
62
- },
63
- "tddException": null
64
- },
65
- "quickGates": [
66
- {
67
- "name": "targeted-tests",
68
- "status": "pass",
69
- "command": "npm test -- src/admin/AuditSummaryPanel.test.tsx",
70
- "summary": "audit summary panel targeted tests passed"
71
- },
72
- {
73
- "name": "lint",
74
- "status": "pass",
75
- "command": "npm run lint -- src/admin/AuditSummaryPanel.tsx",
76
- "summary": "lint passed for the touched panel file"
77
- }
78
- ],
79
- "strictGates": [],
80
- "review": {
81
- "status": "pass",
82
- "summary": "Task review proof and requirement-level diff review both passed",
83
- "details": "The diff stayed inside the approved tiny-design scope and verification evidence is fresh.",
84
- "freshness": {
85
- "status": "fresh",
86
- "reviewedCommit": "example-head",
87
- "currentCommit": "example-head",
88
- "commitsSinceReview": 0,
89
- "staleReason": ""
90
- },
91
- "qualityScore": 9,
92
- "specialistReviews": [
93
- {
94
- "name": "testing",
95
- "status": "pass",
96
- "required": true,
97
- "summary": "targeted tests cover the audit summary behavior for this example",
98
- "skipReason": "",
99
- "findings": []
100
- }
101
- ],
102
- "taskReviews": {
103
- "status": "pass",
104
- "required": true,
105
- "summary": "All completed tasks carry spec/code proof",
106
- "reviewPacket": {
107
- "baseSha": "example-base",
108
- "headSha": "example-head",
109
- "requirements": "planning/tasks.md",
110
- "implemented": "audit log export summary view",
111
- "reviewerContext": "task manifest plus changed audit panel files"
112
- },
113
- "reviewers": [],
114
- "findings": []
115
- },
116
- "diffReview": {
117
- "status": "pass",
118
- "required": false,
119
- "summary": "No blocking requirement-level findings",
120
- "reviewPacket": {
121
- "baseSha": "example-base",
122
- "headSha": "example-head",
123
- "requirements": "planning/tasks.md#Contract Summary",
124
- "implemented": "audit log export summary view",
125
- "reviewerContext": "requirement diff, plan completion, scope drift, docs staleness"
126
- },
127
- "reviewers": [],
128
- "findings": []
129
- },
130
- "findings": []
131
- },
132
- "blockingFindings": [],
133
- "gaps": [],
134
- "reroute": "none",
135
- "timestamp": "2026-04-16T14:30:00.000Z"
136
- }
@@ -1,29 +0,0 @@
1
- # Status Report
2
-
3
- ## Requirement
4
-
5
- - Change ID: `REQ-001`
6
- - Roadmap item: `RM-001`
7
- - Current state: verified and ready to ship as `create-pr`
8
-
9
- ## What Is True Now
10
-
11
- - The share dialog exposes a one-click copy action for the existing invite URL
12
- - The patch stayed inside the approved `tiny-design` boundary
13
- - Fresh targeted test and lint evidence both passed
14
- - Review proof is present, so `cc-check` returned `pass`
15
-
16
- ## Ship Decision
17
-
18
- - Recommended mode: `create-pr`
19
- - Why now: the work is verified, the branch is assumed to be a feature branch, and no open PR exists yet
20
- - Why not others:
21
- - not `update-pr`: there is no existing PR to refresh
22
- - not `local-handoff`: the work is ready to move forward
23
- - not `post-merge-closeout`: the change is not merged yet
24
-
25
- ## Docs And Follow-Up
26
-
27
- - README / release docs: no public user-facing release note yet
28
- - Backlog writeback: keep `RM-002` parked as the next UX refinement if support friction remains
29
- - Next entry point: create the PR using `pr-brief.md` as the truth source