A native TypeScript/JavaScript compiler written in Rust. Compiles TypeScript/JavaScript directly to executables using SWC and LLVM.
This report presents the forensic synthetic code analysis of PerryTS/perry, a Rust project with 4,720 GitHub stars. SynthScan v2.0 examined 2,156,010 lines of code across 12294 source files, recording 11986 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 7.0 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 11986 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 81 | "crates/perry-runtime-static", | COMMENT |
| LOW | Cargo.toml | 181 | # perry-ext-events exports #[no_mangle] EventEmitter FFI symbols | COMMENT |
| LOW | Cargo.toml | 201 | [profile.release.package.perry-runtime-static] | COMMENT |
| LOW | Cargo.toml | 261 | # builds the SHIPPED libperry_{runtime,stdlib}.a with, and the exception | COMMENT |
| LOW | Cargo.toml | 461 | # without a sibling Perry checkout. perry-ffi's only direct reference | COMMENT |
| LOW | parity_status.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | run_module_parity.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | run_parity_tests.sh | 61 | exit 1 | COMMENT |
| LOW | run_parity_tests.sh | 81 | # Optional suite selector. The historical default (`all`) keeps running the | COMMENT |
| LOW | run_parity_tests.sh | 421 | } | COMMENT |
| LOW | run_parity_tests.sh | 461 | print(line) | COMMENT |
| LOW | run_parity_tests.sh | 501 | # Normalize console.time/timeLog/timeEnd output: the elapsed value | COMMENT |
| LOW | run_parity_tests.sh | 641 | BUILD_FEATURES=() | COMMENT |
| LOW | run_parity_tests.sh | 661 | # imports one of these cannot be served by the prebuilt stdlib at all — see | COMMENT |
| LOW | run_parity_tests.sh | 741 | fi | COMMENT |
| LOW | run_parity_tests.sh | 881 | # the loop the counters and failure lists below are rebuilt from it, so the | COMMENT |
| LOW | run_parity_tests.sh | 1381 | compile_env="PERRY_ALLOW_UNIMPLEMENTED=1" | COMMENT |
| LOW | run_parity_tests.sh | 1441 | compile_log="$OUTPUT_DIR/${safe_test_id}.compile_error.log" | COMMENT |
| LOW | run_parity_tests.sh | 1501 | # supported CI subset relies on the job timeout documented above. | COMMENT |
| LOW | docker-compose.yml | 1 | # Docker Compose for Perry TypeScript Compiler | COMMENT |
| LOW | TYPE_LOWERING.md | 881 | | Expr::Uint8ArrayLength(_) | COMMENT |
| LOW | TYPE_LOWERING.md | 1041 | pub fn is_pointer(&self) -> bool { | COMMENT |
| LOW | TYPE_LOWERING.md | 1061 | /// silently produce a wrong result. This blind spot has been patched | COMMENT |
| LOW | TYPE_LOWERING.md | 1081 | /// The for-loop guarantees `i < arr.length` is true at the cond | COMMENT |
| LOW | TYPE_LOWERING.md | 1101 | **File:** crates/perry-codegen/src/stmt/let_stmt.rs (L612-682) | COMMENT |
| LOW | TYPE_LOWERING.md | 1121 | // Issue #140 follow-up + #435 fix: gate the Let-site i32 | COMMENT |
| LOW | TYPE_LOWERING.md | 1141 | // | COMMENT |
| LOW | TYPE_LOWERING.md | 1301 | /// Canonical "Invalid Date" bit pattern. | COMMENT |
| LOW | TYPE_LOWERING.md | 1361 | /// `keys_array` only supports O(N) linear scan; for objects that | COMMENT |
| LOW | TYPE_LOWERING.md | 1461 | //! - 8-byte GcHeader prepended to every heap allocation (invisible to callers) | COMMENT |
| LOW | TYPE_LOWERING.md | 1521 | // x-regs and ~8 d-regs per call — that's ~25 ns per microtask, and | COMMENT |
| LOW | TYPE_LOWERING.md | 1541 | COMMENT | |
| LOW | TYPE_LOWERING.md | 1561 | /// Pin/unpin must run on the main thread. The bit is set here (right | COMMENT |
| LOW | TYPE_LOWERING.md | 1601 | //! compile time with a clear error message. | COMMENT |
| LOW | rust-toolchain.toml | 1 | # Pinned to match the `toolchain:` input every CI workflow passes to | COMMENT |
| LOW | tools/pnpm-workspace.yaml | 1 | # pnpm-side soak surface + catalog (pnpm reads minimumReleaseAge in MINUTES | COMMENT |
| LOW | tools/pnpm-workspace.yaml | 21 | # `npm run soak` rejects unannotated pins (and flow-style [..] lists, | COMMENT |
| LOW | crates/perry-ext-ws/Cargo.toml | 21 | tokio-tungstenite = { workspace = true } | COMMENT |
| LOW | crates/perry-ext-ws/Cargo.toml | 41 | # `regex-engine`/`temporal`/... compiled OUT. The dispatchers those features gate | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 1 | //! Native bindings for the npm `ws` package — WebSocket client + | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 21 | //! `spawn_blocking + tokio::Handle::current().block_on(async {...})` | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 401 | // `js_ws_on_client_i64` are the Phase 4 receiver-method variants. | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 621 | // be a registered server handle id would route through the server | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 681 | /// TCP port or spawn the accept loop — it's a passive registry whose | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 821 | } | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 881 | // docs) — in release the IO loop silently failed to start, so neither inbound | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 901 | Some(Ok(Message::Text(text))) => { | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 1041 | /// server's accept task (fastify's `handle_fastify_websocket_upgrade` | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 1061 | /// registered `wss.on('connection', cb)` fires through the pump. | COMMENT |
| LOW | crates/perry-ext-ws/src/mask.rs | 1 | //! SIMD-ish WebSocket frame (un)masking. | COMMENT |
| LOW | crates/perry-ext-ws/src/mask.rs | 21 | //! same payload delivered whole. | COMMENT |
| LOW | crates/perry-ext-ws/src/mask.rs | 61 | /// frame split across multiple buffers can be unmasked chunk-by-chunk | COMMENT |
| LOW | crates/perry-ext-node-forge/Cargo.toml | 41 | # are exported UNCONDITIONALLY (`js_string_replace_search_dyn`, | COMMENT |
| LOW | crates/perry-ext-node-forge/src/lib.rs | 1 | //! Native bindings for the npm `node-forge` package — the PKI subset. | COMMENT |
| LOW | crates/perry-ext-node-forge/src/crypto.rs | 1 | //! Pure-Rust PKI core for the node-forge wrapper. | COMMENT |
| LOW | crates/perry-container-e2e/src/lib.rs | 1 | //! Phase D: End-to-end test harness for `perry/container`. | COMMENT |
| LOW | crates/perry-codegen-js/src/web_runtime.js | 601 | } | COMMENT |
| LOW | crates/perry-codegen-wear-tiles/src/emit.rs | 1 | //! HIR WidgetNode → Wear OS Tiles Kotlin emitter | COMMENT |
| LOW | crates/perry-parser/src/lib.rs | 21 | #[derive(Debug)] | COMMENT |
| LOW | crates/perry-parser/src/lib.rs | 341 | /// directive, which the caller weighs separately. An explicit ESM extension | COMMENT |
| 9306 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | run_parity_tests.sh | 268 | # ── TLS-upgrade companion server (issue #275) ────────────────────────────── | COMMENT |
| MEDIUM | run_parity_tests.sh | 301 | # ── Perry-specific expected-output tests ──────────────────────────────────── | COMMENT |
| MEDIUM | run_parity_tests.sh | 325 | # ── Counters ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | run_parity_tests.sh | 803 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | run_parity_tests.sh | 808 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | run_parity_tests.sh | 877 | # ── Durable result journal ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | run_parity_tests.sh | 1138 | # ── Pause (SIGINT / SIGTERM) ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | run_parity_tests.sh | 1219 | # ── Selection pre-pass ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | run_parity_tests.sh | 1596 | # ── Rebuild the report state from the journal ─────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-ws/src/lib.rs | 72 | // ── Global state ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-ws/src/lib.rs | 161 | // ── Client connect ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-ws/src/lib.rs | 372 | // ── Send / close (client) ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-ws/src/lib.rs | 506 | // ── Accessors ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-ws/src/lib.rs | 676 | // ── Server ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-ws/src/lib.rs | 1121 | // ── Event-loop tick ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/tests/openssl_e2e.rs | 52 | // ── CA (mirrors src/lib/util/genCaKeyPair.ts) ────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/tests/openssl_e2e.rs | 78 | // ── Leaf (mirrors src/lib/firewall/cert/host.ts) ─────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/lib.rs | 59 | // ── small FFI helpers ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/lib.rs | 89 | // ── JSON shapes coming from json_stringify(cert) ──────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/lib.rs | 308 | // ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/lib.rs | 310 | // ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/crypto.rs | 43 | // ── OIDs ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/crypto.rs | 139 | // ── keygen + key PEM round-trips ──────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/crypto.rs | 186 | // ── DN <-> attrs ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/crypto.rs | 280 | // ── serial + validity ────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/crypto.rs | 313 | // ── extensions ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-node-forge/src/crypto.rs | 352 | // ── build + sign ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/app.rs | 156 | // ─── PerryViewController ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/menu.rs | 66 | // ─── Public API ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/menu.rs | 231 | // ─── UIMenu Construction ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/widgets/tabbar.rs | 42 | // ── State ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/widgets/tabbar.rs | 63 | // ── UITabBarDelegate ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/widgets/tabbar.rs | 123 | // ── Public API ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-http/src/server/http2_settings.rs | 174 | // ── helpers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-geisterhand/src/inspector_ui/index.html | 483 | // ── Preview pane ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/lib.rs | 117 | // ─── Lookup helpers ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/audio_table.rs | 31 | // ─── Lifecycle ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/audio_table.rs | 47 | // ─── Playback control ───────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/audio_table.rs | 81 | // ─── Per-voice / per-sound tuning ───────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/audio_table.rs | 101 | // ─── Fades & crossfade ──────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/audio_table.rs | 123 | // ─── Buses ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/audio_table.rs | 151 | // ─── Master / engine ────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/audio_table.rs | 172 | // ─── Introspection ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/audio_table.rs | 191 | // ─── Callbacks ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ffi/src/jsvalue.rs | 119 | // ── type predicates ──────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ffi/src/jsvalue.rs | 204 | // ── accessors ────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ffi/src/jsvalue.rs | 290 | // ── object / array allocation primitives ───────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/deeplinks.rs | 116 | // ─── ObjC bridge helpers ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/app.rs | 464 | // ─── PerryViewController ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/menu.rs | 66 | // ─── Public API ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/menu.rs | 231 | // ─── UIMenu Construction ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/widgets/tabbar.rs | 42 | // ── State ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/widgets/tabbar.rs | 63 | // ── UITabBarDelegate ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/widgets/tabbar.rs | 123 | // ── Public API ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/widgets/canvas.rs | 685 | // ── Stateful (HTML5-canvas-style) API ──────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-cron/src/lib.rs | 417 | // ── setInterval / setTimeout placeholders ───────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/app.rs | 286 | // ─── PerryViewController ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/menu.rs | 66 | // ─── Public API ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/menu.rs | 196 | // ─── UIMenu Construction ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/widgets/tabbar.rs | 42 | // ── State ───────────────────────────────────────────────────── | COMMENT |
| 1112 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | parity_status.sh | 6 | # parity harness per module (via run_module_parity.sh which is itself a | COMMENT |
| MEDIUM⚡ | parity_status.sh | 15 | # parity?" — every failing test is a known issue (the harness's own gate | COMMENT |
| MEDIUM | parity_status.sh | 40 | # total table; it's the canonical front-end for batching the harness | COMMENT |
| MEDIUM⚡ | run_module_parity.sh | 2 | # run_module_parity.sh — run the `node-suite` parity harness for a | COMMENT |
| MEDIUM⚡ | run_module_parity.sh | 15 | # parsed from the harness output and aggregated into a final table. | COMMENT |
| MEDIUM⚡ | run_module_parity.sh | 25 | # Strip ANSI color escapes from harness output so we can grep cleanly. | COMMENT |
| MEDIUM | run_module_parity.sh | 61 | # The harness exits non-zero whenever any test fails (even ones in | COMMENT |
| MEDIUM | run_module_parity.sh | 67 | # Replay the harness's own summary block for context. | COMMENT |
| MEDIUM | run_module_parity.sh | 98 | # (the harness already breaks CI on untracked failures), so we don't gate | COMMENT |
| MEDIUM | run_parity_tests.sh | 196 | # Python is already a required harness dependency. Start the test in its | COMMENT |
| MEDIUM | run_parity_tests.sh | 334 | # SIGSEGV sat in main for days — the harness only diffed stdout, so a process | COMMENT |
| MEDIUM | run_parity_tests.sh | 469 | # exit summary on stderr, which this harness merges into the compared | COMMENT |
| MEDIUM | run_parity_tests.sh | 848 | # would otherwise outlive the harness — this session has already produced | COMMENT |
| MEDIUM | run_parity_tests.sh | 1458 | # starve the harness itself out of fork() and kill the whole run. | COMMENT |
| MEDIUM | crates/perry-doc-tests/src/main.rs | 20 | #[command(name = "doc-tests", about = "Perry documentation-example test harness")] | COMMENT |
| MEDIUM | crates/perry-ffi/src/handle.rs | 1019 | // value — robust to other tests churning the shared registry, but still | COMMENT |
| MEDIUM | crates/perry-ffi/src/handle.rs | 1051 | /// The bounded retry is what makes the reuse assertion both robust and | COMMENT |
| MEDIUM | …s/perry-codegen/src/collectors/int_valued_ta_locals.rs | 398 | /// such write establishes a number (robust to sub-expression evaluation | COMMENT |
| MEDIUM | crates/perry-codegen/src/expr/index_get.rs | 1349 | // unproven-bounds slow path through the JS-value getter (robust | COMMENT |
| MEDIUM | crates/perry-container-compose/src/backend/apple.rs | 462 | // on every field keeps the parser robust against shape drift. | COMMENT |
| MEDIUM | crates/perry-ui-android/src/widgets/text.rs | 350 | // by name to be robust. | COMMENT |
| MEDIUM | crates/perry-runtime/src/event_pump.rs | 778 | // 500 ms is robust and still an order of magnitude under the 1 s | COMMENT |
| MEDIUM | crates/perry-runtime/src/event_pump.rs | 900 | // so this upper bound is robust.) | COMMENT |
| MEDIUM | crates/perry-runtime/src/event_pump.rs | 908 | // alone tripped it under CI load; 200ms is robust and still catches an | COMMENT |
| MEDIUM | crates/perry-runtime/src/event_pump.rs | 963 | // robust and still well below any budget-blocking behavior. | COMMENT |
| MEDIUM | crates/perry-runtime/src/exception.rs | 705 | // the entry state so this is robust under `--test-threads=1` (shared TLS). | COMMENT |
| MEDIUM | crates/perry-runtime/src/exception.rs | 763 | // Relative to the entry depth so it's robust under shared TLS | COMMENT |
| MEDIUM | crates/perry-runtime/src/embedded.rs | 170 | /// on which normal array methods then dispatch — is the robust shape. Returns | COMMENT |
| MEDIUM | crates/perry-runtime/src/map.rs | 2656 | // registry check (GcHeader.obj_type fast-path + MAP_REGISTRY) is robust | COMMENT |
| MEDIUM | crates/perry-runtime/src/closure/dispatch/errors.rs | 11 | /// the single biggest leverage source of cascading parity-test failures | COMMENT |
| MEDIUM | crates/perry-runtime/src/json/replacer.rs | 208 | /// tag (robust object/array discrimination), with a structural fallback for | COMMENT |
| MEDIUM | crates/perry-runtime/src/json/replacer.rs | 1655 | // > MAX_FAST_DEPTH is robust to leftover entries from a prior panic | COMMENT |
| MEDIUM | crates/perry-runtime/src/object/map_set_subclass.rs | 18 | //! `field_get_set`). This is more robust than installing per-instance method | COMMENT |
| MEDIUM | …s/perry-runtime/src/object/class_registry/construct.rs | 1118 | // robust to `globalThis.Function` reassignment, unlike reading the mutable | COMMENT |
| MEDIUM | …ates/perry-runtime/src/object/global_this/generator.rs | 473 | /// global func_ptr table built at module-init) is robust under codegen-units and | COMMENT |
| MEDIUM | crates/perry-runtime/src/gc/tests/budgeted_step_api.rs | 186 | /// assertion robust regardless of scan mode.) | COMMENT |
| MEDIUM | …y-runtime/src/gc/tests/copying/weak_holder_registry.rs | 15 | //! in-place rekey), which is the robust production-and-test path. | COMMENT |
| MEDIUM | crates/perry-runtime/src/promise/rejection.rs | 317 | /// time.) This makes the detector robust to internal machinery (async | COMMENT |
| MEDIUM | crates/perry-runtime/src/promise/then.rs | 175 | // handling the rejection. Marking here is the robust catch-all for the | COMMENT |
| MEDIUM | crates/perry-ui-macos/src/widgets/pdf_view.rs | 11 | //! the viewer ships first since it's the higher-leverage piece. | COMMENT |
| MEDIUM | crates/perry/tests/const_array_descriptor_8583.rs | 206 | // Structural correctness (robust to the exact checksum, which the | COMMENT |
| MEDIUM | crates/perry/src/commands/compile/collect_modules.rs | 554 | // robust against this — user code lives under `project_root`, library | COMMENT |
| MEDIUM | …mmands/compile/resolve/declaration_map_source_tests.rs | 49 | /// Canonicalize the result so the assertion is robust both to the naming- | COMMENT |
| MEDIUM | crates/perry-hir/tests/shape_inference.rs | 796 | /// this depth) so the test stays robust on loaded CI while still failing loudly | COMMENT |
| MEDIUM | crates/perry-hir/src/lower/lower_module_fn.rs | 1746 | // #806 mixin harness (bare-factory section). | COMMENT |
| MEDIUM | crates/perry-ext-fastify/src/server.rs | 1021 | // defending here keeps us robust against future | COMMENT |
| MEDIUM | crates/perry-ui-windows/src/app.rs | 1213 | // #[link] so the cargo-test harness link resolves too | COMMENT |
| MEDIUM | crates/perry-ext-fetch/src/test_link_stubs.rs | 30 | //! `#[cfg(test)]` is compiled only into the test harness, never into | COMMENT |
| MEDIUM | tests/test_issue_5056_events_abort_exit.sh | 7 | # The node-suite parity harness compares stdout but a hang only shows up as a | COMMENT |
| MEDIUM⚡ | tests/test_gc_ratchet.py | 1298 | # change the process the harness runs. | COMMENT |
| MEDIUM | tests/test_gc_ratchet.py | 1246 | #: delivery testable: if the harness merely *recorded* `run_env` without passing | STRING |
| MEDIUM | tests/test_gc_ratchet.py | 1266 | #: while carrying a line the harness reads as TypeScript. | STRING |
| MEDIUM | tests/release/packages/_harness.sh | 11 | # (the harness counts SKIP separately from PASS/FAIL — they're not | COMMENT |
| MEDIUM | tests/release/packages/_fixture_lib.sh | 15 | # Mark this fixture as SKIP. The harness reads the .last-skip | COMMENT |
| MEDIUM | tests/release/packages/_fixture_lib.sh | 50 | # don't cleanly exit; the harness should not deadlock the whole sweep). | COMMENT |
| MEDIUM | tests/release/packages/nestjs-hello/fixture.sh | 16 | # reports SKIP with the wall as the reason (so the release harness records | COMMENT |
| MEDIUM | tests/release/packages/nestjs-hello/fixture.sh | 41 | # the release harness records the gap without blocking. Remove | COMMENT |
| MEDIUM | tests/release/packages/fastify-replay/fixture.sh | 30 | # Run the existing harness; capture its summary. | COMMENT |
| MEDIUM | examples/container/multi-service/main.ts | 69 | // spec robust. | COMMENT |
| MEDIUM | benchmarks/benchmark_gate.py | 426 | # use three robust sigma estimates (MAD × 1.4826) from this benchmark's own | COMMENT |
| 372 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | types/perry/ui/index.d.ts | 1240 | export function scrollviewSetScrollEndCallback(scrollView: Widget, onScrollEnd: () => void, thresholdPx: number): void; | CODE |
| LOW⚡ | types/perry/ui/index.d.ts | 1241 | export function scrollViewSetScrollEndCallback(scrollView: Widget, onScrollEnd: () => void, thresholdPx: number): void; | CODE |
| LOW⚡ | types/perry/ui/index.d.ts | 1250 | export function lazyvstackSetRefreshControl(view: Widget, onPull: () => void): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 866 | export function buttonSetContentTintColor(widget: Widget, r: number, g: number, b: number, a: number): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 884 | export function widgetSetBackgroundGradient( | CODE |
| LOW | types/perry/ui/index.d.ts | 973 | export function datePickerGetSelectedDate(widget: Widget): string; | CODE |
| LOW | types/perry/ui/index.d.ts | 1184 | export function textfieldSetBackgroundColor(widget: Widget, r: number, g: number, b: number, a: number): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1223 | export function scrollviewSetRefreshControl(scrollView: Widget, onPull: () => void): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1224 | export function scrollViewSetRefreshControl(scrollView: Widget, onPull: () => void): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1261 | export function lazyvstackSetScrollEndCallback(view: Widget, onScrollEnd: () => void, thresholdItems: number): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1308 | export function bottomNavSetUnselectedTintColor( | CODE |
| LOW | types/perry/ui/index.d.ts | 1518 | export function tableSetAllowsMultipleSelection(table: Widget, allow: number): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1521 | export function tableGetSelectedRowsCount(table: Widget): number; | CODE |
| LOW | types/perry/ui/index.d.ts | 1603 | export function cameraRegisterFrameCallback(camera: Widget, callback: (frameData: Uint8Array, width: number, height: num | CODE |
| LOW | types/perry/ui/index.d.ts | 1606 | export function cameraUnregisterFrameCallback(camera: Widget): void; | CODE |
| LOW | types/perry/ios/index.d.ts | 70 | export function foundationModelAvailability(): FoundationModelAvailability; | CODE |
| LOW | types/perry/ios/index.d.ts | 78 | export function createLanguageModelSession( | CODE |
| LOW | types/perry/ios/index.d.ts | 89 | export function destroyLanguageModelSession( | CODE |
| LOW | types/perry/system/index.d.ts | 217 | export function notificationRegisterRemote(onToken: (token: string) => void): void; | CODE |
| LOW | types/perry/system/index.d.ts | 248 | export function notificationOnBackgroundReceive( | CODE |
| LOW | types/perry/system/index.d.ts | 404 | export function geolocationRequestPermission( | CODE |
| LOW⚡ | tests/test_copied_minor_fallback_report.py | 218 | def test_strict_mode_fails_copy_only_roots(self): | CODE |
| LOW⚡ | tests/test_copied_minor_fallback_report.py | 228 | def test_strict_mode_fails_conservative_stack(self): | CODE |
| LOW⚡ | tests/test_copied_minor_fallback_report.py | 238 | def test_strict_mode_fails_conservative_pinned_bytes(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 130 | def native_stack_root_sources(): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 251 | def test_strict_mode_fails_compiled_frame_pinned_bytes(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 267 | def test_strict_mode_fails_truncated_or_unbounded_conservative_stack(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 282 | def test_strict_mode_fails_unattributed_root_emissions(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 301 | def test_strict_mode_fails_copy_only_young_and_malloc_emissions(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 324 | def test_strict_mode_fails_ineligible_cycles(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 337 | def test_strict_mode_fails_legacy_copy_only_pinned_bytes(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 350 | def test_strict_mode_fails_malloc_registry_rebuilds(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 363 | def test_strict_mode_fails_forbidden_promise_malloc_kind(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 381 | def test_strict_mode_requires_a_default_safe_workload(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 390 | def test_strict_mode_passes_default_safe_workloads_with_no_fallback(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 404 | def test_strict_mode_requires_mutable_or_shadow_root_source_evidence(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 415 | def test_strict_mode_fails_missing_root_sources(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 424 | def test_strict_mode_requires_native_attribution_for_conservative_stack(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 441 | def test_non_strict_mode_permits_known_fallback_reasons_for_reporting(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 481 | def test_target_gates_fail_forbidden_string_and_closure_malloc_kinds(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 515 | def test_target_gates_ignore_non_forbidden_malloc_kinds(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 537 | def test_target_gates_honor_documented_malloc_kind_allowances(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 565 | def test_target_gates_allow_async_forced_evacuation_fallback_trace(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 602 | def test_target_gates_require_old_page_reuse_pool_or_return(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 617 | def test_target_gates_accept_old_page_reuse_pool_or_return(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 274 | def test_eligible_lines_do_not_count_as_cycles(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 283 | def test_shipped_tolerances_parse_and_cover_every_metric(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 288 | def test_every_tolerance_states_a_rationale(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 297 | def test_profile_with_nothing_gating_is_rejected(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 305 | def test_rationale_may_not_be_blank(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 311 | def test_gc_counters_are_two_sided(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 323 | def test_identical_measurement_passes(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 330 | def test_change_inside_the_band_passes(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 337 | def test_noisy_wall_time_does_not_fail_shared_ci(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 343 | def test_memory_growth_does_not_fail_shared_ci(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 351 | def test_retention_regression_fails(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 357 | def test_one_falsely_retained_nursery_block_fails(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 365 | def test_evacuation_collapse_fails_even_though_it_is_a_decrease(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 373 | def test_reclaiming_less_fails(self): | CODE |
| LOW⚡ | tests/test_gc_ratchet.py | 379 | def test_a_probe_that_stopped_collecting_fails(self): | CODE |
| 458 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_gc_ratchet.py | 12 | CODE | |
| LOW | docs/scripts/i18n_extract_todo.py | 11 | CODE | |
| LOW | benchmarks/benchmark_gate.py | 4 | CODE | |
| LOW | benchmarks/public_baseline.py | 4 | CODE | |
| LOW | benchmarks/verify_benchmark_output.py | 9 | CODE | |
| LOW | benchmarks/ci_public_baseline_check.py | 22 | CODE | |
| LOW | benchmarks/honest_bench/harness/check_output.py | 16 | CODE | |
| LOW | benchmarks/honest_bench/scripts/plot.py | 8 | CODE | |
| LOW | benchmarks/honest_bench/scripts/gen_image.py | 7 | CODE | |
| LOW | benchmarks/honest_bench/scripts/gen_image.py | 8 | CODE | |
| LOW | benchmarks/honest_bench/scripts/gen_json.py | 11 | CODE | |
| LOW | benchmarks/honest_bench/scripts/report.py | 14 | CODE | |
| LOW | benchmarks/honest_bench/scripts/report.py | 16 | CODE | |
| LOW | benchmarks/object-write-6812/run_matrix.py | 4 | CODE | |
| LOW | benchmarks/gc_ratchet/gc_ratchet.py | 71 | CODE | |
| LOW | scripts/binding_governance.py | 4 | CODE | |
| LOW | scripts/parity_matrix_trend.py | 11 | CODE | |
| LOW | scripts/ci_cargo_test_shard.py | 16 | CODE | |
| LOW | scripts/global_sink_isolation.py | 49 | CODE | |
| LOW | scripts/ci_plan.py | 61 | CODE | |
| LOW | scripts/reap_stale_ci_runs.py | 43 | CODE | |
| LOW | scripts/check_npm_publish_freshness.py | 58 | CODE | |
| LOW | scripts/addr_class_inventory.py | 31 | CODE | |
| LOW | scripts/shape_descriptor_census.py | 9 | CODE | |
| LOW | scripts/gen_parity_gaps.py | 30 | CODE | |
| LOW | scripts/statepoint_report_assert.py | 36 | CODE | |
| LOW | scripts/check_docs.py | 9 | CODE | |
| LOW | scripts/gap_snapshot.py | 41 | CODE | |
| LOW | scripts/gc_rekeyed_key_tables.py | 101 | CODE | |
| LOW | scripts/check_gate_freshness.py | 42 | CODE | |
| LOW | scripts/parity_report_merge.py | 35 | CODE | |
| LOW | scripts/check_test_registration.py | 66 | CODE | |
| LOW | scripts/string_payload_access_inventory.py | 22 | CODE | |
| LOW | scripts/gc_1090_evidence_report.py | 4 | CODE | |
| LOW | scripts/gc_pin_sites.py | 76 | CODE | |
| LOW | scripts/tls_budget_check.py | 40 | CODE | |
| LOW | scripts/perf_frontier_report.py | 4 | CODE | |
| LOW | scripts/compiler_output_regression.py | 4 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 11 | CODE | |
| LOW | scripts/compiler_output_regression.py | 34 | CODE | |
| 80 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Cargo.toml | 148 | # WinUI scaffold (#4680): re-exports perry-ui-windows; the staticlib bundles | COMMENT |
| MEDIUM | crates/perry-codegen/src/collectors/cjs_scaffolding.rs | 999 | /// Red before #7139, green after: the CommonJS scaffolding no longer | COMMENT |
| MEDIUM | …perry-codegen/src/collectors/scalar_method_dispatch.rs | 486 | // #7139: resolve the CommonJS wrap's `exports` / `require` scaffolding | COMMENT |
| MEDIUM | …y-codegen/src/collectors/ptr_shape_opt_report_tests.rs | 708 | /// PR #7171 measured the consequence directly: suppressing 379 scaffolding | COMMENT |
| MEDIUM | …/src/lower_call/native_table/node_core/inspector_vm.rs | 302 | // ========== Node vm scaffold ========== | COMMENT |
| MEDIUM | …/src/lower_call/native_table/node_core/inspector_vm.rs | 306 | // shape-only scaffold (#4079) plus measureMemory validation (#4087). | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer/tests_inline.rs | 39 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer/tests_inline.rs | 47 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer/tests_inline.rs | 61 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer/tests_inline.rs | 82 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer/tests_inline.rs | 175 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/gc/trace.rs | 829 | #[allow(dead_code)] // test scaffolding: exercised only by gc::tests::layout_trace under cfg(test) | COMMENT |
| MEDIUM | crates/perry-runtime/src/gc/mod.rs | 779 | #[allow(dead_code)] // test scaffolding: used only by ScopedRootScannerRegistryGuard under cfg(test) | COMMENT |
| MEDIUM | crates/perry-runtime/src/gc/roots/scan_mode.rs | 71 | #[allow(dead_code)] // test-only scaffolding: GC unit tests (gc/tests) pin the scan mode via this override | COMMENT |
| MEDIUM | crates/perry-api-manifest/src/entries.rs | 171 | // MVP scaffold: bundled wrapper at `crates/perry-ext-ads` | COMMENT |
| MEDIUM | crates/perry-api-manifest/src/entries/part_4.rs | 70 | // --- node:vm scaffold (#3127/#3128/#3130/#3284/#3321/#3323) --- | COMMENT |
| MEDIUM | crates/perry/well_known_bindings.toml | 601 | # (iOS via SwiftPM, Android via play-services-ads). MVP scaffold: | COMMENT |
| MEDIUM | crates/perry/tests/issue_5835_zero_arg_function_ctor.rs | 10 | //! uses `new Function()` as a settable-prototype scaffold for | COMMENT |
| MEDIUM | crates/perry/src/main.rs | 178 | /// `perry native init <name>` — scaffold a new wrapper package. | COMMENT |
| MEDIUM | crates/perry/src/main.rs | 187 | /// `perry widget init <name>` — scaffold a SwiftUI WidgetKit source | COMMENT |
| MEDIUM | crates/perry/src/commands/widget.rs | 1 | //! `perry widget init <name>` — scaffold a WidgetKit (SwiftUI) source tree. | COMMENT |
| MEDIUM | crates/perry/src/commands/widget.rs | 192 | /// content (text body, sample data, timeline cadence) — the scaffold just | COMMENT |
| MEDIUM | crates/perry/src/commands/init.rs | 46 | // scaffold as a publishable package, and `main` mirrors perry.toml's `entry`. | COMMENT |
| MEDIUM | crates/perry/src/commands/native/init.rs | 1 | //! `perry native init <name>` — scaffold a new native-bindings package. | COMMENT |
| MEDIUM | crates/perry-hir/src/dynamic_import/tests.rs | 967 | /// #6304 test scaffolding: a module that DEFINES `name` as an exported | COMMENT |
| MEDIUM | crates/perry-hir/src/lower/const_fold_fn.rs | 377 | // scaffold for `Reflect.construct` began throwing). Gate the refusal on | COMMENT |
| MEDIUM | crates/perry-hir/src/lower/lowering_context.rs | 220 | /// `FuncRef`-targeted generic calls (issue #321 scaffolding) but does | COMMENT |
| MEDIUM | crates/perry-ext-zlib/src/stream.rs | 449 | #[allow(dead_code)] // test scaffolding: default-level wrapper used only by the cfg(test) streaming tests | COMMENT |
| MEDIUM | crates/perry-stdlib/Cargo.toml | 355 | # delegates orchestration to `ComposeEngine` / `ContainerBackend`. | COMMENT |
| MEDIUM | scripts/release_sweep.sh | 2 | # release_sweep.sh — orchestrate a full pre-release test sweep. | COMMENT |
| MEDIUM | scripts/node_core_subset.py | 659 | # Stage shared scaffolding: common/ (shim) + fixtures symlink. | COMMENT |
| MEDIUM | scripts/test262_subset.py | 131 | # NB: Atomics/SharedArrayBuffer are now in scope (#4794). The agent-based cases | COMMENT |
| MEDIUM | scripts/release_sweep_tiers/tier11_windows_smoke.sh | 6 | # a clean exit. The actual orchestration (Start-Process / WaitForExit / | COMMENT |
| MEDIUM | gc-handoff/REALM-NOTES.md | 111 | ## The multi-agent probe | COMMENT |
| MEDIUM | test-files/gc-dep-corpus-jitless/main.ts | 25 | // The #7280 library-only control: twenty lines of stock zod, no scaffolding. | COMMENT |
| MEDIUM | test-files/gc-dep-corpus/main.ts | 13 | // The #7280 library-only control: twenty lines of stock zod, no scaffolding. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/perry-codegen/src/linker.rs | 1745 | // Step 1: llvm-as each .ll → .bc | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 1768 | // Step 2: llvm-link all bitcode into one module. | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 1798 | // Step 3: opt -O3 | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 1816 | // Step 4: llc -filetype=obj → .o | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 163 | // Step 1: set of ids declared in this scope (Let). | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 167 | // Step 2: set of ids referenced inside ANY closure body found in | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 174 | // Step 3: set of ids MUTATED in the enclosing scope (outside any | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 181 | // Step 4: ids declared in a `for` loop init (the `for (let i = ...; | COMMENT |
| LOW | crates/perry-codegen/src/boxed_vars.rs | 196 | // Step 5: detect self-recursive closures. When a Stmt::Let has a | COMMENT |
| LOW⚡ | crates/perry-codegen/src/stmt/let_stmt.rs | 1284 | // Step 2: register BEFORE lowering init. | COMMENT |
| LOW⚡ | crates/perry-codegen/src/stmt/let_stmt.rs | 1288 | // Step 3: lower init and store into the box. | COMMENT |
| LOW | crates/perry-codegen/src/stmt/let_stmt.rs | 1257 | // Step 1: allocate box with undefined sentinel bits. | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 793 | // Step 1: walk parent chain for the static method name. | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 806 | // Step 2: collect overriding subclasses. For each | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 1624 | // Step 4: virtual dispatch via class_id switch. | COMMENT |
| LOW | crates/perry-runtime/src/closure/dispatch/value_call.rs | 14 | /// NOTE: This function is named js_native_call_value to avoid symbol collision | COMMENT |
| LOW | crates/perry-runtime/src/array/from_concat.rs | 725 | // Step 5: iterable. Construct the result BEFORE creating the iterator | COMMENT |
| LOW | crates/perry-runtime/src/object/native_call_method.rs | 470 | /// NOTE: This function is named js_native_call_method to avoid symbol collision | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 143 | // Step 3: if the primitive is a Number and is not finite, return null. | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 157 | // Step 4: Invoke(this, "toISOString"). For a real Date, dispatch straight | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 228 | // Step 1: brand-check `Type(O) is Object` (throws for undefined/null/86/''/true). | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 252 | // Step 5: OrdinaryToPrimitive(O, tryFirst). | COMMENT |
| LOW | …ry-runtime/src/object/object_ops/descriptor_helpers.rs | 666 | // Step 4: a non-configurable property cannot be made configurable, and its | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1077 | // Step 1: Get(receiver, "constructor") — getter throws → propagate via longjmp. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1086 | // Step 2: undefined → use intrinsic %Promise%. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1091 | // Step 3: Type(C) not Object → TypeError. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1096 | // Step 4: S = Get(C, @@species) — getter throws → propagate. A user | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1138 | // Step 6: IsConstructor(S) → return S. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1143 | // Step 7: throw TypeError. | COMMENT |
| LOW | crates/perry-runtime/src/string/slice_ops.rs | 134 | // Step 4: ToIntegerOrInfinity(start), observed FIRST. ±Infinity clamps to | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/slice_ops.rs | 145 | // Step 8: an `undefined` length means the rest of the string (`size`); | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/slice_ops.rs | 152 | // Step 9: clamp the length into [0, size]. Step 10: end = min(start+len, size). | COMMENT |
| LOW | crates/perry-runtime/src/string/split.rs | 590 | // Step 2: a separator with a `[Symbol.split]` method (a RegExp) takes over. | COMMENT |
| LOW | crates/perry-runtime/src/string/split.rs | 618 | // Step 6: lim = limit===undefined ? 2^32-1 : ToUint32(limit) (may throw). | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 629 | // Step 7: R = ToString(separator) (may throw). For `undefined` the result | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 639 | // Step 8: limit 0 → empty array. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 643 | // Step 9: undefined separator → [S]. | COMMENT |
| LOW | crates/perry-runtime/src/buffer/from.rs | 896 | // Step 2: Type(buffer) must be Object holding [[ArrayBufferData]]. | COMMENT |
| LOW | crates/perry-runtime/src/buffer/from.rs | 917 | // Step 9: offset must not exceed the backing buffer's byteLength. | COMMENT |
| LOW | crates/perry/src/commands/run/resign.rs | 42 | // Step 1: Find or create a development provisioning profile | COMMENT |
| LOW | crates/perry/src/commands/run/resign.rs | 75 | // Step 2: Embed the profile and code-sign for development. | COMMENT |
| LOW | crates/perry-ui-windows/src/widgets/webview.rs | 384 | // Step 2: create controller bound to host_hwnd. | COMMENT |
| LOW⚡ | docs/examples/runtime/thread_snippets.ts | 583 | // Step 1: Filter to relevant items (parallel) | COMMENT |
| LOW⚡ | docs/examples/runtime/thread_snippets.ts | 586 | // Step 2: Transform the filtered results (parallel) | COMMENT |
| LOW | docs/history/PERRY_UI_IMPLEMENTATION.md | 45 | ## Step 1: Create Crate Structure | COMMENT |
| LOW | docs/history/PERRY_UI_IMPLEMENTATION.md | 324 | ## Step 2: Compiler Integration | COMMENT |
| LOW | docs/history/PERRY_UI_IMPLEMENTATION.md | 421 | ## Step 3: Tree-Shaking | COMMENT |
| LOW | docs/history/PERRY_UI_IMPLEMENTATION.md | 464 | ## Step 4: Implementation Order | COMMENT |
| LOW | docs/src/plugins/creating-plugins.md | 7 | ## Step 1: Write the Plugin | COMMENT |
| LOW | docs/src/plugins/creating-plugins.md | 13 | ## Step 2: Compile as Shared Library | COMMENT |
| LOW | docs/src/plugins/creating-plugins.md | 27 | ## Step 3: Load from Host | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | crates/perry-wasm-host/src/lib.rs | 109 | for export in inst.inner._module.0.module.exports() { | CODE |
| CRITICAL | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1646 | val mapView = com.google.android.gms.maps.MapView(activity) | CODE |
| CRITICAL⚡ | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1689 | val pos = com.google.android.gms.maps.model.CameraPosition.Builder() | CODE |
| CRITICAL⚡ | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1690 | .target(com.google.android.gms.maps.model.LatLng(latitude, longitude)) | CODE |
| CRITICAL⚡ | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1694 | com.google.android.gms.maps.CameraUpdateFactory.newCameraPosition(pos) | CODE |
| CRITICAL | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1707 | val opts = com.google.android.gms.maps.model.MarkerOptions() | CODE |
| CRITICAL | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1708 | .position(com.google.android.gms.maps.model.LatLng(latitude, longitude)) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_copied_minor_fallback_report.py | 181 | CODE | |
| LOW | tests/test_compiler_output_regression.py | 2075 | CODE | |
| LOW | tests/test_benchmark_gate.py | 469 | CODE | |
| LOW | benchmarks/benchmark_gate.py | 107 | CODE | |
| LOW | benchmarks/benchmark_gate.py | 268 | CODE | |
| LOW | benchmarks/benchmark_gate.py | 573 | CODE | |
| LOW | benchmarks/gc_ratchet/gc_ratchet.py | 287 | CODE | |
| LOW | benchmarks/gc_ratchet/gc_ratchet.py | 460 | CODE | |
| LOW | benchmarks/gc_ratchet/gc_ratchet.py | 683 | CODE | |
| LOW | benchmarks/gc_ratchet/gc_ratchet.py | 788 | CODE | |
| LOW | benchmarks/gc_ratchet/gc_ratchet.py | 1291 | CODE | |
| LOW | benchmarks/gc_ratchet/gc_ratchet.py | 1691 | CODE | |
| LOW | benchmarks/gc_ratchet/gc_ratchet.py | 2100 | CODE | |
| LOW | scripts/global_sink_isolation.py | 108 | CODE | |
| LOW | scripts/global_sink_isolation.py | 176 | CODE | |
| LOW | scripts/ci_plan.py | 278 | CODE | |
| LOW | scripts/check_npm_publish_freshness.py | 293 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 211 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 342 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 419 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 688 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 894 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 913 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 1383 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 1412 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 1512 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 1621 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 2020 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 2365 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 2465 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 2912 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 3518 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 3610 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 3791 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 4007 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 4322 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 4692 | CODE | |
| LOW | scripts/gc_root_dominance_check.py | 5464 | CODE | |
| LOW | scripts/shape_descriptor_census.py | 45 | CODE | |
| LOW | scripts/shape_descriptor_census.py | 134 | CODE | |
| LOW | scripts/shape_descriptor_census.py | 191 | CODE | |
| LOW | scripts/gen_parity_gaps.py | 87 | CODE | |
| LOW | scripts/statepoint_report_assert.py | 57 | CODE | |
| LOW | scripts/check_docs.py | 40 | CODE | |
| LOW | scripts/check_docs.py | 108 | CODE | |
| LOW | scripts/gc_rekeyed_key_tables.py | 156 | CODE | |
| LOW | scripts/gc_rekeyed_key_tables.py | 211 | CODE | |
| LOW | scripts/parity_report_merge.py | 63 | CODE | |
| LOW | scripts/check_test_registration.py | 189 | CODE | |
| LOW | scripts/string_payload_access_inventory.py | 62 | CODE | |
| LOW | scripts/string_payload_access_inventory.py | 157 | CODE | |
| LOW | scripts/string_payload_access_inventory.py | 394 | CODE | |
| LOW | scripts/gc_1090_evidence_report.py | 177 | CODE | |
| LOW | scripts/gc_1090_evidence_report.py | 710 | CODE | |
| LOW | scripts/gc_1090_evidence_report.py | 752 | CODE | |
| LOW | scripts/gc_1090_evidence_report.py | 777 | CODE | |
| LOW | scripts/gc_1090_evidence_report.py | 1274 | CODE | |
| LOW | scripts/gc_pin_sites.py | 198 | CODE | |
| LOW | scripts/perf_frontier_report.py | 166 | CODE | |
| LOW | scripts/perf_frontier_report.py | 633 | CODE | |
| 41 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/perry-codegen/src/linker.rs | 1745 | // Step 1: llvm-as each .ll → .bc | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 1768 | // Step 2: llvm-link all bitcode into one module. | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 1798 | // Step 3: opt -O3 | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 1816 | // Step 4: llc -filetype=obj → .o | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 163 | // Step 1: set of ids declared in this scope (Let). | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 167 | // Step 2: set of ids referenced inside ANY closure body found in | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 174 | // Step 3: set of ids MUTATED in the enclosing scope (outside any | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 181 | // Step 4: ids declared in a `for` loop init (the `for (let i = ...; | COMMENT |
| LOW | crates/perry-codegen/src/boxed_vars.rs | 196 | // Step 5: detect self-recursive closures. When a Stmt::Let has a | COMMENT |
| LOW⚡ | crates/perry-codegen/src/stmt/let_stmt.rs | 1284 | // Step 2: register BEFORE lowering init. | COMMENT |
| LOW⚡ | crates/perry-codegen/src/stmt/let_stmt.rs | 1288 | // Step 3: lower init and store into the box. | COMMENT |
| LOW | crates/perry-codegen/src/stmt/let_stmt.rs | 1257 | // Step 1: allocate box with undefined sentinel bits. | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 793 | // Step 1: walk parent chain for the static method name. | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 806 | // Step 2: collect overriding subclasses. For each | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 1624 | // Step 4: virtual dispatch via class_id switch. | COMMENT |
| LOW | crates/perry-runtime/src/array/from_concat.rs | 725 | // Step 5: iterable. Construct the result BEFORE creating the iterator | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 143 | // Step 3: if the primitive is a Number and is not finite, return null. | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 157 | // Step 4: Invoke(this, "toISOString"). For a real Date, dispatch straight | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 228 | // Step 1: brand-check `Type(O) is Object` (throws for undefined/null/86/''/true). | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 252 | // Step 5: OrdinaryToPrimitive(O, tryFirst). | COMMENT |
| LOW | …ry-runtime/src/object/object_ops/descriptor_helpers.rs | 666 | // Step 4: a non-configurable property cannot be made configurable, and its | COMMENT |
| LOW | …perry-runtime/src/object/global_this/bigint_promise.rs | 298 | // Step 1: `bits = ? ToIndex(bits)`. ToIndex = ToIntegerOrInfinity(ToNumber) | COMMENT |
| LOW | …perry-runtime/src/object/global_this/bigint_promise.rs | 314 | // Step 2: `bigint = ? ToBigInt(bigint)`. ToBigInt coerces BigInt / Boolean / | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1077 | // Step 1: Get(receiver, "constructor") — getter throws → propagate via longjmp. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1086 | // Step 2: undefined → use intrinsic %Promise%. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1091 | // Step 3: Type(C) not Object → TypeError. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1096 | // Step 4: S = Get(C, @@species) — getter throws → propagate. A user | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1138 | // Step 6: IsConstructor(S) → return S. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1143 | // Step 7: throw TypeError. | COMMENT |
| LOW | crates/perry-runtime/src/promise/then.rs | 1111 | // Step 5: `null` species → spec default (%Promise%). | COMMENT |
| LOW | crates/perry-runtime/src/string/slice_ops.rs | 134 | // Step 4: ToIntegerOrInfinity(start), observed FIRST. ±Infinity clamps to | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/slice_ops.rs | 145 | // Step 8: an `undefined` length means the rest of the string (`size`); | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/slice_ops.rs | 152 | // Step 9: clamp the length into [0, size]. Step 10: end = min(start+len, size). | COMMENT |
| LOW | crates/perry-runtime/src/string/split.rs | 590 | // Step 2: a separator with a `[Symbol.split]` method (a RegExp) takes over. | COMMENT |
| LOW | crates/perry-runtime/src/string/split.rs | 618 | // Step 6: lim = limit===undefined ? 2^32-1 : ToUint32(limit) (may throw). | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 629 | // Step 7: R = ToString(separator) (may throw). For `undefined` the result | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 639 | // Step 8: limit 0 → empty array. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 643 | // Step 9: undefined separator → [S]. | COMMENT |
| LOW | crates/perry-runtime/src/buffer/from.rs | 896 | // Step 2: Type(buffer) must be Object holding [[ArrayBufferData]]. | COMMENT |
| LOW | crates/perry-runtime/src/buffer/from.rs | 917 | // Step 9: offset must not exceed the backing buffer's byteLength. | COMMENT |
| LOW | crates/perry/src/commands/run/resign.rs | 42 | // Step 1: Find or create a development provisioning profile | COMMENT |
| LOW | crates/perry/src/commands/run/resign.rs | 75 | // Step 2: Embed the profile and code-sign for development. | COMMENT |
| LOW | crates/perry-ui-windows/src/widgets/webview.rs | 384 | // Step 2: create controller bound to host_hwnd. | COMMENT |
| LOW⚡ | docs/examples/runtime/thread_snippets.ts | 583 | // Step 1: Filter to relevant items (parallel) | COMMENT |
| LOW⚡ | docs/examples/runtime/thread_snippets.ts | 586 | // Step 2: Transform the filtered results (parallel) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmarks/honest_bench/harness/check_output.py | 6 | {"output_match": true|false|null, "output_match_reason": "..."} | STRING |
| HIGH | scripts/addr_class_inventory.py | 376 | "} else if top16 == 0 && bits >= 0x1000 {\n", | CODE |
| HIGH | scripts/addr_class_inventory.py | 615 | "raw > 0 && crate::value::addr_class::is_above_handle_band(raw as usize)\n", | CODE |
| HIGH | scripts/shape_descriptor_census.py | 353 | "descriptor rooting is not gated on `old_carrier || cache_carrier`: " | STRING |
| HIGH | scripts/shape_descriptor_census.py | 744 | "let moved = if descriptor.old_carrier || descriptor.cache_carrier {", | STRING |
| HIGH | scripts/node_suite_run.py | 5 | `perry <t> -o out && out`, then compare stdout (trailing whitespace ignored). | STRING |
| HIGH | scripts/node_core_subset.py | 581 | f"test/fixtures && git checkout)", file=sys.stderr) | CODE |
| HIGH | scripts/gc_store_site_inventory.py | 1338 | " if cached == usize::MAX || cached == 0 {", | CODE |
| HIGH | scripts/check_llvm_corpus_currency.py | 80 | r"^\s*store ptr addrspace\(\d+\) null,", | CODE |
| HIGH | scripts/check_llvm_corpus_currency.py | 176 | " store ptr addrspace(1) null, ptr %r1\n" | CODE |
| HIGH | scripts/gc_gate_wiring_check.py | 405 | run: ./scripts/flaky.sh || true | CODE |
| HIGH | scripts/gc_gate_wiring_check.py | 463 | CLEAN.replace(" run: ./scripts/thing.sh", " run: ./scripts/thing.sh || true"), | STRING |
| HIGH | scripts/gc_gate_wiring_check.py | 471 | CLEAN.replace(" - name: run it\n run: ./scripts/thing.sh", " - run: ./scripts/thing.sh || true" | STRING |
| HIGH | scripts/gc_gate_wiring_check.py | 540 | " group: x-${{ github.event_name == 'push' && github.sha || github.ref }}", | STRING |
| HIGH | scripts/gc_gate_wiring_check.py | 550 | " group: x-${{ github.event_name == 'pull_request' && github.ref || github.run_id }}", | STRING |
| HIGH⚡ | test-files/multi/test_harness_init_scale/generate.py | 38 | // must be a string (not 0, undefined, or a NaN-box leak). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | parity_status.sh | 10 | # Usage: | COMMENT |
| LOW⚡ | run_module_parity.sh | 8 | # Usage: | COMMENT |
| LOW | tests/release/packages/_harness.sh | 15 | # Usage: | COMMENT |
| LOW | docs/i18n.sh | 4 | # Usage: | COMMENT |
| LOW | benchmarks/compare.sh | 7 | # Usage: | COMMENT |
| LOW | benchmarks/honest_bench/harness/run_http_bench.sh | 7 | # Usage: | COMMENT |
| LOW | benchmarks/honest_bench/harness/run_bench.sh | 7 | # Usage: | COMMENT |
| LOW | benchmarks/app-patterns/run.sh | 14 | # Usage: | COMMENT |
| LOW | benchmarks/gc_ratchet/run_gc_ratchet_baseline.sh | 13 | # Usage: | COMMENT |
| LOW | scripts/pre-tag-check.sh | 35 | # Usage: | COMMENT |
| LOW | scripts/run_thread_tests.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/smoke_updater.sh | 15 | # Usage: | COMMENT |
| LOW | scripts/auto_opt_app_patterns.sh | 34 | # Usage: | COMMENT |
| LOW | scripts/release_sweep.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/run_ui_styling_matrix.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/run_visual_test_check.sh | 22 | # Usage: | COMMENT |
| LOW | scripts/run_simctl_tests.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/gc_schedule_fuzz.sh | 28 | # Usage: | COMMENT |
| LOW | scripts/gc_repsel_matrix.sh | 69 | # Usage: | COMMENT |
| LOW | scripts/run_fastify_tests.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/run_lint_gates.sh | 33 | # Usage: | COMMENT |
| LOW | scripts/refresh_llvm_inprocess_corpora.sh | 21 | # Usage: | COMMENT |
| LOW | scripts/stage-npm.sh | 9 | # Usage: | COMMENT |
| LOW | test-files/run_test_issue_1293.sh | 7 | # Usage: | COMMENT |
| LOW | test-files/run_test_issue_1240.sh | 6 | # Usage: | COMMENT |
| LOW | test-files/run_test_issue_1088.sh | 6 | # Usage: | COMMENT |
| LOW | test-files/run_test_issue_1193.sh | 5 | # Usage: | COMMENT |
| LOW | test-files/run_test_issue_1120.sh | 6 | # Usage: | COMMENT |
| LOW | test-files/run_test_issue_1124.sh | 5 | # Usage: | COMMENT |
| LOW | test-coverage/audit.sh | 8 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/scripts/i18n_merge_translations.py | 35 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | benchmarks/honest_bench/run.sh | 56 | except Exception: | CODE |
| LOW | benchmarks/honest_bench/run.sh | 313 | except Exception: pass | CODE |
| MEDIUM | benchmarks/honest_bench/run.sh | 52 | def run(cmd): | CODE |
| LOW | benchmarks/honest_bench/harness/run_bench.sh | 144 | except Exception as e: | CODE |
| LOW | scripts/ci_ext_link_scope.py | 168 | except Exception: | CODE |
| LOW | scripts/native_abi_evidence_report.py | 374 | except Exception: | CODE |
| LOW | scripts/node_suite_run.py | 106 | except Exception: | CODE |
| LOW | scripts/node_suite_run.py | 123 | except Exception: | CODE |
| LOW | scripts/node_suite_run.py | 141 | except Exception: | CODE |
| LOW | scripts/perf_frontier_gate.sh | 223 | except Exception as exc: | CODE |
| MEDIUM | scripts/perf_frontier_gate.sh | 220 | def run(cmd): | CODE |
| LOW | scripts/gc_1090_evidence_packet.sh | 162 | except Exception as exc: | CODE |
| LOW | scripts/gc_1090_evidence_packet.sh | 582 | except Exception: | CODE |
| LOW | scripts/gc_1090_evidence_packet.sh | 589 | except Exception: | CODE |
| LOW | scripts/gc_1090_evidence_packet.sh | 603 | except Exception: | CODE |
| LOW | scripts/gc_1090_evidence_packet.sh | 641 | except Exception: | CODE |
| LOW | scripts/gc_1090_evidence_packet.sh | 655 | except Exception: | CODE |
| LOW | scripts/gc_1090_evidence_packet.sh | 682 | except Exception: | CODE |
| LOW | scripts/gc_1090_evidence_packet.sh | 728 | except Exception: | CODE |
| MEDIUM | scripts/gc_1090_evidence_packet.sh | 159 | def run(cmd): | CODE |
| MEDIUM | scripts/gc_1090_evidence_packet.sh | 579 | def read_json(path, default): | CODE |
| MEDIUM | scripts/gc_1090_evidence_packet.sh | 586 | def read_exit(path): | CODE |
| MEDIUM | scripts/gc_1090_evidence_packet.sh | 638 | def parse_peak_rss_kb(path): | CODE |
| MEDIUM | scripts/gc_1090_evidence_packet.sh | 652 | def parse_peak_footprint_kb(path): | CODE |
| LOW | scripts/native_abi_evidence_packet.sh | 200 | except Exception as exc: | CODE |
| MEDIUM | scripts/native_abi_evidence_packet.sh | 197 | def run(cmd): | CODE |
| LOW | scripts/compiler_output_harness/capture.py | 103 | except Exception as exc: # pragma: no cover - defensive metadata only. | CODE |
| LOW⚡ | test-files/test_net_upgrade_tls_server.py | 80 | except Exception: | CODE |
| LOW⚡ | test-files/test_net_upgrade_tls_server.py | 82 | except Exception as exc: | CODE |
| LOW⚡ | test-files/test_net_upgrade_tls_server.py | 87 | except Exception: | CODE |
| LOW | test-compat/npm-sweep/run.py | 212 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/perry-ui-geisterhand/src/inspector_ui/index.html | 261 | <div class="placeholder">click <strong>capture</strong> to fetch a live screenshot of the running app</div> | CODE |
| LOW | crates/perry-ext-validator/src/lib.rs | 329 | assert_eq!(js_validator_is_email(p("foo@bar.com")), 1.0); | CODE |
| LOW | crates/perry/tests/string_append_heap_alias.rs | 155 | const a = ["placeholder"]; | CODE |
| LOW | crates/perry/tests/string_append_heap_alias.rs | 335 | const a = ["placeholder"].with(0, s); // replace -> must demote s to shared | CODE |
| LOW | crates/perry-hir/src/lower/widget_decl.rs | 191 | "placeholder" => { | CODE |
| LOW | docs/native-libraries.md | 703 | validator.isEmail('user@example.com'); // true | CODE |
| LOW | test-parity/node-suite/zlib/brotli/roundtrip-large.ts | 3 | const chunk = "lorem ipsum dolor sit amet consectetur adipiscing elit "; | CODE |
| LOW | test-parity/node-suite/zlib/brotli/roundtrip-large.ts | 3 | const chunk = "lorem ipsum dolor sit amet consectetur adipiscing elit "; | CODE |
| LOW⚡ | …st-parity/node-suite/zlib/dictionary/zstd-roundtrip.ts | 4 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a | CODE |
| LOW⚡ | …st-parity/node-suite/zlib/dictionary/zstd-roundtrip.ts | 4 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a | CODE |
| LOW⚡ | …st-parity/node-suite/zlib/dictionary/zstd-roundtrip.ts | 7 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed | CODE |
| LOW⚡ | …st-parity/node-suite/zlib/dictionary/zstd-roundtrip.ts | 7 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed | CODE |
| LOW⚡ | …-parity/node-suite/zlib/dictionary/brotli-roundtrip.ts | 4 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a | CODE |
| LOW⚡ | …-parity/node-suite/zlib/dictionary/brotli-roundtrip.ts | 4 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a | CODE |
| LOW⚡ | …-parity/node-suite/zlib/dictionary/brotli-roundtrip.ts | 7 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed | CODE |
| LOW⚡ | …-parity/node-suite/zlib/dictionary/brotli-roundtrip.ts | 7 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed | CODE |
| LOW | test-files/test_parity_validator.ts | 39 | console.log("isEmail:", validator.isEmail("user@example.com")); | CODE |
| LOW | test-files/test_issue_2656_weakref_finalization_gc.ts | 18 | let weak = new WeakRef({ marker: "placeholder" }); | CODE |
| LOW | test-files/test_issue_2656_weakref_finalization_gc.ts | 19 | let removedWeak = new WeakRef({ marker: "placeholder" }); | CODE |
| LOW | test-files/test_issue_748_multi_step_await_return.ts | 110 | email: "foo@bar.com", | CODE |
| LOW | test-files/test_edge_json_regex.ts | 147 | console.log(emailRe.test("user@example.com")); // true | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_native_library_no_stubs.sh | 31 | # Create a minimal package with native library functions | COMMENT |
| MEDIUM | tests/test_native_library_no_stubs.sh | 51 | # Create the TypeScript source that declares and uses these functions | COMMENT |
| MEDIUM | tests/test_native_library_no_stubs.sh | 68 | # Create the main app | COMMENT |
| MEDIUM | templates/github-actions/ci.yml | 57 | # Create a simple test file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/perry-ui-visionos/src/ffi_focus_menu.rs | 169 | // TODO: implement iOS textfield focus observer | COMMENT |
| LOW | crates/perry-ui-visionos/src/ffi_focus_menu.rs | 175 | // TODO: implement iOS blur | COMMENT |
| LOW | crates/perry-ui-ios/src/ffi/widgets_basic.rs | 800 | // TODO: implement iOS textfield focus observer | COMMENT |
| LOW | crates/perry-ui-ios/src/ffi/widgets_basic.rs | 806 | // TODO: implement iOS blur | COMMENT |
| LOW | crates/perry-ui-tvos/src/ffi/menus_dialog.rs | 135 | // TODO: implement iOS textfield focus observer | COMMENT |
| LOW | crates/perry-ui-tvos/src/ffi/menus_dialog.rs | 141 | // TODO: implement iOS blur | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run_parity_tests.sh | 1323 | # Check if test should be skipped | COMMENT |
| LOW | benchmarks/run_benchmarks.sh | 157 | # Print results summary | COMMENT |
| LOW | benchmarks/suite/run_benchmarks.sh | 20 | # Check if compilers exist | COMMENT |
| LOW | benchmarks/suite/run_benchmarks.sh | 224 | # Print results with colors based on comparison to Node | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_copied_minor_fallback_report.py | 32 | CODE | |
| LOW | tests/test_gc_1090_evidence_report.py | 31 | CODE | |
| LOW | scripts/compiler_output_harness/verification.py | 1120 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ripts/compiler_output_harness/repsel_knob_isolation.py | 665 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test-files/test_async5.ts | 3 | async function doSomething(): Promise<void> { | CODE |