ID
Scenario
Input
Expected output
Pass criteria
T13
Distribution Agent: happy path PDF export to Google Drive
Completed and approved Google Sheets report in the test workbook
Agent exports the sheet as a PDF using the Sheets API export endpoint; PDF saved to the test Drive folder with the correct filename format (YYYY-MM_FinancialReport.pdf)
PDF present in test Drive folder; filename matches the naming convention; file size greater than 50 KB; no Drive API errors in log
T14
Distribution Agent: Slack notification delivered with correct link and summary
PDF saved to test Drive folder (output of T13); variance commentary available
Agent posts a Slack message to the test channel containing the Drive file link, the report period, and the top two variance highlights from the commentary block
Slack message appears in test channel within 30 seconds; link resolves to the correct Drive file; variance highlights match the commentary written by the Variance Analysis Agent in T09
T15
Full chain: schedule trigger through to Slack delivery with no variances
Trigger fires for a period where all figures are within threshold (as per T10 input)
Data Fetch Agent populates sheet; Variance Analysis Agent writes no-material-variance statement; Distribution Agent exports PDF and posts Slack message; approval gate fires automatically after review window (simulated as 1 minute for sandbox)
All three agents complete without error; Slack message delivered; PDF in Drive; run log shows sequential agent completion times with no gaps or retries
T16
Full chain: schedule trigger through to Slack delivery with flagged variances and finance manager approval
Trigger fires for a period with three line items above threshold (T09 input); finance manager approval action sent via the approval mechanism
Data Fetch Agent populates sheet; Variance Analysis Agent flags and writes commentary; Distribution Agent waits for approval signal; on approval, exports PDF and posts Slack message
Distribution Agent does not fire until approval signal is received; Slack message confirms report approved and distributed; all agents log completed status
T17
Approval gate: distribution fires automatically after review window lapses with no rejection
Trigger fires with flagged variances; no approval or rejection action taken within the configured review window (set to 5 minutes for sandbox test)
After the review window lapses, the Distribution Agent fires automatically; Slack message notes that the report was auto-distributed after the review window; PDF saved to Drive
Distribution fires after exactly the configured window; Slack message contains the auto-distribution notice; log records the lapse event with timestamp
T18
Finance manager rejects the report during the review window
Trigger fires with flagged variances; finance manager sends a rejection signal within the review window
Distribution Agent does not fire; Slack alert sent to the finance manager confirming the report has been held; run marked as rejected in the log; no PDF exported
No PDF in Drive; no stakeholder Slack message; rejection alert delivered to finance manager; run log status shows rejected
T19
Google Drive API unavailable when Distribution Agent attempts PDF export
Distribution Agent fires but the Drive API returns HTTP 503
Agent retries three times with exponential backoff (30s, 60s, 120s); after three failures, logs a critical error and sends an alert to the error notification channel; does not post to Slack
Three retry attempts logged with timestamps; critical error entry present; no Slack message sent; alert delivered to error channel within 5 minutes of final retry failure
T20
Slack API unavailable when Distribution Agent attempts notification
PDF successfully saved to Drive but Slack API returns HTTP 503 on the webhook call
Agent retries the Slack call twice; after failure, logs the Slack delivery error but does not delete or re-export the PDF; sends alert to error notification channel with the Drive file link so the report can be distributed manually
PDF confirmed present in Drive; Slack delivery error logged; error alert contains the Drive link; report is not lost
ID
Scenario
Input
Expected output
Pass criteria
E01
Duplicate trigger: schedule fires twice for the same reporting period
Two trigger events arrive within 2 minutes for the same period identifier
The second trigger is detected as a duplicate via the period lock check; second run is suppressed; a warning is logged; only one report is produced
Single PDF in Drive for the period; single Slack message; duplicate-suppression warning in run log; no data overwritten by the second run
E02
Missing budget data in Google Sheets (no budget row for a line item)
Data Fetch Agent populates actuals; Variance Analysis Agent reads the sheet and finds one line item with no corresponding budget figure
Agent skips the variance calculation for the missing budget line; notes the missing budget line in the commentary block with a prompt for the finance manager to add the budget figure; does not error out
Commentary includes a note identifying the missing budget line by name; all other variance calculations complete normally; run does not halt
E03
Xero API rate limit hit mid-fetch (HTTP 429)
Data Fetch Agent makes multiple API calls and receives HTTP 429 after the second call
Agent pauses for the retry-after period specified in the response header (default 60 seconds), then retries; if three consecutive 429 responses are received, the run is aborted and an alert is raised
Retry behaviour confirmed in log with correct wait intervals; if aborted, alert delivered and no partial data written to sheet
E04
HubSpot deal currency mismatch (non-USD deal values present)
HubSpot returns deals with amounts in AUD and GBP alongside USD deals
Agent flags the currency mismatch in the run log; writes only USD-denominated deals to the pipeline cell; inserts a currency-mismatch warning into the commentary block
Non-USD values excluded from pipeline total; warning present in commentary and log; finance manager can see which deals were excluded
E05
Finance manager approval notification not delivered (Slack DM fails)
Variance Analysis Agent flags variances and the system attempts to send the approval-request DM to the finance manager via Slack; Slack DM API returns an error
System falls back to sending the approval request to the finance channel (tagged mention); logs the DM failure; review window timer starts from the fallback delivery time
Approval request visible in finance channel with tagged mention; DM failure logged; review window timer reflects fallback delivery timestamp
E06
Google Sheets formula error introduced by a layout change in the template
Data Fetch Agent writes to cell references that have shifted because a row was inserted in the template manually
Agent detects a #REF or #VALUE error in at least one formula cell after writing; logs a cell-mapping error identifying the affected references; halts the run before Variance Analysis Agent fires; alert sent to the error channel
Run halted before variance analysis; specific affected cell references named in the log; alert delivered; no commentary or PDF produced until the cell mapping is corrected