Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions packages/cli/src/commands/review/compose-review.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7557,7 +7557,8 @@ describe("composeReview — the composed body fits GitHub's limit", () => {
// `contextUnavailableClause` is `keep: 1` so the rung-3 cut spends
// blockers before the diff-only trust warning; no truncation fixture
// carried the clause, so deleting the tag shipped green — the untagged
// clause sorted to rank 3 and the cut spent the warning first.
// clause sorted to `keep` 3 (the cut's axis, not a `trim` rank) and the
// cut spent the warning first.
const r = composeReview(
base({
criticalsInline: 1,
Expand Down Expand Up @@ -9384,9 +9385,9 @@ describe('convergence diagnosis reaches the POSTED body', () => {
// against a 56,830-character budget. Shed early it could pay for at
// most 4% of an overflow, so any overflow bigger than itself spent it
// AND went on to spend the disclosures — and the rounds this fires on
// are the high-volume ones where that is the normal case. It is rank 3
// now: the last rank to go, because it is the cheapest to keep and the
// only one whose reader is the PR author alone.
// are the high-volume ones where that is the normal case. It is trim
// rank 3 now: the last rank to go, because it is the cheapest to keep
// and the only one whose reader is the PR author alone.
//
// The blocker is sized to land in the window where the ladder sheds
// rank 2 and stops. To retune after a body-copy change: raise it until
Expand Down Expand Up @@ -9424,9 +9425,9 @@ describe('convergence diagnosis reaches the POSTED body', () => {
// notice say so instead of the paragraph vanishing silently.
//
// Sized one rung past the test above: the ladder sheds rank 2, still
// does not fit, sheds rank 3, and stops before the hard cut. To retune:
// raise it until `Convergence:` disappears, and stop before `TRUNCATED`
// appears.
// does not fit, sheds trim rank 3, and stops before the hard cut. To
// retune: raise it until `Convergence:` disappears, and stop before
// `TRUNCATED` appears.
sideFile({
round: 4,
posted: 9,
Expand Down
17 changes: 11 additions & 6 deletions packages/cli/src/commands/review/compose-review.ts
Original file line number Diff line number Diff line change
Expand Up @@ -858,7 +858,7 @@ export interface ComposeReviewResult {
* not-reviewed disclosures (the model's own inputs), a diagnosis derived
* from the side file has no other copy anywhere. Ranking it last does not
* retire this copy — it makes it the one that matters, because the rounds
* that reach rank 3 are the rounds that shed everything.
* that reach trim rank 3 are the rounds that shed everything.
*/
convergence?: { en: string; zh: string };
/**
Expand Down Expand Up @@ -3367,7 +3367,7 @@ function composeReviewBody(
* last-resort path drops ranks AND cuts, and a stderr record naming only
* the cut leaves the kinds it dropped disclosed nowhere but the body.
* Rank 1 has a second durable copy (each deferral is a `D<round>-<n>`
* entry in the findings artifact) and rank 3 has one too (the composed
* entry in the findings artifact) and trim rank 3 has one too (the composed
* result carries the paragraph, and the command prints it as
* `CONVERGENCE:`); a trimmed disclosure section survives nowhere but the
* terminal summary, so ask for it there rather than pointing at an
Expand Down Expand Up @@ -3823,8 +3823,12 @@ function composeReviewBody(
cannotTell.length === 0
? []
: [
// Deliberately untagged (rank 3, spent first by the last-resort
// cut). These entries are open blockers the review could not
// Deliberately untagged, so `keep` defaults to 3 and the
// last-resort cut spends it first. That 3 is the CUT's axis, not a
// `trim` rank — the two share the number and mean opposite things:
// `trim: 3` is the LAST rank the ladder sheds, while `keep: 3` is
// the FIRST thing the cut below the ladder spends.
// These entries are open blockers the review could not
// clear — and every one of them was DELIVERED to the author in
// the round that raised it, where this round's body Criticals are
// the only copy that exists. So when the cut has to choose, it
Expand Down Expand Up @@ -5263,8 +5267,9 @@ export const composeReviewCommand: CommandModule = {
// (findings artifact) or the not-reviewed disclosures (the model's own
// inputs) it has no other copy anywhere — so the notice's "read them in
// the terminal report" was a false record until this line existed. Last
// does not mean safe: a body that reaches rank 3 has already shed every
// other rank, which is exactly when this line is the only copy left.
// does not mean safe: a body that reaches trim rank 3 has already shed
// every other rank, which is exactly when this line is the only copy
// left.
if (result.convergence) {
writeStderrLine(`CONVERGENCE: ${result.convergence.en}`);
}
Expand Down
Loading