diff --git a/src/resources/extensions/gsd/auto-dispatch.ts b/src/resources/extensions/gsd/auto-dispatch.ts index d09fccebb..2e27f77d8 100644 --- a/src/resources/extensions/gsd/auto-dispatch.ts +++ b/src/resources/extensions/gsd/auto-dispatch.ts @@ -776,11 +776,7 @@ export const DISPATCH_RULES: DispatchRule[] = [ }; } if (artifactCheck === "unknown") { - return { - action: "stop", - reason: `Cannot verify implementation artifacts for milestone ${mid}: git check was inconclusive. Resolve git issues and retry.`, - level: "error", - }; + logWarning("dispatch", `Implementation artifact check inconclusive for ${mid} — proceeding (git context unavailable)`); } // Verification class compliance: if operational verification was planned, diff --git a/src/resources/extensions/gsd/auto-recovery.ts b/src/resources/extensions/gsd/auto-recovery.ts index d5cf6f040..eec761bf0 100644 --- a/src/resources/extensions/gsd/auto-recovery.ts +++ b/src/resources/extensions/gsd/auto-recovery.ts @@ -393,8 +393,7 @@ export function verifyExpectedArtifact( // A milestone with only .gsd/ plan files and zero implementation code is // not genuinely complete — the LLM wrote plan files but skipped actual work. if (unitType === "complete-milestone") { - const artifactResult = hasImplementationArtifacts(base); - if (artifactResult === "absent" || artifactResult === "unknown") return false; + if (hasImplementationArtifacts(base) === "absent") return false; } return true;