Repository navigation
Walking skeleton: a fresh run on the happy path - #13
Merged
Merged
Conversation
thirdshift <Issue URL> creates a sibling worktree on issue-<n> from origin/<base>, writes the embedded Factory skills as the thirdshift plugin, runs a headless auto-mode claude session with the fresh prompt and a per-session log, pushes the branch, checks the PR through gh, prints its URL and cleans up. Tests run the compiled binary against real git (bare origin via insteadOf) and fake gh and claude executables. Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Also drop dev-dependencies that duplicate normal dependencies. Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The walking skeleton:
thirdshift <Issue URL>takes an open issue to a PR on the happy path.Tested seam: the
thirdshiftCLI only. Tests run the compiled binary and assert on stdout, exit code, the origin repo, the fake GitHub state, and what the fakeclaudewas asked to do.Evidence
prints_only_the_pr_url_and_exits_zerofails,left: "Hello, world!\n",right: "https://github.com/acme/widgets/pull/1\n"After:
cargo test: 8 passedclaude plugin validate.Unaddressed findings
Standards
String, Issue branch built withformat!): left for Continuation of an existing Issue branch #6/Numbered Issue branches after a merged or closed PR #7, which reshape branch selection and PR handling.issue,base,branchtravelling together): a Run context type is better shaped once Continuation and Repairs add their fields.Command+ status-check shape ingit,github,session: three small call sites with different output handling; not worth a shared helper yet.log_path,prompt::freshreadIssueUrlfields), genericrunnames,Worktree::path()alongsidegit(): minor, kept for readability.current_dir, clock,HOME) created rather than injected: the only seam is the CLI, so they are covered end to end.Spec
.gitand casing, and/issues/<n>parsing and a usage message exist, beyond "basic Origin match only": kept as the spec's definition; Pre-flight checks #4 adds the tests.isDraft.ghstate has no issues or check runs yet: Pre-flight checks #4 and CI watching, CI-fix Repair and the Repair cap #9 add them.Merge Danger
Door: two-way
First code in the repo; nothing depends on it yet. Revert is clean.
Blast Radius: none
Not safe for unattended use until #4 and #5: with no Failed run path, a failed session's unpushed work is deleted in cleanup.
Closes #3
🤖 Generated with Claude Code