Use case

The agent files its report every night. Until it doesn't.

You run ops, or the automation. An overnight agent drops report_YYYYMMDD.json into s3://research/reports by 06:00 EST daily, and the morning brief is built from whatever it finds.

How it fails today

The run dies quietly: a rate limit, an expired key, a tool call that hung. Nothing errors on your side, and the brief builds on yesterday’s file.

09:00someone asks why the numbers haven't moved - three hours after the miss

What we do about it

the same morning, as we'd run it

We check the prefix through the window.

  1. 06:00window closes with nothing new - grace starts
  2. 06:30missed - one alert, to you and the on-call channel
  3. 07:12arrived - one closing alert

Before the brief rebuilds, your retry agent can ask whether the file is there.

What we need

A key that can list research/reports - nothing else in the bucket. The full posture.

scoped to one prefixwritten oncenever readable back
The monitor, configured

Agent research report

Where
S3 · research/reports
When
daily by 06:00 EST
Grace
30 minutes
Who to tell
you · the on-call channel · the retry agent

If the key expires, that’s Check broken, never Missed - broken access is its own alert, and it says whose job it is to fix.

Set it up in a sentence:

The agent drops its research report in S3 by 6am daily, give it 30 minutes.

Create monitor
Menu