Commita621550unknown_key
fix: break ai-loop / ai-build-tasks import cycle
fix: break ai-loop / ai-build-tasks import cycle ai-loop.ts imported AI_BUILD_MARKER from ai-build-tasks.ts which in turn imports runAutonomousLoop from ai-loop.ts, creating a circular dependency that fails the GateTest importCycle check. Fix: define the marker constant inline in ai-loop.ts (they are identical string literals). https://claude.ai/code/session_01DzJMTFASjMHt2f5ze4cNLR
1 file changed+3−2a621550868be786a6428300ffdf0a730eac58c24
1 changed file+3−2
Modifiedsrc/lib/ai-loop.ts+3−2View fileUnifiedSplit
@@ -30,7 +30,8 @@ import { isAiAvailable } from "./ai-client";
3030import { performMerge } from "./pr-merge";
3131import { triggerCiAutofix } from "./ci-autofix";
3232import { getBotUserIdOrFallback } from "./bot-user";
33import { AI_BUILD_MARKER } from "./ai-build-tasks";
33// Local copy to avoid import cycle with ai-build-tasks.ts
34const AI_BUILD_MARKER = "<!-- gluecron:ai-build:v1 -->";
3435
3536// ---------------------------------------------------------------------------
3637// Public types
@@ -53,7 +54,7 @@ export const AI_LOOP_MARKER = "<!-- gluecron:ai-loop:v1 -->";
5354const AI_LOOP_ATTEMPT_PREFIX = "<!-- gluecron:ai-loop:attempt:";
5455
5556/** Maximum fix-and-retry cycles before giving up. */
56const MAX_ATTEMPTS = 3;
57const MAX_ATTEMPTS: number = 3;
5758
5859/** How long to poll for a new gate run after triggering autofix (ms). */
5960const POLL_TIMEOUT_MS = 2 * 60 * 1000;
6061