Files
ss-tools/.ai/standards/architecture.md
2026-02-19 17:43:45 +03:00

1.1 KiB

[DEF:Std:Architecture:Standard]

@TIER: CRITICAL

@PURPOSE: Core architectural decisions and service boundaries.

@LAYER: Infra

@INVARIANT: ss-tools MUST remain a standalone service (Orchestrator).

@INVARIANT: Backend: FastAPI, Frontend: SvelteKit.

1. ORCHESTRATOR VS INSTANCE

  • Role: ss-tools is a "Manager of Managers". It sits ABOVE Superset environments.
  • Isolation: Do not integrate directly into Superset as a plugin to maintain multi-environment management capability.
  • Tech Stack:
    • Backend: Python 3.9+ with FastAPI (Asynchronous logic).
    • Frontend: SvelteKit + Tailwind CSS (Reactive UX).

2. COMPONENT BOUNDARIES

  • Plugins: All business logic must be encapsulated in Plugins (backend/src/plugins/).
  • TaskManager: All long-running operations MUST be handled by the TaskManager.
  • Security: Independent RBAC system managed in auth.db.

3. INTEGRATION STRATEGY

  • Superset API: Communication via REST API.
  • Database: Local SQLite for metadata (tasks.db, auth.db, migrations.db).
  • Filesystem: Local storage for backups and git repositories.

[/DEF:Std:Architecture]