feat: add governed knowledge lifecycle

This commit is contained in:
hailin
2026-07-27 19:01:19 +08:00
parent 1a49ce4eae
commit 07c9ea1cc4
32 changed files with 5893 additions and 178 deletions

View File

@@ -0,0 +1,42 @@
# Generated by Django 5.2.15 on 2026-07-27 05:35
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('agents', '0005_agentversion_allowed_actions'),
('knowledge', '0006_backfill_governed_assets'),
('solutions', '0003_solution_allow_auto_resolve_and_more'),
('tickets', '0013_ticketsupportanalysis_applied_solution_and_more'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='TicketKnowledgeDistillation',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('references', models.JSONField(default=list)),
('retrieval_policy', models.JSONField(default=dict)),
('should_distill', models.BooleanField(blank=True, null=True)),
('reason', models.TextField(blank=True)),
('assessment', models.JSONField(blank=True, default=dict)),
('processed_at', models.DateTimeField(blank=True, null=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
('created_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='created_knowledge_distillations', to=settings.AUTH_USER_MODEL)),
('knowledge_item', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='distillation_records', to='knowledge.knowledgeitem')),
('run', models.OneToOneField(on_delete=django.db.models.deletion.PROTECT, related_name='ticket_knowledge_distillation', to='agents.agentrun')),
('solution', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='distillation_records', to='solutions.solution')),
('ticket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='knowledge_distillations', to='tickets.ticket')),
('troubleshooting_plan', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='distillation_records', to='knowledge.troubleshootingplan')),
],
options={
'ordering': ['-created_at'],
'indexes': [models.Index(fields=['ticket', 'created_at'], name='knowledge_t_ticket__fb3275_idx')],
},
),
]