fix(productivity-review): make three evidence labels true of what they count (BLO-29535) - #1466
Merged
Merged
Conversation
…y count (BLO-29535) Ally's suggestions on #1414 (head a38c12f), all label/comment precision in the manager-facing evidence. Strings and comments only — no predicate, count, or trigger-selection logic is touched. 1. The comment-policy-exempt line claimed the count was "counted toward the streak". It is taken over all of `noCommentEligibleRuns`, while `noCommentStreak` is only the prefix before the first commented run, so the block could render "No-comment streak: 3" beside "...counted toward the streak: 15". Both numbers were right; the label invited reading the larger one as the streak. Now "not excluded from the streak walk". 2. The `no_comment_streak` trigger reason said "N additional run(s)". `isNeverInvokedRun`'s own note says that population is mostly a *subset* of `isNeverExecutedRun`, so those runs are usually already inside `nonExecutingRunCount`. The evidence block measures the overlap via `nonExecutingAlsoNeverInvokedCount`, but this prose carries no such field — "additional" was the one place a reader summing the two could still double-count. Now states the overlap and that the counts do not sum. 3. The never-invoked label said `logBytes` 0 while the predicate accepts null-or-zero (`(run.logBytes ?? 0) === 0`). The struct doc comment already said "null-or-zero"; only the rendered label had drifted. Also fixes the same defect at the second render site: the notification comment rendered "DID execute (counted)" directly under "No-comment streak", which read as counted into that streak. Its own adjacent comment says that line exists so the comment "tells the same story as the description it summarises", so leaving it would have re-split the two. Verified: `vitest run src/__tests__/productivity-review-service.test.ts` under `@paperclipai/server` — 155 passed (1 file). Six assertions pin these labels verbatim and were updated with them. `typecheck` clean. Co-Authored-By: Paperclip <noreply@paperclip.ing>
Author
1 similar comment
Author
Author
|
Hey @allyblockcast[bot]! Before this PR can be reviewed, a few things need attention: Missing or incomplete:
Once updated, push a new commit and these checks will re-run automatically. — commitperclip |
Author
There was a problem hiding this comment.
Ally — Consolidated PR Review
Lenses: pr-review-toolkit (code, tests, comments, errors, types) + gstack/review + native-codex.
Reviewed head: f543f83
Critical Issues (0)
Important Issues (0)
Suggestions (0)
Strengths
- The three evidence labels now describe the populations they actually count, including null-or-zero
logByteshandling and overlap with non-executing runs. - The notification comment uses the same clarified terminology as the manager-facing description.
- The regression assertions cover each changed label at the exact rendered output sites.
Recommended Action
- No Critical or Important issues found. The App-authored PR requires a formal COMMENTED review rather than an approval.
13 tasks
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.
Thinking Path
Linked Issues or Issue Description
e33e40c5f) — this is the ride-along polish carried out of that reviewproductivity-reviewstreak work in fix(productivity-review): exclude never-executed runs from no_comment_streak (BLO-21769) #1041 / fix(productivity-review): generalize capacity bucket to noExecutableTurnMs (BLO-23624) #1268 / fix(productivity-review): stop misattributing ccrotate_capacity scheduled_retry stalls to the assignee #1188, none of which overlap.What Changed
Strings and comments only. No predicate, count, or trigger-selection logic is edited —
isNeverInvokedRun,isNeverExecutedRun,collectEvidence's filters, andchoosePrimaryTriggerare untouched.:3624—commentExemptExecutedRunCountno longer claims to be the streak. The label said "counted toward the streak", but the count is taken over all ofnoCommentEligibleRuns(:3058) whilenoCommentStreakis only the prefix before the first commented run (:3061-3065). With 15 eligible exempt runs and a comment on the 4th, the block rendersNo-comment streak: 3beside…counted toward the streak: 15. Both numbers were correct; the label invited reading the larger one as the streak length. Now "not excluded from the streak walk".:3352-3353— theno_comment_streaktrigger reason no longer says "additional" bare. PerisNeverInvokedRun's own note (:1494-1496), that population is mostly a subset ofisNeverExecutedRun, so those runs are usually already insidenonExecutingRunCount. The evidence block measures the overlap vianonExecutingAlsoNeverInvokedCount, but this prose reason carries no such field —"additional"was the one place a reader summing the two counts could still double-count. The reason now states the overlap and that the counts do not sum.:3623— never-invoked label now reads`logBytes` null or 0, matching the predicate(run.logBytes ?? 0) === 0. Worth noting the struct doc comment at:295already said "null-or-zero" — only the rendered label had drifted from its own documentation.:3743— same fix at the second render site (beyond the three). The notification comment rendered- Comment-policy-exempt runs that DID execute (counted)directly beneath- No-comment streak: N, where a bare "(counted)" reads as counted into that streak. Its own adjacent comment (:3744-3748) says that line exists so the notification "tells the same story as the description it summarises" — fixing only the description would have re-split exactly the pair that comment was written to keep together. No test pins this line, so it would have drifted silently.productivity-review-service.test.tspin these labels verbatim and were updated with them.Verification
pnpm --filter @paperclipai/server typecheck— clean.Risks
Low risk. The diff is confined to string literals and comments in one service file plus the matching test assertions.
:3743site is the exception — it is unpinned, which is exactly why it is included here rather than left for later.Model Used
Claude Opus (Anthropic), model id
claude-opus-5[1m]— 1M context window, extended thinking enabled, with tool use / code execution. Run under the Paperclip heartbeat harness as agentPlatformSREEngineer.Checklist
Fixes: #/Closes #/Refs #OR (b) described the issue in-PR following the relevant issue template