feat(HAI-114): remove --engine CLI flag and make engine always-on

- Remove --engine flag from dashboard command CLI options
- Make AI engine start automatically with the dashboard
- Update dashboard tests to reflect always-on engine behavior
- Update README.md to remove --engine references and examples
This commit is contained in:
Dustin Byrne
2026-03-26 21:50:37 -04:00
parent 78f799dc8f
commit 323ce09c1b
4 changed files with 16 additions and 34 deletions

View File

@@ -97,7 +97,7 @@ describe("runDashboard — WorktreePool wiring", () => {
});
it("passes a WorktreePool instance to TaskExecutor", async () => {
await runDashboard(0, { engine: true, open: false });
await runDashboard(0, { open: false });
expect(capturedExecutorOpts).toBeDefined();
expect(capturedExecutorOpts!.pool).toBeInstanceOf(WorktreePool);
@@ -107,7 +107,7 @@ describe("runDashboard — WorktreePool wiring", () => {
const { aiMergeTask } = await import("@hai/engine");
const { createServer } = await import("@hai/dashboard");
await runDashboard(0, { engine: false, open: false });
await runDashboard(0, { open: false });
// rawMerge is exposed as the onMerge callback wired into createServer.
const createServerCall = (createServer as ReturnType<typeof vi.fn>).mock.calls[0];
@@ -125,7 +125,7 @@ describe("runDashboard — WorktreePool wiring", () => {
const { aiMergeTask } = await import("@hai/engine");
const { createServer } = await import("@hai/dashboard");
await runDashboard(0, { engine: true, open: false });
await runDashboard(0, { open: false });
// Trigger merger via onMerge
const createServerCall = (createServer as ReturnType<typeof vi.fn>).mock.calls[0];
@@ -170,7 +170,7 @@ describe("runDashboard — auto-merge pause exclusion", () => {
pollIntervalMs: 60_000,
});
await runDashboard(0, { engine: true, open: false });
await runDashboard(0, { open: false });
const { aiMergeTask } = await import("@hai/engine");
@@ -205,7 +205,7 @@ describe("runDashboard — auto-merge pause exclusion", () => {
Promise.resolve({ merged: true }),
);
await runDashboard(0, { engine: true, open: false });
await runDashboard(0, { open: false });
// Give async handlers time to process
await new Promise((r) => setTimeout(r, 50));