docs(state): record calendar pass completion evidence

This commit is contained in:
zap
2026-03-12 21:11:28 +00:00
parent 4d89f02664
commit 2a46de2287
3 changed files with 89 additions and 21 deletions

View File

@@ -4,7 +4,7 @@
Immediate baton-pass for the next fresh implementation session.
## Current objective
Run calendar pass (2/3): extend the action bus beyond create-only calendar support now that Gmail pass 1 is complete.
Run operator/polish pass (3/3): tighten operator docs, approval policy clarity, recurring verification flow, and low-noise execution reporting now that Gmail + Calendar passes are complete.
## Use these state files first
1. `WIP.md` — full standing plan and checkpoints
@@ -44,15 +44,30 @@ Run calendar pass (2/3): extend the action bus beyond create-only calendar suppo
- Added explicit approval metadata in workflow responses (`approval.policy`, `approval.required`, `approval.mutation_level`).
- Updated docs/test payloads/validator to match the expanded Gmail contract.
## Calendar pass 2 completed in this handoff cycle
- Added workflow actions:
- `list_upcoming_events`
- `update_calendar_event`
- `delete_calendar_event`
- Added host bridge executors:
- `calendar_list_events` (`gog calendar events`)
- `calendar_event_update` (`gog calendar update`)
- `calendar_event_delete` (`gog calendar delete`)
- Preserved explicit approval policy:
- read-only calendar listing stays `low`
- mutating calendar update/delete stay `high`
- Added docs/test payloads/validator coverage for the expanded calendar contract.
## Highest-priority next actions
1. Add `list_upcoming_events`, `update_calendar_event`, and `delete_calendar_event` actions.
2. Keep approval policy explicit per action (default-gated for mutating operations).
3. Add one compact operator test playbook for recurring verification (queue → approve → verify → cleanup).
1. Add a compact operator command/reference section for common approval flows.
2. Add one or two canned recurring verification flows (queue → approve → verify → cleanup).
3. Decide/document approval defaults clearly per action family.
4. Improve low-noise execution/result reporting in approval history.
## Success criteria for the next session
- Calendar action coverage expanded (`list_upcoming_events`, `update_calendar_event`, `delete_calendar_event`) with workflow + bridge + docs alignment.
- Approval policy remains explicit/safe for mutating calendar actions.
- `WIP.md` and memory updated with concrete IDs/evidence.
- Operator/polish pass completed with docs/playbook/history-reporting improvements.
- Approval defaults are explicit and easy to skim.
- `WIP.md` and memory updated with concrete evidence.
- Meaningful commit(s) captured.
## Relevant files

56
WIP.md
View File

@@ -99,9 +99,9 @@ Started: `2026-03-12`
- [x] Add `delete_email_draft`
- [x] Add `list_email_drafts`
- [x] Add `send_gmail_draft` / send-approved-email path
- [ ] Add `update_calendar_event`
- [ ] Add `delete_calendar_event`
- [ ] Add `list_upcoming_events`
- [x] Add `update_calendar_event`
- [x] Add `delete_calendar_event`
- [x] Add `list_upcoming_events`
- [ ] Decide whether Drive/Docs/Sheets need action-bus verbs next or can stay direct-tool only for now
### Then polish the operator experience
@@ -134,11 +134,11 @@ Planned passes:
- added `list_email_drafts`
- added `send_gmail_draft` / send-approved-email path
- updated workflow contract/docs/test payloads/bridge + WIP evidence
2. Calendar pass:
- add `update_calendar_event`
- add `delete_calendar_event`
- add `list_upcoming_events`
- update `WIP.md` with evidence before ending the pass
2. Calendar pass: ✅ complete
- added `update_calendar_event`
- added `delete_calendar_event`
- added `list_upcoming_events`
- updated workflow contract/docs/test payloads/bridge + WIP evidence
3. Operator/polish pass:
- decide approval defaults for each action
- add low-noise execution/result reporting
@@ -192,16 +192,44 @@ Targeted verification evidence:
- send: exit `0`, returned dry-run op `gmail.drafts.send`
- `python3 -m py_compile skills/n8n-webhook/scripts/resolve-approval-with-gog.py` passed.
## Calendar pass 2 completion (2026-03-12)
Implemented in this pass:
- workflow contract + router logic for:
- `list_upcoming_events`
- `update_calendar_event`
- `delete_calendar_event`
- host bridge executor coverage for new approval kinds:
- `calendar_list_events``gog calendar events`
- `calendar_event_update``gog calendar update`
- `calendar_event_delete``gog calendar delete`
- docs + sample payloads + workflow validator updates for the expanded calendar contract
- explicit approval policy preserved:
- `list_upcoming_events``approval.mutation_level = low`
- `update_calendar_event` / `delete_calendar_event``approval.mutation_level = high`
Targeted verification evidence:
- `python3 skills/n8n-webhook/scripts/validate-workflow.py skills/n8n-webhook/assets/openclaw-action.workflow.json`
- result: `OK: workflow asset structure looks consistent`
- Workflow asset inspection confirmed new router actions are present:
- `list_upcoming_events`
- `update_calendar_event`
- `delete_calendar_event`
- Host bridge command-builder verification from shipped sample payloads:
- `calendar_list_events``gog calendar events primary --account will@example.com --json --no-input --max 10 --days 7 --query zap --dry-run`
- `calendar_event_update``gog calendar update primary example-calendar-event-id --account will@example.com --json --no-input --send-updates none --summary Updated call with vendor --from 2026-03-13T18:15:00Z --to 2026-03-13T18:45:00Z --description Updated by OpenClaw action bus. --location Updated room --dry-run`
- `calendar_event_delete``gog calendar delete primary example-calendar-event-id --account will@example.com --json --no-input --force --send-updates none --dry-run`
- `python3 -m py_compile skills/n8n-webhook/scripts/resolve-approval-with-gog.py` passed.
## Next-session handoff
For the next fresh implementation session, start from `HANDOFF.md` + `WIP.md` rather than from old chat context.
Immediate target:
- calendar pass only:
- add `update_calendar_event`
- add `delete_calendar_event`
- add `list_upcoming_events`
- keep approval policy explicit for mutating calendar actions
- run targeted verification and refresh WIP/memory/tasks before ending
- operator/polish pass only:
- add a compact operator command/reference section for common approval flows
- add one or two canned recurring verification flows
- decide/document approval defaults clearly per action family
- improve low-noise execution/result reporting in history
- refresh WIP/memory/tasks before ending
## Relevant files
- `skills/n8n-webhook/assets/openclaw-action.workflow.json`

View File

@@ -173,3 +173,28 @@
- `approval-mmny879w-yvqzokpz`
- `approval-mmny879w-md99hqxs`
- `gog` dry-run command checks for list/delete/send each exited `0`.
## Calendar pass 2 (fresh subagent implementation, locally verified)
- Added to `openclaw-action` workflow contract:
- `list_upcoming_events`
- `update_calendar_event`
- `delete_calendar_event`
- Preserved explicit approval metadata/policy:
- `list_upcoming_events``approval.mutation_level = low`
- `update_calendar_event` / `delete_calendar_event``approval.mutation_level = high`
- Extended host bridge `resolve-approval-with-gog.py` with executor coverage for:
- `calendar_list_events``gog calendar events`
- `calendar_event_update``gog calendar update`
- `calendar_event_delete``gog calendar delete`
- Added sample payloads:
- `skills/n8n-webhook/assets/test-list-upcoming-events.json`
- `skills/n8n-webhook/assets/test-update-calendar-event.json`
- `skills/n8n-webhook/assets/test-delete-calendar-event.json`
- Verification evidence (local/targeted):
- workflow structure + contract validator passed after the calendar additions
- workflow asset inspection confirmed the three new router actions are present
- bridge command-builder checks from shipped payloads produced:
- `gog calendar events primary --account will@example.com --json --no-input --max 10 --days 7 --query zap --dry-run`
- `gog calendar update primary example-calendar-event-id --account will@example.com --json --no-input --send-updates none --summary Updated call with vendor --from 2026-03-13T18:15:00Z --to 2026-03-13T18:45:00Z --description Updated by OpenClaw action bus. --location Updated room --dry-run`
- `gog calendar delete primary example-calendar-event-id --account will@example.com --json --no-input --force --send-updates none --dry-run`
- `python3 -m py_compile skills/n8n-webhook/scripts/resolve-approval-with-gog.py` passed.