mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-05 00:03:15 +01:00
train S1: merge #3859 at 2212c95769 v1.93.3.0
This commit is contained in:
commit
66f105d372
15 files changed
+126
-43
No files matched your search
@@ -384,10 +384,11 @@ block without new floor words. The reader is read-only, and `NO FINDINGS` is a
|
||||
result. `gstack-review-dispatch render --role targeted --classes <classes>`
|
||||
renders its brief; `verify --targeted-out <file>` writes the record that
|
||||
`gstack-ship-receipt write --review-targeted @<file>` puts in the receipt.
|
||||
`gstack-ship-queue ready` and `train build` print
|
||||
`gstack-ship-queue ready`, `train build` and `land` print
|
||||
`REVIEW_TARGETED: required=<classes|none> receipt=<classes|none|legacy>
|
||||
verdict=ok|missing` and refuse nothing yet; enforcement comes in a later
|
||||
release.
|
||||
verdict=ok|missing|failed` and refuse
|
||||
[`QUEUE_RECEIPT_TARGETED_MISSING`](troubleshooting.md#queue-receipt-targeted-missing)
|
||||
when a required class has no done pass covering it.
|
||||
|
||||
Over the last 100 non-release commits on main (8663c3d2..8be7f213), money hit
|
||||
21, gate 18, auth 3 and secret 8. The gate class first used the gate paths,
|
||||
|
||||
+12
-7
@@ -246,8 +246,10 @@ result is not a current pass, and (`QUEUE_RECEIPT_MISSING`,
|
||||
`QUEUE_RECEIPT_STALE`) when the PR body carries no /ship receipt for that
|
||||
head: /ship runs before every READY ([details](#ship-before-ready)). It also
|
||||
refuses `QUEUE_RECEIPT_DEPTH_RAISED` when the receipt's review depth is below
|
||||
what the head needs and `QUEUE_RECEIPT_EXCEPTION_INVALID` when an owner
|
||||
exception the receipt records does not stand ([the ship receipt](#ship-receipt)).
|
||||
what the head needs, `QUEUE_RECEIPT_TARGETED_MISSING` when a targeted class
|
||||
the head needs has no done targeted pass in the receipt, and
|
||||
`QUEUE_RECEIPT_EXCEPTION_INVALID` when an owner exception the receipt records
|
||||
does not stand ([the ship receipt](#ship-receipt)).
|
||||
Send the block as printed.
|
||||
|
||||
**2. Lane behind another PR: gate ahead.** Gate the tree the queue will have
|
||||
@@ -683,8 +685,10 @@ slot. The queue enforces this at every step from the PR body alone:
|
||||
head being READY'd (or its `pr` is another PR); the informational
|
||||
`SHIP_RECEIPT:` line still prints. It refuses `QUEUE_RECEIPT_DEPTH_RAISED`
|
||||
(with a `REVIEW_DEPTH:` line) when the receipt records a review depth below
|
||||
what the head needs, and `QUEUE_RECEIPT_EXCEPTION_INVALID` when an owner
|
||||
exception it records does not stand ([the ship receipt](#ship-receipt)).
|
||||
what the head needs, `QUEUE_RECEIPT_TARGETED_MISSING` (with a
|
||||
`REVIEW_TARGETED:` line) when a targeted class the head needs has no done
|
||||
targeted pass in the receipt, and `QUEUE_RECEIPT_EXCEPTION_INVALID` when an
|
||||
owner exception it records does not stand ([the ship receipt](#ship-receipt)).
|
||||
There is no flag around it.
|
||||
- `train build` refuses a pin whose PR has no current receipt with the same
|
||||
codes, naming the PR, before anything is written, pushed or dispatched,
|
||||
@@ -803,9 +807,10 @@ its record. Refusals, all before any spend: `QUEUE_TRAIN_UNTRUSTED` (a fork
|
||||
head), `QUEUE_TRAIN_MOVED` (a head moved from its pin),
|
||||
`QUEUE_RECEIPT_MISSING` and `QUEUE_RECEIPT_STALE` (the PR body has no /ship
|
||||
receipt for the pin; see [/ship before READY](#ship-before-ready)),
|
||||
`QUEUE_RECEIPT_DEPTH_RAISED` and `QUEUE_RECEIPT_EXCEPTION_INVALID` (the
|
||||
receipt's review depth is below what the pin needs, or an owner exception it
|
||||
records does not stand; see [the ship receipt](#ship-receipt)),
|
||||
`QUEUE_RECEIPT_DEPTH_RAISED`, `QUEUE_RECEIPT_TARGETED_MISSING` and
|
||||
`QUEUE_RECEIPT_EXCEPTION_INVALID` (the receipt's review depth is below what
|
||||
the pin needs, a targeted class the pin needs has no done targeted pass, or an
|
||||
owner exception it records does not stand; see [the ship receipt](#ship-receipt)),
|
||||
`QUEUE_NOT_READY` (no READY receipt at that head), `QUEUE_TRAIN_CONFLICT` (the printed
|
||||
`QUEUE_TRAIN_CONFLICT: train <id> stopped at #<pr> (conflicts: <files>) after
|
||||
merging #<a>,#<b>; nothing dispatched, no branch pushed; fix: …` line names
|
||||
|
||||
@@ -5489,6 +5489,23 @@ body no longer carries the exception's line word for word
|
||||
/ship again and record the owner's acceptance with `--docs` or
|
||||
`--review-loop-exception` ([ship-policy.md](ship-policy.md#ship-receipt)).
|
||||
|
||||
<a id="queue-receipt-targeted-missing"></a>
|
||||
### `QUEUE_RECEIPT_TARGETED_MISSING`
|
||||
|
||||
**Meaning.** `ready`, `train build` or `land` recomputed the targeted
|
||||
classes the head needs (money, gate, auth, secret) from git, and the receipt's
|
||||
`review_targeted` does not cover every one of them with a `done` pass. The
|
||||
`REVIEW_TARGETED:` line prints the required classes, the classes a done pass
|
||||
covered (`legacy` when the receipt records no targeted pass) and
|
||||
`verdict=missing`, or `verdict=failed` when the recorded pass failed. A
|
||||
head that needs no class passes whatever the receipt records. The receipt is
|
||||
unchanged.
|
||||
|
||||
**Fix.** Run /ship on the head the READY names so the targeted reader runs on
|
||||
every required class and `gstack-ship-receipt write --review-targeted` records
|
||||
a done pass ([review-policy.md](review-policy.md#targeted-pass-on-money-gate-auth-and-secret-code)).
|
||||
Never edit `review_targeted` by hand.
|
||||
|
||||
<a id="queue-screen-stale-ref"></a>
|
||||
### `QUEUE_SCREEN_STALE_REF`
|
||||
|
||||
|
||||
Reference in new issue
Block a user