fix(gsd): revert unknown artifact check to warn-and-proceed
Blocking on "unknown" from hasImplementationArtifacts broke real-world auto-mode in projects without clean git merge-bases (single-branch, fresh repos, detached HEAD). The auto-loop silently stopped at completing-milestone with no visible error. Reverted to warn-and-proceed for "unknown" — only "absent" (confirmed no implementation files) blocks completion. This matches the original fail-open behavior for inconclusive git checks.
This commit is contained in:
parent
01f5557520
commit
5cfc865040
2 changed files with 2 additions and 7 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue