Artifex/control_plane/verification/migrations/0001_initial.py

72 lines
3.7 KiB
Python
Raw Normal View History

2026-08-15 13:50:24 +07:00
# Generated by Django 5.2.16 on 2026-08-15 05:46
import django.db.models.deletion
import uuid
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
('agents', '0001_initial'),
('projects', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='Review',
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(max_length=32)),
('findings', models.JSONField(blank=True, default=list)),
('summary', models.TextField(blank=True)),
('reviewer', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='reviews', to='agents.agentversion')),
('task', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='projects.task')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='TestRun',
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)),
('command', models.TextField()),
('status', models.CharField(max_length=32)),
('duration_seconds', models.FloatField(default=0)),
('output_artifact', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='projects.artifact')),
('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='test_runs', to='projects.project')),
('task', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='test_runs', to='projects.task')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='Verification',
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)),
('level', models.CharField(choices=[('TASK', 'Task'), ('MILESTONE', 'Milestone'), ('PROJECT', 'Project')], max_length=32)),
('result', models.CharField(choices=[('PASS', 'Pass'), ('FAIL', 'Fail'), ('BLOCKED', 'Blocked')], max_length=32)),
('contract', models.JSONField(blank=True, default=dict)),
('evidence', models.JSONField(blank=True, default=list)),
('summary', models.TextField(blank=True)),
('judge', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='agents.agentversion')),
('milestone', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='projects.milestone')),
('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='verifications', to='projects.project')),
('task', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='projects.task')),
],
options={
'abstract': False,
},
),
]