@kaddo/cli 3.57.0 → 3.58.0
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/dist/index.js +28 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2232,6 +2232,8 @@ validation (how to test it), definition of done, open questions and dependencies
|
|
|
2232
2232
|
- Do not expand scope without explicit confirmation.
|
|
2233
2233
|
- Do not create mega Work Items \u2014 split when it covers multiple outcomes.
|
|
2234
2234
|
- Keep acceptance criteria testable.
|
|
2235
|
+
- This skill refines scope and acceptance criteria but does not approve implementation readiness.
|
|
2236
|
+
Readiness requires human confirmation through \`kaddo ready\` or the MCP \`mark_work_item_ready\` action.
|
|
2235
2237
|
|
|
2236
2238
|
## Quality checklist
|
|
2237
2239
|
|
|
@@ -2637,9 +2639,9 @@ var RESPONSIBILITY_MATRIX = {
|
|
|
2637
2639
|
agent: "work-item-agent",
|
|
2638
2640
|
responsibleFor: ["Work Item refinement"],
|
|
2639
2641
|
produces: ["knowledge/delivery/work-items/"],
|
|
2640
|
-
canSuggest: ["implementation-agent"],
|
|
2642
|
+
canSuggest: ["kaddo ready", "mark_work_item_ready", "implementation-agent"],
|
|
2641
2643
|
cannotSuggest: ["branches", "commits", "pull requests", "code"],
|
|
2642
|
-
next: ["implementation-agent"]
|
|
2644
|
+
next: ["kaddo ready (human review)", "implementation-agent"]
|
|
2643
2645
|
},
|
|
2644
2646
|
"implementation-agent": {
|
|
2645
2647
|
agent: "implementation-agent",
|
|
@@ -3652,7 +3654,16 @@ and \`blocked\` as active work; \`completed\` and \`archived\` are historical kn
|
|
|
3652
3654
|
|
|
3653
3655
|
## Handoff
|
|
3654
3656
|
|
|
3655
|
-
|
|
3657
|
+
After refining a Work Item, **do not mark it ready automatically**. If the Work Item appears
|
|
3658
|
+
complete (acceptance criteria, validation, code globs, domains all present, open questions
|
|
3659
|
+
resolved), recommend human review and the ready transition:
|
|
3660
|
+
|
|
3661
|
+
- **CLI:** \`kaddo ready <WI-ID>\`
|
|
3662
|
+
- **MCP:** \`mark_work_item_ready({ id: "<WI-ID>" })\`
|
|
3663
|
+
|
|
3664
|
+
The transition to \`ready\` requires explicit human confirmation. Only after a human marks the
|
|
3665
|
+
Work Item as ready should it be handed off to the implementation-agent.
|
|
3666
|
+
|
|
3656
3667
|
You do **not** suggest branches, commits or pull requests \u2014 implementation (including any Git
|
|
3657
3668
|
branch suggestion) is the implementation-agent's responsibility, and only by respecting the
|
|
3658
3669
|
project Git strategy. Your job ends at a clear, traceable Work Item that **states how to test it**.
|
|
@@ -8904,6 +8915,7 @@ function buildDeliveryState(dir) {
|
|
|
8904
8915
|
return {
|
|
8905
8916
|
phase: "",
|
|
8906
8917
|
draft_work_items: byState("draft"),
|
|
8918
|
+
refined_draft_work_items: wis.filter((w) => w.lifecycle === "draft" && w.rawFrontmatter.refined_by).length,
|
|
8907
8919
|
ready_work_items: byState("ready"),
|
|
8908
8920
|
in_progress_work_items: byState("in-progress"),
|
|
8909
8921
|
blocked_work_items: byState("blocked"),
|
|
@@ -9031,6 +9043,17 @@ function resolveNextStep(dir, now = /* @__PURE__ */ new Date()) {
|
|
|
9031
9043
|
const secondary = buildSecondaryRecommendations(st);
|
|
9032
9044
|
const roadmap = roadmapSignal(dir);
|
|
9033
9045
|
if (roadmap !== "has-candidates" && st.draft_work_items > 0) {
|
|
9046
|
+
if (st.refined_draft_work_items > 0) {
|
|
9047
|
+
return {
|
|
9048
|
+
id: "review-work-item",
|
|
9049
|
+
phase: "Active Delivery",
|
|
9050
|
+
label: "Review the refined draft Work Item and mark it ready with `kaddo ready`.",
|
|
9051
|
+
command: "kaddo ready",
|
|
9052
|
+
mcpAction: "kaddo_mark_work_item_ready",
|
|
9053
|
+
reason: `There ${st.refined_draft_work_items === 1 ? "is" : "are"} ${st.refined_draft_work_items} refined draft Work Item${st.refined_draft_work_items === 1 ? "" : "s"} awaiting human review.`,
|
|
9054
|
+
...secondary.length ? { secondary } : {}
|
|
9055
|
+
};
|
|
9056
|
+
}
|
|
9034
9057
|
return {
|
|
9035
9058
|
id: "refine-work-item",
|
|
9036
9059
|
phase: "Active Delivery",
|
|
@@ -9836,7 +9859,8 @@ function mapNextStepId(id) {
|
|
|
9836
9859
|
"refine-product": "define-product",
|
|
9837
9860
|
"refine-capabilities": "discover-capabilities",
|
|
9838
9861
|
"refine-current-state": "describe-architecture",
|
|
9839
|
-
"refine-codebase": "describe-architecture"
|
|
9862
|
+
"refine-codebase": "describe-architecture",
|
|
9863
|
+
"review-work-item": "refine-work-item"
|
|
9840
9864
|
};
|
|
9841
9865
|
return MAP[id] ?? id;
|
|
9842
9866
|
}
|