# Implementation Plan: 012-remove-superset-tool **Branch**: `012-remove-superset-tool` | **Date**: 2026-01-22 | **Spec**: [spec.md](specs/012-remove-superset-tool/spec.md) ## Summary The primary requirement is to refactor the backend by removing the redundant `superset_tool` module and merging its essential logic into the `backend` package. This involves migrating the `SupersetClient` logic, utility modules, and configuration models while deprecating CLI-specific interactive logic. ## Technical Context **Language/Version**: Python 3.9+ **Primary Dependencies**: FastAPI, Pydantic, requests, pyyaml (migrated from superset_tool) **Storage**: SQLite (tasks.db, migrations.db), Filesystem **Testing**: pytest **Target Platform**: Linux server **Project Type**: Web application (FastAPI backend + SvelteKit frontend) **Performance Goals**: N/A (Cleanup task) **Constraints**: Zero references to `superset_tool` in `backend/` source code. **Scale/Scope**: Refactoring core backend infrastructure. ## Constitution Check *GATE: Must pass before Phase 0 research. Re-check after Phase 1 design.* 1. **Semantic Protocol Compliance**: All migrated code must use `[DEF]` anchors and `@RELATION` tags as per `semantic_protocol.md`. 2. **Causal Validity**: Contracts (Pydantic models and API surfaces) must be defined before implementation. 3. **Everything is a Plugin**: Ensure that logic previously in `superset_tool` that acts as a tool or extension is integrated within the backend's plugin architecture if applicable. 4. **Fractal Complexity Limit**: Migrated modules must adhere to complexity limits. ## Project Structure ### Documentation (this feature) ```text specs/012-remove-superset-tool/ ├── plan.md # This file ├── research.md # Phase 0 output ├── data-model.md # Phase 1 output ├── quickstart.md # Phase 1 output ├── contracts/ # Phase 1 output └── tasks.md # Phase 2 output ``` ### Source Code (repository root) ```text backend/ ├── src/ │ ├── api/ # API routes │ ├── core/ # Core logic (Target for migration) │ │ ├── utils/ # Shared utilities │ │ ├── config_models.py │ │ ├── logger.py │ │ └── superset_client.py │ ├── models/ # Database models │ ├── plugins/ # Plugin system │ └── app.py └── tests/ # Backend tests ``` **Structure Decision**: Web application structure. The `superset_tool` logic will be absorbed into `backend/src/core/` and its subdirectories. ## Complexity Tracking > **Fill ONLY if Constitution Check has violations that must be justified** | Violation | Why Needed | Simpler Alternative Rejected Because | |-----------|------------|-------------------------------------| | None | | |