Correct artifact path bookkeeping
This commit is contained in:
@@ -41,7 +41,7 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result := &ReportResult{ReportPath: paths.RenderedReport}
|
||||
result := &ReportResult{}
|
||||
|
||||
priorSnapshot, err := store.FindPriorSnapshot(ctx, req.Resolved)
|
||||
if err != nil {
|
||||
@@ -70,15 +70,8 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
result.RecentChanges = recent
|
||||
briefingMetadata := briefing.BuildMetadata(briefingBuildContext(req.Config, req.Resolved, reportFacts.Collected))
|
||||
metadata := state.BuildPromptMetadataFromBriefingMetadata(req.Resolved, briefingMetadata, state.ArtifactPaths{
|
||||
ModuleSnapshot: moduleSnapshotPath,
|
||||
Metadata: paths.Metadata,
|
||||
DataPackage: paths.DataPackage,
|
||||
Preparation: paths.Preparation,
|
||||
Execution: paths.Execution,
|
||||
RenderedReport: paths.RenderedReport,
|
||||
GeneratedTextRaw: paths.GeneratedTextRaw,
|
||||
GeneratedText: paths.GeneratedText,
|
||||
RenderContext: paths.RenderContext,
|
||||
ModuleSnapshot: moduleSnapshotPath,
|
||||
Metadata: paths.Metadata,
|
||||
})
|
||||
result.Metadata = metadata
|
||||
dataPackage, err := promptinput.Build(promptinput.BuildRequest{
|
||||
@@ -179,11 +172,13 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
return result, saveErr
|
||||
}
|
||||
metadata.PreparationPath = path
|
||||
result.PreparationPath = path
|
||||
result.Metadata = metadata
|
||||
metadataPath, saveErr := store.SaveMetadata(ctx, metadata)
|
||||
if saveErr != nil {
|
||||
return result, saveErr
|
||||
}
|
||||
result.PreparationPath, result.Metadata, result.MetadataPath = path, metadata, metadataPath
|
||||
result.MetadataPath = metadataPath
|
||||
return result, generatedReportError(req.Resolved, metadata.RunID, "prepare prompt", executeErr)
|
||||
}
|
||||
if promptexec.CategoryOf(executeErr) != "" {
|
||||
@@ -193,11 +188,13 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
return result, saveErr
|
||||
}
|
||||
metadata.ExecutionPath = path
|
||||
result.ExecutionPath = path
|
||||
result.Metadata = metadata
|
||||
metadataPath, saveErr := store.SaveMetadata(ctx, metadata)
|
||||
if saveErr != nil {
|
||||
return result, saveErr
|
||||
}
|
||||
result.ExecutionPath, result.Metadata, result.MetadataPath = path, metadata, metadataPath
|
||||
result.MetadataPath = metadataPath
|
||||
}
|
||||
return result, generatedReportError(req.Resolved, metadata.RunID, "execute prompt", executeErr)
|
||||
}
|
||||
@@ -209,11 +206,13 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
return result, saveErr
|
||||
}
|
||||
metadata.ExecutionPath = executionPath
|
||||
result.ExecutionPath = executionPath
|
||||
result.Metadata = metadata
|
||||
metadataPath, saveErr := store.SaveMetadata(ctx, metadata)
|
||||
if saveErr != nil {
|
||||
return result, saveErr
|
||||
}
|
||||
result.ExecutionPath, result.Metadata, result.MetadataPath = executionPath, metadata, metadataPath
|
||||
result.MetadataPath = metadataPath
|
||||
return result, generatedReportError(req.Resolved, metadata.RunID, "execute prompt", err)
|
||||
}
|
||||
debugPath, err := req.DebugWriter.WriteExecution(debugRef, *execution)
|
||||
@@ -232,11 +231,13 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
return result, saveErr
|
||||
}
|
||||
metadata.ExecutionPath = executionPath
|
||||
result.ExecutionPath = executionPath
|
||||
result.Metadata = metadata
|
||||
metadataPath, saveErr := store.SaveMetadata(ctx, metadata)
|
||||
if saveErr != nil {
|
||||
return result, saveErr
|
||||
}
|
||||
result.ExecutionPath, result.Metadata, result.MetadataPath = executionPath, metadata, metadataPath
|
||||
result.MetadataPath = metadataPath
|
||||
return result, generatedReportError(req.Resolved, metadata.RunID, "validate prompt execution", err)
|
||||
}
|
||||
rawPath, err := store.SaveGeneratedTextRaw(ctx, req.Resolved, execution.RawOutput)
|
||||
@@ -244,6 +245,8 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
return result, err
|
||||
}
|
||||
result.GeneratedTextRawPath = rawPath
|
||||
metadata.GeneratedTextRawPath = rawPath
|
||||
result.Metadata = metadata
|
||||
executionArtifact := state.PromptExecutionArtifact{
|
||||
SchemaVersion: state.PromptExecutionSchemaVersion,
|
||||
ReportID: req.Resolved.Definition.ID, RunID: metadata.RunID,
|
||||
@@ -262,12 +265,13 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
return result, err
|
||||
}
|
||||
metadata.ExecutionPath = executionPath
|
||||
metadata.GeneratedTextRawPath = rawPath
|
||||
result.ExecutionPath = executionPath
|
||||
result.Metadata = metadata
|
||||
metadataPath, err := store.SaveMetadata(ctx, metadata)
|
||||
if err != nil {
|
||||
return result, err
|
||||
}
|
||||
result.ExecutionPath, result.Metadata, result.MetadataPath = executionPath, metadata, metadataPath
|
||||
result.MetadataPath = metadataPath
|
||||
if execution.Validation.Status == promptexec.ValidationFailed {
|
||||
return result, generatedReportError(req.Resolved, metadata.RunID, "validate prompt execution", promptexec.NewError(promptexec.ValidationRejected, "prompt output did not satisfy its schema", nil))
|
||||
}
|
||||
@@ -281,11 +285,13 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
return result, err
|
||||
}
|
||||
metadata.GeneratedTextPath = generatedTextPath
|
||||
result.GeneratedTextPath = generatedTextPath
|
||||
result.Metadata = metadata
|
||||
metadataPath, err = store.SaveMetadata(ctx, metadata)
|
||||
if err != nil {
|
||||
return result, err
|
||||
}
|
||||
result.GeneratedTextPath, result.Metadata, result.MetadataPath = generatedTextPath, metadata, metadataPath
|
||||
result.MetadataPath = metadataPath
|
||||
|
||||
renderContext, err := handler.BuildRenderContext(briefingMetadata, moduleSnapshot, reportFacts.Collected, reportFacts.Derived, generatedText)
|
||||
if err != nil {
|
||||
@@ -296,11 +302,13 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
return result, err
|
||||
}
|
||||
metadata.RenderContextPath = renderContextPath
|
||||
result.RenderContextPath = renderContextPath
|
||||
result.Metadata = metadata
|
||||
metadataPath, err = store.SaveMetadata(ctx, metadata)
|
||||
if err != nil {
|
||||
return result, err
|
||||
}
|
||||
result.RenderContextPath, result.Metadata, result.MetadataPath = renderContextPath, metadata, metadataPath
|
||||
result.MetadataPath = metadataPath
|
||||
|
||||
rendered, err := handler.Render(renderContext)
|
||||
if err != nil {
|
||||
@@ -314,8 +322,10 @@ func generatePromptReport(ctx context.Context, req promptReportRequest) (*Report
|
||||
return result, err
|
||||
}
|
||||
result.ReportPath = reportPath
|
||||
metadata.RenderedReportPath = reportPath
|
||||
result.Metadata = metadata
|
||||
finalized, err := finalizeRenderedReport(ctx, finalizeRenderedReportRequest{
|
||||
Config: req.Config, Store: store, Resolved: req.Resolved, Metadata: metadata,
|
||||
Config: req.Config, Store: store, Resolved: req.Resolved, Metadata: metadata, MetadataPath: result.MetadataPath,
|
||||
ManagedReportPath: reportPath, OutputPath: req.OutputPath, Notifier: req.Notifier, noNotify: req.noNotify,
|
||||
})
|
||||
result.OutputPath, result.NotificationPath = finalized.OutputPath, finalized.NotificationPath
|
||||
|
||||
Reference in New Issue
Block a user