team-toon-tack 3.7.6 → 3.7.7
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/commands/ttt-work-on.md
CHANGED
|
@@ -55,15 +55,18 @@ Skipping phases is not "pragmatic", it is debt.
|
|
|
55
55
|
|
|
56
56
|
### 1. Branch
|
|
57
57
|
|
|
58
|
+
Check current branch and repo convention first (e.g. recent `git log --oneline -10`, existing branch naming pattern).
|
|
59
|
+
If unclear whether to branch or what name to use, ask the user instead of assuming.
|
|
60
|
+
|
|
58
61
|
```bash
|
|
59
|
-
git checkout -b <
|
|
62
|
+
git checkout -b <branch-name-matching-user-convention>
|
|
60
63
|
```
|
|
61
64
|
|
|
62
65
|
### 2. Plan
|
|
63
66
|
|
|
64
67
|
Scope decides depth.
|
|
65
68
|
|
|
66
|
-
- Unclear requirements or 3+ files touched →
|
|
69
|
+
- Unclear requirements or 3+ files touched → if your environment has a brainstorming/planning skill, use it; otherwise clarify scope with the user and write a short plan before coding.
|
|
67
70
|
- Clear and small (≤2 files, obvious change) → state a 2–3 bullet plan inline before coding.
|
|
68
71
|
|
|
69
72
|
Never go straight to code.
|
|
@@ -71,8 +74,6 @@ Planning collapses ambiguity before implementation.
|
|
|
71
74
|
|
|
72
75
|
### 3. Test First (TDD)
|
|
73
76
|
|
|
74
|
-
Invoke `superpowers:test-driven-development`.
|
|
75
|
-
|
|
76
77
|
Red → Green → Refactor per behavior:
|
|
77
78
|
|
|
78
79
|
1. Write one failing test naming the behavior.
|
|
@@ -85,9 +86,7 @@ No production code without a failing test first.
|
|
|
85
86
|
|
|
86
87
|
### 4. Review (before `/ttt:done`)
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
Run and confirm output:
|
|
89
|
+
Verify before claiming completion — run and confirm output:
|
|
91
90
|
|
|
92
91
|
- Full test suite passes.
|
|
93
92
|
- `npm run lint` / `npm run type` clean (or project-specific commands).
|
|
@@ -59,7 +59,7 @@ Skipping phases is debt, not pragmatism.
|
|
|
59
59
|
|
|
60
60
|
## 1. Plan
|
|
61
61
|
|
|
62
|
-
- Unclear scope or 3+ files → use
|
|
62
|
+
- Unclear scope or 3+ files → use a brainstorming/planning skill if your environment has one, else clarify scope with the user first.
|
|
63
63
|
- Small, clear change → state a 2–3 bullet plan inline before coding.
|
|
64
64
|
|
|
65
65
|
Branch naming:
|
|
@@ -69,7 +69,6 @@ Branch naming:
|
|
|
69
69
|
|
|
70
70
|
## 2. Test First (TDD)
|
|
71
71
|
|
|
72
|
-
Invoke `superpowers:test-driven-development`.
|
|
73
72
|
No production code without a failing test first.
|
|
74
73
|
|
|
75
74
|
Red → Green → Refactor:
|
|
@@ -89,7 +88,6 @@ Match existing style — do not refactor adjacent code.
|
|
|
89
88
|
|
|
90
89
|
## 4. Review (before `/ttt:done`)
|
|
91
90
|
|
|
92
|
-
Invoke `superpowers:verification-before-completion`.
|
|
93
91
|
Run every command and confirm the actual output.
|
|
94
92
|
|
|
95
93
|
\`\`\`bash
|
|
@@ -76,6 +76,21 @@ export function resolveLocalStatus(existingLocalStatus, remoteStatus, transition
|
|
|
76
76
|
remoteLocalStatus === "blocked") {
|
|
77
77
|
return remoteLocalStatus;
|
|
78
78
|
}
|
|
79
|
+
// Remote already advanced past a stale local "pending" cache (e.g. another
|
|
80
|
+
// checkout/session started the task first) — adopt it, otherwise the task
|
|
81
|
+
// stays selectable by `work-on next` even though it's already claimed.
|
|
82
|
+
if (remoteLocalStatus === "in-progress" &&
|
|
83
|
+
existingLocalStatus === "pending") {
|
|
84
|
+
return remoteLocalStatus;
|
|
85
|
+
}
|
|
86
|
+
// "in-review" is never set by a local command (only by a prior sync), so
|
|
87
|
+
// it can't be an unconfirmed optimistic write. If remote has since moved
|
|
88
|
+
// off it (e.g. sent back to in-progress after failing review), that's an
|
|
89
|
+
// explicit remote change — adopt it instead of leaving the task stuck
|
|
90
|
+
// showing "in-review" forever.
|
|
91
|
+
if (existingLocalStatus === "in-review") {
|
|
92
|
+
return remoteLocalStatus;
|
|
93
|
+
}
|
|
79
94
|
return existingLocalStatus;
|
|
80
95
|
}
|
|
81
96
|
/**
|