feat(SIG-107): add TypeScript compiler evidence - #27
Conversation
Sigilix OverviewEffort: 4/5 (large) Quality gates
Summary — latest pushAdds a default-on TypeScript compiler lane that installs a pinned TypeScript tarball with SHA-512 integrity verification and converts Important files
Confidence: 2/5The scoped-package filtering logic incorrectly retains
Suggested labels: |
|
Warning Review limit reached
More reviews will be available in 2 hours, 54 minutes, and 25 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
2 findings posted inline · coverage: logic · security · performance · tests
2 findings · 2 inline · Proof: 2 grounded
The TypeScript compiler lane is well-implemented with strong supply-chain integrity and comprehensive testing. A logic bug in the dependency-noise filter may cause scoped npm packages to be misclassified as internal imports, leading to false positive diagnostics in the SARIF output.
Dismiss: @sigilix dismiss <reason> in thread (not-a-bug|bad-anchor|already-covered|too-minor|wrong-context) · Re-run: /sigilix review · Review #1 · a091afa
There was a problem hiding this comment.
1 high-severity finding + 1 lower-severity inline · since last review: +2 new · 2 carried-over · coverage: logic · security · performance · tests
2 findings · 2 inline · Proof: 2 grounded
The PR introduces a TypeScript compiler lane that converts tsc --noEmit diagnostics to SARIF. The implementation follows established security and runner patterns, featuring pinned integrity checks and a comprehensive test suite.
| Severity | Location | Issue |
|---|---|---|
| High (4) | .github/scripts/tsc_to_sarif.py:75-82 |
logic: _looks_like_external_package drops scoped-package unresolved imports (e.g. @scope/pkg) when the specifier contains a slash |
Dismiss: @sigilix dismiss <reason> in thread (not-a-bug|bad-anchor|already-covered|too-minor|wrong-context) · Re-run: /sigilix review · Review #2 · a091afa
There was a problem hiding this comment.
3 findings posted inline · since last review: +3 new · 2 likely-fixed · coverage: logic · security · performance · tests
3 findings · 3 inline · Proof: 3 grounded
The TypeScript compiler lane is well-implemented with strong integrity checks and comprehensive testing. However, a logic error in the SARIF converter causes certain relevant path-like imports in scoped packages to be incorrectly filtered as noise.
Dismiss: @sigilix dismiss <reason> in thread (not-a-bug|bad-anchor|already-covered|too-minor|wrong-context) · Re-run: /sigilix review · Review #3 · 2931177
There was a problem hiding this comment.
2 findings posted inline · since last review: +2 new · 3 likely-fixed · coverage: logic · security · performance · tests
2 findings · 2 inline · Proof: 2 grounded
The TypeScript compiler lane is well-implemented with strong supply-chain controls and comprehensive tests, though the unresolved-import heuristic incorrectly filters out scoped package subpaths.
Dismiss: @sigilix dismiss <reason> in thread (not-a-bug|bad-anchor|already-covered|too-minor|wrong-context) · Re-run: /sigilix review · Review #4 · e558787
What
tsc --noEmitwhen TS configs are present and emitstsc.sarif.tscinto the static tool manifest, SARIF contract tests, CI helper tests, and README catalog.Why
This adds type-aware TypeScript signal that ESLint/Oxlint/Biome do not fully cover: assignment incompatibilities, strict project type errors, and config-scoped compiler diagnostics. The lane self-skips when no TS config exists and keeps caller CI non-fatal by converting diagnostics to SARIF.
Verification
PYTHONDONTWRITEBYTECODE=1 python3 .github/scripts/tsc_workflow_test.py— 5 tests OKPYTHONDONTWRITEBYTECODE=1 python3 .github/scripts/sigilix_sarif_test.py— 64 tests OKPYTHONDONTWRITEBYTECODE=1 python3 .github/scripts/eslint_ts_workflow_test.py— 5 tests OKPYTHONDONTWRITEBYTECODE=1 python3 .github/scripts/pylint_workflow_test.py— 5 tests OKPYTHONDONTWRITEBYTECODE=1 python3 .github/scripts/knip_workflow_test.py— 4 tests OKPYTHONDONTWRITEBYTECODE=1 python3 .github/scripts/biome_workflow_test.py— 6 tests OKPYTHONDONTWRITEBYTECODE=1 python3 .github/scripts/docs_config_tools_test.py— 7 tests OKPYTHONDONTWRITEBYTECODE=1 python3 .github/scripts/oxlint_workflow_test.py— 4 tests OKPYTHONDONTWRITEBYTECODE=1 python3 .github/scripts/ast_grep_workflow_test.py— 4 tests OKpython3 -m py_compile .github/scripts/*.pybash -n .github/scripts/*.shgit diff --check.github/scripts/sigilix_sarif_test.pyat 999 linesscan.ymlandci.ymlrun_tsc.shtsc/TS2322, filtered bare externalTS2307Reviewer sign-off: final DeepSeek code-reviewer verdict was
SHIP; security reviewer found no material new unsafe execution/data-exfiltration path compared with existing Node-based lanes.