Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Nine tracked source files are compiled by nothing (dead code left by the crate splits and renames)

Open Beginner friendly
#1,795 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Refactor
Clarity
Clearly specified
Activity status
Active
Tech stack
rust
Domain
build-system

Research direction

Start by checking the module declarations and references described in the issue, especially crates/jcode-app-core/src/lib.rs and crates/jcode-tui/src/tui/mod.rs, to confirm the nine listed files remain unreferenced. Remove those files and run python3 scripts/check_swallowed_error_budget.py --update; done when the files are deleted and the checker updates the stale budget entries without failing.

Written by the indexing model from the issue text.

Description

autonomous: no tech-debt triage: needs-decision

Nine tracked .rs files under crates/**/src/ are referenced by no mod, #[path], or
include! anywhere in the repository, so no rustc unit ever compiles them. Each one is a leftover
from a crate split or a rename whose live copy now lives elsewhere (or was never wired up). They
still show up in repo-wide lint scans, which is how they keep getting "fixed".

The files
file LOC live counterpart / status in swallowed_error_budget.json
crates/jcode-app-core/src/message_notifications.rs 212 crates/jcode-base/src/message/notifications.rs no
crates/jcode-app-core/src/session_active_pids.rs 47 crates/jcode-storage/src/active_pids.rs yes
crates/jcode-app-core/src/telemetry_state.rs 358 crates/jcode-telemetry-core/src/state_support.rs yes
crates/jcode-app-core/src/telemetry_tests.rs 327 crates/jcode-telemetry-core/src/tests.rs no
crates/jcode-app-core/src/usage_display.rs 175 crates/jcode-base/src/usage/display.rs no
crates/jcode-app-core/src/usage_openai.rs 408 crates/jcode-base/src/usage/openai_helpers.rs yes
crates/jcode-app-core/src/stdin_detect_tests.rs 207 crates/jcode-core/src/stdin_detect_tests.rs (the two copies have since diverged by 115 lines) no
crates/jcode-tui/src/tui/info_widget_timeline.rs 334 none: the "activity timeline" widget was never wired (its own commit says wip(tui): add unwired activity-timeline info widget) yes
crates/jcode-tui/src/tui/swarm_plan_graph.rs 9 none: a re-export shim; the generator it forwarded to lives in jcode-plan no

2077 lines total, all inert.

Evidence

crates/jcode-app-core/src/lib.rs declares 27 modules and crates/jcode-tui/src/tui/mod.rs
declares its own list; none of the nine appear in either, and git grep finds no mod <name>;,
#[path = "...<file>"], or include!("...<file>") for any of them:

$ git grep -n "message_notifications\|session_active_pids\|telemetry_state\|telemetry_tests\|usage_display\|usage_openai\|info_widget_timeline" -- '*.rs'
(no matches outside the dead files themselves)

The only remaining mentions anywhere in the tree are scripts/swallowed_error_budget.json
entries, plus a stale path reference inside
crates/jcode-tui-mermaid/examples/swarm_plan_fixture.json.

stdin_detect_tests.rs is the clearest case: crates/jcode-core/src/stdin_detect.rs:376 declares
#[path = "stdin_detect_tests.rs"] mod stdin_detect_tests;, which resolves next to that file in
jcode-core. crates/jcode-app-core/src/stdin_detect.rs was moved out of app-core into
jcode-core in 4aec863e2 (Phase B, a pure rename), leaving the app-core test sibling behind.

Why it is worth deleting
  • The lint budget keeps baselines for files that cannot be compiled. telemetry_state.rs was last
    edited 2026-08-20 (Fall back on invalid CI overrides) and usage_openai.rs 2026-07-12, both
    apparently to satisfy repo-wide scanners, so the edits landed in dead code.
  • stdin_detect_tests.rs reads as coverage of the stdin detection logic while asserting nothing:
    cargo test -p jcode-app-core never runs it.
  • The info_widget_timeline case is a whole unwired WIP feature that reads as shipped code.
Suggested fix
git rm crates/jcode-app-core/src/message_notifications.rs \
       crates/jcode-app-core/src/session_active_pids.rs \
       crates/jcode-app-core/src/telemetry_state.rs \
       crates/jcode-app-core/src/telemetry_tests.rs \
       crates/jcode-app-core/src/usage_display.rs \
       crates/jcode-app-core/src/usage_openai.rs \
       crates/jcode-app-core/src/stdin_detect_tests.rs \
       crates/jcode-tui/src/tui/info_widget_timeline.rs \
       crates/jcode-tui/src/tui/swarm_plan_graph.rs
python3 scripts/check_swallowed_error_budget.py --update

Removing a tracked file with a baseline entry is reported as an improvement by that checker (it
does not fail), and the budget update drops the four stale entries. No mod/Cargo.toml change is
needed because nothing referenced these files.

Happy to send this as a PR if you want it.

Dominant language
Rust
Stars
19.9k
Forks
2.3k
Avg merge
2d 3h
Merged PRs (30d)
41

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from 1jehuang/jcode

All issues in 1jehuang/jcode

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.