You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cora dead-code reports 261 symbols on a SvelteKit + Phaser + Rust/Axum project. Manual triage shows ~82% (213/261) are false positives — methods invoked by frameworks via string/attribute registration, not explicit calls. The current skip mechanism (index_skip_files, added in v0.11.1 via #447) is file-level only and cannot suppress individual lifecycle methods without removing all symbols from the file.
Breakdown (261 total)
Category
Count
Why flagged
Reality
Phaser scene methods (create, init, update, preload, *Scene class methods)
Is your feature request related to a problem?
cora dead-codereports 261 symbols on a SvelteKit + Phaser + Rust/Axum project. Manual triage shows ~82% (213/261) are false positives — methods invoked by frameworks via string/attribute registration, not explicit calls. The current skip mechanism (index_skip_files, added in v0.11.1 via #447) is file-level only and cannot suppress individual lifecycle methods without removing all symbols from the file.Breakdown (261 total)
create,init,update,preload,*Sceneclass methods)login,me,health_check,submit_progress,bad_request, …)build_router(Axum)load,entries,GET/POSTin+page.ts/+server.ts)cn).sveltemarkupAfter removing genuinely dead code, only ~48 candidates remained for review.
Current mitigations (insufficient)
--include-tests,--min-lines N— CLI flags only, not persistent.rules_engine.index_skip_files(fix: add skip list for index scanners to reduce false positives on entry-point files #447) — file-level glob, can't target a single method inside a normal source file (skippingularTanggaScene.tsalso hides its real call graph).main(),#[entry_point], exported functions, tests, trait impls — not framework lifecycle methods.Proposed
Framework-aware "called by framework" detection, plus a symbol-level escape hatch:
Phaser.Scene(create,init,preload,update) → mark as entry points.+page.ts/+layout.ts/+server.ts(load,entries,GET,POST, …) → entry points.use:fooin.sveltemarkup → recognized as called.// cora: keep/// cora:inlinecomments, or reuse Rust's#[allow(dead_code)]/ TS// eslint-disablestyle markers that cora already understands.rules_engine, e.g.entry_point_methods: ["Phaser.Scene::create", "Phaser.Scene::init", ...]with sensible framework defaults.Environment