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.
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 projectsis read-only:list,search,context.tracedecay wipeacts on cwd, parents, and children. From the project root,tracedecay listreports "No tracedecay projects found in current folder, parents, or children", sowipeis a no-op, even thoughtracedecay projects listshows the project as registered. The two commands disagree about whether it exists.tracedecay wipe --allremoves everything.tracedecay migrate registry-gconly 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:Then
rm -rfthe matching directory underprojects/, 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
Removing the rows, deleting the store unless told otherwise, coordinating with the running daemon instead of requiring a manual stop.
Separately,
tracedecay listandtracedecay projects listdisagreeing for profile-sharded projects is confusing on its own, and is probably whywipeis useless here.