A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM.
This report presents the forensic synthetic code analysis of PerryTS/perry, a Rust project with 4,155 GitHub stars. SynthScan v2.0 examined 1,453,330 lines of code across 7859 source files, recording 7243 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 6.6 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 7243 distinct pattern matches across 19 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 | 201 | COMMENT | |
| LOW | Cargo.toml | 221 | # libperry_runtime.a / libperry_stdlib.a. Thin-LTO would otherwise internalize | COMMENT |
| LOW | Cargo.toml | 421 | # wrappers (per `perry.nativeLibrary` in package.json) can resolve it | 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 | 21 | BACKEND_LABEL="LLVM" | COMMENT |
| LOW | run_parity_tests.sh | 301 | COMMENT | |
| LOW | run_parity_tests.sh | 361 | # will always differ between Node.js (JIT) and Perry (native LLVM). | COMMENT |
| LOW | run_parity_tests.sh | 761 | 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 | packaging/install.sh | 41 | echo "Error: Unsupported architecture: $ARCH" | COMMENT |
| LOW | crates/perry-ext-ws/Cargo.toml | 21 | # CryptoProvider (feature unification enables both `ring` and `aws-lc-rs` in | COMMENT |
| LOW | crates/perry-ext-ws/Cargo.toml | 41 | # BODY — so the degraded copy silently ToString-coerces a RegExp argument and | 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 | // channel). Drive the per-connection IO loop on Perry's shared reactor-owned | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 901 | // `register_external_ws_stream` (which spawns | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 1041 | /// `hyper::upgrade::on`, completed the tungstenite server handshake, | COMMENT |
| LOW | crates/perry-ext-ws/src/lib.rs | 1061 | /// `req_f64` / `head_f64` are accepted for API shape parity (Node's | 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-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 | 581 | } | COMMENT |
| LOW | crates/perry-codegen-js/src/emit/calls.rs | 341 | "menuBarCreate" | "menubar_create" => "perry_ui_menubar_create", | COMMENT |
| LOW | crates/perry-parser/src/lib.rs | 21 | pub struct ParseResult { | COMMENT |
| LOW | crates/perry-parser/src/lib.rs | 341 | fn is_ident(b: u8) -> bool { | COMMENT |
| LOW | crates/perry-ui-visionos/src/background.rs | 1 | //! Background tasks (issue #538) — BGTaskScheduler-backed visionOS implementation. | COMMENT |
| LOW | crates/perry-ui-visionos/src/ffi_widgets_extra.rs | 1 | //! FFI exports for the extended widget catalogue: SecureField, ProgressView, | COMMENT |
| LOW | crates/perry-ui-visionos/src/ffi_system.rs | 1 | //! System APIs: share, app groups, open URL, location, audio, camera, | COMMENT |
| LOW | crates/perry-ui-visionos/src/ffi_misc.rs | 1 | //! Bottom navigation, lazy-vstack/scrollview scroll-end stubs, image | COMMENT |
| LOW | crates/perry-ui-visionos/src/drag_drop.rs | 1 | //! UIKit drag & drop (issue #4773) — visionOS backend. | COMMENT |
| LOW | crates/perry-ui-visionos/src/ffi_notifications.rs | 1 | //! Notifications, locale, multi-window stubs, LazyVStack stubs, and | COMMENT |
| LOW | crates/perry-ui-visionos/src/media_playback.rs | 1 | //! Streaming media playback (`perry/media`) — AVPlayer-backed. | COMMENT |
| LOW | crates/perry-ui-visionos/src/deeplinks_stub.rs | 1 | //! Deep links stubs (issue #583). | COMMENT |
| LOW | crates/perry-ui-visionos/src/audio_playback.rs | 1 | //! perry/audio runtime — game-engine-style audio backed by AVAudioEngine. | COMMENT |
| LOW | crates/perry-ui-visionos/src/pointer.rs | 1 | //! Continuous pointer events for perry/ui on iOS (issue #1868). | COMMENT |
| LOW | crates/perry-ui-visionos/src/ffi_cross.rs | 1 | //! Cross-cutting FFI exports: enabled, tooltip, control size, hover/click, | COMMENT |
| LOW | crates/perry-ui-visionos/src/widgets/tree_view.rs | 1 | //! iOS Tree view widget (issue #480). | COMMENT |
| LOW | crates/perry-ui-visionos/src/widgets/bloomview.rs | 1 | //! BloomView — a native render-surface host widget (issue #2395). | COMMENT |
| LOW | crates/perry-ui-visionos/src/widgets/combobox.rs | 1 | //! iOS Combobox widget (issue #475). | COMMENT |
| LOW | crates/perry-ui-visionos/src/widgets/rich_tooltip.rs | 1 | //! iOS rich tooltip presenter (issue #479). | COMMENT |
| 5436 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | run_parity_tests.sh | 154 | # ── TLS-upgrade companion server (issue #275) ────────────────────────────── | COMMENT |
| MEDIUM | run_parity_tests.sh | 187 | # ── Perry-specific expected-output tests ──────────────────────────────────── | COMMENT |
| MEDIUM | run_parity_tests.sh | 211 | # ── Counters ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | run_parity_tests.sh | 502 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | run_parity_tests.sh | 507 | # --------------------------------------------------------------------------- | 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 | 1119 | // ── Event-loop tick ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/app.rs | 157 | // ─── PerryViewController ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/menu.rs | 61 | // ─── Public API ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/menu.rs | 226 | // ─── UIMenu Construction ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/widgets/tabbar.rs | 52 | // ── State ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/widgets/tabbar.rs | 65 | // ── UITabBarDelegate ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-visionos/src/widgets/tabbar.rs | 125 | // ── Public API ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-geisterhand/src/inspector_ui/index.html | 483 | // ── Preview pane ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-dispatch/src/lib.rs | 115 | // ─── 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 | 284 | // ── object / array allocation primitives ───────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/deeplinks.rs | 108 | // ─── ObjC bridge helpers ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/app.rs | 440 | // ─── PerryViewController ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/menu.rs | 61 | // ─── Public API ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/menu.rs | 226 | // ─── UIMenu Construction ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/widgets/tabbar.rs | 52 | // ── State ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/widgets/tabbar.rs | 65 | // ── UITabBarDelegate ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-ios/src/widgets/tabbar.rs | 125 | // ── 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 | 345 | // ── setInterval / setTimeout placeholders ───────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/app.rs | 288 | // ─── PerryViewController ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/menu.rs | 61 | // ─── Public API ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/menu.rs | 191 | // ─── UIMenu Construction ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/widgets/tabbar.rs | 52 | // ── State ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/widgets/tabbar.rs | 65 | // ── UITabBarDelegate ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ui-tvos/src/widgets/tabbar.rs | 123 | // ── Public API ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 90 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 92 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 274 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 276 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 340 | // ── Promise helpers ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 486 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 488 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 635 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 637 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 740 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 742 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 841 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 843 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 997 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/perry-ext-streams/src/lib.rs | 999 | // ───────────────────────────────────────────────────────────────────── | COMMENT |
| 664 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 | 220 | # SIGSEGV sat in main for days — the harness only diffed stdout, so a process | COMMENT |
| MEDIUM | crates/perry-doc-tests/src/main.rs | 20 | #[command(name = "doc-tests", about = "Perry documentation-example test harness")] | COMMENT |
| MEDIUM | crates/perry-codegen-wasm/src/emit/compile.rs | 927 | // band; this keeps `export const X = ...` robust.) | COMMENT |
| MEDIUM | crates/perry-ffi/src/handle.rs | 884 | // value — robust to other tests churning the shared registry, but still | COMMENT |
| MEDIUM | crates/perry-ffi/src/handle.rs | 916 | /// The bounded retry is what makes the reuse assertion both robust and | COMMENT |
| MEDIUM | crates/perry-codegen/src/lower_array_method.rs | 179 | // arm and is robust if interning ever changes to SSO-eligible. | COMMENT |
| MEDIUM | crates/perry-codegen/src/expr/index_get.rs | 1413 | // 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 | 691 | // 500 ms is robust and still an order of magnitude under the 1 s | COMMENT |
| MEDIUM | crates/perry-runtime/src/event_pump.rs | 813 | // so this upper bound is robust.) | COMMENT |
| MEDIUM | crates/perry-runtime/src/event_pump.rs | 821 | // alone tripped it under CI load; 200ms is robust and still catches an | COMMENT |
| MEDIUM | crates/perry-runtime/src/event_pump.rs | 876 | // robust and still well below any budget-blocking behavior. | COMMENT |
| MEDIUM | crates/perry-runtime/src/exception.rs | 407 | // the entry state so this is robust under `--test-threads=1` (shared TLS). | COMMENT |
| MEDIUM | crates/perry-runtime/src/exception.rs | 449 | // 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 | 2049 | // registry check (GcHeader.obj_type fast-path + MAP_REGISTRY) is robust | COMMENT |
| MEDIUM | crates/perry-runtime/src/closure/dispatch/errors.rs | 14 | /// the single biggest leverage source of cascading parity-test failures | COMMENT |
| MEDIUM | crates/perry-runtime/src/json/replacer.rs | 206 | /// tag (robust object/array discrimination), with a structural fallback for | COMMENT |
| MEDIUM | crates/perry-runtime/src/json/replacer.rs | 1549 | // > 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 | 986 | // robust to `globalThis.Function` reassignment, unlike reading the mutable | COMMENT |
| MEDIUM | …ates/perry-runtime/src/object/global_this/generator.rs | 323 | /// 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 | 241 | /// time.) This makes the detector robust to internal machinery (async | COMMENT |
| MEDIUM | crates/perry-runtime/src/promise/then.rs | 142 | // 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/src/commands/compile/collect_modules.rs | 639 | // robust against this — user code lives under `project_root`, library | 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 | 1152 | // #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 | 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/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 | test-parity/known_failures.json | 33 | "reason": "Tracked in #1634 (parity CI environment fixtures). Ramda npm-package fixture failure on Linux CI; observe | CODE |
| 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 |
| MEDIUM | benchmarks/honest_bench/run.sh | 236 | # environment so the harness can sha256 it against the cached Bun reference. | COMMENT |
| MEDIUM | benchmarks/honest_bench/run.sh | 276 | # <workload> <language> <route> then the run-cmd — the harness splits the | COMMENT |
| MEDIUM | benchmarks/honest_bench/run.sh | 281 | # Tolerate a harness exit (e.g. a kernel that SIGSEGVs under load, or never | COMMENT |
| MEDIUM | benchmarks/honest_bench/harness/run_bench.sh | 25 | # HONEST_BENCH_CHECK_OUTPUT — path to harness/check_output.py | COMMENT |
| MEDIUM | scripts/run_thread_tests.sh | 5 | # 1. Runtime: the docs/examples harness already compiles and stdout-diffs | COMMENT |
| MEDIUM | scripts/run_doc_tests.sh | 2 | # Run the Perry doc-example test harness. | COMMENT |
| MEDIUM | scripts/run_doc_tests.sh | 19 | # Build perry + the harness in release mode (skipped if already built). | COMMENT |
| MEDIUM⚡ | scripts/run_doc_tests.sh | 49 | # Forward any extra args through to the harness (e.g. --filter, --verbose). | COMMENT |
| MEDIUM⚡ | scripts/run_doc_tests.sh | 51 | # emit a flat summary for release_sweep.sh after the harness exits. The | COMMENT |
| 328 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | types/perry/ui/index.d.ts | 827 | export function buttonSetContentTintColor(widget: Widget, r: number, g: number, b: number, a: number): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 845 | export function widgetSetBackgroundGradient( | CODE |
| LOW | types/perry/ui/index.d.ts | 934 | export function datePickerGetSelectedDate(widget: Widget): string; | CODE |
| LOW | types/perry/ui/index.d.ts | 1145 | export function textfieldSetBackgroundColor(widget: Widget, r: number, g: number, b: number, a: number): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1184 | export function scrollviewSetRefreshControl(scrollView: Widget, onPull: () => void): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1185 | export function scrollViewSetRefreshControl(scrollView: Widget, onPull: () => void): void; | CODE |
| LOW⚡ | types/perry/ui/index.d.ts | 1201 | export function scrollviewSetScrollEndCallback(scrollView: Widget, onScrollEnd: () => void, thresholdPx: number): void; | CODE |
| LOW⚡ | types/perry/ui/index.d.ts | 1202 | export function scrollViewSetScrollEndCallback(scrollView: Widget, onScrollEnd: () => void, thresholdPx: number): void; | CODE |
| LOW⚡ | types/perry/ui/index.d.ts | 1211 | export function lazyvstackSetRefreshControl(view: Widget, onPull: () => void): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1222 | export function lazyvstackSetScrollEndCallback(view: Widget, onScrollEnd: () => void, thresholdItems: number): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1269 | export function bottomNavSetUnselectedTintColor( | CODE |
| LOW | types/perry/ui/index.d.ts | 1471 | export function tableSetAllowsMultipleSelection(table: Widget, allow: number): void; | CODE |
| LOW | types/perry/ui/index.d.ts | 1474 | export function tableGetSelectedRowsCount(table: Widget): number; | CODE |
| LOW | types/perry/ui/index.d.ts | 1556 | export function cameraRegisterFrameCallback(camera: Widget, callback: (frameData: Uint8Array, width: number, height: num | CODE |
| LOW | types/perry/ui/index.d.ts | 1559 | export function cameraUnregisterFrameCallback(camera: Widget): void; | CODE |
| LOW | types/perry/system/index.d.ts | 214 | export function notificationRegisterRemote(onToken: (token: string) => void): void; | CODE |
| LOW | types/perry/system/index.d.ts | 245 | export function notificationOnBackgroundReceive( | CODE |
| LOW | types/perry/system/index.d.ts | 401 | export function geolocationRequestPermission( | CODE |
| LOW⚡ | tests/test_copied_minor_fallback_report.py | 217 | def test_strict_mode_fails_copy_only_roots(self): | CODE |
| LOW⚡ | tests/test_copied_minor_fallback_report.py | 227 | def test_strict_mode_fails_conservative_stack(self): | CODE |
| LOW⚡ | tests/test_copied_minor_fallback_report.py | 237 | 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 | 250 | def test_strict_mode_fails_compiled_frame_pinned_bytes(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 266 | def test_strict_mode_fails_truncated_or_unbounded_conservative_stack(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 281 | def test_strict_mode_fails_unattributed_root_emissions(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 300 | def test_strict_mode_fails_copy_only_young_and_malloc_emissions(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 323 | def test_strict_mode_fails_ineligible_cycles(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 336 | def test_strict_mode_fails_legacy_copy_only_pinned_bytes(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 349 | def test_strict_mode_fails_malloc_registry_rebuilds(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 362 | def test_strict_mode_fails_forbidden_promise_malloc_kind(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 380 | def test_strict_mode_requires_a_default_safe_workload(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 389 | def test_strict_mode_passes_default_safe_workloads_with_no_fallback(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 403 | def test_strict_mode_requires_mutable_or_shadow_root_source_evidence(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 414 | def test_strict_mode_fails_missing_root_sources(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 423 | def test_strict_mode_requires_native_attribution_for_conservative_stack(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 440 | def test_non_strict_mode_permits_known_fallback_reasons_for_reporting(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 480 | def test_target_gates_fail_forbidden_string_and_closure_malloc_kinds(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 514 | def test_target_gates_ignore_non_forbidden_malloc_kinds(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 536 | def test_target_gates_honor_documented_malloc_kind_allowances(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 564 | def test_target_gates_allow_async_forced_evacuation_fallback_trace(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 601 | def test_target_gates_require_old_page_reuse_or_return(self): | CODE |
| LOW | tests/test_copied_minor_fallback_report.py | 616 | def test_target_gates_accept_old_page_reuse_or_return(self): | CODE |
| LOW⚡ | tests/test_gc_1090_evidence_report.py | 609 | def test_fails_benchmark_correctness(self): | CODE |
| LOW⚡ | tests/test_gc_1090_evidence_report.py | 614 | def test_fails_memory_stability(self): | CODE |
| LOW⚡ | tests/test_gc_1090_evidence_report.py | 619 | def test_gate_includes_perf_frontier_fields(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 350 | def gc_store_inventory_packet(**summary_overrides): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 531 | def test_main_writes_packet_files(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 542 | def test_fails_conservative_stack(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 553 | def test_fails_conservative_pinned_bytes(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 564 | def test_fails_compiled_frame_pinned_bytes(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 580 | def test_fails_truncated_unbounded_or_unattributed_roots(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 637 | def test_old_page_policy_retained_rss_improvement_can_pass_when_peak_does_not(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 659 | def test_old_page_policy_fails_without_peak_or_retained_threshold(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 679 | def test_old_page_policy_small_baseline_uses_non_regression_with_structural_proof(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 700 | def test_old_page_policy_accepts_reclaimable_returned_pages(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 729 | def test_old_page_policy_missing_evidence_fails_gate(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 741 | def test_old_page_policy_fails_old_gen_churn_plateau(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 758 | def test_gate_requires_exact_sha_and_perf_frontier(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 770 | def test_gate_fails_unaudited_store_sites(self): | CODE |
| LOW | tests/test_gc_1090_evidence_report.py | 789 | def test_fails_remembered_set_stale_entries(self): | CODE |
| 229 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/perry-codegen/src/linker.rs | 837 | // Step 1: llvm-as each .ll → .bc | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 860 | // Step 2: llvm-link all bitcode into one module. | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 890 | // Step 3: opt -O3 | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 908 | // Step 4: llc -filetype=obj → .o | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 149 | // Step 1: set of ids declared in this scope (Let). | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 153 | // Step 2: set of ids referenced inside ANY closure body found in | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 160 | // Step 3: set of ids MUTATED in the enclosing scope (outside any | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 167 | // Step 4: ids declared in a `for` loop init (the `for (let i = ...; | COMMENT |
| LOW | crates/perry-codegen/src/boxed_vars.rs | 182 | // Step 5: detect self-recursive closures. When a Stmt::Let has a | COMMENT |
| LOW | crates/perry-codegen/src/stmt/let_stmt.rs | 1061 | // Step 1: allocate box with undefined sentinel bits. | COMMENT |
| LOW⚡ | crates/perry-codegen/src/stmt/let_stmt.rs | 1088 | // Step 2: register BEFORE lowering init. | COMMENT |
| LOW⚡ | crates/perry-codegen/src/stmt/let_stmt.rs | 1092 | // Step 3: lower init and store into the box. | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 546 | // Step 1: walk parent chain for the static method name. | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 559 | // Step 2: collect overriding subclasses. For each | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 925 | // Step 4: virtual dispatch via class_id switch. | COMMENT |
| LOW | crates/perry-runtime/src/closure/dispatch/value_call.rs | 15 | /// NOTE: This function is named js_native_call_value to avoid symbol collision | COMMENT |
| LOW | crates/perry-runtime/src/array/from_concat.rs | 644 | // Step 5: iterable. Construct the result BEFORE creating the iterator | COMMENT |
| LOW | crates/perry-runtime/src/regex/exec.rs | 60 | // Step 8: a non-global/non-sticky search always starts at 0; the value | COMMENT |
| LOW | crates/perry-runtime/src/object/native_call_method.rs | 159 | /// NOTE: This function is named js_native_call_method to avoid symbol collision | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 132 | // 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 | 146 | // Step 4: Invoke(this, "toISOString"). For a real Date, dispatch straight | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 217 | // 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 | 241 | // Step 5: OrdinaryToPrimitive(O, tryFirst). | COMMENT |
| LOW | …ry-runtime/src/object/object_ops/descriptor_helpers.rs | 381 | // Step 4: a non-configurable property cannot be made configurable, and its | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1030 | // Step 1: Get(receiver, "constructor") — getter throws → propagate via longjmp. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1039 | // Step 2: undefined → use intrinsic %Promise%. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1044 | // Step 3: Type(C) not Object → TypeError. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1049 | // Step 4: S = Get(C, @@species) — getter throws → propagate. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1058 | // Step 5: undefined or null → use intrinsic %Promise%. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1063 | // Step 6: IsConstructor(S) → return S. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1068 | // 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 | 574 | // Step 2: a separator with a `[Symbol.split]` method (a RegExp) takes over. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 597 | // Step 6: lim = limit===undefined ? 2^32-1 : ToUint32(limit) (may throw). | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 604 | // Step 7: R = ToString(separator) (may throw). For `undefined` the result | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 614 | // Step 8: limit 0 → empty array. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 618 | // Step 9: undefined separator → [S]. | COMMENT |
| LOW | crates/perry-runtime/src/buffer/from.rs | 862 | // Step 2: Type(buffer) must be Object holding [[ArrayBufferData]]. | COMMENT |
| LOW | crates/perry-runtime/src/buffer/from.rs | 883 | // 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 | 370 | // 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 |
|---|---|---|---|---|
| MEDIUM | Cargo.toml | 172 | # WinUI scaffold (#4680): re-exports perry-ui-windows; the staticlib bundles | COMMENT |
| MEDIUM | crates/perry-ui-windows-winui/src/winui.rs | 4 | //! `Microsoft.UI.Xaml` controls. It is empty of real XAML today (scaffold); | COMMENT |
| MEDIUM | crates/perry-ui-windows-winui/src/winui.rs | 22 | /// the scaffold can fall back to the Win32 backend and run fine. So instead of | COMMENT |
| MEDIUM | …/src/lower_call/native_table/node_core/inspector_vm.rs | 249 | // ========== Node vm scaffold ========== | COMMENT |
| MEDIUM | …/src/lower_call/native_table/node_core/inspector_vm.rs | 253 | // shape-only scaffold (#4079) plus measureMemory validation (#4087). | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer.rs | 1757 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer.rs | 1765 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer.rs | 1779 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer.rs | 1798 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/timer.rs | 1926 | // #6185: test scaffolding runs on the primary agent. | COMMENT |
| MEDIUM | crates/perry-runtime/src/node_vm.rs | 1694 | /// remaining entries live in this VM scaffold/lifecycle module. | COMMENT |
| MEDIUM | crates/perry-api-manifest/src/entries.rs | 151 | // 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 | 282 | # (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 | 170 | /// `perry native init <name>` — scaffold a new wrapper package. | COMMENT |
| MEDIUM | crates/perry/src/main.rs | 179 | /// `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/src/commands/compile/library_search.rs | 1051 | // perry-ui-windows Win32 symbols today (scaffold), so the FFI surface | COMMENT |
| MEDIUM | crates/perry-hir/src/dynamic_import/tests.rs | 944 | /// #6304 test scaffolding: a module that DEFINES `name` as an exported | COMMENT |
| MEDIUM | crates/perry-hir/src/lower/const_fold_fn.rs | 329 | // scaffold for `Reflect.construct` began throwing). Gate the refusal on | COMMENT |
| MEDIUM | crates/perry-hir/src/lower/lowering_context.rs | 204 | /// `FuncRef`-targeted generic calls (issue #321 scaffolding) but does | COMMENT |
| MEDIUM | crates/perry-stdlib/Cargo.toml | 326 | # 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 | 620 | # 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 |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/perry-codegen/src/linker.rs | 837 | // Step 1: llvm-as each .ll → .bc | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 860 | // Step 2: llvm-link all bitcode into one module. | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 890 | // Step 3: opt -O3 | COMMENT |
| LOW | crates/perry-codegen/src/linker.rs | 908 | // Step 4: llc -filetype=obj → .o | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 149 | // Step 1: set of ids declared in this scope (Let). | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 153 | // Step 2: set of ids referenced inside ANY closure body found in | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 160 | // Step 3: set of ids MUTATED in the enclosing scope (outside any | COMMENT |
| LOW⚡ | crates/perry-codegen/src/boxed_vars.rs | 167 | // Step 4: ids declared in a `for` loop init (the `for (let i = ...; | COMMENT |
| LOW | crates/perry-codegen/src/boxed_vars.rs | 182 | // Step 5: detect self-recursive closures. When a Stmt::Let has a | COMMENT |
| LOW | crates/perry-codegen/src/stmt/let_stmt.rs | 1061 | // Step 1: allocate box with undefined sentinel bits. | COMMENT |
| LOW⚡ | crates/perry-codegen/src/stmt/let_stmt.rs | 1088 | // Step 2: register BEFORE lowering init. | COMMENT |
| LOW⚡ | crates/perry-codegen/src/stmt/let_stmt.rs | 1092 | // Step 3: lower init and store into the box. | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 546 | // Step 1: walk parent chain for the static method name. | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 559 | // Step 2: collect overriding subclasses. For each | COMMENT |
| LOW | …odegen/src/lower_call/property_get/dynamic_dispatch.rs | 925 | // Step 4: virtual dispatch via class_id switch. | COMMENT |
| LOW | crates/perry-runtime/src/array/from_concat.rs | 644 | // Step 5: iterable. Construct the result BEFORE creating the iterator | COMMENT |
| LOW | crates/perry-runtime/src/regex/exec.rs | 60 | // Step 8: a non-global/non-sticky search always starts at 0; the value | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 132 | // 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 | 146 | // Step 4: Invoke(this, "toISOString"). For a real Date, dispatch straight | COMMENT |
| LOW | crates/perry-runtime/src/object/date_proto_thunks.rs | 217 | // 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 | 241 | // Step 5: OrdinaryToPrimitive(O, tryFirst). | COMMENT |
| LOW | …ry-runtime/src/object/object_ops/descriptor_helpers.rs | 381 | // Step 4: a non-configurable property cannot be made configurable, and its | COMMENT |
| LOW | …perry-runtime/src/object/global_this/bigint_promise.rs | 299 | // Step 1: `bits = ? ToIndex(bits)`. ToIndex = ToIntegerOrInfinity(ToNumber) | COMMENT |
| LOW | …perry-runtime/src/object/global_this/bigint_promise.rs | 315 | // Step 2: `bigint = ? ToBigInt(bigint)`. ToBigInt coerces BigInt / Boolean / | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1030 | // Step 1: Get(receiver, "constructor") — getter throws → propagate via longjmp. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1039 | // Step 2: undefined → use intrinsic %Promise%. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1044 | // Step 3: Type(C) not Object → TypeError. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1049 | // Step 4: S = Get(C, @@species) — getter throws → propagate. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1058 | // Step 5: undefined or null → use intrinsic %Promise%. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1063 | // Step 6: IsConstructor(S) → return S. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/promise/then.rs | 1068 | // 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 | 574 | // Step 2: a separator with a `[Symbol.split]` method (a RegExp) takes over. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 597 | // Step 6: lim = limit===undefined ? 2^32-1 : ToUint32(limit) (may throw). | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 604 | // Step 7: R = ToString(separator) (may throw). For `undefined` the result | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 614 | // Step 8: limit 0 → empty array. | COMMENT |
| LOW⚡ | crates/perry-runtime/src/string/split.rs | 618 | // Step 9: undefined separator → [S]. | COMMENT |
| LOW | crates/perry-runtime/src/buffer/from.rs | 862 | // Step 2: Type(buffer) must be Object holding [[ArrayBufferData]]. | COMMENT |
| LOW | crates/perry-runtime/src/buffer/from.rs | 883 | // 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 | 370 | // 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 |
|---|---|---|---|---|
| CRITICAL | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1605 | val mapView = com.google.android.gms.maps.MapView(activity) | CODE |
| CRITICAL⚡ | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1648 | val pos = com.google.android.gms.maps.model.CameraPosition.Builder() | CODE |
| CRITICAL⚡ | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1649 | .target(com.google.android.gms.maps.model.LatLng(latitude, longitude)) | CODE |
| CRITICAL⚡ | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1653 | com.google.android.gms.maps.CameraUpdateFactory.newCameraPosition(pos) | CODE |
| CRITICAL | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1666 | val opts = com.google.android.gms.maps.model.MarkerOptions() | CODE |
| CRITICAL | …emplate/app/src/main/java/com/perry/app/PerryBridge.kt | 1667 | .position(com.google.android.gms.maps.model.LatLng(latitude, longitude)) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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/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 | scripts/parity_matrix_trend.py | 11 | CODE | |
| LOW | scripts/node_builtin_manifest_radar.py | 10 | CODE | |
| LOW | scripts/addr_class_inventory.py | 31 | CODE | |
| LOW | scripts/gen_parity_gaps.py | 26 | CODE | |
| LOW | scripts/gen_parity_gaps.py | 30 | CODE | |
| LOW | scripts/gc_1090_evidence_report.py | 4 | 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 | |
| LOW | scripts/compiler_output_regression.py | 34 | CODE | |
| LOW | scripts/compiler_output_regression.py | 34 | CODE | |
| LOW | scripts/compiler_output_regression.py | 34 | CODE | |
| LOW | scripts/compiler_output_regression.py | 34 | CODE | |
| LOW | scripts/compiler_output_regression.py | 34 | CODE | |
| LOW | scripts/compiler_output_regression.py | 34 | CODE | |
| LOW | scripts/compiler_output_regression.py | 43 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| LOW | scripts/compiler_output_regression.py | 44 | CODE | |
| 30 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | parity_status.sh | 10 | # Usage: | COMMENT |
| LOW⚡ | run_module_parity.sh | 8 | # Usage: | COMMENT |
| LOW | run_llvm_sweep.sh | 6 | # 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 | scripts/pre-tag-check.sh | 23 | # Usage: | COMMENT |
| LOW | scripts/run_thread_tests.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/smoke_updater.sh | 15 | # Usage: | COMMENT |
| LOW | scripts/release_sweep.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/bisect_1114.sh | 7 | # 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/run_fastify_tests.sh | 11 | # 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 | 129 | except Exception as e: | CODE |
| LOW | scripts/native_abi_evidence_report.py | 374 | except Exception: | CODE |
| LOW | scripts/node_suite_run.py | 93 | except Exception: | CODE |
| LOW | scripts/node_suite_run.py | 105 | except Exception: | CODE |
| LOW | scripts/node_suite_run.py | 123 | 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 |
|---|---|---|---|---|
| HIGH | benchmarks/honest_bench/harness/check_output.py | 6 | {"output_match": true|false|null, "output_match_reason": "..."} | STRING |
| HIGH | scripts/addr_class_inventory.py | 289 | "} else if top16 == 0 && bits >= 0x1000 {\n", | CODE |
| 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 | 542 | f"test/fixtures && git checkout)", file=sys.stderr) | CODE |
| 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 | tests/test_copied_minor_fallback_report.py | 180 | CODE | |
| LOW | tests/test_compiler_output_regression.py | 1885 | 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 | scripts/gen_parity_gaps.py | 70 | 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/perf_frontier_report.py | 166 | CODE | |
| LOW | scripts/perf_frontier_report.py | 633 | CODE | |
| LOW | scripts/perf_frontier_report.py | 828 | CODE | |
| LOW | scripts/native_abi_evidence_report.py | 903 | CODE | |
| LOW | scripts/node_core_subset.py | 457 | CODE | |
| LOW | scripts/test262_subset.py | 200 | CODE | |
| LOW | scripts/test262_subset.py | 278 | CODE | |
| LOW | scripts/test262_subset.py | 382 | CODE | |
| LOW | scripts/gen_parity_tests.py | 67 | CODE | |
| LOW | scripts/ci_test_scope.py | 164 | CODE | |
| LOW | scripts/ci_test_scope.py | 204 | CODE | |
| LOW | scripts/compiler_output_harness/analyzers.py | 154 | CODE | |
| LOW | scripts/compiler_output_harness/analyzers.py | 374 | CODE | |
| LOW | scripts/compiler_output_harness/spec.py | 30 | CODE | |
| LOW | test-files/test_net_upgrade_tls_server.py | 46 | 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 | 432 | "placeholder" => { | CODE |
| LOW | docs/native-libraries.md | 695 | 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 | 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 | 652 | # Check if test should be skipped | COMMENT |
| LOW | run_tests.sh | 63 | # 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 | 1112 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test-files/test_async5.ts | 3 | async function doSomething(): Promise<void> { | CODE |