ID
Scenario
Input
Expected Output
Pass Criteria
T01
Happy path: date trigger fires correctly
Scheduled date trigger fires at configured cycle start datetime in sandbox scheduler
Workflow execution begins; Planning Data Agent initialised with correct quarter label and cycle ID
Execution log shows trigger received; cycle ID generated; no errors in initialisation step
T02
Notion template duplication: single department
One sandbox department record passed to agent; Notion sandbox workspace active
A new Notion page created from the standard goal submission template, named with department name and quarter label
Page exists in sandbox Notion database with correct title format; template fields present and blank; no extra pages created
T03
Notion template duplication: multiple departments
Eight sandbox department records passed simultaneously
Eight unique Notion pages created, each named correctly, with no duplicates
Eight pages present in sandbox database; each has a distinct department name; creation timestamps within a 60-second window
T04
Slack kickoff message sent to department head
Department head sandbox Slack user ID and linked Notion submission page URL
Direct Slack message delivered to sandbox user containing the submission page link and deadline date
Slack sandbox API confirms message delivered (HTTP 200); message body contains correct Notion URL and deadline; no extra messages sent
T05
Google Sheets financial data pull
Sandbox Google Sheets file with three populated rows: revenue, pipeline, expenses
Agent reads all three rows and writes values to the correct fields in the master sandbox Notion page
Notion master page fields match the sandbox Sheets values exactly; no values are truncated or reformatted; write confirmed via Notion API response
T06
HubSpot pipeline data pull
Sandbox HubSpot account with two open deals totalling $120,000 pipeline value
Agent retrieves deal total and writes the correct pipeline figure to the master Notion page
Notion master page pipeline field reads $120,000; HubSpot API call logged with correct deal stage filter; no additional fields overwritten
T07
Submission reminder: incomplete pages only
Three Notion submission pages in sandbox: two marked complete, one still blank
Slack reminder sent only to the department head linked to the incomplete page; no message sent to the two completed departments
Exactly one Slack message dispatched in sandbox; recipient matches the incomplete department head user ID; message text references the correct page link
T08
Consolidation: all submissions complete
Three completed sandbox Notion submission pages with goal data populated
Agent merges all three submissions into the master Notion page under the correct departmental sections
Master Notion page contains three department sections with correct goal data; no fields blank; consolidation timestamp recorded
T09
Failure mode: Google Sheets API returns 403 Forbidden
Sandbox Sheets token deliberately revoked before agent fires
Agent logs the API error, does not proceed to write to Notion, and raises an alert to the error notification channel
Execution log contains 403 error entry; Notion master page financial fields remain unchanged; error Slack message delivered to the configured ops channel
ID
Scenario
Input
Expected Output
Pass Criteria
T10
Happy path: Monday trigger fires and update requests sent
Monday 08:00 sandbox scheduled trigger; three sandbox department head Slack user IDs with linked Notion goal pages
Structured Slack update request delivered to each of the three sandbox users with a link to their Notion goal page
Three Slack messages confirmed delivered in sandbox; each contains the correct Notion page URL; trigger timestamp is Monday 08:00 or within a 5-minute tolerance
T11
Notion goal status read: all departments responded
Three sandbox Notion goal pages updated with completion percentages (80%, 60%, 100%)
Agent reads all three pages and assembles a summary object containing department name and completion percentage for each
Internal summary object contains three entries with correct department names and percentages matching sandbox Notion values
T12
Weekly progress report posted to leadership Slack channel
Summary object from T11 passed to report formatter; sandbox leadership Slack channel ID configured
Formatted progress report posted to sandbox leadership channel listing each department and goal completion percentage
Single message posted to sandbox channel; message contains three department rows with correct percentages; no duplicate messages; post timestamp recorded
T13
Trigger does not fire outside active cycle
Monday trigger fires but no active planning cycle flag is set in the orchestration layer
Agent checks cycle-active status, finds it false, logs a skip event, and sends no Slack messages
Zero Slack messages dispatched; execution log contains skip-cycle entry with reason; no Notion pages read
T14
Failure mode: Slack API rate limit exceeded on report post
Sandbox Slack API stubbed to return HTTP 429 on the channel post call
Agent catches the 429 response, waits the retry-after interval (60 seconds in sandbox), retries once, and logs the outcome
Execution log shows initial 429, retry attempt after delay, and final result; if retry also fails, error is written to ops log; no silent failure