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", "0003_commitrecord_graph_run"), ] operations = [ migrations.CreateModel( name="StewardPolicy", 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)), ("enabled_checks", models.JSONField(blank=True, default=list)), ("severity_thresholds", models.JSONField(blank=True, default=dict)), ("auto_route_thresholds", models.JSONField(blank=True, default=dict)), ("run_cadence", models.JSONField(blank=True, default=dict)), ("allowed_repair_scope", models.JSONField(blank=True, default=dict)), ("approval_requirements", models.JSONField(blank=True, default=dict)), ("ignored_paths", models.JSONField(blank=True, default=list)), ("budget_limits", models.JSONField(blank=True, default=dict)), ("metadata", models.JSONField(blank=True, default=dict)), ], ), migrations.CreateModel( name="StewardEnrollment", 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)), ("status", models.CharField(default="ACTIVE", max_length=32)), ("enrolled_at", models.DateTimeField(auto_now_add=True)), ("last_run_at", models.DateTimeField(blank=True, null=True)), ("next_run_at", models.DateTimeField(blank=True, null=True)), ("metadata", models.JSONField(blank=True, default=dict)), ("policy", models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name="enrollments", to="projects.stewardpolicy")), ("project", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="steward_enrollments", to="projects.project")), ], ), migrations.CreateModel( name="StewardRun", 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)), ("status", models.CharField(default="PENDING", max_length=32)), ("started_at", models.DateTimeField(blank=True, null=True)), ("completed_at", models.DateTimeField(blank=True, null=True)), ("summary", models.TextField(blank=True)), ("metadata", models.JSONField(blank=True, default=dict)), ("enrollment", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="runs", to="projects.stewardenrollment")), ("execution_graph_version", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="steward_runs", to="graph.executiongraphversion")), ("project", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="steward_runs", to="projects.project")), ], ), migrations.CreateModel( name="StewardCheck", 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)), ("check_type", models.CharField(max_length=80)), ("status", models.CharField(max_length=32)), ("evidence", models.JSONField(blank=True, default=dict)), ("severity", models.CharField(default="INFO", max_length=32)), ("metadata", models.JSONField(blank=True, default=dict)), ("steward_run", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="checks", to="projects.stewardrun")), ], ), migrations.CreateModel( name="StewardFinding", 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)), ("finding_type", models.CharField(max_length=80)), ("title", models.CharField(max_length=255)), ("summary", models.TextField(blank=True)), ("evidence", models.JSONField(blank=True, default=dict)), ("severity", models.CharField(default="INFO", max_length=32)), ("confidence", models.FloatField(default=0.0)), ("status", models.CharField(default="OPEN", max_length=32)), ("recommended_action", models.CharField(default="INVESTIGATE", max_length=32)), ("recommended_route", models.CharField(blank=True, max_length=120)), ("grouping_key", models.CharField(max_length=240)), ("first_seen", models.DateTimeField(blank=True, null=True)), ("last_seen", models.DateTimeField(blank=True, null=True)), ("occurrence_count", models.PositiveIntegerField(default=1)), ("metadata", models.JSONField(blank=True, default=dict)), ("project", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="steward_findings", to="projects.project")), ("source_check", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="findings", to="projects.stewardcheck")), ("steward_run", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="findings", to="projects.stewardrun")), ], ), migrations.AddField( model_name="commitrecord", name="steward_finding", field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="commits", to="projects.stewardfinding"), ), migrations.CreateModel( name="StewardAction", 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)), ("action_type", models.CharField(max_length=32)), ("status", models.CharField(default="PENDING", max_length=32)), ("requires_approval", models.BooleanField(default=False)), ("approved_at", models.DateTimeField(blank=True, null=True)), ("metadata", models.JSONField(blank=True, default=dict)), ("finding", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="actions", to="projects.stewardfinding")), ("improvement_candidate", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="steward_actions", to="agents.improvementcandidate")), ("investigation", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="steward_actions", to="agents.progenyinvestigation")), ("roadmap_item", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="steward_actions", to="projects.roadmapitem")), ("task", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="steward_actions", to="projects.task")), ], ), ]