Whilst there is limited deletion support within Phabricator, I feel that the deletion options that are available leave the data in a somewhat inconsistent state. A couple of examples are as follows:
- Deleting an arcanist project from within the repository application causes "Unknown Object" to be shown in place of the arcanist project field for all differentials which had referenced the deleted project.
- Deleting a user has a similar effect with maniphests and differentials.
- Deleting a repository (from the command line) does not drop the edges between revisions and commits from the deleted repository, causing "Unknown Object" to be displayed for a differential's commits.
- Changing (specifically, removing some of) the tracked branches of a repository does not actually remove the references to the deleted branches. For example, I currently have a differential which shows two commits: one in the master branch, and another in the feature branch (which has since been removed from tracked branches).