@ngockhoale/ukit 1.5.8 → 1.5.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngockhoale/ukit",
3
- "version": "1.5.8",
3
+ "version": "1.5.9",
4
4
  "description": "Install/update an index-first AI workspace for Claude Code, Antigravity, OpenAI Codex, and OpenCode.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -2,6 +2,8 @@
2
2
 
3
3
  Spawn **ukit-small-task-maintainer** (Haiku / unic-lite) to archive and reset the cycle.
4
4
 
5
+ **HARD GATE: Will NOT clear if any task is not `done`.**
6
+
5
7
  ---
6
8
 
7
9
  Spawn Agent:
@@ -12,30 +14,59 @@ Spawn Agent:
12
14
  ```
13
15
  Clear the current handoff cycle.
14
16
 
15
- 1. Read docs/AI_HANDOFF/INDEX.md
16
- → If any task is in_progress or pending_review → WARN human, ask to confirm before proceeding
17
-
18
- 2. Cleanup worktrees:
19
- git worktree list | grep handoff/
20
- For each .worktrees/task-xxx:
21
- git worktree remove .worktrees/task-xxx --force
22
- git branch -D handoff/task-xxx
23
- git worktree prune
24
-
25
- 3. Archive cycle:
26
- Write docs/AI_HANDOFF/archive/cycle-NNN.md:
27
- # Cycle NNN — <YYYY-MM-DD>
28
- ## Summary: <1 paragraph>
29
- ## Tasks: <INDEX.md table>
30
- If archive/ has > 3 files → delete oldest, append 1-line to HISTORY.md
31
-
32
- 4. Reset state files:
33
- PLAN.md → "# PLAN\n_(empty)_"
34
- INDEX.md → empty table header
35
- ACTIVE.md → "# ACTIVE\n_(no active cycle)_"
36
- tasks/TASK-*.md → delete all (keep _TEMPLATE.md)
37
-
38
- 5. Report: cycle archived, worktrees removed, ready for new cycle
17
+ ## Step 1 — GATE CHECK (mandatory, cannot skip)
18
+
19
+ Read docs/AI_HANDOFF/INDEX.md.
20
+ List every task and its status.
21
+
22
+ Find all tasks where status ≠ done:
23
+ - ready → not started (run /ukit:implement-handoff TASK-xxx)
24
+ - in_progress → executor still working
25
+ - pending_review → waiting for review (run /ukit:review-handoff TASK-xxx)
26
+ - changes_requested → executor must fix (run /ukit:implement-handoff TASK-xxx)
27
+ - critical_block → executor must fix (run /ukit:implement-handoff TASK-xxx)
28
+ - needs_breakdown → planner must split (run /ukit:create-handoff to re-plan)
29
+ - blocked → needs human decision
30
+
31
+ If ANY task has status ≠ done → STOP IMMEDIATELY. Do NOT proceed to steps 2-4.
32
+ Report:
33
+
34
+ ⛔ Cannot clear — X task(s) not done:
35
+ - TASK-001 [pending_review] → run /ukit:review-handoff TASK-001
36
+ - TASK-003 [changes_requested] → run /ukit:implement-handoff TASK-003
37
+
38
+ Fix all tasks first, then re-run /ukit:clear-handoff.
39
+
40
+ Only continue to Step 2 if ALL tasks are done.
41
+
42
+ ## Step 2 — Cleanup worktrees
43
+
44
+ git worktree list | grep handoff/
45
+ For each .worktrees/task-xxx:
46
+ git worktree remove .worktrees/task-xxx --force
47
+ git branch -D handoff/task-xxx
48
+ git worktree prune
49
+
50
+ ## Step 3 — Archive cycle
51
+
52
+ Read INDEX.md cycle ID.
53
+ Write docs/AI_HANDOFF/archive/cycle-NNN.md:
54
+ # Cycle NNN — <YYYY-MM-DD>
55
+ ## Summary: <1 paragraph of what was accomplished>
56
+ ## Tasks: <copy INDEX.md table>
57
+
58
+ If archive/ has > 3 files → delete oldest, append 1-line summary to HISTORY.md.
59
+
60
+ ## Step 4 — Reset state files
61
+
62
+ PLAN.md → "# PLAN\n_(empty)_"
63
+ INDEX.md → empty table header only
64
+ ACTIVE.md → "# ACTIVE\n_(no active cycle)_"
65
+ tasks/TASK-*.md → delete all (keep _TEMPLATE.md)
66
+
67
+ ## Step 5 — Report
68
+
69
+ Cycle NNN archived. X tasks completed. Worktrees removed. Ready for new cycle.
39
70
  ```
40
71
 
41
72
  After agent completes: