Artifex/control_plane/agents/migrations/0008_agent_control_room_v1.py

100 lines
8.8 KiB
Python
Raw Normal View History

2026-08-15 20:03:59 +07:00
import uuid
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("agents", "0007_replay_arena"),
("graph", "0004_unique_champion_graph_version"),
("projects", "0006_roadmap_scenario_lab_v1"),
]
operations = [
migrations.AlterField(model_name="agent", name="role", field=models.CharField(choices=[("PROJECT_ARCHAEOLOGIST", "Project Archaeologist"), ("PLANNER", "Planner"), ("CODER", "Coder"), ("REVIEWER", "Reviewer"), ("PROJECT_JUDGE", "Project Judge"), ("FRONTEND_DESIGNER", "Frontend Designer"), ("FRONTEND_ENGINEER", "Frontend Engineer"), ("UX_ACCESSIBILITY_REVIEWER", "Ux Accessibility Reviewer"), ("VISUAL_JUDGE", "Visual Judge")], max_length=80)),
migrations.AlterField(model_name="agentplan", name="role", field=models.CharField(choices=[("PROJECT_ARCHAEOLOGIST", "Project Archaeologist"), ("PLANNER", "Planner"), ("CODER", "Coder"), ("REVIEWER", "Reviewer"), ("PROJECT_JUDGE", "Project Judge"), ("FRONTEND_DESIGNER", "Frontend Designer"), ("FRONTEND_ENGINEER", "Frontend Engineer"), ("UX_ACCESSIBILITY_REVIEWER", "Ux Accessibility Reviewer"), ("VISUAL_JUDGE", "Visual Judge")], max_length=80)),
migrations.AddField(model_name="agent", name="metadata", field=models.JSONField(blank=True, default=dict)),
migrations.AddField(model_name="agent", name="project", field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="scoped_agents", to="projects.project")),
migrations.AddField(model_name="agent", name="purpose", field=models.TextField(blank=True)),
migrations.AddField(model_name="agent", name="scope", field=models.CharField(choices=[("GLOBAL", "Global"), ("STUDIO", "Studio"), ("PROJECT", "Project")], default="GLOBAL", max_length=32)),
migrations.AddField(model_name="agent", name="status", field=models.CharField(default="ACTIVE", max_length=32)),
migrations.AddField(model_name="agent", name="studio", field=models.CharField(blank=True, max_length=120)),
migrations.AddField(model_name="agentversion", name="ancestry", field=models.JSONField(blank=True, default=list)),
migrations.AddField(model_name="agentversion", name="creation_source", field=models.CharField(default="seed", max_length=80)),
migrations.AddField(model_name="agentversion", name="graph_usage_policy", field=models.JSONField(blank=True, default=dict)),
migrations.AddField(model_name="agentversion", name="immutable_since", field=models.DateTimeField(blank=True, null=True)),
migrations.AddField(model_name="agentversion", name="metadata", field=models.JSONField(blank=True, default=dict)),
migrations.AddField(model_name="agentversion", name="model_config", field=models.JSONField(blank=True, default=dict)),
migrations.AddField(model_name="agentversion", name="resource_preferences", field=models.JSONField(blank=True, default=dict)),
migrations.AddField(model_name="agentversion", name="retrieval_policy", field=models.JSONField(blank=True, default=dict)),
migrations.AddField(model_name="agentversion", name="scope", field=models.CharField(choices=[("GLOBAL", "Global"), ("STUDIO", "Studio"), ("PROJECT", "Project")], default="GLOBAL", max_length=32)),
migrations.AddField(model_name="agentversion", name="status", field=models.CharField(default="ACTIVE", max_length=32)),
migrations.AddField(model_name="agentversion", name="tool_policy", field=models.JSONField(blank=True, default=dict)),
migrations.AddField(model_name="agentversion", name="parent_version", field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="children", to="agents.agentversion")),
migrations.AlterField(model_name="agentversion", name="promotion_status", field=models.CharField(choices=[("DRAFT", "Draft"), ("CANDIDATE", "Candidate"), ("CHALLENGER", "Challenger"), ("CHAMPION", "Champion"), ("REJECTED", "Rejected"), ("RETIRED", "Retired"), ("DISABLED", "Disabled")], default="CANDIDATE", max_length=32)),
migrations.AddField(model_name="agentplan", name="evidence", field=models.JSONField(blank=True, default=dict)),
migrations.AddField(model_name="agentplan", name="plan_type", field=models.CharField(default="CREATE", max_length=32)),
migrations.AddField(model_name="agentplan", name="scope", field=models.CharField(choices=[("GLOBAL", "Global"), ("STUDIO", "Studio"), ("PROJECT", "Project")], default="GLOBAL", max_length=32)),
migrations.AddField(model_name="agentplan", name="status", field=models.CharField(default="DRAFT", max_length=32)),
migrations.AddField(model_name="agentplan", name="target_agent_version", field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="plans_targeting_version", to="agents.agentversion")),
migrations.CreateModel(
name="Competency",
fields=[
("id", models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
("key", models.CharField(max_length=120, unique=True)),
("name", models.CharField(max_length=200)),
("description", models.TextField(blank=True)),
("domain", models.CharField(blank=True, max_length=120)),
("metadata", models.JSONField(blank=True, default=dict)),
],
),
migrations.CreateModel(
name="AgentTeam",
fields=[
("id", models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
("name", models.CharField(max_length=200)),
("purpose", models.TextField(blank=True)),
("scope", models.CharField(choices=[("GLOBAL", "Global"), ("STUDIO", "Studio"), ("PROJECT", "Project")], default="GLOBAL", max_length=32)),
("status", models.CharField(default="ACTIVE", max_length=32)),
("metadata", models.JSONField(blank=True, default=dict)),
("execution_graph_version", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="agent_teams", to="graph.executiongraphversion")),
],
),
migrations.CreateModel(
name="AgentCompetency",
fields=[
("id", models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
("proficiency", models.FloatField(default=0.5)),
("confidence", models.FloatField(default=0.5)),
("evidence", models.JSONField(blank=True, default=dict)),
("source", models.CharField(default="manual", max_length=80)),
("last_evaluated_at", models.DateTimeField(blank=True, null=True)),
("agent", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="competencies", to="agents.agent")),
("agent_version", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="competencies", to="agents.agentversion")),
("competency", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="agent_assignments", to="agents.competency")),
],
),
migrations.CreateModel(
name="AgentTeamMember",
fields=[
("id", models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
("created_at", models.DateTimeField(auto_now_add=True)),
("updated_at", models.DateTimeField(auto_now=True)),
("role", models.CharField(max_length=120)),
("responsibilities", models.JSONField(blank=True, default=list)),
("status", models.CharField(default="ACTIVE", max_length=32)),
("metadata", models.JSONField(blank=True, default=dict)),
("agent_version", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="team_memberships", to="agents.agentversion")),
("team", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="members", to="agents.agentteam")),
],
options={"constraints": [models.UniqueConstraint(fields=("team", "agent_version", "role"), name="unique_agent_team_member_role")]},
),
]