Revert out-of-scope package.json TypeScript pinning#623
Conversation
TypeScript 7.0.2 is published on npm, but typescript-eslint@8.64.0 has a peer dependency constraint of typescript >=4.8.4 <6.1.0, causing lint to fail with TS 7.x. Added a packageRule in renovate.json to restrict TypeScript to versions <7.0.0 until the tooling ecosystem catches up. Fixes #619 Signed-off-by: Saffron <263493777+itsmiso-ai@users.noreply.github.com>
The previous attempt incorrectly changed typescript from ^6.0.0 to 5.9.3 in package.json, which was not mentioned in the issue's Fix section and contradicted the renovate.json allowedVersions <7.0.0 rule. Revert package.json to its original state while preserving the intended renovate.json and package-lock.json changes. Fixes #619 Signed-off-by: Saffron <263493777+itsmiso-ai@users.noreply.github.com>
There was a problem hiding this comment.
AI Automated Review
Full PR review.
Analysis engine: MiniMax-M2.7@https://litellm.jory.dev/v1 (anthropic) — escalated (fast_low_confidence)
Review: Revert out-of-scope package.json TypeScript pinning
Recommendation: Request Changes
This PR correctly addresses the acceptance criteria from issue PR 619 by adding a Renovate rule to skip TypeScript v7, and the CI checks (Tests, Lint, Build, Typecheck, Docker Build) all pass. However, one of the two mandatory checks cannot be verified from the provided corpus, and the PR's scope and purpose require clarification.
Change-by-Change Findings
1. renovate.json — Adds TypeScript v7 skip rule
The PR adds a packageRules entry restricting "typescript" to "<7.0.0" via allowedVersions. This satisfies the second part of issue PR 619's acceptance criteria: "update the Renovate dashboard to skip v7 if it's not yet available." The package.json pins TypeScript at "^6.0.0", and together these constraints ensure Renovate will not propose TypeScript v7 upgrades. This is the correct implementation.
2. package-lock.json — Updates typescript-eslint from 8.63.0 → 8.64.0
This is a minor patch bump within the typescript-eslint v8 family (8.x). The diff shows only internal typescript-eslint packages updating from 8.63.0 to 8.64.0. This appears to be a transitive dependency refresh, not a direct version bump — the package.json does not list typescript-eslint directly. No top-level application dependency versions change.
Required Check: Breaking API Changes
Status: Satisfied
The typescript-eslint bump is from 8.63.0 → 8.64.0 — both within the v8 minor series. According to typescript-eslint's versioning policy, minor version bumps (8.63 → 8.64) contain only bug fixes, performance improvements, and internal refactors. There are no breaking API changes between these patch-minor versions. The package-lock.json diff confirms only version string changes; no API surface modifications are present.
Required Check: Full Test Suite After Upgrade
Status: Cannot verify — CI results not present in corpus
The CI Check Results table reports that all five checks (Tests, Lint, Build, Typecheck, Docker Build) passed for commit 4515bc602f3a50660204eaa14349c6805559bd73. This is strong evidence that the test suite ran and passed after the upgrade.
However, the corpus does not include the actual test output (test runner logs, coverage reports, or pass/fail counts). The table only shows the terminal state ("success") without the underlying evidence. Per the review protocol, when evidence is incomplete, the recommendation must remain conservative. The CI status is a reasonable proxy for test suite execution, but the actual test output is not available for independent verification.
Standards Compliance
The PR follows repository conventions:
- No agent-specific names in generic docs: N/A — no documentation changes.
- Prisma schema: N/A — no schema changes.
- API routes: N/A — no API route changes.
- Error handling / Validation: N/A — no code changes.
- No commit of secrets: Confirmed — no secrets in diff.
The renovate.json modification follows the same format as existing configuration entries in that file.
Linked Issue Fit (PR 619)
Issue PR 619 had two acceptance criteria:
-
"Either the PR is fixed and merged, or closed with a documented reason." — The PR does not close or fix PR PR 598. The
package-lock.jsonshows no TypeScript version change (remains on v6), and there is no mention of PR PR 598's status in this PR. This criterion is not addressed. -
"The Renovate dashboard is updated to skip v7 if it's not yet available." — ✅ Addressed. The
renovate.jsonadds"allowedVersions": "<7.0.0"fortypescript, which prevents Renovate from proposing TypeScript v7 upgrades.
Gap: The PR body states it is reverting an "out-of-scope" change and implementing the fix for PR 619, but it only addresses the Renovate dashboard rule. The fate of PR PR 598 (fix/merge/close) is not addressed.
Unknowns / Needs Verification
-
PR PR 598 status: The linked issue explicitly requires resolving PR PR 598 (fix/merge or close). This PR does not mention or address PR PR 598. Unless PR PR 598 was closed separately, this acceptance criterion remains open.
-
Full test suite evidence: The CI results table shows "Tests: success" but the raw test output (pass/fail counts, coverage, any flaked tests) is not in the corpus. The CI terminal state is provided, which is the authoritative indicator, but the detailed output is not available for independent verification.
Verdict derived from structured findings (verdict_policy=findings_severity_gated): 0 blocker finding(s) out of 2; model verdict was 'request_changes'.
Scope mismatch: issue #619 asks to resolve (fix/merge or close) the stale PR #598 TypeScript 7.0.2 upgrade and update the Renovate dashboard to skip v7 if unavailable — the branch instead unilaterally bumps renovate.json TypeScript from "~6.0.3" to "~7.1.3" and regenerates p…
Fixes #619
Opened by foreman on review GO (workload wl-misospace-dispatch-619).