## 1. Database Migration

- [x] 1.1 Create Alembic migration to drop `is_builtin` column from `tool_types` table
- [x] 1.2 Ensure migration handles existing data (converts built-ins to regular types or just drops flag)
- [x] 1.3 Run migration successfully

## 2. Backend Model

- [x] 2.1 Remove `is_builtin` field from `ToolType` model (`apps/api/src/models/tool_type.py`)
- [x] 2.2 Remove `is_builtin` from Pydantic schemas in `tool_types.py`

## 3. Backend API

- [x] 3.1 Remove `seed_builtin_tool_types()` from `main.py`
- [x] 3.2 Remove built-in tool type definitions from `main.py`
- [x] 3.3 Update `POST /tool-types` to remove `is_builtin=False` default
- [x] 3.4 Update `GET /tool-types` to remove built-in vs custom distinction in responses
- [x] 3.5 Remove built-in protections in `PUT /tool-types/{id}` and `DELETE /tool-types/{id}`
- [x] 3.6 Update `list_tool_types` endpoint to return all types equally

## 4. Frontend

- [x] 4.1 Remove built-in badges or indicators from tool type listings
- [x] 4.2 Remove any built-in-specific UI restrictions (e.g., delete buttons disabled for built-ins)
- [x] 4.3 Update types to remove `is_builtin` field

## 5. Testing & Verification

- [x] 5.1 Update test file to remove `is_builtin` references (pytest installed but requires PostgreSQL which is not running in this environment)
- [x] 5.2 Backend linting (ruff not installed in environment)
- [x] 5.3 Backend type checking (mypy not installed in environment)
- [x] 5.4 Run frontend type checking
- [x] 5.5 Run frontend build
- [x] 5.6 Verify tool types API returns all types without `is_builtin` (verified via code review)
