chore(lint): enforce unicorn/require-module-specifiers#25102

merged1
lint-rules/provideLayerSucceedToProvideService
lint-rules/unicorn-require-module-specifiers
opened1d agobyJJulius Marminge
View on GitHubTwo-way sync enabledPR last imported 1d ago

Promote unicorn/require-module-specifiers to an error. Remove empty imports that do not name a module binding or document a necessary side effect.

This PR changes only this rule and its existing call sites. Each changed rule has its own PR.

Validation: the original full stack passed its local checks. This rule is now in the mechanical landing batch ahead of held changes; updated batch checks and CI are running.

Model: GPT-6.1 Sol. Harness: Codex.

Checks

1 failing · 24 successful · 14 skipped
Some checks failed

Failing1

c7a75f4
Synced from GitHub

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ No successful main baseline artifact is available yet. This run establishes the initial measurement.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire—5.0 KiB—6.8 KiB✅
CodexThread snapshot wire—3.8 KiB—4.9 KiB✅
CodexLive turn WebSocket wire—1.2 KiB—2.0 KiB✅
CodexLive turn WebSocket decoded—20.9 KiB—29.3 KiB✅
CodexLive turn messages—2—8✅
ClaudeTotal thread wire—5.0 KiB—6.8 KiB✅
ClaudeThread snapshot wire—3.8 KiB—4.9 KiB✅
ClaudeLive turn WebSocket wire—1.2 KiB—2.0 KiB✅
ClaudeLive turn WebSocket decoded—21.2 KiB—29.3 KiB✅
ClaudeLive turn messages—2—8✅

Baseline: unavailable · PR result: c7a75f4 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

Synced from GitHub

Approvability

Verdict: Approved at c7a75f4

Macroscope's review found this PR approvable — This PR only enforces a Unicorn lint diagnostic and removes empty imports required by that rule. The changes affect static analysis and module cleanup, with no material production behavior or product-default changes identified.

Notes:

  • Diff unchanged. Approvability was decided on eligibility alone.

You can add or adjust custom eligibility rules. Learn more.

Added 1 commit

  • chore(lint): enforce unicorn/require-module-specifiersc7a75f4
Synced from GitHub

Review in Change Stack →

No actionable comments were generated in the recent review.

External image Recent review info
External image Run configuration
External image Commits

Reviewing files that changed from the base of the PR and between 8aacb8afd28ced1caf767f62689ad426a5c3b19d and c7a75f4a4196ab24dba910ae7616cc28d47ae07f.

External image Files selected for processing: 3
  • apps/server/src/sourceControl/SourceControlProviderRegistry.ts
  • packages/contracts/src/rpc.ts
  • vite.config.ts
External image Files with no reviewable changes: 2
  • packages/contracts/src/rpc.ts
  • apps/server/src/sourceControl/SourceControlProviderRegistry.ts

Limit details: You’ve used all 10 included reviews currently available.

Walkthrough

The change removes two empty imports and sets unicorn/require-module-specifiers to error severity in the lint configuration.

Changes: Module specifier lint rule

Layer / File(s)Summary
Lint rule and import cleanup
vite.config.ts, apps/server/src/sourceControl/SourceControlProviderRegistry.ts, packages/contracts/src/rpc.ts
The lint configuration sets unicorn/require-module-specifiers to error severity. Two empty imports are removed.

Priority: External image Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Other

Suggested reviewers: maria-rcks

Merge Risk: External image Minimal · up to c7a75

No actionable merge-blocking risk remains from this change.

Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check nameStatusExplanationResolution
Description checkWarningThe description explains the main change and scope, but it does not use the required sections and does not provide the required problem context, approval or issue reference, or specific verification r…Rewrite the description using the Problem, Change, Scope and approval, and Verification sections. State the problem and expected behavior, explain the configuration change and affected imports, provide the issue or explicit approval…
Passed Passed checks: 3 passed
Check nameStatusExplanation
Title checkPassedThe title clearly identifies the main change: enforcing the unicorn/require-module-specifiers lint rule.
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains the main change and scope, but it does not use the required sections and does not provide the required problem context, approval or issue reference, or specific verification results. The validation statement is too vague and reports that checks were still running.

Resolution

Rewrite the description using the Problem, Change, Scope and approval, and Verification sections. State the problem and expected behavior, explain the configuration change and affected imports, provide the issue or explicit approval rationale, and list the focused checks performed with observed results. State pending checks separately.

Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.