Repository navigation
fix(v15.97.0): ship pushes with the working git login, branches off main, always files the ticket (OSS-96) - #292
Merged
Conversation
…ain, always files the ticket (OSS-96)
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.
What this does
/shipnow pushes with whatever GitHub login actually works on the machine, never pushes straight tomain, and always files the Linear ticket in the repo's own team and project. It fixes a real session on mesinyer that went hunting for 1Password, kept retrying SSH with no key loaded, and merged a fix tomainwith no ticket and no PR.Fixes OSS-96.
Summary
Review order: start with
src/lib/git-transport.ts, thensrc/hooks/safety-net.ts, thenskills/ship/SKILL.md. The rest is docs, evals and manifests.Git push:startup line (src/lib/git-transport.ts,src/scripts/git-transport.ts,src/scripts/session-start.ts): says SSH when an agent has a key loaded. Otherwise it gives the exact gh-login push command, a per-command-coverride with no saved password, plain HTTPS remote or globalinsteadOf. With neither login it says "not logged in". The line covers every push in the session, not only/ship. 1Password is named only when it is installed.checkMainPush): a push tomain/master,--all,--mirror, or a bare push while onmaingoes through the permission prompt. Branch deletion and force pushes are left to the org rulesets, which already block them on every repo./ship: the preflight reads theGit push:andLinear:lines. It stops when Linear is not connected, branches offmainas<type>/<ID>-<slug>before committing, and pushes with the detected command. The Linear step resolves the team from~/.claude/linear-teams.json, then the startupLinear:line, then the shared map, and never invents a placeholder ID.[Unreleased]worktree-cleanup note already on main.Test Plan
bun run typecheck,lint,lint:skills,lint:links,audit:hooks: all clean.bun run test: 3180 pass, 8 fail. All 8 also fail on this machine without the change: npm-installer x3 (broken asdf shim), safety-net removed-cwd x3 (Bun 1.3.14), Codex TOML x1, and runtime-dependencies, which passes when run alone (timeout under parallel load).maincreated the Linear issue in team Darkroom Incubator, project Mesinyer (the earlier run inventedDR-000). It branched todocs/INC-484-readme-placeholder, committed there, pushed only that branch, and leftmainuntouched. The test issue was then canceled.ci-gategreen: all 11 checks pass.