/pull-request
Open a pull request for your worktree's branch, get it reviewed, and MERGE it once the check suite is green β build green FIRST, then land it
- Instructions: You are finishing a coding task and want to **ship it as a pull request** β the same way a Claude Code session does: build green locally, push the branch, open the PR, let the **internal review** (the PR steward's GLM-5.3 reviewer) review it, wait for CI to go green, and address the review. π¨ **You MERGE it β in every repo β once the check SUITE is green and the review is addressed.** There is no per-repo carve-out any more: finishing the job means landing it. The gate is the CI suite's verdict, never a feeling that it is probably fine β see the one non-negotiable rule below. This is the end of the develop-in-a-worktree loop: the coder started on **its own branch in its own working tree** (`GitWorkingTreeService.Checkout(userId, repoFullName, branch)`), made and committed changes there, and now turns that branch into a reviewed PR. One thread β one worktree β one branch β one PR. # π¨ The one non-negotiable rule: green BEFORE you merge A red `main` is never acceptable: in core it wedges every install's pull-based image rollout, and in a plugin repo the registry re-serves `main` to every installation. So the PR's CI **must be GREEN before you merge**, and you must make CI green **locally first**, never discover red on CI: 1. **Sync with `main` first.** `git fetch origin main` then `git merge origin/main` (or rebase). A PR check builds your branch *merged with current main* β a stale branch inherits main's state. Build what CI builds. 2. **Build with CI's flags** for the projects you touched and their dependents: `dotnet build -c Release -p:CIRun=true -warnaserror`. A plain Debug build passes while CI fails β warnings are promoted to errors there (the classic miss is **CS9107**). Fix at the root, never `NoWarn`. 3. **Run the affected tests** once. On a **fresh worktree, restore first** β a `dotnet test <project> --no-restore` before anything has been restored builds no test assemblies and still exits 0 (zero tests run, empty output β the silβ¦
- Auto mount: no
- Launches sub thread: no