docs: close Drive/Docs/Sheets evaluation and complete Google Workspace tasks

This commit is contained in:
zap
2026-03-12 22:42:55 +00:00
parent e6b9844097
commit 6cfb1da179
3 changed files with 87 additions and 76 deletions

View File

@@ -1,80 +1,77 @@
# WIP.drive-docs-sheets.md # WIP.drive-docs-sheets.md
## Status ## Status
Status: `proposed` Status: `closed`
Owner: `zap` Owner: `zap`
Opened: `2026-03-12` Opened: `2026-03-12`
Decision: `2026-03-12`
## Purpose ## Purpose
Evaluate whether the n8n Google Workspace action bus should expand beyond Gmail + Calendar into Drive / Docs / Sheets, or whether those surfaces should stay direct-tool-only for now. Evaluate whether the n8n Google Workspace action bus should expand beyond Gmail + Calendar into Drive / Docs / Sheets, or whether those surfaces should stay direct-tool-only for now.
## Decision goal ## Decision
Produce a clear go / no-go per surface:
- Google Drive
- Google Docs
- Google Sheets
## Why this is a separate WIP **All three surfaces: NO - defer for now**
Gmail + Calendar are now implemented, deployed, and smoke-tested. Drive / Docs / Sheets are a different decision because they can easily sprawl into broad CRUD coverage without the same immediate operator value.
## Constraints carried forward ### Rationale
- Keep `openclaw-action` as the narrow authenticated ingress.
- Keep approval/history/state in n8n.
- Use the host-side `gog` bridge for execution when appropriate.
- Preserve the compact operator contract:
- `pending_compact`
- `history_compact`
- `operator.summary_line`
- `operator.execution_state`
- `operator.result_refs`
- Keep approval defaults explicit by family.
- Default to the smallest useful verb set.
## Questions to answer The Gmail + Calendar integration succeeded because they map cleanly to the approval/queue pattern:
### Drive
Possible useful verbs:
- `search_drive_files`
- `list_drive_files`
- `get_drive_file_metadata`
- `move_drive_file`
- `trash_drive_file`
Questions: - **Discrete actions:** One-shot operations (send draft, create event)
- Is Drive mainly a discovery/search surface here, or do we need mutating file-management actions? - **Clear audit value:** Each action is a standalone event worth recording
- Would direct `gog drive ...` usage be simpler than queueing through n8n for most cases? - **Low iteration cost:** No back-and-forth editing required
- **Operator clarity:** "Send this email" / "Create this event" are clear human decisions
### Docs Drive / Docs / Sheets don't fit this pattern as naturally:
Possible useful verbs:
- `create_doc`
- `append_doc_text`
- `replace_doc_text`
- `get_doc_text`
Questions: #### Drive
- Do we actually need approval-gated doc writes, or is docs work better done directly in a focused tool flow? - Read/search operations are discovery tools, not approval-worthy events
- Is append/replace enough, or would structured range operations be needed too soon? - File management (move, trash) is edge case and rare in automation flows
- Direct `gog drive ...` usage is simpler for most cases
- **Verdict:** Overkill to queue through n8n for standard file ops
### Sheets #### Docs
Possible useful verbs: - Document editing is inherently iterative - you need to see, tweak, see again
- `read_sheet_range` - Approval gating for "create this doc" is fine, but then what?
- `append_sheet_rows` - The real value is in the editing loop, not the initial create action
- `update_sheet_cells` - Document work belongs in focused tool flows, not a one-shot queue
- `create_sheet_tab` - **Verdict:** Wrong pattern for the action bus
Questions: #### Sheets
- Is Sheets the highest-leverage next action surface because it fits queueable structured writes? - Strongest candidate (structured writes map well to approval)
- If yes, what is the minimum safe starter set? - But without a clear use case, this is premature optimization
- Append/update flows are useful *if* you have a structured data pipeline
- We don't have that yet, so building it now is YAGNI
- **Verdict:** Highest-priority "if needed later" item, but not today
## Initial recommendation ## When to revisit
- **Drive:** probably `no` for broad action-bus expansion right now; maybe `yes` for a tiny read/search surface later.
- **Docs:** probably `no` for now unless a very specific document-drafting workflow appears.
- **Sheets:** strongest `maybe yes` candidate because append/update flows map well to approval + audit history.
## Success criteria Revisit each surface only when a concrete use case appears:
- One-page recommendation covering Drive / Docs / Sheets.
- Clear go / no-go per surface.
- If any surface is greenlit, define only the minimum starter verbs.
- If any surface is greenlit, specify approval defaults (`low` read-only vs `high` mutating) before implementation begins.
## If implemented later - **Drive:** If you need approval-gated file moves/trash for an automation workflow
Use a fresh implementation session and promote the chosen scope into `WIP.md` before coding. - **Docs:** If you have a "draft document → review → approve → publish" pattern that fits queueing
- **Sheets:** If you need structured data logging/metrics with an audit trail
## Recommendation preserved
Keep the action bus focused on the patterns that work:
- Notification routing (already implemented)
- Gmail actions (already implemented)
- Calendar actions (already implemented)
- Future surface additions should pass the same "discrete, approval-worthy, low-iteration" test
## Evidence referenced
- `WIP.md` — Gmail + Calendar completion record
- `skills/n8n-webhook/references/openclaw-action.md` — current action contract
- `skills/n8n-webhook/assets/openclaw-action.workflow.json` — live workflow
## Success criteria met
- ✅ One-page recommendation covering Drive / Docs / Sheets
- ✅ Clear go / no-go per surface
- ✅ No implementation scope added
- ✅ Preserved the compact operator contract for future use
## Next actions
- Update `memory/2026-03-12.md` with this decision
- Close out the Google Workspace n8n work in `memory/tasks.json`
- Consider syncing `feat/n8n-action-bus-v2` to the LAN Gitea repo for backup/review

View File

@@ -249,3 +249,19 @@
- bridge helper proof: `gmail.drafts.create` sample result produced `draft_id = r-proof-draft-123` - bridge helper proof: `gmail.drafts.create` sample result produced `draft_id = r-proof-draft-123`
- bridge helper proof: `calendar.create` sample result produced `event_id = evt-proof-456`, `calendar = primary` - bridge helper proof: `calendar.create` sample result produced `event_id = evt-proof-456`, `calendar = primary`
- workflow asset string checks confirmed presence of `pending_compact`, `history_compact`, `summary_line`, `result_refs`, `default_mode`, and `approval.family` - workflow asset string checks confirmed presence of `pending_compact`, `history_compact`, `summary_line`, `result_refs`, `default_mode`, and `approval.family`
## Drive/Docs/Sheets evaluation (main session)
- Hit GPT-5.4 rate limit during attempted subagent work; continued evaluation in main session with GLM 5.
- Completed decision on expanding Google Workspace action bus beyond Gmail + Calendar into Drive / Docs / Sheets.
- **Decision: NO for all three surfaces — defer for now.**
- Rationale:
- Drive: discovery/search operations are tools, not approval-worthy events; file management is edge case; direct `gog drive ...` usage is simpler.
- Docs: editing is inherently iterative (see, tweak, see again); document work belongs in focused tool flows, not a one-shot queue.
- Sheets: strongest candidate (structured writes map well to approval), but without a concrete use case, this is premature optimization.
- Preserved principle: the action bus works best for discrete, approval-worthy, low-iteration operations (like send draft, create event).
- Updated `WIP.drive-docs-sheets.md` with closed status and revisit criteria per surface.
- Updated `memory/tasks.json` to close:
- `task-20260311-1908-calendar-access` → done
- `task-20260311-1908-email-access` → done
- `task-20260311-1914-google-workspace-access` → done
- Google Workspace + n8n integration WIP (WIP.md) is now complete with evidence recorded in memory.

View File

@@ -59,13 +59,13 @@
"title": "Add calendar access/backend for proactive scheduling help", "title": "Add calendar access/backend for proactive scheduling help",
"owner": "zap", "owner": "zap",
"priority": "medium", "priority": "medium",
"status": "in-progress", "status": "done",
"details": "Set up or connect a calendar backend so zap can provide stronger calendar-aware assistance, daily briefs, and schedule checks.", "details": "Set up or connect a calendar backend so zap can provide stronger calendar-aware assistance, daily briefs, and schedule checks.",
"notes": [ "notes": [
"Added from LAN-services gap review on 2026-03-11.", "Added from LAN-services gap review on 2026-03-11.",
"Biggest functional gap identified at the time.", "Completed 2026-03-12: live n8n action bus now supports approval-gated Calendar actions (create, list, update, delete) via host-side gog bridge.",
"Progress 2026-03-12: access/auth now exists and the remaining work is productionizing n8n-routed execution plus verification.", "Live workflow id: Jwi54VWMdlLqYnRo.",
"Fresh-session re-proof 2026-03-12 19:44Z: real n8n approval-routed Gmail draft and Calendar event flows succeeded again end-to-end with verify+cleanup (approval ids approval-mmnvn4t2-w2rjlwz2 / approval-mmnvn6i8-e9eq8gdf)." "Evidence: WIP.md + memory/2026-03-12.md + WIP.drive-docs-sheets.md (decision to defer Drive/Docs/Sheets)."
] ]
}, },
{ {
@@ -74,12 +74,13 @@
"title": "Add email/inbox access for triage and briefing", "title": "Add email/inbox access for triage and briefing",
"owner": "zap", "owner": "zap",
"priority": "medium", "priority": "medium",
"status": "in-progress", "status": "done",
"details": "Set up access to a mail/inbox workflow so zap can help with triage, summaries, and urgent-message detection.", "details": "Set up access to a mail/inbox workflow so zap can help with triage, summaries, and urgent-message detection.",
"notes": [ "notes": [
"Added from LAN-services gap review on 2026-03-11.", "Added from LAN-services gap review on 2026-03-11.",
"Progress 2026-03-12: access/auth now exists and the remaining work is productionizing n8n-routed execution plus verification.", "Completed 2026-03-12: live n8n action bus now supports approval-gated Gmail actions (draft create, list, delete, send) via host-side gog bridge.",
"Fresh-session re-proof 2026-03-12 19:44Z: real n8n approval-routed Gmail draft and Calendar event flows succeeded again end-to-end with verify+cleanup (approval ids approval-mmnvn4t2-w2rjlwz2 / approval-mmnvn6i8-e9eq8gdf)." "Live workflow id: Jwi54VWMdlLqYnRo.",
"Evidence: WIP.md + memory/2026-03-12.md + WIP.drive-docs-sheets.md (decision to defer Drive/Docs/Sheets)."
] ]
}, },
{ {
@@ -125,17 +126,14 @@
"title": "Add Google Workspace access (Calendar/Drive/Docs/Gmail as appropriate)", "title": "Add Google Workspace access (Calendar/Drive/Docs/Gmail as appropriate)",
"owner": "zap", "owner": "zap",
"priority": "medium", "priority": "medium",
"status": "in-progress", "status": "done",
"details": "Connect Google Workspace services where useful so zap can work with calendar, docs, drive, and/or gmail more directly.", "details": "Connect Google Workspace services where useful so zap can work with calendar, docs, drive, and/or gmail more directly.",
"notes": [ "notes": [
"Added from tool wishlist on 2026-03-11.", "Added from tool wishlist on 2026-03-11.",
"Some overlap with calendar/email tasks; this is the broader suite-level follow-up.", "Completed 2026-03-12: Gmail and Calendar are live via n8n action bus with approval gating and audit history.",
"Progress 2026-03-12: gog auth completed for Gmail/Calendar/Drive/Contacts/Docs/Sheets.", "Drive/Docs/Sheets evaluated and deferred in WIP.drive-docs-sheets.md — revisit only when concrete use cases appear.",
"Progress 2026-03-12: live n8n action bus now supports approval-gated Google flows via host-side gog bridge.", "Live workflow id: Jwi54VWMdlLqYnRo.",
"Next proof step: run real n8n-routed Gmail draft and Calendar event tests (not just dry-run).", "Evidence: WIP.md + memory/2026-03-12.md + WIP.drive-docs-sheets.md."
"Proof step completed 2026-03-12: both real n8n-routed tests passed and cleanup succeeded (see WIP.md + memory/2026-03-12.md for IDs).",
"State file: WIP.md tracks the current full plan and checkpoints.",
"Fresh-session re-proof 2026-03-12 19:44Z: real n8n approval-routed Gmail draft and Calendar event flows succeeded again end-to-end with verify+cleanup (approval ids approval-mmnvn4t2-w2rjlwz2 / approval-mmnvn6i8-e9eq8gdf)."
] ]
}, },
{ {
@@ -328,7 +326,7 @@
"owner": "zap", "owner": "zap",
"priority": "low", "priority": "low",
"status": "open", "status": "open",
"details": "Create a small place to record important decisions and why they were made so the same choices do not get re-litigated repeatedly.", "details": "Create a small place to record important decisions and why they were made so that same choices do not get re-litigated repeatedly.",
"notes": [ "notes": [
"Added from second-wave improvements list on 2026-03-11." "Added from second-wave improvements list on 2026-03-11."
] ]