Verify nonempty workflow context tables survive migration
Why: Combined W6 and W9 storage validation must cover actual work task and step-source rows, not only empty tables. Evidence: Isolated PostgreSQL migration test copies and reads both rows with their trusted scope intact. Impact: Adds integration coverage for the combined v31-v40 migration; no production behavior change. Refs: feature/rdm-two-trees-latest-templates Backend combination probe
This commit is contained in:
@@ -29,6 +29,15 @@ func TestMigrateTrustedContextManifestWithoutRawScope(t *testing.T) {
|
||||
if err := src.AppendContextManifestWithScope("alice", "r1", m, store.ContextManifestScope{Bound: true}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
task, err := src.CreateWorkTask("alice", "rdm", "p1", "c1", "document", "Prepare document")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
stepHash := strings.Repeat("a", 64)
|
||||
if _, err := src.DB().Exec(`INSERT INTO workflow_step_sources(run_id,step_id,owner,project_id,step_attempt_id,output_sha256,attempt_id,authorization_epoch,publication_epoch,watermark,version,created_at) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)`,
|
||||
"r1", "draft", "alice", "p1", "step-attempt", stepHash, "model-attempt", "auth-1", "pub-1", "water-1", "v1", "2026-10-14T00:00:00Z"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := src.Close(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -48,6 +57,14 @@ func TestMigrateTrustedContextManifestWithoutRawScope(t *testing.T) {
|
||||
if err != nil || len(receipts) != 2 || len(receipts[1].Included) != 1 || receipts[1].Included[0].SourceID != "source-a" {
|
||||
t.Fatalf("content-free model receipts not copied: count=%d err=%v", len(receipts), err)
|
||||
}
|
||||
workScope, err := pg.WorkTaskScope("alice", "rdm", task.ID)
|
||||
if err != nil || workScope.ProjectID != "p1" || workScope.ConversationID != "c1" {
|
||||
t.Fatalf("trusted work task binding not copied: scope=%+v err=%v", workScope, err)
|
||||
}
|
||||
stepSource, err := pg.WorkflowStepSource("alice", "r1", "draft")
|
||||
if err != nil || stepSource.StepAttemptID != "step-attempt" || stepSource.AttemptID != "model-attempt" || stepSource.ProjectID != "p1" {
|
||||
t.Fatalf("workflow step source not copied: source=%+v err=%v", stepSource, err)
|
||||
}
|
||||
var rawColumns int
|
||||
if err := pg.DB().QueryRow(`SELECT COUNT(*) FROM information_schema.columns WHERE table_schema=current_schema() AND table_name='context_manifests' AND column_name IN ('resolve_goal','resolve_target_id')`).Scan(&rawColumns); err != nil || rawColumns != 0 {
|
||||
t.Fatalf("migrated PG schema has raw prompt columns: count=%d err=%v", rawColumns, err)
|
||||
|
||||
Reference in New Issue
Block a user