Complete diagnostic migration verification
This commit is contained in:
@@ -669,7 +669,7 @@ modules without duplicating public schemas.
|
|||||||
|
|
||||||
This stage is appropriately sized for one `gpt-5.6-terra` prompt.
|
This stage is appropriately sized for one `gpt-5.6-terra` prompt.
|
||||||
|
|
||||||
## Stage 13 — Final Behavioral Verification And Cleanup
|
## Stage 13 ✅ — Final Behavioral Verification And Cleanup
|
||||||
|
|
||||||
### Goal
|
### Goal
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,11 @@ func (s *pipelineCommandState) observeOutput(output pipeline.RunOutput) {
|
|||||||
}
|
}
|
||||||
s.report.OutputCount = len(output.NormalizeOutputs)
|
s.report.OutputCount = len(output.NormalizeOutputs)
|
||||||
s.report.RejectedCount = len(output.Rejected)
|
s.report.RejectedCount = len(output.Rejected)
|
||||||
s.report.WarningCount = warningGroupCount(output.Diagnostics)
|
s.report.WarningGroupCount = warningGroupCount(output.Diagnostics)
|
||||||
|
s.report.WarningOccurrenceCount = warningOccurrenceCount(output.Diagnostics)
|
||||||
|
s.report.DiagnosticGroupCount = diagnosticGroupCount(output.Diagnostics)
|
||||||
|
s.report.DiagnosticOccurrenceCount = diagnosticOccurrenceCount(output.Diagnostics)
|
||||||
|
s.report.DiagnosticsTruncated = output.Diagnostics.Truncated
|
||||||
s.report.ValidationStatus = output.Manifest.ValidationStatus
|
s.report.ValidationStatus = output.Manifest.ValidationStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -349,7 +349,7 @@ func TestRunUsesOneInjectedIdentityForDebugOutputAndManifest(t *testing.T) {
|
|||||||
t.Fatalf("debug invocation session = %q, want %q", invocation.SessionID, wantSessionID)
|
t.Fatalf("debug invocation session = %q, want %q", invocation.SessionID, wantSessionID)
|
||||||
}
|
}
|
||||||
report := readStateTestRunReport(t, debugPath)
|
report := readStateTestRunReport(t, debugPath)
|
||||||
if !report.Succeeded || report.RunID != runID || report.PipelineID != "sample" || report.OutputPath != outputPath || report.DebugPath != debugPath || report.OutputCount != 1 || report.RejectedCount != 0 || report.WarningCount != 0 || report.ValidationStatus != "approved" {
|
if !report.Succeeded || report.RunID != runID || report.PipelineID != "sample" || report.OutputPath != outputPath || report.DebugPath != debugPath || report.OutputCount != 1 || report.RejectedCount != 0 || report.WarningGroupCount != 0 || report.WarningOccurrenceCount != 0 || report.DiagnosticGroupCount != 0 || report.DiagnosticOccurrenceCount != 0 || report.DiagnosticsTruncated || report.ValidationStatus != "approved" {
|
||||||
t.Fatalf("success report = %#v", report)
|
t.Fatalf("success report = %#v", report)
|
||||||
}
|
}
|
||||||
if !strings.Contains(result.stdout, "outputs=1 rejected=0") {
|
if !strings.Contains(result.stdout, "outputs=1 rejected=0") {
|
||||||
@@ -431,7 +431,7 @@ func TestRunWritesTerminalArtifactsForResolutionPipelineAndOutputFailures(t *tes
|
|||||||
bundlePath := onlyChildDir(t, roots.debug)
|
bundlePath := onlyChildDir(t, roots.debug)
|
||||||
runID := filepath.Base(bundlePath)
|
runID := filepath.Base(bundlePath)
|
||||||
report := readStateTestRunReport(t, bundlePath)
|
report := readStateTestRunReport(t, bundlePath)
|
||||||
if report.Succeeded || report.RunID != runID || report.PipelineID != tc.pipelineID || report.OutputPath != filepath.Join(roots.output, runID) || report.DebugPath != bundlePath || report.OutputCount != tc.wantOutputs || report.RejectedCount != 0 || report.WarningCount != 0 || report.ValidationStatus != tc.wantValidation {
|
if report.Succeeded || report.RunID != runID || report.PipelineID != tc.pipelineID || report.OutputPath != filepath.Join(roots.output, runID) || report.DebugPath != bundlePath || report.OutputCount != tc.wantOutputs || report.RejectedCount != 0 || report.WarningGroupCount != 0 || report.WarningOccurrenceCount != 0 || report.DiagnosticGroupCount != 0 || report.DiagnosticOccurrenceCount != 0 || report.DiagnosticsTruncated || report.ValidationStatus != tc.wantValidation {
|
||||||
t.Fatalf("failure report = %#v", report)
|
t.Fatalf("failure report = %#v", report)
|
||||||
}
|
}
|
||||||
errorLog, err := os.ReadFile(filepath.Join(bundlePath, "summary", "error.log"))
|
errorLog, err := os.ReadFile(filepath.Join(bundlePath, "summary", "error.log"))
|
||||||
@@ -454,7 +454,7 @@ func TestRunRetainsPartialPipelineOutcomeInFailureSummary(t *testing.T) {
|
|||||||
}
|
}
|
||||||
bundlePath := onlyChildDir(t, roots.debug)
|
bundlePath := onlyChildDir(t, roots.debug)
|
||||||
report := readStateTestRunReport(t, bundlePath)
|
report := readStateTestRunReport(t, bundlePath)
|
||||||
if report.Succeeded || report.OutputCount != 0 || report.RejectedCount != 0 || report.WarningCount != 1 || report.ValidationStatus != "failed" {
|
if report.Succeeded || report.OutputCount != 0 || report.RejectedCount != 0 || report.WarningGroupCount != 1 || report.WarningOccurrenceCount != 1 || report.DiagnosticGroupCount != 0 || report.DiagnosticOccurrenceCount != 0 || report.DiagnosticsTruncated || report.ValidationStatus != "failed" {
|
||||||
t.Fatalf("partial failure report = %#v", report)
|
t.Fatalf("partial failure report = %#v", report)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,11 @@ type RunReport struct {
|
|||||||
Succeeded bool `json:"succeeded"`
|
Succeeded bool `json:"succeeded"`
|
||||||
OutputCount int `json:"output_count"`
|
OutputCount int `json:"output_count"`
|
||||||
RejectedCount int `json:"rejected_count"`
|
RejectedCount int `json:"rejected_count"`
|
||||||
WarningCount int `json:"warning_count"`
|
WarningGroupCount int `json:"warning_group_count"`
|
||||||
|
WarningOccurrenceCount int `json:"warning_occurrence_count"`
|
||||||
|
DiagnosticGroupCount int `json:"diagnostic_group_count"`
|
||||||
|
DiagnosticOccurrenceCount int `json:"diagnostic_occurrence_count"`
|
||||||
|
DiagnosticsTruncated bool `json:"diagnostics_truncated"`
|
||||||
ValidationStatus string `json:"validation_status,omitempty"`
|
ValidationStatus string `json:"validation_status,omitempty"`
|
||||||
}
|
}
|
||||||
type SummaryWriter struct {
|
type SummaryWriter struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user