package seriatim import "context" // NoopRunner is a deterministic no-op seriatim adapter. type NoopRunner struct{} // Run returns the requested output path with placeholder metadata. func (n *NoopRunner) Run(ctx context.Context, req MergeRequest) (MergeResult, error) { if err := ctx.Err(); err != nil { return MergeResult{}, err } return MergeResult{MergedTranscriptPath: req.OutputMergedTranscriptPath, Metadata: map[string]any{"placeholder": true}}, nil } // FakeRunner captures merge requests and returns deterministic responses. type FakeRunner struct { Requests []MergeRequest Err error Result MergeResult } // Run records request and returns configured response. func (f *FakeRunner) Run(ctx context.Context, req MergeRequest) (MergeResult, error) { if err := ctx.Err(); err != nil { return MergeResult{}, err } f.Requests = append(f.Requests, req) if f.Err != nil { return MergeResult{}, f.Err } res := f.Result if res.MergedTranscriptPath == "" { res.MergedTranscriptPath = req.OutputMergedTranscriptPath } if res.Metadata == nil { res.Metadata = map[string]any{"fake": true} } return res, nil }