2.9 KiB
Implementation Plan: 012-remove-superset-tool
Branch: 012-remove-superset-tool | Date: 2026-01-22 | Spec: 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.
- Semantic Protocol Compliance: All migrated code must use
[DEF]anchors and@RELATIONtags as persemantic_protocol.md. - Causal Validity: Contracts (Pydantic models and API surfaces) must be defined before implementation.
- Everything is a Plugin: Ensure that logic previously in
superset_toolthat acts as a tool or extension is integrated within the backend's plugin architecture if applicable. - Fractal Complexity Limit: Migrated modules must adhere to complexity limits.
Project Structure
Documentation (this feature)
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)
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 |