Onyscribe Admin: Initialer Stand

Admin-Plattform für die Tenants von Onyscribe: Editor mit Live-Vorschau (echter Core in Sandbox), Versionen, KI-Agent (Cortecs),
OIDC-Abgleich über die Login-Developer-API, Deploy-Engine (Mittwald, gesperrt ohne DEPLOY_LIVE, Freigabe pro Tenant),
Core-Vertrag (Schema/Manifest), Core-Releases mit Kompatibilitätsprüfung, Canary-Rollout und Rollback, Zustandsabgleich.
Runbook: docs/RUNBOOK_PARALLELTEST.md

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
RubenRWU
2026-10-15 15:30:26 +02:00
commit 7d8c226da2
89 changed files with 13975 additions and 0 deletions

19
app/deps.py Normal file
View File

@@ -0,0 +1,19 @@
from __future__ import annotations
from fastapi import Depends, HTTPException, Request
from sqlalchemy.orm import Session
from app.auth import actor_name
from app.db import get_db
from app.models import Tenant
def actor(request: Request) -> str:
return actor_name(request)
def tenant_or_404(tenant_id: str, db: Session = Depends(get_db)) -> Tenant:
t = db.get(Tenant, tenant_id)
if t is None:
raise HTTPException(404, f"Tenant „{tenant_id}“ nicht gefunden")
return t