When a manifest's app source uses an ssh:// URL, caution verify could hang waiting for an interactive SSH prompt (host key TOFU or credentials). Three fixes:
git_url_to_archive_urlsnow parsesssh://scheme URLs, so archive download is attempted before falling back to git clonegit_commandsetsGIT_TERMINAL_PROMPT=0,GIT_ASKPASS=true, andGIT_SSH_COMMANDwithBatchMode=yesto prevent SSH from prompting via/dev/ttyStrictHostKeyChecking=accept-new— explicit TOFU: unknown hosts are accepted on first contact, changed keys are rejected (MITM protection); existingGIT_SSH_COMMANDfrom the caller's env is preserved and extended rather than replaced
When a manifest's app source uses an `ssh://` URL, `caution verify` could hang waiting for an interactive SSH prompt (host key TOFU or credentials). Three fixes:
- `git_url_to_archive_urls` now parses `ssh://` scheme URLs, so archive download is attempted before falling back to git clone
- `git_command` sets `GIT_TERMINAL_PROMPT=0`, `GIT_ASKPASS=true`, and `GIT_SSH_COMMAND` with `BatchMode=yes` to prevent SSH from prompting via `/dev/tty`
- `StrictHostKeyChecking=accept-new` — explicit TOFU: unknown hosts are accepted on first contact, changed keys are rejected (MITM protection); existing `GIT_SSH_COMMAND` from the caller's env is preserved and extended rather than replaced