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", "0005_extend_evolve_explore_v1"), ] operations = [ migrations.CreateModel( name="ScenarioSuite", 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)), ("version", models.PositiveIntegerField(default=1)), ("purpose", models.TextField(blank=True)), ("status", models.CharField(default="DRAFT", max_length=32)), ("frozen_at", models.DateTimeField(blank=True, null=True)), ("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="scenario_suites", to="graph.executiongraphversion")), ("project", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="scenario_suites", to="projects.project")), ], ), migrations.AlterField(model_name="roadmapitem", name="source", field=models.CharField(default="USER", max_length=80)), migrations.AlterField(model_name="roadmapitem", name="status", field=models.CharField(choices=[("PROPOSED", "Proposed"), ("ACCEPTED", "Accepted"), ("PLANNING", "Planning"), ("IN_PROGRESS", "In Progress"), ("COMPLETE", "Complete"), ("DEFERRED", "Deferred"), ("REJECTED", "Rejected"), ("SUPERSEDED", "Superseded")], default="PROPOSED", max_length=32)), migrations.AddField(model_name="roadmapitem", name="category", field=models.CharField(blank=True, max_length=80)), migrations.AddField(model_name="roadmapitem", name="composite_score", field=models.FloatField(default=0.5)), migrations.AddField(model_name="roadmapitem", name="confidence", field=models.FloatField(default=0.5)), migrations.AddField(model_name="roadmapitem", name="effort_score", field=models.FloatField(default=0.5)), migrations.AddField(model_name="roadmapitem", name="evidence", field=models.JSONField(blank=True, default=dict)), migrations.AddField(model_name="roadmapitem", name="grouping_key", field=models.CharField(blank=True, max_length=240)), migrations.AddField(model_name="roadmapitem", name="horizon", field=models.CharField(choices=[("NOW", "Now"), ("NEXT", "Next"), ("LATER", "Later"), ("EXPLORING", "Exploring")], default="EXPLORING", max_length=32)), migrations.AddField(model_name="roadmapitem", name="metadata", field=models.JSONField(blank=True, default=dict)), migrations.AddField(model_name="roadmapitem", name="rationale", field=models.TextField(blank=True)), migrations.AddField(model_name="roadmapitem", name="risk_score", field=models.FloatField(default=0.5)), migrations.AddField(model_name="roadmapitem", name="source_ref", field=models.JSONField(blank=True, default=dict)), migrations.AddField(model_name="roadmapitem", name="strategic_fit", field=models.FloatField(default=0.5)), migrations.AddField(model_name="roadmapitem", name="target_action", field=models.CharField(choices=[("EXTEND", "Extend"), ("EVOLVE", "Evolve"), ("REPAIR", "Repair"), ("INVESTIGATE", "Investigate"), ("NONE", "None")], default="NONE", max_length=32)), migrations.AddField(model_name="roadmapitem", name="technical_fit", field=models.FloatField(default=0.5)), migrations.AddField(model_name="roadmapitem", name="urgency", field=models.FloatField(default=0.5)), migrations.AddField(model_name="roadmapitem", name="value_score", field=models.FloatField(default=0.5)), migrations.AddField(model_name="roadmapitem", name="converted_extension", field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="converted_from_roadmap_items", to="projects.extensioncandidate")), migrations.AddField(model_name="roadmapitem", name="converted_evolution", field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="converted_from_roadmap_items", to="projects.evolutioncandidate")), migrations.AddField(model_name="roadmapitem", name="converted_investigation", field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="converted_from_roadmap_items", to="agents.progenyinvestigation")), migrations.AddField(model_name="roadmapitem", name="dependencies", field=models.ManyToManyField(blank=True, related_name="dependent_roadmap_items", to="projects.roadmapitem")), migrations.AddField(model_name="roadmapitem", name="related_items", field=models.ManyToManyField(blank=True, to="projects.roadmapitem")), migrations.AddField(model_name="evolutioncandidate", name="source_roadmap_item", field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="evolution_candidates", to="projects.roadmapitem")), migrations.AddField(model_name="scenario", name="description", field=models.TextField(blank=True)), migrations.AddField(model_name="scenario", name="expected_invariants", field=models.JSONField(blank=True, default=list)), migrations.AddField(model_name="scenario", name="injected_condition", field=models.JSONField(blank=True, default=dict)), migrations.AddField(model_name="scenario", name="metadata", field=models.JSONField(blank=True, default=dict)), migrations.AddField(model_name="scenario", name="preconditions", field=models.JSONField(blank=True, default=list)), migrations.AddField(model_name="scenario", name="rejection_reason", field=models.TextField(blank=True)), migrations.AddField(model_name="scenario", name="resource_budget", field=models.JSONField(blank=True, default=dict)), migrations.AddField(model_name="scenario", name="scenario_type", field=models.CharField(default="WORKFLOW", max_length=80)), migrations.AddField(model_name="scenario", name="severity", field=models.CharField(default="MEDIUM", max_length=32)), migrations.AddField(model_name="scenario", name="source", field=models.CharField(default="USER", max_length=80)), migrations.AddField(model_name="scenario", name="success_criteria", field=models.JSONField(blank=True, default=list)), migrations.AddField(model_name="scenario", name="target_component", field=models.CharField(blank=True, max_length=240)), migrations.AddField(model_name="scenario", name="title", field=models.CharField(blank=True, max_length=255)), migrations.AddField(model_name="scenario", name="validated_at", field=models.DateTimeField(blank=True, null=True)), migrations.AddField(model_name="scenario", name="suite", field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name="scenarios", to="projects.scenariosuite")), migrations.CreateModel( name="ScenarioRun", 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)), ("repository_baseline", models.CharField(blank=True, max_length=255)), ("status", models.CharField(default="PENDING", max_length=32)), ("started_at", models.DateTimeField(blank=True, null=True)), ("completed_at", models.DateTimeField(blank=True, null=True)), ("environment_metadata", models.JSONField(blank=True, default=dict)), ("result", models.CharField(blank=True, max_length=32)), ("failure_evidence", models.JSONField(blank=True, default=dict)), ("telemetry", 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="scenario_runs", to="graph.executiongraphversion")), ("graph_run", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="scenario_runs", to="graph.graphrun")), ("project", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="scenario_runs", to="projects.project")), ("scenario", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="runs", to="projects.scenario")), ], ), migrations.CreateModel( name="ScenarioFinding", 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)), ("title", models.CharField(max_length=255)), ("summary", models.TextField(blank=True)), ("evidence", models.JSONField(blank=True, default=dict)), ("severity", models.CharField(default="MEDIUM", max_length=32)), ("confidence", models.FloatField(default=0.5)), ("affected_component", models.CharField(blank=True, max_length=240)), ("failure_category", models.CharField(blank=True, max_length=80)), ("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)), ("status", models.CharField(default="OPEN", max_length=32)), ("steward_policy_metadata", models.JSONField(blank=True, default=dict)), ("metadata", models.JSONField(blank=True, default=dict)), ("project", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="scenario_findings", to="projects.project")), ("progeny_signal", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="scenario_findings", to="agents.progenysignal")), ("roadmap_item", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="scenario_findings", to="projects.roadmapitem")), ("scenario", models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name="findings", to="projects.scenario")), ("scenario_run", models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="findings", to="projects.scenariorun")), ], ), ]