From ec6421de355f0d6ef1edf9d95f1dbc17cc92a43a Mon Sep 17 00:00:00 2001 From: busya Date: Tue, 16 Jun 2026 11:15:19 +0300 Subject: [PATCH] rename ss-tools to superset-tools across the entire project MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace all occurrences of 'ss-tools' with 'superset-tools' in 104 files - Rename git bundle file ss-tools.bundle → superset-tools.bundle - Update .gitignore pattern accordingly - Preserve variable names (hasSsTools etc.) and code identifiers --- .ai/knowledge/test_import_patterns.md | 2 +- .ai/reports/axiom-tools-evaluation.md | 2 +- .env.example | 6 +- .gitignore | 2 +- .kilo/agents/frontend-coder.md | 2 +- .kilocode/rules/specify-rules.md | 6 +- .opencode/agents/closure-gate.md | 4 +- .opencode/agents/fullstack-coder.md | 4 +- .opencode/agents/python-coder.md | 6 +- .opencode/agents/reflection-agent.md | 6 +- .opencode/agents/semantic-curator.md | 4 +- .opencode/agents/speckit.md | 6 +- .opencode/agents/svelte-coder.md | 10 +- .opencode/agents/swarm-master.md | 2 +- .opencode/command/read_semantics.md | 2 +- .opencode/command/speckit.analyze.md | 2 +- .opencode/command/speckit.constitution.md | 4 +- .opencode/command/speckit.implement.md | 2 +- .opencode/command/speckit.plan.md | 4 +- .opencode/command/speckit.semantics.md | 2 +- .opencode/command/speckit.specify.md | 4 +- .opencode/command/speckit.tasks.md | 4 +- .opencode/command/speckit.test.md | 4 +- .opencode/skills/semantics-python/SKILL.md | 12 +-- .opencode/skills/semantics-svelte/SKILL.md | 10 +- .specify/memory/constitution.md | 4 +- CONTRIBUTING.md | 4 +- LICENSE | 2 +- README.md | 24 ++--- backend/pyproject.toml | 2 +- backend/requirements-dev.txt | 2 +- backend/src/core/auth/config.py | 4 +- backend/src/core/connection_service.py | 2 +- backend/src/plugins/git_plugin.py | 4 +- .../__tests__/test_client_headers.py | 4 +- backend/src/plugins/llm_analysis/service.py | 2 +- backend/src/plugins/storage/plugin.py | 2 +- .../test_superset_tls_custom_ca.py | 6 +- backend/tests/test_core/test_auth_config.py | 6 +- build.sh | 56 +++++----- docker-compose.e2e.yml | 2 +- docker/all-in-one.Dockerfile | 4 +- docs/adr/ADR-0001-module-layout.md | 4 +- docs/adr/ADR-0003-orchestrator-pattern.md | 20 ++-- docs/adr/ADR-0004-plugin-architecture.md | 4 +- docs/adr/ADR-0005-auth-rbac.md | 8 +- docs/adr/ADR-0006-frontend-architecture.md | 4 +- .../ADR-0007-rejected-fromStore-derived.md | 4 +- .../ADR-0009-ssl-certificate-management.md | 14 +-- docs/adr/ADR-0011-async-backend.md | 2 +- docs/adr/ADR-0012-superset-testcontainers.md | 2 +- docs/adr/ADR-0013-coverage-reporting.md | 2 +- docs/api/Doxyfile | 4 +- docs/api/doxygen_docs.h | 2 +- docs/api/doxygen_grace.txt | 2 +- docs/api/doxygen_stripped.c | 2 +- docs/api/doxygen_stripped.txt | 2 +- ...rchitecture_decision_superset_migration.md | 10 +- docs/axiom-mcp-tools-report.md | 4 +- docs/enterprise-clean.md | 8 +- docs/installation.md | 20 ++-- docs/orthogonal-test-report.md | 2 +- docs/superset-auth-analysis.md | 4 +- docs/translation-performance-analysis.md | 2 +- duckdb-rebuild-timeout-report.md | 2 +- examples/maintenance-api-bash.sh | 10 +- examples/maintenance-api-python.py | 20 ++-- final-audit-report.md | 2 +- frontend/ai-native-design-audit.md | 2 +- frontend/e2e/run-e2e.sh | 12 +-- frontend/e2e/run-enterprise-clean-e2e.sh | 54 +++++----- frontend/e2e/tests/git.e2e.js | 6 +- frontend/playwright.config.js | 2 +- frontend/src/routes/migration/+page.svelte | 2 +- frontend/src/types/models.ts | 2 +- merge_prompts.py | 2 +- prompts-merged-20260605-093710.md | 102 +++++++++--------- prompts-merged-20260605-094547.md | 100 ++++++++--------- scripts/check_llm_certs.py | 2 +- scripts/coverage-summary.sh | 6 +- scripts/gen_semantics.py | 2 +- specs/003-project-launch-script/quickstart.md | 2 +- specs/014-file-storage-ui/data-model.md | 2 +- specs/014-file-storage-ui/research.md | 2 +- specs/014-file-storage-ui/tasks.md | 2 +- specs/017-llm-analysis-plugin/plan.md | 4 +- specs/017-llm-analysis-plugin/quickstart.md | 2 +- specs/017-llm-analysis-plugin/spec.md | 2 +- specs/020-task-reports-design/plan.md | 2 +- specs/021-llm-project-assistant/plan.md | 4 +- .../021-llm-project-assistant/ux_reference.md | 2 +- specs/022-sync-id-cross-filters/plan.md | 2 +- specs/023-clean-repo-enterprise/quickstart.md | 2 +- .../quickstart.md | 2 +- .../ux_reference.md | 6 +- specs/027-dataset-llm-orchestration/plan.md | 36 +++---- .../quickstart.md | 2 +- specs/027-dataset-llm-orchestration/spec.md | 4 +- specs/027-dataset-llm-orchestration/tasks.md | 2 +- .../ux_reference.md | 10 +- .../checklists/requirements.md | 2 +- .../contracts/modules.md | 2 +- .../effort-estimate-report.md | 36 +++---- specs/028-llm-datasource-supeset/plan.md | 2 +- .../028-llm-datasource-supeset/quickstart.md | 6 +- specs/028-llm-datasource-supeset/spec.md | 6 +- .../ux_reference.md | 2 +- .../contracts/modules.md | 2 +- specs/030-dataset-lifecycle-workspace/plan.md | 4 +- .../research.md | 6 +- specs/030-dataset-lifecycle-workspace/spec.md | 2 +- .../030-dataset-lifecycle-workspace/tasks.md | 2 +- .../ux_reference.md | 2 +- .../data-model-api-key.md | 2 +- specs/031-maintenance-banner/plan.md | 4 +- specs/031-maintenance-banner/quickstart.md | 2 +- specs/031-maintenance-banner/research.md | 6 +- specs/031-maintenance-banner/spec.md | 16 +-- specs/031-maintenance-banner/tasks.md | 2 +- specs/031-maintenance-banner/ux_reference.md | 16 +-- .../checklists/requirements.md | 2 +- specs/032-translate-requests-httpx/plan.md | 2 +- specs/032-translate-requests-httpx/spec.md | 2 +- .../ux_reference.md | 4 +- .../checklists/requirements.md | 4 +- specs/033-gradio-agent-chat/quickstart.md | 4 +- specs/033-gradio-agent-chat/spec.md | 2 +- specs/033-gradio-agent-chat/tasks.md | 4 +- specs/033-gradio-agent-chat/ux_reference.md | 2 +- 129 files changed, 467 insertions(+), 467 deletions(-) diff --git a/.ai/knowledge/test_import_patterns.md b/.ai/knowledge/test_import_patterns.md index 74844351..c42a3493 100644 --- a/.ai/knowledge/test_import_patterns.md +++ b/.ai/knowledge/test_import_patterns.md @@ -2,7 +2,7 @@ ## Problem -The `ss-tools` backend uses **relative imports** inside packages (e.g., `from ...models.task import TaskRecord` in `persistence.py`). This creates specific constraints on how and where tests can be written. +The `superset-tools` backend uses **relative imports** inside packages (e.g., `from ...models.task import TaskRecord` in `persistence.py`). This creates specific constraints on how and where tests can be written. ## Key Rules diff --git a/.ai/reports/axiom-tools-evaluation.md b/.ai/reports/axiom-tools-evaluation.md index 82dfc46c..1db6f6a2 100644 --- a/.ai/reports/axiom-tools-evaluation.md +++ b/.ai/reports/axiom-tools-evaluation.md @@ -14,7 +14,7 @@ # Axiom-Core MCP Tools Evaluation Report **Date:** 2026-03-31 -**Workspace:** `/home/busya/dev/ss-tools` +**Workspace:** `/home/busya/dev/superset-tools` **Evaluator:** Kilo Code (Coder Mode) **Index Stats:** 2528 contracts, 2186 relations, 450 files diff --git a/.env.example b/.env.example index 46a060f6..3f5d964e 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,5 @@ # ====================================================================== -# ss-tools — Переменные окружения +# superset-tools — Переменные окружения # Скопируйте в .env и заполните значения # # Полный каталог: см. backend/src/core/auth/config.py, @@ -34,7 +34,7 @@ INITIAL_ADMIN_EMAIL= # Email администратора (опц OPENAI_API_KEY= # OpenAI API key ANTHROPIC_API_KEY= # Anthropic API key OPENROUTER_SITE_URL= # URL сайта для OpenRouter (если используется) -OPENROUTER_APP_NAME=ss-tools # Название приложения для OpenRouter (по умолчанию ss-tools) +OPENROUTER_APP_NAME=superset-tools # Название приложения для OpenRouter (по умолчанию superset-tools) APP_BASE_URL= # Базовый URL приложения для LLM-колбэков # --- Шифрование --- @@ -72,4 +72,4 @@ FEATURES__HEALTH_MONITOR=true # Включить мониторинг зд PUBLIC_WS_URL= # URL для WebSocket-соединений из фронтенда (например, ws://localhost:8000) # --- Docker Compose --- -COMPOSE_PROJECT_NAME=ss-tools # Имя Docker Compose проекта +COMPOSE_PROJECT_NAME=superset-tools # Имя Docker Compose проекта diff --git a/.gitignore b/.gitignore index e3ad9785..3f2041b5 100755 --- a/.gitignore +++ b/.gitignore @@ -102,7 +102,7 @@ e2e_*.png #generated doxygen docs/api/html -ss-tools.bundle +superset-tools.bundle # Axiom semantic index (auto-generated) .axiom/ diff --git a/.kilo/agents/frontend-coder.md b/.kilo/agents/frontend-coder.md index 0ea1f7b0..115743d4 100644 --- a/.kilo/agents/frontend-coder.md +++ b/.kilo/agents/frontend-coder.md @@ -247,7 +247,7 @@ request: ## Execution Rules - Frontend verification path: `cd frontend && npm run test` -- Runtime diagnosis path may include `docker compose -p ss-tools-current --env-file /home/busya/dev/ss-tools/.env.current logs -f` +- Runtime diagnosis path may include `docker compose -p superset-tools-current --env-file /home/busya/dev/superset-tools/.env.current logs -f` - Use browser-driven validation when the acceptance criteria are visible or interactive. - Treat browser validation and docker log streaming as parallel evidence lanes when debugging live UI flows. - Never bypass semantic or UX debt to make the UI appear working. diff --git a/.kilocode/rules/specify-rules.md b/.kilocode/rules/specify-rules.md index 05afb2d3..c9eba1f1 100644 --- a/.kilocode/rules/specify-rules.md +++ b/.kilocode/rules/specify-rules.md @@ -1,12 +1,12 @@ -# ss-tools Development Guidelines +# superset-tools Development Guidelines Auto-generated from all feature plans. Last updated: 2026-05-08 ## Active Technologies - Python 3.9+ (backend), JavaScript/TypeScript — Svelte 5 runes (frontend) + FastAPI 0.104+, Pydantic v2, SQLAlchemy (backend); SvelteKit 2.x, Svelte 5.x, Vite 7.x, Tailwind CSS 3.x (frontend) (030-dataset-lifecycle-workspace) -- PostgreSQL 16 (ss-tools own DB); no schema changes in this feature (030-dataset-lifecycle-workspace) +- PostgreSQL 16 (superset-tools own DB); no schema changes in this feature (030-dataset-lifecycle-workspace) - Python 3.9+ (backend), JavaScript/TypeScript (frontend Svelte 5 runes) + FastAPI 0.126, SQLAlchemy 2.0, APScheduler 3.11 (backend); SvelteKit 2.x, Svelte 5.43, Vite 7.x, Tailwind CSS 3.x (frontend) (031-maintenance-banner) -- PostgreSQL 16 (dedicated ss-tools DB — not Superset metadata DB per ADR-0003) (031-maintenance-banner) +- PostgreSQL 16 (dedicated superset-tools DB — not Superset metadata DB per ADR-0003) (031-maintenance-banner) - Python 3.9+ (backend), TypeScript (frontend Svelte 5 runes-only) + FastAPI 0.126, SQLAlchemy, APScheduler 3.11, httpx 0.28 (already present), anyio 4.12 (already present) (032-translate-requests-httpx) - PostgreSQL 16 (unchanged — DB operations via asyncio.to_thread) (032-translate-requests-httpx) - Python 3.9+ (backend), TypeScript (frontend Svelte 5 runes-only) + FastAPI, SQLAlchemy, Gradio ≥5.0, LangChain ≥0.3, langchain-openai (backend); SvelteKit 5, Vite, Tailwind CSS, @gradio/client (frontend) (033-gradio-agent-chat) diff --git a/.opencode/agents/closure-gate.md b/.opencode/agents/closure-gate.md index 4d984383..bb7f8d89 100644 --- a/.opencode/agents/closure-gate.md +++ b/.opencode/agents/closure-gate.md @@ -1,5 +1,5 @@ --- -description: Closure gate subagent that re-audits merged worker state, rejects noisy intermediate artifacts, and emits the only concise user-facing closure summary for ss-tools. +description: Closure gate subagent that re-audits merged worker state, rejects noisy intermediate artifacts, and emits the only concise user-facing closure summary for superset-tools. mode: subagent model: deepseek/deepseek-v4-flash temperature: 0.0 @@ -16,7 +16,7 @@ MANDATORY USE `skill({name="semantics-core"})`, `skill({name="semantics-contract You are Kilo Code, acting as the Closure Gate. #region Closure.Gate [C:3] [TYPE Agent] [SEMANTICS closure,audit,compression,summary] -@BRIEF WHY: Re-audit merged worker outputs, reject noise, emit the ONE concise user-facing closure summary with applied work, remaining risk, and next action for ss-tools. +@BRIEF WHY: Re-audit merged worker outputs, reject noise, emit the ONE concise user-facing closure summary with applied work, remaining risk, and next action for superset-tools. @RELATION DEPENDS_ON -> [swarm-master] @RELATION DEPENDS_ON -> [python-coder] @RELATION DEPENDS_ON -> [svelte-coder] diff --git a/.opencode/agents/fullstack-coder.md b/.opencode/agents/fullstack-coder.md index 05f95ec7..028ac04a 100644 --- a/.opencode/agents/fullstack-coder.md +++ b/.opencode/agents/fullstack-coder.md @@ -1,5 +1,5 @@ --- -description: Fullstack Implementation Specialist for ss-tools — owns Python backend + Svelte frontend integration, cross-cutting features, and end-to-end verification. +description: Fullstack Implementation Specialist for superset-tools — owns Python backend + Svelte frontend integration, cross-cutting features, and end-to-end verification. mode: all model: deepseek/deepseek-v4-flash temperature: 0.2 @@ -81,7 +81,7 @@ You own: 12. If `explore()` reveals a workaround that survives, update the appropriate contract header with `@RATIONALE` and `@REJECTED`. 13. If test reports or environment messages include `[ATTEMPT: N]`, switch behavior according to the anti-loop protocol. -## API Contract Conventions (ss-tools) +## API Contract Conventions (superset-tools) - Backend: Pydantic models in `backend/src/schemas/` - Frontend: TypeScript types in `frontend/src/types/` - **Frontend DTOs MUST match backend Pydantic schemas** — agent must verify type alignment across the stack boundary. Model `.svelte.ts` files use typed atoms conforming to frontend DTOs. diff --git a/.opencode/agents/python-coder.md b/.opencode/agents/python-coder.md index 723ff44c..dcc44e58 100644 --- a/.opencode/agents/python-coder.md +++ b/.opencode/agents/python-coder.md @@ -1,5 +1,5 @@ --- -description: Python Backend Implementation Specialist — semantic protocol compliant; implements features, writes code, fixes issues for FastAPI, SQLAlchemy, and async Python in ss-tools. +description: Python Backend Implementation Specialist — semantic protocol compliant; implements features, writes code, fixes issues for FastAPI, SQLAlchemy, and async Python in superset-tools. mode: all model: deepseek/deepseek-v4-flash temperature: 0.2 @@ -13,7 +13,7 @@ color: accent MANDATORY USE `skill({name="semantics-core"})`, `skill({name="semantics-contracts"})`, `skill({name="semantics-python"})`, `skill({name="molecular-cot-logging"})` #region Python.Coder [C:4] [TYPE Agent] [SEMANTICS implementation,python,backend,fastapi] -@BRIEF Python backend implementation specialist — implements features, writes code, fixes issues for FastAPI/SQLAlchemy/async Python in ss-tools. +@BRIEF Python backend implementation specialist — implements features, writes code, fixes issues for FastAPI/SQLAlchemy/async Python in superset-tools. ## 0. ZERO-STATE RATIONALE — WHY YOU BREAK THE PROJECT WITHOUT CONTRACTS @@ -82,7 +82,7 @@ See `semantics-core` §VI for the canonical tool reference. For Python backend w --- -## ss-tools Backend Scope +## superset-tools Backend Scope You own: - FastAPI route handlers (`backend/src/api/`) - SQLAlchemy models (`backend/src/models/`) diff --git a/.opencode/agents/reflection-agent.md b/.opencode/agents/reflection-agent.md index ece818c4..e7e7f46c 100644 --- a/.opencode/agents/reflection-agent.md +++ b/.opencode/agents/reflection-agent.md @@ -1,5 +1,5 @@ --- -description: Senior reflection and unblocker agent for tasks where a coder entered anti-loop escalation in ss-tools; analyzes architecture, environment, dependency, contract, and test harness failures across Python and Svelte stacks. +description: Senior reflection and unblocker agent for tasks where a coder entered anti-loop escalation in superset-tools; analyzes architecture, environment, dependency, contract, and test harness failures across Python and Svelte stacks. mode: subagent model: deepseek/deepseek-v4-pro temperature: 0.0 @@ -16,7 +16,7 @@ You are Kilo Code, acting as the Reflection Agent. MANDATORY USE `skill({name="semantics-core"})`, `skill({name="semantics-contracts"})` #region Reflection.Agent [C:4] [TYPE Agent] [SEMANTICS diagnosis,unblock,architecture,escalation] -@BRIEF WHY: Diagnose and unblock when coders enter anti-loop in ss-tools. Analyze architecture, environment, contracts, and test harness — never continue blind patching. You break the loop. +@BRIEF WHY: Diagnose and unblock when coders enter anti-loop in superset-tools. Analyze architecture, environment, contracts, and test harness — never continue blind patching. You break the loop. @RELATION DEPENDS_ON -> [python-coder] @RELATION DEPENDS_ON -> [svelte-coder] @RELATION DEPENDS_ON -> [fullstack-coder] @@ -84,7 +84,7 @@ See `semantics-core` §VI for the canonical tool reference. For diagnosis: --- -## ss-tools Specific Diagnosis Lanes +## superset-tools Specific Diagnosis Lanes ### Python Backend Failures 1. **ImportError / ModuleNotFoundError** → Check `.venv` activation, `PYTHONPATH`, `__init__.py` files diff --git a/.opencode/agents/semantic-curator.md b/.opencode/agents/semantic-curator.md index 7975b2c9..2684ec13 100644 --- a/.opencode/agents/semantic-curator.md +++ b/.opencode/agents/semantic-curator.md @@ -1,5 +1,5 @@ --- -description: Semantic Curator Agent — maintains GRACE semantic markup, anchors, and index health for ss-tools Python and Svelte code. Read-only file access; uses axiom MCP for mutations. +description: Semantic Curator Agent — maintains GRACE semantic markup, anchors, and index health for superset-tools Python and Svelte code. Read-only file access; uses axiom MCP for mutations. mode: all model: deepseek/deepseek-v4-flash temperature: 0.2 @@ -94,7 +94,7 @@ See `semantics-core` §VI for the canonical tool reference. For curation work, k - After ANY mutation: `axiom_semantic_index rebuild rebuild_mode="full"`. - After a series of fixes on >3 files: rebuild ONCE after all files verified (not per-file). -## Language-Specific Anchor Rules (ss-tools) +## Language-Specific Anchor Rules (superset-tools) - **Python:** `# #region ContractId [C:N] [TYPE TypeName] [SEMANTICS tags]` / `# #endregion ContractId` - **Svelte HTML:** `` / `` - **Svelte JS/TS (script block):** `// #region ContractId [C:N] [TYPE TypeName]` / `// #endregion ContractId` diff --git a/.opencode/agents/speckit.md b/.opencode/agents/speckit.md index 3807d0a7..63437abe 100644 --- a/.opencode/agents/speckit.md +++ b/.opencode/agents/speckit.md @@ -1,5 +1,5 @@ --- -description: Speckit Workflow Specialist — runs the full feature lifecycle from specification through planning, task decomposition, and implementation for Python/Svelte ss-tools features. +description: Speckit Workflow Specialist — runs the full feature lifecycle from specification through planning, task decomposition, and implementation for Python/Svelte superset-tools features. mode: all model: deepseek/deepseek-v4-pro temperature: 0.2 @@ -30,7 +30,7 @@ See `semantics-core` §VI for the canonical tool reference. For planning: ## Core Mandate - Own the full feature lifecycle: `/speckit.specify` → `/speckit.clarify` → `/speckit.plan` → `/speckit.tasks` → `/speckit.implement`. -- Every output artifact must be traceable to semantic contracts, ADR guardrails, and the ss-tools repository reality (Python backend + Svelte frontend). +- Every output artifact must be traceable to semantic contracts, ADR guardrails, and the superset-tools repository reality (Python backend + Svelte frontend). - Never skip a phase. Never proceed with unresolved `[NEEDS CLARIFICATION]` markers. ## Required Workflow @@ -62,7 +62,7 @@ See `semantics-core` §VI for the canonical tool reference. For planning: ### 3. Planning (`/speckit.plan`) 1. Run `.specify/scripts/bash/setup-plan.sh --json` to initialize `plan.md`. 2. Load all canonical context: `README.md`, `requirements.txt`, `frontend/package.json`, all ADRs, constitution, skill files, plan template. -3. Fill `Technical Context` with real ss-tools reality: Python 3.9+ / FastAPI / SQLAlchemy backend, SvelteKit 5 / Tailwind frontend, Docker deployment. +3. Fill `Technical Context` with real superset-tools reality: Python 3.9+ / FastAPI / SQLAlchemy backend, SvelteKit 5 / Tailwind frontend, Docker deployment. 4. Fill `Constitution Check` — ERROR if blocking conflict found. 5. Phase 0 — write `research.md`: resolve all material unknowns (API design, component placement, data model, async patterns, migration strategy, ADR continuity). Each item must include Decision, Rationale, Alternatives Considered, Impact. 6. Phase 1 — write `data-model.md`, `contracts/modules.md`, `quickstart.md`. diff --git a/.opencode/agents/svelte-coder.md b/.opencode/agents/svelte-coder.md index c3b74d12..fa4e6efd 100644 --- a/.opencode/agents/svelte-coder.md +++ b/.opencode/agents/svelte-coder.md @@ -1,5 +1,5 @@ --- -description: Svelte Frontend Implementation Specialist for ss-tools — implements Svelte 5 (Runes) UI with Tailwind CSS, browser-driven validation, and UX state machines. +description: Svelte Frontend Implementation Specialist for superset-tools — implements Svelte 5 (Runes) UI with Tailwind CSS, browser-driven validation, and UX state machines. mode: all model: deepseek/deepseek-v4-flash temperature: 0.1 @@ -57,7 +57,7 @@ See `semantics-core` §VI for the canonical tool reference. For Svelte frontend --- -## ss-tools Frontend Scope +## superset-tools Frontend Scope You own: - SvelteKit routes (`frontend/src/routes/`) - Svelte 5 components (`frontend/src/lib/components/` — **only directory for NEW domain components**) @@ -113,7 +113,7 @@ You do not own: ## UX Contract Reference See `semantics-svelte` §II for full UX contract definitions. See `semantics-core` §III for the tag-to-tier permissiveness matrix. All UX tags (@UX_STATE, @UX_FEEDBACK, @UX_RECOVERY, @UX_REACTIVITY, @UX_TEST) are informational and allowed at any tier. -## Frontend Design Practice (ss-tools) +## Frontend Design Practice (superset-tools) For frontend design and implementation tasks, default to these rules unless the existing product design system clearly requires otherwise: ### Composition and hierarchy @@ -122,7 +122,7 @@ For frontend design and implementation tasks, default to these rules unless the - Prefer whitespace, alignment, scale, and contrast before adding chrome. - Default to cardless layouts; use cards only when a card is the actual interaction container for a specific resource. -### Visual system (ss-tools design tokens — source: `tailwind.config.js`) +### Visual system (superset-tools design tokens — source: `tailwind.config.js`) **Raw Tailwind colors (`blue-600`, `green-500`, `red-600`, `gray-*`, `indigo-*`) are DEPRECATED in page and component code.** Use ONLY these semantic tokens: - Primary action: `bg-primary text-white hover:bg-primary-hover` @@ -250,7 +250,7 @@ npm run dev # Development server for browser validation ## Execution Rules - Frontend test path: `cd frontend && npm run test` -- Docker logs for backend interaction: `docker compose -p ss-tools-current --env-file .env.current logs -f` +- Docker logs for backend interaction: `docker compose -p superset-tools-current --env-file .env.current logs -f` - Use browser-driven validation when the acceptance criteria are visible or interactive. - Never bypass semantic or UX debt to make the UI appear working. - Never strip `@RATIONALE` or `@REJECTED` to hide a surviving workaround; revise decision memory instead. diff --git a/.opencode/agents/swarm-master.md b/.opencode/agents/swarm-master.md index 921a81ef..9ccc54c2 100644 --- a/.opencode/agents/swarm-master.md +++ b/.opencode/agents/swarm-master.md @@ -57,7 +57,7 @@ You NEVER implement code or use low-level tools. You delegate the **Purpose** (G - Keep the swarm minimal and strictly routed to the Allowed Delegates. - Preserve decision memory across the full chain: Plan ADR -> Task Guardrail -> Implementation Workaround -> Closure Summary. -## II. ALLOWED DELEGATES (ss-tools) +## II. ALLOWED DELEGATES (superset-tools) | Agent | Scope | When to Use | |-------|-------|-------------| | `python-coder` | Python backend (FastAPI, SQLAlchemy, services, plugins) | Backend-only features, API changes, DB migrations, plugin work | diff --git a/.opencode/command/read_semantics.md b/.opencode/command/read_semantics.md index ef060dc4..d8846a64 100644 --- a/.opencode/command/read_semantics.md +++ b/.opencode/command/read_semantics.md @@ -1,4 +1,4 @@ --- -description: Load semantic protocol context for ss-tools +description: Load semantic protocol context for superset-tools --- MANDATORY USE `skill({name="semantics-core"})`, `skill({name="semantics-contracts"})`, `skill({name="molecular-cot-logging"})`, `skill({name="semantics-python"})`, `skill({name="semantics-svelte"})` diff --git a/.opencode/command/speckit.analyze.md b/.opencode/command/speckit.analyze.md index 9d5c97e7..dc850541 100644 --- a/.opencode/command/speckit.analyze.md +++ b/.opencode/command/speckit.analyze.md @@ -1,5 +1,5 @@ --- -description: Perform a read-only consistency analysis across spec.md, plan.md, tasks.md, contracts/modules.md, and ADR sources for the active ss-tools feature. Covers UX Contract Traceability, ATTN Rules Compliance, and decision-memory continuity. +description: Perform a read-only consistency analysis across spec.md, plan.md, tasks.md, contracts/modules.md, and ADR sources for the active superset-tools feature. Covers UX Contract Traceability, ATTN Rules Compliance, and decision-memory continuity. --- ## User Input diff --git a/.opencode/command/speckit.constitution.md b/.opencode/command/speckit.constitution.md index a5cd5cc8..45996878 100644 --- a/.opencode/command/speckit.constitution.md +++ b/.opencode/command/speckit.constitution.md @@ -1,5 +1,5 @@ --- -description: Create or update the local workflow constitution and propagate principle changes into dependent speckit artifacts for ss-tools. +description: Create or update the local workflow constitution and propagate principle changes into dependent speckit artifacts for superset-tools. handoffs: - label: Build Specification agent: speckit.specify @@ -30,7 +30,7 @@ You are updating the local constitution at `.specify/memory/constitution.md`. Th Execution flow: 1. Load the existing constitution at `.specify/memory/constitution.md`. -2. Identify placeholders, stale assumptions, or principles that conflict with the current ss-tools repository (Python/Svelte, not Rust/MCP). +2. Identify placeholders, stale assumptions, or principles that conflict with the current superset-tools repository (Python/Svelte, not Rust/MCP). 3. Derive concrete constitutional text from user input and repository reality. 4. Version the constitution using semantic versioning: - MAJOR: incompatible governance/principle change diff --git a/.opencode/command/speckit.implement.md b/.opencode/command/speckit.implement.md index 4f1dc4e0..4428dfca 100644 --- a/.opencode/command/speckit.implement.md +++ b/.opencode/command/speckit.implement.md @@ -1,5 +1,5 @@ --- -description: Execute the implementation plan by processing the active tasks.md for the ss-tools repository (Python backend + Svelte frontend). +description: Execute the implementation plan by processing the active tasks.md for the superset-tools repository (Python backend + Svelte frontend). handoffs: - label: Audit & Verify (Tester) agent: qa-tester diff --git a/.opencode/command/speckit.plan.md b/.opencode/command/speckit.plan.md index 4c500848..d111154f 100644 --- a/.opencode/command/speckit.plan.md +++ b/.opencode/command/speckit.plan.md @@ -1,5 +1,5 @@ --- -description: Execute the implementation planning workflow for ss-tools (Python backend + Svelte frontend) and generate research, design, contracts, and quickstart artifacts. +description: Execute the implementation planning workflow for superset-tools (Python backend + Svelte frontend) and generate research, design, contracts, and quickstart artifacts. handoffs: - label: Create Tasks agent: speckit.tasks @@ -143,7 +143,7 @@ Every contract in `contracts/modules.md` MUST pass these checks. Contracts that ### Data Model Output -Generate `data-model.md` for ss-tools domain entities such as: +Generate `data-model.md` for superset-tools domain entities such as: - Pydantic request/response schemas - SQLAlchemy models and relationships - WebSocket message formats diff --git a/.opencode/command/speckit.semantics.md b/.opencode/command/speckit.semantics.md index 7a5c583d..851c7d77 100644 --- a/.opencode/command/speckit.semantics.md +++ b/.opencode/command/speckit.semantics.md @@ -1,5 +1,5 @@ --- -description: Maintain semantic integrity by reindexing, auditing, and reviewing the ss-tools repository through AXIOM MCP tools. +description: Maintain semantic integrity by reindexing, auditing, and reviewing the superset-tools repository through AXIOM MCP tools. --- ## User Input diff --git a/.opencode/command/speckit.specify.md b/.opencode/command/speckit.specify.md index ca938224..5723e0e7 100644 --- a/.opencode/command/speckit.specify.md +++ b/.opencode/command/speckit.specify.md @@ -1,5 +1,5 @@ --- -description: Create or update the feature specification from a natural-language feature description for the ss-tools project (Python backend + Svelte frontend). +description: Create or update the feature specification from a natural-language feature description for the superset-tools project (Python backend + Svelte frontend). handoffs: - label: Build Technical Plan agent: speckit.plan @@ -63,7 +63,7 @@ The feature description is the text passed to `/speckit.specify`. Generate `FEATURE_DIR/checklists/requirements.md` and ensure it validates: - no implementation leakage into `spec.md` -- compatibility with the Python/Svelte ss-tools stack +- compatibility with the Python/Svelte superset-tools stack - measurable success criteria - explicit edge cases and recovery paths - decision-memory readiness for downstream planning diff --git a/.opencode/command/speckit.tasks.md b/.opencode/command/speckit.tasks.md index e51bfa7a..c50f8d55 100644 --- a/.opencode/command/speckit.tasks.md +++ b/.opencode/command/speckit.tasks.md @@ -1,5 +1,5 @@ --- -description: Generate an actionable, dependency-ordered tasks.md for the active ss-tools feature (Python backend + Svelte frontend). +description: Generate an actionable, dependency-ordered tasks.md for the active superset-tools feature (Python backend + Svelte frontend). handoffs: - label: Analyze For Consistency agent: speckit.analyze @@ -73,7 +73,7 @@ Rules: 4. `[USx]` required only for user-story phases 5. exact file paths required in the description -### ss-tools Pathing +### superset-tools Pathing Prefer real repository paths such as: - `backend/src/api/*.py` (FastAPI routes) diff --git a/.opencode/command/speckit.test.md b/.opencode/command/speckit.test.md index 7c3ecf18..bfb0c751 100644 --- a/.opencode/command/speckit.test.md +++ b/.opencode/command/speckit.test.md @@ -1,5 +1,5 @@ --- -description: Execute mocking discipline audit, semantic verification, and native testing for the active ss-tools feature batch (pytest + vitest). Read-only audit first, then auto-fix violations. +description: Execute mocking discipline audit, semantic verification, and native testing for the active superset-tools feature batch (pytest + vitest). Read-only audit first, then auto-fix violations. handoffs: - label: Orchestration Control agent: swarm-master @@ -17,7 +17,7 @@ You **MUST** consider the user input before proceeding (if not empty). User may ## Goal -Run the full verification loop for the touched ss-tools scope: +Run the full verification loop for the touched superset-tools scope: 1. **Mocking discipline audit** — scan every test file in scope, classify every mock/spy/stub/patch, flag violations 2. **Auto-fix violations** — correct SUT mocks and Logic Mirrors (no flag needed; fix by default) 3. **Semantic audit** — contract density, belief runtime, rejected-path regression diff --git a/.opencode/skills/semantics-python/SKILL.md b/.opencode/skills/semantics-python/SKILL.md index 77d7b1c9..cb53c875 100644 --- a/.opencode/skills/semantics-python/SKILL.md +++ b/.opencode/skills/semantics-python/SKILL.md @@ -1,24 +1,24 @@ --- name: semantics-python -description: Python-specific GRACE-Poly protocol: few-shot complexity examples, belief runtime patterns, module conventions, and FastAPI/SQLAlchemy patterns for ss-tools. +description: Python-specific GRACE-Poly protocol: few-shot complexity examples, belief runtime patterns, module conventions, and FastAPI/SQLAlchemy patterns for superset-tools. --- #region Std.Semantics.Python [C:4] [TYPE Skill] [SEMANTICS python,examples,fastapi,sqlalchemy] -@BRIEF Python-specific HOW: few-shot complexity examples, belief runtime patterns, module decomposition, and FastAPI/SQLAlchemy conventions for the GRACE-Poly protocol in ss-tools. +@BRIEF Python-specific HOW: few-shot complexity examples, belief runtime patterns, module decomposition, and FastAPI/SQLAlchemy conventions for the GRACE-Poly protocol in superset-tools. @RELATION DEPENDS_ON -> [Std.Semantics.Core] @RELATION DEPENDS_ON -> [Std.Semantics.Contracts] @RELATION DISPATCHES -> [MolecularCoTLogging] @RESTRICTION EXAMPLES ONLY — this file provides language-specific code patterns. All protocol rules (tier definitions, tag catalog, anchor syntax) are defined exclusively in `semantics-core`. This file MUST NOT redefine or contradict any rule from `semantics-core`. @RATIONALE Python's async/await model, FastAPI dependency injection, and SQLAlchemy session management create unique failure modes for Transformer agents: (1) async/await boundary confusion — agents write sync code in async contexts or forget `await` on ORM calls, producing silent no-ops; (2) dependency injection blindness — FastAPI's `Depends()` creates implicit call graphs that the agent's attention cannot trace without explicit @RELATION edges; (3) session lifecycle drift — SQLAlchemy sessions have strict boundaries that agents violate by passing detached objects across function calls. Concrete examples at each complexity tier act as few-shot anchors that override the agent's pre-trained (and often wrong) Python patterns. -@REJECTED Generic Python patterns without GRACE anchors were rejected — agents produce working code that violates module size limits (INV_7), omits belief runtime markers, and creates orphan contracts invisible to the semantic index. Relying on the agent's pre-trained FastAPI/SQLAlchemy knowledge without project-specific examples was rejected — ss-tools has specific conventions (trace_id propagation, plugin architecture, WebSocket logging) that general training data cannot capture. +@REJECTED Generic Python patterns without GRACE anchors were rejected — agents produce working code that violates module size limits (INV_7), omits belief runtime markers, and creates orphan contracts invisible to the semantic index. Relying on the agent's pre-trained FastAPI/SQLAlchemy knowledge without project-specific examples was rejected — superset-tools has specific conventions (trace_id propagation, plugin architecture, WebSocket logging) that general training data cannot capture. ## 0. WHEN TO USE THIS SKILL -Load this skill when implementing Python backend code under the GRACE-Poly protocol in ss-tools. It provides concrete Python examples for each complexity tier, belief runtime patterns, FastAPI/SQLAlchemy conventions, and module structure rules. For generic protocol rules, see `semantics-core`. For contract enforcement methodology, see `semantics-contracts`. +Load this skill when implementing Python backend code under the GRACE-Poly protocol in superset-tools. It provides concrete Python examples for each complexity tier, belief runtime patterns, FastAPI/SQLAlchemy conventions, and module structure rules. For generic protocol rules, see `semantics-core`. For contract enforcement methodology, see `semantics-contracts`. ## I. PYTHON BELIEF RUNTIME PATTERNS -ss-tools uses the canonical **Molecular CoT Logging** protocol for belief markers. For the full wire-format specification, see the `molecular-cot-logging` skill. +superset-tools uses the canonical **Molecular CoT Logging** protocol for belief markers. For the full wire-format specification, see the `molecular-cot-logging` skill. **ALWAYS import from the shared module — never copy-paste inline:** @@ -172,7 +172,7 @@ def rebuild_index(root_path: str) -> dict: ## III. PYTHON MODULE PATTERNS -### Project module layout (ss-tools convention) +### Project module layout (superset-tools convention) ``` backend/ ├── src/ diff --git a/.opencode/skills/semantics-svelte/SKILL.md b/.opencode/skills/semantics-svelte/SKILL.md index c4a1fbf3..3cb7d5e4 100644 --- a/.opencode/skills/semantics-svelte/SKILL.md +++ b/.opencode/skills/semantics-svelte/SKILL.md @@ -1,16 +1,16 @@ --- name: semantics-svelte -description: Svelte 5 (Runes) protocol for ss-tools: UX State Machines, Tailwind components, stores, and browser-driven visual validation. +description: Svelte 5 (Runes) protocol for superset-tools: UX State Machines, Tailwind components, stores, and browser-driven visual validation. --- #region Std.Semantics.Svelte [C:5] [TYPE Skill] [SEMANTICS frontend,svelte,ui,ux,tailwind] -@BRIEF HOW to build Svelte 5 (Runes) Components for ss-tools with UX State Machines, Tailwind CSS, store topology, and visual-interactive validation. +@BRIEF HOW to build Svelte 5 (Runes) Components for superset-tools with UX State Machines, Tailwind CSS, store topology, and visual-interactive validation. @RELATION DEPENDS_ON -> [Std.Semantics.Core] @RELATION DEPENDS_ON -> [MolecularCoTLogging] @RELATION DISPATCHES -> [Std.Semantics.Testing] @RESTRICTION EXAMPLES ONLY — this file provides language-specific code patterns. All protocol rules (tier definitions, tag catalog, anchor syntax) are defined exclusively in `semantics-core`. UX contract tags are defined here as examples; the tag catalog lives in `semantics-core` §III. This file MUST NOT redefine or contradict any rule from `semantics-core`. -@RATIONALE Svelte 5 runes ($state, $derived, $effect, $props) chosen for reactive precision and native compiler optimisations over Svelte 4 legacy reactivity ($:). Tailwind CSS selected for zero-runtime utility-first styling and rapid visual validation via chrome-devtools MCP. FSM-based UX contracts (@UX_STATE, @UX_FEEDBACK, @UX_RECOVERY) chosen to create verifiable state-transition tests that the browser Judge Agent can execute deterministically. ss-tools internal API wrappers (fetchApi/requestApi) chosen over native fetch to enforce auth, error normalisation, and trace_id propagation. Model-first architecture chosen because event-handler spaghetti is the #1 Transformer failure mode in UI code: the agent scatters logic across onclick/onchange in 5 files — KV-cache cannot hold cross-component relationships, creating invisible coupling that breaks silently. -@REJECTED React (JSX) rejected — Svelte's compiler-first approach yields smaller bundles and native reactivity without virtual DOM overhead. Vue rejected — Svelte 5 runes provide simpler mental model. Legacy Svelte 4 syntax (export let, $:, on:event) rejected — incompatible with Svelte 5 runes mode and dominates agent training data, causing silent regression. CSS Modules / styled-components rejected in favour of Tailwind's utility-first approach, which avoids style leakage and simplifies chrome-devtools visual diffing. Native fetch() rejected — bypasses ss-tools middleware chain (auth, trace_id, error normalisation). Plain-text logging rejected per MolecularCoTLogging §VII — JSON lines are mandatory for agent-parsable traces. Component-first architecture for complex screens rejected — the Model-first approach (model.svelte.ts → component) keeps system logic in one file where the agent's attention can find it via grep + search_contracts. +@RATIONALE Svelte 5 runes ($state, $derived, $effect, $props) chosen for reactive precision and native compiler optimisations over Svelte 4 legacy reactivity ($:). Tailwind CSS selected for zero-runtime utility-first styling and rapid visual validation via chrome-devtools MCP. FSM-based UX contracts (@UX_STATE, @UX_FEEDBACK, @UX_RECOVERY) chosen to create verifiable state-transition tests that the browser Judge Agent can execute deterministically. superset-tools internal API wrappers (fetchApi/requestApi) chosen over native fetch to enforce auth, error normalisation, and trace_id propagation. Model-first architecture chosen because event-handler spaghetti is the #1 Transformer failure mode in UI code: the agent scatters logic across onclick/onchange in 5 files — KV-cache cannot hold cross-component relationships, creating invisible coupling that breaks silently. +@REJECTED React (JSX) rejected — Svelte's compiler-first approach yields smaller bundles and native reactivity without virtual DOM overhead. Vue rejected — Svelte 5 runes provide simpler mental model. Legacy Svelte 4 syntax (export let, $:, on:event) rejected — incompatible with Svelte 5 runes mode and dominates agent training data, causing silent regression. CSS Modules / styled-components rejected in favour of Tailwind's utility-first approach, which avoids style leakage and simplifies chrome-devtools visual diffing. Native fetch() rejected — bypasses superset-tools middleware chain (auth, trace_id, error normalisation). Plain-text logging rejected per MolecularCoTLogging §VII — JSON lines are mandatory for agent-parsable traces. Component-first architecture for complex screens rejected — the Model-first approach (model.svelte.ts → component) keeps system logic in one file where the agent's attention can find it via grep + search_contracts. @INVARIANT Frontend components MUST be verifiable by the browser toolset via `chrome-devtools` MCP. @INVARIANT Use Tailwind CSS exclusively. Raw Tailwind color classes (`blue-600`, `green-500`, `red-600`, `gray-*`, `indigo-*`) are DEPRECATED in page and component code — use semantic tokens from `tailwind.config.js` only (`primary`, `destructive`, `success`, `warning`, `surface-*`, `border-*`, `text-*`). @INVARIANT Page-level UI MUST use `$lib/ui` atoms: `