Execution Audit

Workflow Run #41

Full execution trace, ordered step results, duration metrics, and failure context.
Status
Failed
Trigger
Manual
Duration
46.8s
Steps
5
Run Header

Execution Metadata

Workflow
Morning Preparation
morning-preparation
Schedule
Manual / None
Started
2026-03-27 00:04:38 UTC
Finished
2026-03-27 00:05:24 UTC
Summary
Workflow failed at step 'Team Stats Snapshot'.
Error
System.InvalidOperationException: Suspicious team stats batch detected: all 30 comparable rows are identical to the latest existing batch for LastNGames=10. Sync aborted.
   at BettingOdds.App.Sync.Modules.Impl.TeamStatsSync.EnsureBatchIsNotSuspiciouslyStaleAsync(Int32 seasonId, Int32 lastNGames, IReadOnlyList`1 incomingRows, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Sync\Modules\Impl\TeamStatsSync.cs:line 192
   at BettingOdds.App.Sync.Modules.Impl.TeamStatsSync.SyncTeamsAndStatsAsync(Int32 seasonId, SyncOptions opt, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Sync\Modules\Impl\TeamStatsSync.cs:line 37
   at BettingOdds.App.Automation.Steps.TeamStatsSnapshotStepExecutor.ExecuteAsync(AutomationExecutionContext context, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Automation\Steps\TeamStatsSnapshotStepExecutor.cs:line 34
   at BettingOdds.App.Automation.Services.AutomationWorkflowRunner.RunManualAsync(AutomationManualRunRequest request, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Automation\Services\AutomationWorkflowRunner.cs:line 136
Step Timeline

Ordered Execution Trace

1
Schedule Next 1 Day
schedule-next-day
Succeeded
Started 2026-03-27 00:04:38 UTC
Finished 2026-03-27 00:04:44 UTC
Duration 5.8s
Summary
Schedule next day synced. Games upserted: 13.
2
Schedule Past Games Last 1 Day
schedule-past-day
Succeeded
Started 2026-03-27 00:04:44 UTC
Finished 2026-03-27 00:04:49 UTC
Duration 5.1s
Summary
Past-day schedule synced. Games upserted: 15.
4
Player Snapshots
player-snapshots
Succeeded
Started 2026-03-27 00:04:49 UTC
Finished 2026-03-27 00:05:17 UTC
Duration 28.1s
Summary
Player snapshots built. Rolling=594, Relevance=532, Batch=3baa0535-a238-426a-a75e-df8a3dd94ee0, AsOf=2026-03-27 00:04:38Z.
5
ESPN Injuries
espn-injuries
Succeeded
Started 2026-03-27 00:05:17 UTC
Finished 2026-03-27 00:05:23 UTC
Duration 5.7s
Summary
ESPN injuries synced. Updated 124 player statuses.
6
Team Stats Snapshot
team-stats-snapshot
Failed
Started 2026-03-27 00:05:23 UTC
Finished 2026-03-27 00:05:24 UTC
Duration 984 ms
Error
System.InvalidOperationException: Suspicious team stats batch detected: all 30 comparable rows are identical to the latest existing batch for LastNGames=10. Sync aborted.
   at BettingOdds.App.Sync.Modules.Impl.TeamStatsSync.EnsureBatchIsNotSuspiciouslyStaleAsync(Int32 seasonId, Int32 lastNGames, IReadOnlyList`1 incomingRows, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Sync\Modules\Impl\TeamStatsSync.cs:line 192
   at BettingOdds.App.Sync.Modules.Impl.TeamStatsSync.SyncTeamsAndStatsAsync(Int32 seasonId, SyncOptions opt, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Sync\Modules\Impl\TeamStatsSync.cs:line 37
   at BettingOdds.App.Automation.Steps.TeamStatsSnapshotStepExecutor.ExecuteAsync(AutomationExecutionContext context, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Automation\Steps\TeamStatsSnapshotStepExecutor.cs:line 34
   at BettingOdds.App.Automation.Services.AutomationWorkflowRunner.RunManualAsync(AutomationManualRunRequest request, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Automation\Services\AutomationWorkflowRunner.cs:line 136
Execution Summary

Step Status Breakdown

Succeeded 4
Failed 1
Running 0
Skipped 0
Partial 0
Operator Notes

Reading This Run

Use the ordered timeline to identify the exact failure boundary.
Compare workflow summary vs step summary to isolate whether failure was orchestration-level or step-level.
Long durations usually indicate remote source latency or backfill-heavy sync execution.