From 89ae15ca4c9697afc5b2e92c7c251200e7a8c54f Mon Sep 17 00:00:00 2001 From: Lars Date: Mon, 27 Jul 2026 18:04:52 +0200 Subject: [PATCH] chore(seeds): Dogfooding-Seed explizit dev-only (.dev.py) und MIGRATIONS-Doku Co-authored-by: Cursor --- ...seed_004_dogfooding_kairo_jinkendo.dev.py} | 0 docs/MIGRATIONS.md | 19 ++++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) rename backend/seeds/{seed_004_dogfooding_kairo_jinkendo.py => seed_004_dogfooding_kairo_jinkendo.dev.py} (100%) diff --git a/backend/seeds/seed_004_dogfooding_kairo_jinkendo.py b/backend/seeds/seed_004_dogfooding_kairo_jinkendo.dev.py similarity index 100% rename from backend/seeds/seed_004_dogfooding_kairo_jinkendo.py rename to backend/seeds/seed_004_dogfooding_kairo_jinkendo.dev.py diff --git a/docs/MIGRATIONS.md b/docs/MIGRATIONS.md index ca5c7b3..1603418 100644 --- a/docs/MIGRATIONS.md +++ b/docs/MIGRATIONS.md @@ -51,8 +51,25 @@ docker compose -f docker-compose.dev-env.yml exec backend python run_seeds.py -- | `seed_001_cleanup_pytest_artifacts` | SQL (dev) | Entfernt pytest/CI-User (`*@example.com`), verwaiste Test-Tenants; löscht zuerst Initiatives (AP0.5 FK) | | `seed_002_bootstrap_admin` | Python | Legt Systemadmin aus `KAIRO_BOOTSTRAP_*` an, wenn noch kein User existiert | | `seed_003_ensure_dev_admin` | Python (dev) | Entfernt fremde Dev-User, stellt `lars@stommer.com` als Portal-Admin sicher (jeder Start) | +| `seed_004_dogfooding_kairo_jinkendo` | Python (dev) | Deprecated — Dogfooding-Visualisierung, **nicht** Produkt; nur Nicht-Prod | -Dev-Seeds (`.dev.*`) werden in Nicht-Prod-Umgebungen **bei jedem Backend-Start** erneut ausgeführt. +Dev-Seeds (`.dev.*` im Dateinamen) laufen **nicht in Production** (`ENVIRONMENT=production`) und werden in Dev **bei jedem Backend-Start** erneut ausgeführt. + +### Prod-taugliche Seeds (laufen auch auf main) + +| Seed | Verhalten Prod | +|------|----------------| +| `seed_002_bootstrap_admin` | Legt Admin **nur** an, wenn DB leer **und** `KAIRO_BOOTSTRAP_*` in `.env` gesetzt | + +### Code-Registry (kein Data-Seed — identisch Dev/Prod) + +Beim Backend-Start (`entrypoint.sh`, überspringbar via `SKIP_REGISTRY_SYNC=1`): + +- `sync_rights_registry.py` — Capabilities +- `sync_prompt_feature_config.py` — Features/Prompts +- `sync_entity_field_registry.py` — Archetypen + Felddefinitionen aus `entity_archetypes/registry.py` + +Zusätzlich im Code (Deploy-Artifact, keine DB-Seed-Datei): `method_profiles/registry.py`, `steering/methods/registrations/*`, Starter-Kits in `archetype_starter_kit.py`. ## Neuen Seed anlegen