116 lines
11 KiB
Python
116 lines
11 KiB
Python
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")),
|
|
],
|
|
),
|
|
]
|