# fix\(server\): make project removal honor v2 threads · flambo/t3code

[View on GitCafe](https://git.cafe/flambo/t3code/commit/aec27f7a901b47f1ed011f63c7f84a32d9e17440)

Repository: [flambo/t3code](https://git.cafe/flambo/t3code)

Visibility: public

Requested revision: aec27f7a901b47f1ed011f63c7f84a32d9e17440

Requested commit: aec27f7a901b47f1ed011f63c7f84a32d9e17440

Commit: aec27f7a901b47f1ed011f63c7f84a32d9e17440

Tree: 957c1159b66f9aad7e44337900c95c34eec8be57

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
fix(server): make project removal honor v2 threads

Offline CLI and HTTP project removal dropped force and left native v2 threads
behind. Move the nonempty-project guard and durable child cleanup into the
shared project service, and forward force from CLI, HTTP, and WebSocket calls.

Reuse the thread deletion planner and command lock, hydrate migrated history
before attachment cleanup, and validate child receipts. Commit the project
deletion after its children so failed cleanup can be retried safely.

Validation covers CLI deletion with active and archived threads, missing
workspaces, durable cleanup, partial retries, migrated attachments, receipt
collisions, and concurrent thread updates. Scoped server tests, typecheck, and
lint pass.

Implemented with Codex (GPT-6).

```

## Parents

- [08bfaceec48bdcfa08b0b74cf4c3dd8716e1574f](https://git.cafe/flambo/t3code/commit/08bfaceec48bdcfa08b0b74cf4c3dd8716e1574f?format=markdown)

[Source at this commit](https://git.cafe/flambo/t3code/tree/aec27f7a901b47f1ed011f63c7f84a32d9e17440?format=markdown)
