Skip to content

No supported way to deregister one project; removal requires hand-editing global.db #730

Description

@BleedingDev

Environment

tracedecay 0.0.74, macOS 26.7 arm64. Project stored in profile-sharded mode, no marker directory inside the repo root.

Problem

There is no supported way to remove one registered project.

  • tracedecay projects is read-only: list, search, context.
  • tracedecay wipe acts on cwd, parents, and children. From the project root, tracedecay list reports "No tracedecay projects found in current folder, parents, or children", so wipe is a no-op, even though tracedecay projects list shows the project as registered. The two commands disagree about whether it exists.
  • tracedecay wipe --all removes everything.
  • tracedecay migrate registry-gc only removes rows whose roots no longer exist. This root existed, so it was skipped.

Workaround

Stop the watchdog, stop the daemon, then delete by hand from global.db:

DELETE FROM project_aliases WHERE project_id IN (...);
DELETE FROM store_instances WHERE project_id IN (...);
DELETE FROM code_projects   WHERE project_id IN (...);

Then rm -rf the matching directory under projects/, and restart both services. This worked, but it depends on knowing the schema, stopping the daemon so the DB is not owned, and getting the order right across three tables. A schema change breaks anyone following it.

Ask

tracedecay projects forget <project-id|path> [--keep-store] [--dry-run]

Removing the rows, deleting the store unless told otherwise, coordinating with the running daemon instead of requiring a manual stop.

Separately, tracedecay list and tracedecay projects list disagreeing for profile-sharded projects is confusing on its own, and is probably why wipe is useless here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions