Files
headquarter/openspec/changes/archive/2026-05-23-remove-built-in-tools/tasks.md
T
Fusion 312a646b89 feat: remove built-in tool types distinction
- Drop is_builtin column from tool_types table
- Remove built-in tool seeding from startup
- Remove is_builtin from API schemas and frontend types
- Update tool-types spec to reflect removal of built-in concept
- Add Alembic migration for column removal
- Update tests to work without built-in distinction
2026-05-23 20:02:19 +02:00

35 lines
1.6 KiB
Markdown

## 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)