Skip to content

Build: repo hygiene sweep (template leftovers, dead code) #59

Closed

Description

@blooop

Question

Build: repo-hygiene sweep — delete template leftovers and dead code.

Root-level leftovers (all tracked, all from the python_template origin or superseded):

  • PROMPT.md, ralph.yml, @fix_plan.md — Ralph-agent scaffolding, content still says "python_template"
  • @AGENT.md — duplicates AGENTS.md (the one CLAUDE.md links to)
  • WORKTREE_BACKEND_PLAN.md, WORKTREE_BACKEND_README.md — superseded by docs/worktree-backend-spec.md; backend shipped
  • coverage.xml — stale (Jan 2026, predates the whole worktree/ package, reports 32.5%); confirm gitignored-and-untracked or remove from tracking

Dead code (zero references from src and tests): dl.get_git_branches (dl.py:563), dl.workspace_status (dl.py:907), config.save_config (config.py:104). Test-only-referenced candidates (BranchManager.checkout_branch, create_remote_branch_via_ssh — docstring says "legacy method from dl.py", dl.get_remote_head_sha) — delete function+tests together where the docstring or history confirms legacy; keep anything genuinely load-bearing.

Also the trivially dead duplicate assignment at workspace_clone.py:217/219 (is_new_workspace = False twice).

Deletion-only PR — no behavior change; CI green is the acceptance signal.


Note added by #53 (Rust rewrite: go, with a final Python release first): both halves of this ticket still land, for different reasons.

  • The root-level leftovers are repo-level and outlive the rewrite — the repo persists and will host the devlaunch-core / dl cargo workspace.
  • The dead code deletions now do double duty: they shrink the port surface. Deleting a function is an unambiguous "do not port this", where leaving it in makes that a judgment call during the port.

Activity

  1. self-assigned this
    on Aug 7, 2026
  2. blooop commented on Aug 7, 2026

    @blooop
    OwnerAuthor

    Answer

    Landed in #66 — deletion-only, git diff adds zero lines.

    Leftovers: PROMPT.md, ralph.yml, @fix_plan.md, @AGENT.md, WORKTREE_BACKEND_PLAN.md, WORKTREE_BACKEND_README.md, plus the Ralph state block in .gitignore. @AGENT.md was verbatim python_template boilerplate with nothing AGENTS.md lacks. WORKTREE_BACKEND_README.md was wrong, not merely redundant — it documented ~/.devlaunch/repos, a [worktree] enabled key and a --backend flag, none of which exist.

    Dead code: all six functions confirmed dead by grep across src, tests, completions and docs, with no dynamic dispatch anywhere in the package (sole entry point is dl = "devlaunch.dl:main"). Two needed history to judge: get_remote_head_sha had a real caller until 0d64544 rewrote create_remote_branch to a local push and left its tests orphaned; checkout_branch was grepped across every revision of branch_manager.py and was never called from production in any of them. 12 tests removed with them, 409 -> 397, and every branch of the surviving _git_ls_remote helper is still covered.

    coverage.xml: already untracked and ignored (.gitignore:47). No action, as the ticket allowed.

    Beyond the list, one more deletion earned its place: the README "Backend Selection" section documented dl --backend devpod and DEVLAUNCH_BACKEND, neither of which appears anywhere in devlaunch/. User-facing docs for flags that never shipped.

    Fog this sharpens

    Two template leftovers survive, both needing a change rather than a deletion, so neither fit this PR:

    • pyproject.toml declares tomli_w, now unused after save_config went. Dropping it forces a lock regeneration, which on current pixi also bumps pixi.lock v6 to v7 — that belongs in #62, where the lock is touched anyway.
    • pyproject.toml's dev/dev-restart tasks still ssh pythontemplate.devpod, which cannot resolve for this repo. scripts/update_from_template.sh still points at blooop/python_template.

    Also noted while grepping, unrelated to this ticket: conda.recipe/recipe.yaml run: deps list only python, iterfzf, devpod — tomli has never been declared, so the conda package has been shipping without it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions