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")]}, ), ]