create-claude-workspace 2.3.35 → 2.3.37
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/scheduler/loop.mjs +7 -3
- package/package.json +1 -1
package/dist/scheduler/loop.mjs
CHANGED
|
@@ -65,7 +65,8 @@ export async function runIteration(deps) {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
// Pre-flight: commit uncommitted changes on main before any work
|
|
68
|
-
|
|
68
|
+
// Interactive mode: skip recovery — user controls what runs
|
|
69
|
+
if (!state._recoveryDone && state.taskMode !== 'interactive') {
|
|
69
70
|
if (hasUncommittedChanges(projectDir)) {
|
|
70
71
|
logger.warn('Uncommitted changes on main — auto-committing before starting work');
|
|
71
72
|
try {
|
|
@@ -77,9 +78,9 @@ export async function runIteration(deps) {
|
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
// Recover orphaned worktrees — once per scheduler run (first iteration only)
|
|
80
|
-
state._recoveryDone = true;
|
|
81
81
|
await recoverOrphanedWorktrees(projectDir, state, logger, deps);
|
|
82
82
|
}
|
|
83
|
+
state._recoveryDone = true;
|
|
83
84
|
// Load tasks (triple mode: interactive = inbox only, platform = issues, local = TODO.md)
|
|
84
85
|
let tasks;
|
|
85
86
|
if (state.taskMode === 'interactive') {
|
|
@@ -418,7 +419,10 @@ async function runTaskPipeline(task, workerId, agents, deps) {
|
|
|
418
419
|
const skipTo = resumeStep ?? 'triage';
|
|
419
420
|
const stepOrder = ['triage', 'plan', 'implement', 'test', 'review', 'rework', 'commit', 'pr-create', 'pr-watch', 'merge'];
|
|
420
421
|
const skipToIndex = stepOrder.indexOf(skipTo);
|
|
421
|
-
|
|
422
|
+
// Interactive mode: lean pipeline — plan → implement → commit (skip triage, test, review)
|
|
423
|
+
const interactiveSkip = new Set(['triage', 'test', 'review', 'rework', 're-review']);
|
|
424
|
+
const shouldSkip = (step) => stepOrder.indexOf(step) < skipToIndex ||
|
|
425
|
+
(state.taskMode === 'interactive' && interactiveSkip.has(step));
|
|
422
426
|
try {
|
|
423
427
|
// STEP 0: Triage (platform issues only — features go through PO, bugs go to IT analyst)
|
|
424
428
|
if (!shouldSkip('triage')) {
|