mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-12 19:44:48 +01:00
Teach crews to keep work owned and treat outside PRs as bug reports (GST-2077) (#4204)
* Teach crews to keep work owned and treat outside PRs as bug reports (GST-2077) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Name the credit range and who posts a verdict in the outside-PR docs (GST-2077) Review-Finding: p1/red-team#2 reader=red-team Review-Finding: p1/red-team#3 reader=red-team Review-Finding: p1/red-team#4 reader=red-team Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Name the changelog fragment after the branch and mention the credit range (GST-2077) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Check fork authors before adding contributor credit (GST-2077) Review-Finding: p1/red-team#1 reader=red-team Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Describe contributor PRs as rewritten fixes in the harness options table (GST-2077) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
ba2289e1cd
commit
e487cd40f8
9 files changed
+119
-64
No files matched your search
+11
-4
@@ -849,10 +849,17 @@ and a later reader agree on what was flagged:
|
||||
under test.
|
||||
|
||||
<a id="porting-a-contributors-work"></a>
|
||||
## Porting a contributor's work
|
||||
## Crediting a contributor's lines
|
||||
|
||||
A ported branch keeps the contributor's commits as theirs and adds the
|
||||
porter's fixes on top, each crediting the original authors.
|
||||
Outside PRs are rewritten from main rather than ported
|
||||
([CONTRIBUTING.md](../CONTRIBUTING.md#how-a-contributors-pr-lands)). When a rewrite
|
||||
carries a contributor's lines over unchanged, the commit that carries them credits them.
|
||||
Pass the contributor's PR commits as the range, fetched as a ref and never checked out
|
||||
(`git fetch origin +pull/<n>/head:refs/contrib/<n>`, then `origin/<base>..refs/contrib/<n>`;
|
||||
the `+` lets a re-fetch follow a force-push): the default range holds only the rewrite's
|
||||
own commits and finds no co-author. A fork's commits can name any author, so list the
|
||||
range first and `--exclude <email>` every author whose lines the commit does not carry
|
||||
before adding `--message`.
|
||||
`gstack-coauthor-trailers [<range> | --base <ref>] [--message <file>]
|
||||
[--exclude <email>]...` lists every distinct author of the range's commits
|
||||
(default `origin/<base>..HEAD`) other than the checkout's own committer
|
||||
@@ -1034,7 +1041,7 @@ ones, and the arm lost blockers. `bin/gstack-review-dispatch` closes both ends:
|
||||
- `lib/review-collect.ts`: `collectCommit` (git objects only, from any checkout) and `collectLive` (the working tree), per-path lines and the base commit's registry (`test/review-collect.test.ts`).
|
||||
- `lib/review-scope.ts`, `bin/gstack-review-scope`: `classify`, `defer`, `render`, `summary` (with `fix_checks`, `dispatches`, `est_input_tokens`, `unrecorded`, `ledgers_read`); refusals are `REVIEW_SCOPE_INPUT`, `REVIEW_SCOPE_RANGE` and `REVIEW_SCOPE_LEDGER` ([troubleshooting.md](troubleshooting.md#review-scope-input)).
|
||||
- `lib/ship-policy.ts`: the `review_scope` key and its `ship: review_scope …` consequence line.
|
||||
- `review/checklist.md`: `prereg-with-results` under Gate Integrity and `test-keyboard-count-loop` under Pass 2; `crew/bin/gstack-coauthor-trailers` for the contributor-credit trailers of a port.
|
||||
- `review/checklist.md`: `prereg-with-results` under Gate Integrity and `test-keyboard-count-loop` under Pass 2; `crew/bin/gstack-coauthor-trailers` for the contributor-credit trailers of a rewrite.
|
||||
- `lib/ship-receipt-prose.ts`, `gstack-ship-receipt read --check-prose`: the body's quoted counters against the receipt (`RECEIPT_PROSE_MISMATCH`, [ship-policy.md](ship-policy.md#ship-receipt)).
|
||||
- `lib/ship-receipt.ts`, `lib/headless-artifacts.ts`: the `review_loop` receipt object, its schema and the summary line.
|
||||
- `lib/no-stop.ts`, `bin/gstack-no-stop`, `lib/autoplan-carry.ts`: the [no-stop defaults](#no-stop), their ledger and the autoplan re-gate (`test/no-stop.test.ts`, `test/autoplan-carry.test.ts`).
|
||||
Reference in new issue
Block a user