fix(models): use enum values instead of names for PostgreSQL

Add values_callable to all enum columns so SQLAlchemy serializes using
the enum's .value (lowercase) instead of .name (uppercase). PostgreSQL
enum types defined in migrations use lowercase values.

Fixes: invalid input value for enum autonomy_level: "MILESTONE"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-06 02:53:45 +01:00
parent fcb0a5f86a
commit f9a72fcb34
4 changed files with 48 additions and 10 deletions

View File

@@ -62,7 +62,11 @@ class AgentInstance(Base, UUIDMixin, TimestampMixin):
# Status tracking
status: Column[AgentStatus] = Column(
Enum(AgentStatus, name="agent_status"),
Enum(
AgentStatus,
name="agent_status",
values_callable=lambda x: [e.value for e in x],
),
default=AgentStatus.IDLE,
nullable=False,
index=True,