millhouse 0.3.9 → 1.0.1

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 (71) hide show
  1. package/README.md +88 -161
  2. package/dist/analysis/issue-analyzer.d.ts +6 -1
  3. package/dist/analysis/issue-analyzer.d.ts.map +1 -1
  4. package/dist/analysis/issue-analyzer.js +45 -13
  5. package/dist/analysis/issue-analyzer.js.map +1 -1
  6. package/dist/analysis/plan-parser.d.ts +7 -1
  7. package/dist/analysis/plan-parser.d.ts.map +1 -1
  8. package/dist/analysis/plan-parser.js +81 -22
  9. package/dist/analysis/plan-parser.js.map +1 -1
  10. package/dist/cli/cleanup.d.ts +1 -1
  11. package/dist/cli/cleanup.d.ts.map +1 -1
  12. package/dist/cli/cleanup.js +24 -28
  13. package/dist/cli/cleanup.js.map +1 -1
  14. package/dist/cli/commands/init.d.ts +6 -0
  15. package/dist/cli/commands/init.d.ts.map +1 -0
  16. package/dist/cli/commands/init.js +156 -0
  17. package/dist/cli/commands/init.js.map +1 -0
  18. package/dist/cli/commands/list.d.ts +6 -0
  19. package/dist/cli/commands/list.d.ts.map +1 -0
  20. package/dist/cli/commands/list.js +111 -0
  21. package/dist/cli/commands/list.js.map +1 -0
  22. package/dist/cli/commands/load.d.ts +2 -0
  23. package/dist/cli/commands/load.d.ts.map +1 -0
  24. package/dist/cli/commands/load.js +111 -0
  25. package/dist/cli/commands/load.js.map +1 -0
  26. package/dist/cli/commands/resume.d.ts.map +1 -1
  27. package/dist/cli/commands/resume.js +5 -28
  28. package/dist/cli/commands/resume.js.map +1 -1
  29. package/dist/cli/commands/run.d.ts +2 -3
  30. package/dist/cli/commands/run.d.ts.map +1 -1
  31. package/dist/cli/commands/run.js +44 -237
  32. package/dist/cli/commands/run.js.map +1 -1
  33. package/dist/cli/commands/save.d.ts +2 -0
  34. package/dist/cli/commands/save.d.ts.map +1 -0
  35. package/dist/cli/commands/save.js +220 -0
  36. package/dist/cli/commands/save.js.map +1 -0
  37. package/dist/cli/commands/setup.js +3 -3
  38. package/dist/cli/progress-display.d.ts +7 -14
  39. package/dist/cli/progress-display.d.ts.map +1 -1
  40. package/dist/cli/progress-display.js +94 -102
  41. package/dist/cli/progress-display.js.map +1 -1
  42. package/dist/core/orchestrator.d.ts +11 -12
  43. package/dist/core/orchestrator.d.ts.map +1 -1
  44. package/dist/core/orchestrator.js +150 -113
  45. package/dist/core/orchestrator.js.map +1 -1
  46. package/dist/core/scheduler.d.ts +6 -1
  47. package/dist/core/scheduler.d.ts.map +1 -1
  48. package/dist/core/scheduler.js +48 -9
  49. package/dist/core/scheduler.js.map +1 -1
  50. package/dist/execution/claude-runner.d.ts +2 -2
  51. package/dist/execution/claude-runner.d.ts.map +1 -1
  52. package/dist/execution/claude-runner.js +1 -1
  53. package/dist/execution/claude-runner.js.map +1 -1
  54. package/dist/index.js +30 -29
  55. package/dist/index.js.map +1 -1
  56. package/dist/storage/json-store.d.ts +1 -0
  57. package/dist/storage/json-store.d.ts.map +1 -1
  58. package/dist/storage/json-store.js +36 -0
  59. package/dist/storage/json-store.js.map +1 -1
  60. package/dist/storage/worklist-store.d.ts +19 -0
  61. package/dist/storage/worklist-store.d.ts.map +1 -0
  62. package/dist/storage/worklist-store.js +131 -0
  63. package/dist/storage/worklist-store.js.map +1 -0
  64. package/dist/types.d.ts +38 -70
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/types.js +3 -24
  67. package/dist/types.js.map +1 -1
  68. package/package.json +3 -5
  69. package/prompts/issue-analysis.prompt.md +56 -22
  70. package/prompts/plan-analysis.prompt.md +48 -10
  71. package/commands/millhouse.md +0 -223
@@ -1,7 +1,6 @@
1
- import type { Config, GitHubIssue, AnalyzedIssue, RunState } from '../types.js';
1
+ import type { GitHubIssue, AnalyzedIssue, RunState } from '../types.js';
2
2
  import type { JsonStore } from '../storage/json-store.js';
3
3
  import type { GitHubClient } from '../github/client.js';
4
- import type { LabelManager } from '../github/label-manager.js';
5
4
  import type { IssueDiscoverer } from '../github/issue-discoverer.js';
6
5
  import type { IssueAnalyzer } from '../analysis/issue-analyzer.js';
7
6
  import type { GraphBuilder } from '../analysis/graph-builder.js';
@@ -10,29 +9,23 @@ import type { ClaudeRunner } from '../execution/claude-runner.js';
10
9
  import type { Scheduler } from './scheduler.js';
11
10
  import type { ProgressDisplay } from '../cli/progress-display.js';
12
11
  interface OrchestratorOptions {
13
- config: Config;
14
12
  store: JsonStore;
15
13
  graphBuilder: GraphBuilder;
16
14
  worktreeManager: WorktreeManager;
17
15
  claudeRunner: ClaudeRunner;
18
16
  scheduler: Scheduler;
19
17
  githubClient?: GitHubClient;
20
- labelManager?: LabelManager;
21
18
  issueDiscoverer?: IssueDiscoverer;
22
19
  issueAnalyzer?: IssueAnalyzer;
23
20
  progressDisplay?: ProgressDisplay;
24
- scanProject?: boolean;
25
- dangerouslySkipPermissions?: boolean;
26
21
  }
27
22
  export declare class Orchestrator {
28
- private config;
29
23
  private store;
30
24
  private graphBuilder;
31
25
  private worktreeManager;
32
26
  private claudeRunner;
33
27
  private scheduler;
34
28
  private githubClient?;
35
- private labelManager?;
36
29
  private issueDiscoverer?;
37
30
  private issueAnalyzer?;
38
31
  private progressDisplay?;
@@ -40,8 +33,6 @@ export declare class Orchestrator {
40
33
  private graph;
41
34
  private isShuttingDown;
42
35
  private originalBranch;
43
- private shouldScanProject;
44
- private dangerouslySkipPermissions;
45
36
  constructor(options: OrchestratorOptions);
46
37
  private setupShutdownHandlers;
47
38
  /**
@@ -54,6 +45,12 @@ export declare class Orchestrator {
54
45
  * Only available in GitHub mode.
55
46
  */
56
47
  analyzeIssues(issues: GitHubIssue[]): Promise<AnalyzedIssue[]>;
48
+ /**
49
+ * Check that the working directory is clean before starting a run.
50
+ * Only allows files that are gitignored - all other changes must be committed or stashed.
51
+ * Special case: if only CLAUDE.md is untracked, auto-commit it.
52
+ */
53
+ private checkWorkingDirectoryClean;
57
54
  /**
58
55
  * Run the full orchestration pipeline.
59
56
  */
@@ -75,9 +72,11 @@ export declare class Orchestrator {
75
72
  */
76
73
  private updateTaskStatus;
77
74
  /**
78
- * Create the final pull request.
75
+ * Handle issues marked as noWorkNeeded (index/meta issues).
76
+ * Creates an empty commit to close the issue when merged.
77
+ * Uses a worktree to avoid polluting the main working directory.
79
78
  */
80
- private createFinalPR;
79
+ private handleNoWorkNeededIssue;
81
80
  }
82
81
  export {};
83
82
  //# sourceMappingURL=orchestrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAQ,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IAErB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,0BAA0B,CAAU;gBAEhC,OAAO,EAAE,mBAAmB;IAqBxC,OAAO,CAAC,qBAAqB;IA2B7B;;;OAGG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOxF;;;OAGG;IACG,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAOpE;;OAEG;IACG,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkG7D;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsCnD;;OAEG;YACW,gBAAgB;IAyK9B;;OAEG;YACW,oBAAoB;IAqElC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;YACW,aAAa;CAuC5B"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAQ,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAmB,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IAErB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAuB;gBAEjC,OAAO,EAAE,mBAAmB;IAgBxC,OAAO,CAAC,qBAAqB;IA2B7B;;;OAGG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOxF;;;OAGG;IACG,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQpE;;;;OAIG;YACW,0BAA0B;IAyExC;;OAEG;IACG,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2E7D;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyCnD;;OAEG;YACW,gBAAgB;IA4J9B;;OAEG;YACW,oBAAoB;IAsDlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;;OAIG;YACW,uBAAuB;CA8DtC"}
@@ -1,17 +1,14 @@
1
1
  import chalk from 'chalk';
2
2
  import { promises as fs } from 'node:fs';
3
3
  import path from 'node:path';
4
- import { scanProject } from '../execution/project-scanner.js';
5
4
  export class Orchestrator {
6
- config;
7
5
  store;
8
6
  graphBuilder;
9
7
  worktreeManager;
10
8
  claudeRunner;
11
9
  scheduler;
12
- // GitHub-specific (optional for local mode)
10
+ // GitHub-specific (optional for load command)
13
11
  githubClient;
14
- labelManager;
15
12
  issueDiscoverer;
16
13
  issueAnalyzer;
17
14
  progressDisplay;
@@ -19,10 +16,7 @@ export class Orchestrator {
19
16
  graph = null;
20
17
  isShuttingDown = false;
21
18
  originalBranch = null;
22
- shouldScanProject;
23
- dangerouslySkipPermissions;
24
19
  constructor(options) {
25
- this.config = options.config;
26
20
  this.store = options.store;
27
21
  this.graphBuilder = options.graphBuilder;
28
22
  this.worktreeManager = options.worktreeManager;
@@ -30,13 +24,9 @@ export class Orchestrator {
30
24
  this.scheduler = options.scheduler;
31
25
  // GitHub-specific
32
26
  this.githubClient = options.githubClient;
33
- this.labelManager = options.labelManager;
34
27
  this.issueDiscoverer = options.issueDiscoverer;
35
28
  this.issueAnalyzer = options.issueAnalyzer;
36
29
  this.progressDisplay = options.progressDisplay;
37
- // Project scanning
38
- this.shouldScanProject = options.scanProject ?? true;
39
- this.dangerouslySkipPermissions = options.dangerouslySkipPermissions ?? false;
40
30
  // Handle graceful shutdown
41
31
  this.setupShutdownHandlers();
42
32
  }
@@ -80,43 +70,101 @@ export class Orchestrator {
80
70
  if (!this.issueAnalyzer) {
81
71
  throw new Error('analyzeIssues is only available in GitHub mode');
82
72
  }
83
- return this.issueAnalyzer.analyzeIssues(issues);
73
+ const result = await this.issueAnalyzer.analyzeIssues(issues);
74
+ return result.issues;
84
75
  }
85
76
  /**
86
- * Run the full orchestration pipeline.
77
+ * Check that the working directory is clean before starting a run.
78
+ * Only allows files that are gitignored - all other changes must be committed or stashed.
79
+ * Special case: if only CLAUDE.md is untracked, auto-commit it.
87
80
  */
88
- async run(analyzedIssues) {
89
- // Save original branch to restore later
90
- this.originalBranch = await this.worktreeManager.getCurrentBranch();
91
- // Check for existing CLAUDE.md or run /init
92
- if (this.shouldScanProject) {
93
- const claudeMdPath = path.join(process.cwd(), 'CLAUDE.md');
81
+ async checkWorkingDirectoryClean() {
82
+ const { execSync } = await import('node:child_process');
83
+ const isGitIgnored = (filePath) => {
94
84
  try {
95
- await fs.access(claudeMdPath);
96
- // CLAUDE.md exists - workers will pick it up automatically from worktree
97
- console.log(chalk.blue('\n📂 Using existing CLAUDE.md for project context'));
85
+ // git check-ignore exits 0 if ignored, 1 if not ignored
86
+ execSync(`git check-ignore -q "${filePath}"`, {
87
+ cwd: process.cwd(),
88
+ stdio: 'pipe',
89
+ });
90
+ return true;
98
91
  }
99
92
  catch {
100
- // No CLAUDE.md - run /init to create one
101
- console.log(chalk.blue('\n📂 No CLAUDE.md found, running /init...'));
102
- const scanResult = await scanProject(process.cwd(), {
103
- dangerouslySkipPermissions: this.dangerouslySkipPermissions,
104
- onLog: (message) => {
105
- console.log(chalk.gray(` ${message}`));
106
- },
93
+ return false;
94
+ }
95
+ };
96
+ try {
97
+ const status = execSync('git status --porcelain', {
98
+ cwd: process.cwd(),
99
+ encoding: 'utf-8',
100
+ }).trim();
101
+ if (status) {
102
+ const lines = status.split('\n');
103
+ // Filter out gitignored files
104
+ const unexpectedLines = lines.filter(line => {
105
+ // Extract the file path (status is first 2 chars, then space, then path)
106
+ const filePath = line.slice(3);
107
+ return !isGitIgnored(filePath);
107
108
  });
108
- if (scanResult.success) {
109
- console.log(chalk.green(' ✓ CLAUDE.md created'));
110
- }
111
- else {
112
- console.log(chalk.yellow(` ⚠ /init failed: ${scanResult.error}`));
113
- // Continue without - it's not critical
109
+ if (unexpectedLines.length > 0) {
110
+ // Special case: if only CLAUDE.md is untracked, auto-commit it
111
+ if (unexpectedLines.length === 1 && unexpectedLines[0] === '?? CLAUDE.md') {
112
+ console.log(chalk.blue(' Auto-committing CLAUDE.md...'));
113
+ execSync('git add CLAUDE.md && git commit -m "chore: add CLAUDE.md"', {
114
+ cwd: process.cwd(),
115
+ stdio: 'pipe',
116
+ });
117
+ return;
118
+ }
119
+ const untracked = unexpectedLines.filter(l => l.startsWith('??'));
120
+ const modified = unexpectedLines.filter(l => !l.startsWith('??'));
121
+ const issues = [];
122
+ if (modified.length > 0) {
123
+ issues.push(`${modified.length} uncommitted change(s)`);
124
+ }
125
+ if (untracked.length > 0) {
126
+ issues.push(`${untracked.length} untracked file(s)`);
127
+ }
128
+ console.log(chalk.yellow(`\n⚠ Working directory is not clean: ${issues.join(', ')}`));
129
+ console.log(chalk.gray(' These files may cause merge conflicts at the end of the run:'));
130
+ for (const line of unexpectedLines.slice(0, 10)) {
131
+ console.log(chalk.gray(` ${line}`));
132
+ }
133
+ if (unexpectedLines.length > 10) {
134
+ console.log(chalk.gray(` ... and ${unexpectedLines.length - 10} more`));
135
+ }
136
+ console.log(chalk.gray('\n Commit or stash these changes before running.\n'));
137
+ throw new Error('Working directory is not clean. Commit or stash changes before running.');
114
138
  }
115
139
  }
116
140
  }
141
+ catch (error) {
142
+ if (error instanceof Error && error.message.includes('Working directory is not clean')) {
143
+ throw error;
144
+ }
145
+ // If git status fails for some other reason, continue
146
+ }
147
+ }
148
+ /**
149
+ * Run the full orchestration pipeline.
150
+ */
151
+ async run(analyzedIssues) {
152
+ // Save original branch to restore later
153
+ this.originalBranch = await this.worktreeManager.getCurrentBranch();
154
+ // Check working directory is clean (allowing expected files)
155
+ await this.checkWorkingDirectoryClean();
156
+ // Check for CLAUDE.md
157
+ const claudeMdPath = path.join(process.cwd(), 'CLAUDE.md');
158
+ try {
159
+ await fs.access(claudeMdPath);
160
+ }
161
+ catch {
162
+ console.log(chalk.yellow('\n⚠ No CLAUDE.md found.'));
163
+ console.log(chalk.gray(' CLAUDE.md is highly recommended for best results.'));
164
+ console.log(chalk.gray(' Run /init inside Claude Code to create it.'));
165
+ }
117
166
  // Create run state
118
167
  const runId = this.store.generateRunId();
119
- const baseBranch = this.config.execution.baseBranch;
120
168
  // Build dependency graph
121
169
  this.graph = this.graphBuilder.build(analyzedIssues);
122
170
  // Check for cycles
@@ -124,9 +172,9 @@ export class Orchestrator {
124
172
  const cycles = this.graph.getCycles();
125
173
  throw new Error(`Circular dependencies detected: ${cycles.map(c => c.map(n => `#${n}`).join(' → ')).join('; ')}`);
126
174
  }
127
- // Create run branch
175
+ // Create run branch from current branch
128
176
  console.log(chalk.blue(` Creating run branch: millhouse/run-${runId}`));
129
- const runBranch = await this.worktreeManager.createRunBranch(runId, baseBranch);
177
+ const runBranch = await this.worktreeManager.createRunBranch(runId, this.originalBranch);
130
178
  // Initialize run state
131
179
  this.runState = {
132
180
  id: runId,
@@ -134,7 +182,7 @@ export class Orchestrator {
134
182
  updatedAt: new Date().toISOString(),
135
183
  status: 'running',
136
184
  mode: this.githubClient ? 'github' : 'plan',
137
- baseBranch,
185
+ baseBranch: this.originalBranch,
138
186
  runBranch,
139
187
  issues: analyzedIssues,
140
188
  tasks: analyzedIssues.map(issue => ({
@@ -145,11 +193,6 @@ export class Orchestrator {
145
193
  failedIssues: [],
146
194
  };
147
195
  await this.store.saveRun(this.runState);
148
- // GitHub-specific: manage labels
149
- if (this.labelManager) {
150
- await this.labelManager.ensureLabelsExist();
151
- await this.labelManager.setStatusBatch(analyzedIssues.map(i => i.number), 'queued');
152
- }
153
196
  // Initialize progress display
154
197
  if (this.progressDisplay) {
155
198
  this.progressDisplay.initialize(analyzedIssues);
@@ -175,6 +218,8 @@ export class Orchestrator {
175
218
  async resume(runState) {
176
219
  // Save original branch to restore later
177
220
  this.originalBranch = await this.worktreeManager.getCurrentBranch();
221
+ // Check working directory is clean (allowing expected files)
222
+ await this.checkWorkingDirectoryClean();
178
223
  this.runState = runState;
179
224
  // Rebuild graph from issues
180
225
  this.graph = this.graphBuilder.build(runState.issues);
@@ -221,6 +266,10 @@ export class Orchestrator {
221
266
  if (!issue) {
222
267
  return { success: false, commits: [], error: 'Issue not found' };
223
268
  }
269
+ // Handle noWorkNeeded issues - just create a closing commit
270
+ if (issue.noWorkNeeded) {
271
+ return await this.handleNoWorkNeededIssue(issue, runId, runBranch);
272
+ }
224
273
  try {
225
274
  // Create worktree
226
275
  if (this.progressDisplay) {
@@ -306,35 +355,16 @@ export class Orchestrator {
306
355
  this.runState.completedIssues = completed;
307
356
  this.runState.failedIssues = failed;
308
357
  this.runState.updatedAt = new Date().toISOString();
309
- // Create PR if all completed (GitHub mode only)
358
+ // Merge run branch into current branch if any items completed
310
359
  if (failed.length === 0 && completed.length > 0) {
311
- if (this.githubClient) {
312
- try {
313
- // Push run branch
314
- console.log(chalk.blue(' Pushing changes...'));
315
- await this.worktreeManager.pushRunBranch(runBranch);
316
- // Create PR
317
- console.log(chalk.blue(' Creating pull request...'));
318
- const prUrl = await this.createFinalPR(runId, runBranch, issues, completed);
319
- this.runState.pullRequestUrl = prUrl;
320
- this.runState.status = 'completed';
321
- }
322
- catch (error) {
323
- this.runState.error = error instanceof Error ? error.message : String(error);
324
- this.runState.status = 'failed';
325
- }
360
+ try {
361
+ console.log(chalk.blue(' Merging changes into current branch...'));
362
+ await this.worktreeManager.mergeRunBranch(runBranch, this.originalBranch);
363
+ this.runState.status = 'completed';
326
364
  }
327
- else {
328
- // Local mode - merge run branch into original branch
329
- try {
330
- console.log(chalk.blue(' Merging changes into current branch...'));
331
- await this.worktreeManager.mergeRunBranch(runBranch, this.originalBranch);
332
- this.runState.status = 'completed';
333
- }
334
- catch (error) {
335
- this.runState.error = error instanceof Error ? error.message : String(error);
336
- this.runState.status = 'failed';
337
- }
365
+ catch (error) {
366
+ this.runState.error = error instanceof Error ? error.message : String(error);
367
+ this.runState.status = 'failed';
338
368
  }
339
369
  }
340
370
  else if (failed.length > 0) {
@@ -361,9 +391,6 @@ export class Orchestrator {
361
391
  else {
362
392
  console.log(chalk.cyan(` ▶ Started: #${event.issueNumber}`));
363
393
  }
364
- if (this.labelManager) {
365
- await this.labelManager.markInProgress(event.issueNumber);
366
- }
367
394
  this.updateTaskStatus(event.issueNumber, 'in-progress');
368
395
  break;
369
396
  case 'task-completed':
@@ -373,9 +400,6 @@ export class Orchestrator {
373
400
  else {
374
401
  console.log(chalk.green(` ✓ Completed: #${event.issueNumber}`));
375
402
  }
376
- if (this.labelManager) {
377
- await this.labelManager.markDone(event.issueNumber);
378
- }
379
403
  this.updateTaskStatus(event.issueNumber, 'completed', event.commits);
380
404
  break;
381
405
  case 'task-failed':
@@ -385,12 +409,6 @@ export class Orchestrator {
385
409
  else {
386
410
  console.log(chalk.red(` ✗ Failed: #${event.issueNumber} - ${event.error}`));
387
411
  }
388
- if (this.labelManager) {
389
- await this.labelManager.markFailed(event.issueNumber);
390
- }
391
- if (this.githubClient) {
392
- await this.githubClient.addComment(event.issueNumber, `❌ Millhouse failed to implement this issue:\n\n\`\`\`\n${event.error}\n\`\`\``);
393
- }
394
412
  this.updateTaskStatus(event.issueNumber, 'failed', undefined, event.error);
395
413
  break;
396
414
  case 'tasks-unblocked':
@@ -435,37 +453,56 @@ export class Orchestrator {
435
453
  }
436
454
  }
437
455
  /**
438
- * Create the final pull request.
456
+ * Handle issues marked as noWorkNeeded (index/meta issues).
457
+ * Creates an empty commit to close the issue when merged.
458
+ * Uses a worktree to avoid polluting the main working directory.
439
459
  */
440
- async createFinalPR(runId, runBranch, issues, completedIssues) {
441
- const completedSet = new Set(completedIssues);
442
- const completed = issues.filter(i => completedSet.has(i.number));
443
- const title = completed.length === 1
444
- ? `Fix #${completed[0].number}: ${completed[0].title}`
445
- : `Millhouse: Implement ${completed.length} issues`;
446
- const issueList = completed
447
- .map(i => `- Fixes #${i.number}: ${i.title}`)
448
- .join('\n');
449
- const body = `## Summary
450
-
451
- This PR implements the following issues:
452
-
453
- ${issueList}
454
-
455
- ## Details
456
-
457
- Run ID: \`${runId}\`
458
- Branch: \`${runBranch}\`
459
-
460
- ---
461
- 🤖 Generated by [Millhouse](https://github.com/dave/millhouse)`;
462
- return this.githubClient.createPullRequest({
463
- title,
464
- body,
465
- head: runBranch,
466
- base: this.config.execution.baseBranch,
467
- draft: this.config.pullRequests.createAsDraft,
468
- });
460
+ async handleNoWorkNeededIssue(issue, runId, runBranch) {
461
+ const issueNumber = issue.number;
462
+ const githubIssueNumber = issue.githubIssueNumber || issueNumber;
463
+ if (this.progressDisplay) {
464
+ this.progressDisplay.logDetailed(issueNumber, 'No work needed - creating closing commit...');
465
+ }
466
+ else {
467
+ console.log(chalk.blue(` #${issueNumber}: No work needed - creating closing commit...`));
468
+ }
469
+ try {
470
+ // Create worktree on its own branch (forked from run branch)
471
+ const worktree = await this.worktreeManager.createWorktree(runId, issueNumber, runBranch);
472
+ await this.store.saveWorktree(worktree);
473
+ // Create an empty commit with the closing message
474
+ const commitMessage = `chore: close #${githubIssueNumber} (no work needed)\n\nThis is a tracking/index issue that requires no code changes.\n\nFixes #${githubIssueNumber}`;
475
+ const { execSync } = await import('node:child_process');
476
+ execSync(`git commit --allow-empty -m "${commitMessage.replace(/"/g, '\\"')}"`, {
477
+ cwd: worktree.path,
478
+ stdio: 'pipe',
479
+ });
480
+ // Get the commit hash
481
+ const commitHash = execSync('git rev-parse HEAD', {
482
+ cwd: worktree.path,
483
+ encoding: 'utf-8',
484
+ }).trim();
485
+ // Update the run branch to include this commit using git update-ref
486
+ // This avoids checking out in the main working directory
487
+ execSync(`git fetch "${worktree.path}" HEAD:${runBranch}`, {
488
+ cwd: process.cwd(),
489
+ stdio: 'pipe',
490
+ });
491
+ // Write MILLHOUSE_MERGE_COMMIT for consistency
492
+ const mergeCommitPath = path.join(worktree.path, 'MILLHOUSE_MERGE_COMMIT');
493
+ await fs.writeFile(mergeCommitPath, commitHash);
494
+ // Clean up
495
+ await this.worktreeManager.removeWorktree(worktree.path, worktree.branch);
496
+ await this.store.removeWorktree(worktree.path);
497
+ return { success: true, commits: [commitHash] };
498
+ }
499
+ catch (error) {
500
+ return {
501
+ success: false,
502
+ commits: [],
503
+ error: error instanceof Error ? error.message : String(error),
504
+ };
505
+ }
469
506
  }
470
507
  }
471
508
  //# sourceMappingURL=orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare class Scheduler extends EventEmitter {
18
18
  private failed;
19
19
  private running;
20
20
  private blocked;
21
+ private aborted;
21
22
  constructor(options: SchedulerOptions);
22
23
  /**
23
24
  * Initialize the scheduler with a dependency graph.
@@ -27,12 +28,16 @@ export declare class Scheduler extends EventEmitter {
27
28
  * Get all tasks that are ready to run (dependencies satisfied, not running).
28
29
  */
29
30
  getReadyTasks(): number[];
31
+ /**
32
+ * Check if a task is blocked by a failed dependency (directly or transitively).
33
+ */
34
+ private isBlockedByFailure;
30
35
  /**
31
36
  * Get the number of available slots for new tasks.
32
37
  */
33
38
  getAvailableSlots(): number;
34
39
  /**
35
- * Check if all tasks are complete (or failed if continueOnError is false).
40
+ * Check if all tasks are complete (or blocked by failures, or aborted).
36
41
  */
37
42
  isComplete(): boolean;
38
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/core/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAOD,KAAK,YAAY,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE9G,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAE1C,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAA0B;gBAE7B,OAAO,EAAE,gBAAgB;IAMrC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,GAAE,MAAM,EAAO,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,IAAI;IAqBzF;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAqBzB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,UAAU,IAAI,OAAO;IA2BrB;;;OAGG;IACG,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgCrF;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;YACW,UAAU;IAaxB;;OAEG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAsB1C;;OAEG;IACH,eAAe,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;CAe9C"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/core/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAOD,KAAK,YAAY,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE9G,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAE1C,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAkB;gBAErB,OAAO,EAAE,gBAAgB;IAMrC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,GAAE,MAAM,EAAO,EAAE,MAAM,GAAE,MAAM,EAAO,GAAG,IAAI;IAsBzF;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAsBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,UAAU,IAAI,OAAO;IA+BrB;;;OAGG;IACG,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgCrF;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;YACW,UAAU;IAaxB;;OAEG;IACH,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAyB1C;;OAEG;IACH,eAAe,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;CAe9C"}