feat(backend): implement Guardrails & Safety Framework (#63) #70

Closed
cardosofelipe wants to merge 97 commits from feature/63-guardrails-safety-framework into dev
Showing only changes of commit 2d05035c1d - Show all commits

View File

@@ -5,7 +5,7 @@ Sprint model for Syndarix AI consulting platform.
A Sprint represents a time-boxed iteration for organizing and delivering work.
"""
from sqlalchemy import Column, Date, Enum, ForeignKey, Index, Integer, String, Text
from sqlalchemy import Column, Date, Enum, ForeignKey, Index, Integer, String, Text, UniqueConstraint
from sqlalchemy.dialects.postgresql import UUID as PGUUID
from sqlalchemy.orm import relationship
@@ -65,6 +65,8 @@ class Sprint(Base, UUIDMixin, TimestampMixin):
Index("ix_sprints_project_status", "project_id", "status"),
Index("ix_sprints_project_number", "project_id", "number"),
Index("ix_sprints_date_range", "start_date", "end_date"),
# Ensure sprint numbers are unique within a project
UniqueConstraint("project_id", "number", name="uq_sprint_project_number"),
)
def __repr__(self) -> str: