You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Every pre-flight check from the spec, all run before any worktree, temp directory, or session is created, each failing with a clear message and non-zero exit:
Missing argument or not a GitHub issue URL → usage error.
Origin match on the raw configured origin URL (not the insteadOf-expanded one): HTTPS and SSH, optional .git, any casing all match; a different repo is a mismatch error; non-github.com hosts and non-/issues/<n> URLs are rejected.
The issue is closed → error.
Detached HEAD → error.
The Base branch doesn't exist on origin → error.
The local Base branch is ahead of origin → error.
Uncommitted changes in the launch directory are allowed and left out of the run.
Acceptance criteria
Usage error for a missing or malformed argument
Origin match accepts https://github.com/O/R.git, https://github.com/o/r, and git@github.com:o/r.git for issue https://github.com/o/r/issues/1; rejects a different owner or repo with a mismatch error
Non-github.com and non-issue URLs rejected
Closed issue rejected
Detached HEAD, Base branch missing on origin, and local Base branch ahead of origin each rejected
Uncommitted changes in the launch directory don't block a run and don't appear in the Issue branch
For every rejection: no worktree, no temp directory, fake claude never invoked
Finding from the first real run of the walking skeleton (vacation#3 → JacobStephens2/vacation#13):
The runner's Linux user had no global user.name or user.email. The agent's first git commit in the worktree failed with Author identity unknown. It worked around this by copying the author of the last commit in git log and committing with git -c user.name=… -c user.email=…. That happened to be the right person here, but in a shared repo the agent would have committed as whoever pushed last.
The spec lists a git identity as a prerequisite ("git with user.name and user.email"), but nothing checks it.
Suggested addition to this ticket: a pre-flight check that git config user.name and git config user.email both resolve in the launch repo (so global or repo config both count). If either is missing, fail with a clear message before any worktree, temp directory or session is created.
Missing user.name or user.email → error naming the missing key; no worktree, no temp directory, fake claude never invoked
Activity
JacobStephens2 commentedon Sep 25, 2026
Finding from the first real run of the walking skeleton (
vacation#3→ JacobStephens2/vacation#13):The runner's Linux user had no global
user.nameoruser.email. The agent's firstgit commitin the worktree failed withAuthor identity unknown. It worked around this by copying the author of the last commit ingit logand committing withgit -c user.name=… -c user.email=…. That happened to be the right person here, but in a shared repo the agent would have committed as whoever pushed last.The spec lists a git identity as a prerequisite ("git with
user.nameanduser.email"), but nothing checks it.Suggested addition to this ticket: a pre-flight check that
git config user.nameandgit config user.emailboth resolve in the launch repo (so global or repo config both count). If either is missing, fail with a clear message before any worktree, temp directory or session is created.user.nameoruser.email→ error naming the missing key; no worktree, no temp directory, fakeclaudenever invokedMerge origin/main into issue-6