GET/PATCH/DELETE for single task and habit used createPocketBaseClient(), which is a dead stub, and DELETE did a hard delete violating the soft-delete rule in AGENTS.md. Rewrite with Drizzle ORM: soft-delete (deleted_at), activity feed insert via recordActivity(), Zod validation, parent-task existence check, workspace access check, and 404 NOT_FOUND handling.