Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
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
Claude committed on June 7, 2026Parent: 10ec057
1 file changed+32a621550868be786a6428300ffdf0a730eac58c24
1 changed file+3−2
Modifiedsrc/lib/ai-loop.ts+3−2View fileUnifiedSplit
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
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