Optimierter Workflow
This commit is contained in:
@@ -329,7 +329,7 @@ func TestSynthesisResearchesUnclearKnowledgeThenLearnsAndLinksArticle(t *testing
|
||||
if chatCalls != 6 {
|
||||
t.Fatalf("expected relation, plan, brief, research plan, synthesis and claim review calls, got %d", chatCalls)
|
||||
}
|
||||
var resultEvent, candidateEvent, fetchEvent, materialEvent, ingestEvent, learnedEvent, roundEvent, reviewEvent *model.Activity
|
||||
var resultEvent, candidateEvent, fetchEvent, materialEvent, storedEvent, materializedEvent, learnedEvent, roundEvent, reviewEvent *model.Activity
|
||||
for _, event := range broker.Recent() {
|
||||
event := event
|
||||
switch event.Type {
|
||||
@@ -341,8 +341,10 @@ func TestSynthesisResearchesUnclearKnowledgeThenLearnsAndLinksArticle(t *testing
|
||||
fetchEvent = &event
|
||||
case "article.research.material.collected":
|
||||
materialEvent = &event
|
||||
case "article.research.material.ingested":
|
||||
ingestEvent = &event
|
||||
case "article.research.material.stored":
|
||||
storedEvent = &event
|
||||
case "article.research.grounded.materialized":
|
||||
materializedEvent = &event
|
||||
case "article.research.learned":
|
||||
learnedEvent = &event
|
||||
case "article.research.collection.round.completed":
|
||||
@@ -351,15 +353,17 @@ func TestSynthesisResearchesUnclearKnowledgeThenLearnsAndLinksArticle(t *testing
|
||||
reviewEvent = &event
|
||||
}
|
||||
}
|
||||
if resultEvent == nil || candidateEvent == nil || fetchEvent == nil || materialEvent == nil || ingestEvent == nil || learnedEvent == nil || roundEvent == nil || reviewEvent == nil {
|
||||
t.Fatalf("expected research-generate-review pipeline, result=%v candidate=%v fetch=%v material=%v ingest=%v learned=%v round=%v review=%v", resultEvent != nil, candidateEvent != nil, fetchEvent != nil, materialEvent != nil, ingestEvent != nil, learnedEvent != nil, roundEvent != nil, reviewEvent != nil)
|
||||
if resultEvent == nil || candidateEvent == nil || fetchEvent == nil || materialEvent == nil || storedEvent == nil || materializedEvent == nil || learnedEvent == nil || roundEvent == nil || reviewEvent == nil {
|
||||
t.Fatalf("expected adaptive generate-review pipeline, result=%v candidate=%v fetch=%v material=%v stored=%v materialized=%v learned=%v round=%v review=%v", resultEvent != nil, candidateEvent != nil, fetchEvent != nil, materialEvent != nil, storedEvent != nil, materializedEvent != nil, learnedEvent != nil, roundEvent != nil, reviewEvent != nil)
|
||||
}
|
||||
resultNodeIDs, _ := ingestEvent.Metadata["result_node_ids"].([]string)
|
||||
if len(resultNodeIDs) != 1 || resultNodeIDs[0] != researchID {
|
||||
t.Fatalf("unexpected ingested research nodes: %#v", ingestEvent.Metadata["result_node_ids"])
|
||||
if storedEvent.Metadata["materialization"] != "evidence_store_only" {
|
||||
t.Fatalf("research material should remain evidence-only before review: %#v", storedEvent.Metadata)
|
||||
}
|
||||
if ingestEvent.Metadata["animation_min_ms"] != 2000 {
|
||||
t.Fatalf("research animation minimum missing: %#v", ingestEvent.Metadata["animation_min_ms"])
|
||||
if materializedEvent.Metadata["materialized_nodes"] != 1 {
|
||||
t.Fatalf("expected exactly one reviewer-grounded research node, got %#v", materializedEvent.Metadata)
|
||||
}
|
||||
if storedEvent.Metadata["animation_min_ms"] != 2000 {
|
||||
t.Fatalf("research animation minimum missing: %#v", storedEvent.Metadata["animation_min_ms"])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -446,7 +450,7 @@ func TestWriteKnowledgeArticleDraftPreservesUpdateTarget(t *testing.T) {
|
||||
}
|
||||
plan := model.ArticlePlanDecision{Action: "update", TargetArticleID: target.ID, Reason: "Der bestehende Artikel benötigt Diagnose und Validierung.", ExpectedValue: "Vollständiger Ablauf", ArticleType: "troubleshooting", SourceNodeIDs: nodeIDsFromArticleSources(sources)}
|
||||
draft := model.KnowledgeArticleDraft{Title: "VPN-Artikel vollständig diagnostizieren", Text: strings.Repeat("Problem und Geltungsbereich. ", 5), Answer: strings.Repeat("1. Konkreten Prüfschritt ausführen. ", 8), Validation: []string{"VPN-Tunnel ist aktiv"}, Categories: []string{"VPN"}, Keywords: []string{"VPN"}, SourceNodeIDs: nodeIDsFromArticleSources(sources), Confidence: .9}
|
||||
path, _, created, err := e.writeKnowledgeArticleDraft(sources, plan, model.KnowledgeBrief{Topic: "VPN", ReadyForArticle: true}, draft, nil, nil, model.ArticleQualityDecision{Accepted: true, Confidence: .9}, 0, 3, 0, 1, 1)
|
||||
path, _, created, err := e.writeKnowledgeArticleDraft(sources, plan, model.KnowledgeBrief{Topic: "VPN", ReadyForArticle: true}, draft, nil, nil, model.ArticleQualityDecision{Accepted: true, Confidence: .9}, 0, 3, 0, 1, 1, articleSourceFingerprint(sources, plan, nil, e.articlePipelineFingerprintIdentity()))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user