This commit is contained in:
2026-03-30 07:22:14 -03:00
parent d0707333fd
commit 4220b0418e
182 changed files with 3668 additions and 5231 deletions

View File

@@ -0,0 +1,30 @@
"""
Profile schema — source of truth for content type profiles.
A profile has two JSONB fields:
- pipeline: graph topology (stages, edges, routing rules)
- configs: per-stage config values keyed by stage name
Validated at read time using generated contracts (StageConfigField, PipelineConfig).
"""
from dataclasses import dataclass, field
from typing import Any, Dict
from uuid import UUID
@dataclass
class Profile:
"""
A content type profile.
Defines what pipeline to run and how each stage is configured.
Seed data inserted via JSON fixtures on startup.
"""
id: UUID
name: str
pipeline: Dict[str, Any] = field(default_factory=dict)
configs: Dict[str, Any] = field(default_factory=dict)
PROFILE_VIEWS = [Profile]