assertProvisionedCheckout function
Verifies that workspaceDir is a Git checkout after workspace provisioning.
SourceControl.provisionWorkspace is the engine-facing write for workspace
materialization (ADR-0000 A51.2); this Track A guard validates that write's
result before an effect can spawn into a sourceless directory (ADR-0009 D3,
ADR-0006 D3, ADR-0008 D5/D6).
Implementation
void assertProvisionedCheckout(String workspaceDir) {
final gitEntry = FileSystemEntity.typeSync(
'$workspaceDir/.git',
followLinks: false,
);
// A `.git` FILE is a linked worktree, a DIRECTORY a standalone checkout, and
// a LINK a symlinked gitdir — all legitimate. Only ABSENCE is sourceless.
if (gitEntry != FileSystemEntityType.notFound) return;
throw StateError(
'sourceless-workspace: provisionWorkspace returned without a checkout '
'at $workspaceDir (.git missing)',
);
}