Conversation
dstack's git opinion lived only in dstack-yolo (one branch per project, one commit per ticket, trailers); /dstack-ticket had no close-out step at all, so the human-driven path had nothing structural forcing re-spec. New prep question vcs_shape: branch-per-project | branch-per-ticket | trunk, recommended from team_shape (solo → per-project; team → per-ticket, because a PR per ticket is the reviewable diff and the review is the re-spec forcing function). branch-per-ticket stacks on a dependency's branch when its PR is still open — dstack-yolo does so on its own (max two deep, then pauses for review), dstack-ticket asks. Fork A branch names are Linear's own per-issue branch name, verbatim. /dstack-ticket gains Step 7 — Close the ticket (verify → re-spec → status → one commit with trailers → PR per shape) and offers it for any [~] ticket whose work landed but was never closed. The spec's Tooling section states what dstack owns (the unit, the trailers, the shape) and what it leaves to the host repo (merge strategy, CI, review rules, release tagging). Unset → branch-per-project. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NLMK6F3vQ1HzyU1Mxqt6Kr
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NLMK6F3vQ1HzyU1Mxqt6Kr
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
Roadmap item 5 (
meta/roadmap-0.4.md). Based on #6; GitHub retargets tomasteronce #6 merges. Independent of the other feature PRs (if #8, #9 or #10 also land, the spec's principles list needs a one-line renumber — each adds an "18."; and if #8 lands, this becomes prep question 6 rather than 5).Where the line is. dstack owns exactly three things about version control, for every project: the unit (one ticket = one commit bundling code + re-spec + status; never rewritten once pushed), the trailers (
Dstack-Project/Dstack-Ticket), and the shape (below). It deliberately does not own — and reads from the host repo'sCLAUDE.md— merge strategy, CI, review rules, branch protection, PR templates, release tagging. Stated once in the spec's Tooling section, echoed in the README FAQ.The shape, new prep question
vcs_shape, recommended fromteam_shape:branch-per-project(solo default; today's yolo behavior)dstack/<project>, oncebranch-per-ticket(team default)main— or stacked on a dependency's branch if its PR is still opentrunkdstack-yolostacks on its own (it's autonomous and warm), logs "stacked on (#N)", and pauses at two unmerged PRs deep;dstack-ticketasks the human — stack or wait — because stacking is a real commitment.branchNamevia MCP), so Linear auto-links. Its format is a workspace setting, not dstack's — not configurable here, by design./dstack-ticketgains Step 7 — Close the ticket: verify → re-spec (Fork A: Linear comment first, then description) → status + Execution log → one commit with trailers → PR per shape → hand back. Step 4 now offers it for any[~]ticket whose work landed but was never closed — the Keystone's failure mode in progress.dstack-yolo: Operating contract, Step 5 (branch per shape), Step 6 (PR per shape), Step 8 (new stop condition: atgate-every-ticketdon't build a dependent on an unreviewed PR; at any tier don't stack three deep).dstack-retroreads PR open→merged timing as review latency.vcs_shape: branch-per-project,D1.mdfooter names the branch. README: walkthrough step 7, Decision guide entry, FAQ fallback + "how opinionated is dstack about git?".Verification
./install.shinto a scratch repo;vcs_shapepresent in spec, skill, all three commands.branch-per-ticketand astrunk; read ticket Step 7 once — no contradictions with Step 6's confirm.🤖 Generated with Claude Code
https://claude.ai/code/session_01NLMK6F3vQ1HzyU1Mxqt6Kr