From 97e484e03fb9d25b6bf56727bdd74772cb2bd6a9 Mon Sep 17 00:00:00 2001 From: oabrivard Date: Wed, 25 Mar 2026 08:28:56 +0100 Subject: [PATCH] docs: add model split implementation plan --- .../plans/2026-03-25-model-split.md | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 docs/superpowers/plans/2026-03-25-model-split.md diff --git a/docs/superpowers/plans/2026-03-25-model-split.md b/docs/superpowers/plans/2026-03-25-model-split.md new file mode 100644 index 0000000..e4ba697 --- /dev/null +++ b/docs/superpowers/plans/2026-03-25-model-split.md @@ -0,0 +1,41 @@ +# Model Split — Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Rename ai_model_writing → ai_model_websearch, split provider models into scraping and websearch lists with GPT-5 generation models. + +**Architecture:** Rename DB column, split JSONB `models` into `models_scraping` + `models_websearch`, update all backend structs/queries/handlers + frontend types/dropdowns. + +**Tech Stack:** Rust (sqlx), SolidJS, PostgreSQL + +**Spec:** `docs/superpowers/specs/2026-03-25-model-split-design.md` + +--- + +### Task 1: Migration — rename column + restructure JSONB + +**Files:** +- Create: `backend/migrations/20260325000019_model_split.sql` +- Modify: `CLAUDE.md` + +The migration: +1. Renames `ai_model_writing` → `ai_model_websearch` in settings +2. Renames `models` → `models_scraping` in admin_providers JSONB +3. Copies `models_scraping` → `models_websearch` (same models initially for Gemini/Anthropic) +4. Updates OpenAI specifically with GPT-5 model lists + +### Task 2: Backend model + DB changes + +Update all Rust structs and DB queries for the rename and new JSONB structure. + +### Task 3: Pipeline + handlers + +Update synthesis.rs, config handler, admin handler. + +### Task 4: Frontend + +Update types, Settings dropdowns, i18n, E2E test. + +--- + +These 4 tasks are tightly coupled — I'll execute them as 2 subagent calls (backend + frontend).