fix: build against @j4k/review 2.15.0 and drop the same-diff request extension #49
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/bump-review-2-15-0"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bumps
@j4k/reviewfrom 2.8.0 to 2.15.0, which declaresattach_same_diffon the create request, and deletes theWithSameDiffextension that existed to failtsconce it did.The rebuilt bundle also brings in the service client's new transport retry (j4k/review#118). Transient connection failures and gateway errors (502/503/504 from a proxy, plus the service's own 503 while it restarts) now retry within a 12 s window, backing off from 250 ms to 4 s. Each attempt times out after 120 s. This runs under the wrapper's own retries (5 attempts, 10 s apart), and the comment in
src/review/constants.tsnow points at the client's retry policy instead of restating it.No repository runs this until its workflow pins the merge commit.
🤖 Generated with Claude Code
Review
01M45TVGSBBGJ86613RSATKBWW— head42e92433da8e036d26d7df8de96ed8f53b2794b3Review — j4k-oss/review-wrapper @
03e359d93bScope: diff against base tree
8869a4f97f96Status: dispatched — coverage complete (5/5 slots terminal)
Facts: current review-wide projection
Computed under:
Findings (2)
medium — The unsupported-event message copies the accepted event set
01M45V3MFE5TSP35JTDGZ9Q78Ydist/index.mjs(snippet)01M45V7PATAEQ7ECC7P79RHW1V· valid: The exact-grounded diagnostic lists pull_request_target and workflow_dispatch as expected values. The reviewer names readWrapperInputs in src/wrapper/event-context.ts as the runtime source and reports those same successful branches, with no unmatched member. The wrapper's selection is not the forge's externally defined event catalog, and no audience unable to open the source is evidenced. Diagnostic prose is covered by the restated-sets rule. The source-pointer correction retains the rejected value; correcting the reported source template and rebuilding respects bundle generation. The historical claims and their comparisons were reassessed, rather than inheriting their verdicts: they provide no concrete refutation or changed condition. Medium fits the agreeing copy.medium — The retry comment duplicates the failure predicate
01M45V1G1WCNTNYBBR1EKAFDGAsrc/review/constants.ts(snippet)01M45V7PATAEQ7ECC7P79RHW1V· valid: The exact-grounded comment enumerates transport failures and 5xx/429 responses. The reviewer reports the defining predicate isTransientServiceFailure in src/review/session.ts and supplies its cases: TransportError, ServiceError status 429, and ServiceError status >= 500, with no unmatched category for valid HTTP statuses. This supplies the comparison required by the restated-sets rule; the wrapper selects the set, and the client-policy pointer does not exempt the enumeration beside it. The proposed source pointer preserves the idempotency rationale and retry-layer relationship. Medium fits an agreeing copy that requires a separate update.01M45V39G0ESEY3EBRNVJWMPNF(restated-sets)Other claims
01M45V39G0ESEY3EBRNVJWMPNFmedium — Retry comment duplicates the transient-failure set →01M45V1G1WCNTNYBBR1EKAFDGACoverage
Coverage pass: 01M45TVGTWK87G3DCER0Z677ZN
Accounting: complete
Slot health: healthy
@ -37,7 +37,8 @@ export const GROUNDING_GRACE_MS = 5 * 60_000;// Bounded retries for the create, ask, and re-triage writes (failure row 2).medium — The retry-limit comment duplicates the session’s retried-operation set
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M45TF21YVT99M3VTAHJP03J0of review01M45T6P4HNMEHFMWJTY4MJV24Fixed in
42e92433da. I confirmedwithRetrieswraps exactlycreateReview,askandretriageinsrc/review/session.ts; the comment now points atwithRetriesinstead of listing those operations.@ -38,3 +38,4 @@// Those calls collapse on their idempotency keys, so retrying transport-level// failures and 5xx/429 responses is safe; the client's own transport already// retries connection-level rejections (3 attempts) — this ladder sits above it.// retries connection failures and 502/503/504 responses within a 12-second window// (backoff from 250 ms to 4 s) — this ladder sits above it.high — The retry comment restates gateway statuses as unconditional transport retries
lens
restated-sets· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M45TD9KCHP520CF87VX7CY3Bof review01M45T6P4HNMEHFMWJTY4MJV24Fixed in
42e92433da. The comment no longer lists gateway statuses: it names@j4k/review/src/client/retry-policy.tsas the policy (a problem+json 502 or 504 is not retried, and a 503 only when its type isservice-stopping). I verified that intransientGatewayResponseat 2.15.0, and the PR body now says "gateway errors" with that exception.@ -38,3 +37,5 @@// Retry limits for the calls `withRetries` wraps in session.ts (failure row 2).// Those calls collapse on their idempotency keys, so retrying transport-level// failures and 5xx/429 responses is safe; the client's own transport already// retries connection-level rejections (3 attempts) — this ladder sits above it.// failures and 5xx/429 responses is safe. The client's own transport retries// first, under the policy in @j4k/review/src/client/retry-policy.ts; this ladder// sits above it.medium — The retry comment duplicates the failure predicate
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M45V1G1WCNTNYBBR1EKAFDGAof review01M45TVGSBBGJ86613RSATKBWWNot changed here. The sentence about idempotency keys and 5xx/429 responses is unchanged from
main, and it agrees withisTransientServiceFailureinsrc/review/session.tstoday, so it does not break what this PR delivers. Pointing it at the predicate is a separate documentation change. No follow-up PR is opened from this PR.Not changed here. The message in
src/wrapper/event-context.tsdates from the initial implementation (#4), this PR does not touch it, and its two events match the parser's branches today. Rewording it changes the bundle's runtime output and a test, which does not belong in a dependency bump. No follow-up PR is opened from this PR.