DIRA
One thing changes. Everything adapts.

Activity — reference action ledger

Every adapter intent is persisted before execution and only becomes VERIFIED after an independent state read. Tool success is never trusted alone; idempotency keys make redelivery and crash-resume duplicate-free. The 409 record below is the injected failure the deterministic reference workflow recovered from.

ActionSystemVerdict · ruleAttemptsStatusIdempotency key
Book "TechCorp technical interview" at 2026-08-20T10:00:00-05:00recruiter (controlled)ALLOW
interview-slots-recruiter-approved-only
1REPLAN_REQUIRED
409 SLOT_NO_LONGER_AVAILABLE: 2026-08-20T10:00:00-05:00
wf-evt-gmail-econ-move-1:book_interview_slot:technical-interview-1:duration_min=60,end_iso=2026-08-20T11:00:00-05:00,slot_id=slot-thu-1000,start_iso=2026-08-20T10:00:00-05:00,start_min=3480
Update calendar for "TechCorp technical interview" to 2026-08-20T10:00:00-05:00calendar adapterALLOW
sync-calendar-with-approved-booking
0STALEwf-evt-gmail-econ-move-1:move_calendar_event:technical-interview-1:duration_min=60,end_iso=2026-08-20T11:00:00-05:00,slot_id=slot-thu-1000,start_iso=2026-08-20T10:00:00-05:00,start_min=3480
Delegate "Sponsor deck visual QA" to Maya Okafororganization (controlled)ALLOW_AND_NOTIFY
delegate-explicitly-delegatable
1VERIFIEDwf-evt-gmail-econ-move-1:delegate_task:sponsor-visual-qa:new_owner=maya-okafor
Notify Maya Okafor about the delegationmessage outboxALLOW_AND_NOTIFY
routine-operational-updates
1VERIFIEDwf-evt-gmail-econ-move-1:send_notification:maya-okafor:body=Hi Maya — a schedule conflict landed on my exam block, so per our backup plan I'm handing you "Sponsor deck visual QA". It needs to happen between Wed 14:00 and Wed 16:00. Thank you!,body_contains=Sponsor deck visual QA,thread_id=thread-org-sponsor-visual-qa,to=maya.okafor@university.demo
Move "Workout" to 2026-08-19T16:45:00-05:00calendar adapterALLOW
move-flexible-or-optional-blocks
1VERIFIEDwf-evt-gmail-econ-move-1:move_calendar_event:tuesday-workout:duration_min=60,end_iso=2026-08-19T17:45:00-05:00,start_iso=2026-08-19T16:45:00-05:00,start_min=2445
Move "Side-project build block" to 2026-08-20T12:00:00-05:00calendar adapterALLOW
move-flexible-or-optional-blocks
0STALEwf-evt-gmail-econ-move-1:move_calendar_event:side-project-block:duration_min=240,end_iso=2026-08-20T16:00:00-05:00,start_iso=2026-08-20T12:00:00-05:00,start_min=3600
Remove invalidated block "Study: ECON 402" (2026-08-19T20:30:00-05:00)calendar adapterALLOW
restructure-study-blocks
1VERIFIEDwf-evt-gmail-econ-move-1:delete_calendar_event:wed-evening-prep:reason=reservation invalidated by mutation
Remove invalidated block "Study: ECON 402" (2026-08-20T19:00:00-05:00)calendar adapterALLOW
restructure-study-blocks
1VERIFIEDwf-evt-gmail-econ-move-1:delete_calendar_event:thu-evening-prep-1:reason=reservation invalidated by mutation
Remove invalidated block "Study: ECON 402" (2026-08-20T21:15:00-05:00)calendar adapterALLOW
restructure-study-blocks
1VERIFIEDwf-evt-gmail-econ-move-1:delete_calendar_event:thu-evening-prep-2:reason=reservation invalidated by mutation
Remove invalidated block "Study: ECON 402" (2026-08-21T08:30:00-05:00)calendar adapterALLOW
restructure-study-blocks
1VERIFIEDwf-evt-gmail-econ-move-1:delete_calendar_event:fri-morning-prep-1:reason=reservation invalidated by mutation
Remove invalidated block "Study: ECON 402" (2026-08-21T10:00:00-05:00)calendar adapterALLOW
restructure-study-blocks
1VERIFIEDwf-evt-gmail-econ-move-1:delete_calendar_event:fri-morning-prep-2:reason=reservation invalidated by mutation
Reserve 204 min for "ECON 402 exam preparation" at 2026-08-18T19:30:00-05:00calendar adapterALLOW
restructure-study-blocks
1VERIFIEDwf-evt-gmail-econ-move-1:create_calendar_event:study-econ402-midterm-2-prep-1:duration_min=210,end_iso=2026-08-18T23:00:00-05:00,reserves_effort_for=econ402-midterm-2-prep,start_iso=2026-08-18T19:30:00-05:00,start_min=1170,title=Study: ECON 402 exam preparation
Reserve 156 min for "ECON 402 exam preparation" at 2026-08-19T09:00:00-05:00calendar adapterALLOW
restructure-study-blocks
1VERIFIEDwf-evt-gmail-econ-move-1:create_calendar_event:study-econ402-midterm-2-prep-2:duration_min=162,end_iso=2026-08-19T11:42:00-05:00,reserves_effort_for=econ402-midterm-2-prep,start_iso=2026-08-19T09:00:00-05:00,start_min=1980,title=Study: ECON 402 exam preparation
Book "TechCorp technical interview" at 2026-08-20T13:00:00-05:00recruiter (controlled)ALLOW
interview-slots-recruiter-approved-only
1VERIFIEDwf-evt-gmail-econ-move-1:book_interview_slot:technical-interview-1:duration_min=60,end_iso=2026-08-20T14:00:00-05:00,slot_id=slot-thu-1300,start_iso=2026-08-20T13:00:00-05:00,start_min=3660
Update calendar for "TechCorp technical interview" to 2026-08-20T13:00:00-05:00calendar adapterALLOW
sync-calendar-with-approved-booking
1VERIFIEDwf-evt-gmail-econ-move-1:move_calendar_event:technical-interview-1:duration_min=60,end_iso=2026-08-20T14:00:00-05:00,slot_id=slot-thu-1300,start_iso=2026-08-20T13:00:00-05:00,start_min=3660
Move "Side-project build block" to 2026-08-20T14:00:00-05:00calendar adapterALLOW
move-flexible-or-optional-blocks
1VERIFIEDwf-evt-gmail-econ-move-1:move_calendar_event:side-project-block:duration_min=240,end_iso=2026-08-20T18:00:00-05:00,start_iso=2026-08-20T14:00:00-05:00,start_min=3720

This table is the deterministic baseline ledger. Production uses the same lifecycle in Firestore; its Calendar target is real and its recruiter, organization, and message-outbox targets are controlled integrations.