Add example: project roadmap (sanitized)
This commit is contained in:
@@ -0,0 +1,88 @@
|
|||||||
|
# Gmail Inbox Architect — Example Project Roadmap
|
||||||
|
|
||||||
|
> **Note:** This is a sanitized example showing the structure and decisions
|
||||||
|
> produced by a completed Phase 1 + Phase 2 run of the Gmail Inbox Architect plugin.
|
||||||
|
> Replace bracketed placeholders with your own project values.
|
||||||
|
|
||||||
|
**Status:** Phase 1 complete, Phase 2 deployed, Phase 3 planning
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What's Done
|
||||||
|
|
||||||
|
### Phase 1 — Filter Activation (Complete)
|
||||||
|
- [N] Gmail filters live across [M] label trees (Support, Finance, Notifications,
|
||||||
|
Operations, Vendors, Clients/Resellers, Development, Marketing, Personal, Sales, Travel)
|
||||||
|
- [N] new Gmail labels created
|
||||||
|
- Master Tracker tracking all rules: `Tracker.xlsx`
|
||||||
|
|
||||||
|
### Phase 2 — Apps Script Attachment Scanner (Complete)
|
||||||
|
- Deployed: `scanDocumentationAttachments()` — hourly trigger
|
||||||
|
- Catches `.STP`/`.STEP` files and diagram+PDF combos → applies `Documentation` label
|
||||||
|
- Guard label `Z-Archive/DocScan` (hidden) prevents re-scanning
|
||||||
|
- No star/Studio trigger — verification-only in current form
|
||||||
|
|
||||||
|
### Cleanup Completed
|
||||||
|
- ✅ [Example: mark-read enabled for a high-volume noise sender]
|
||||||
|
- ✅ [Example: legacy label backfilled and deprecated]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Open Backlog
|
||||||
|
|
||||||
|
### Immediate / Low Effort
|
||||||
|
|
||||||
|
| Item | Notes |
|
||||||
|
|---|---|
|
||||||
|
| Delete deprecated legacy label | Label is empty after backfill. Remove when ready. |
|
||||||
|
| `! Rule Needed` periodic review | Run with architect agent when label accumulates candidates |
|
||||||
|
| Deferred rule (e.g. seasonal vendor) | Held at `do_not_automate_yet`. Revisit when activity resumes. |
|
||||||
|
|
||||||
|
### Apps Script Extensions (Medium Effort)
|
||||||
|
|
||||||
|
| Document Type | Detection Pattern | Target Label |
|
||||||
|
|---|---|---|
|
||||||
|
| Vendor invoices | `filename: /inv[-_]\d+\.pdf/i` | Finance/Invoices-Vendor-Payable |
|
||||||
|
| Purchase orders | `filename: /po[-_\s]?\d+\|purchase.order/i` | Finance/Purchase-Orders |
|
||||||
|
| Signed contracts | `filename: /signed\|executed/i` + PDF | Documentation |
|
||||||
|
| Shipping manifests | `filename: /manifest\|packing.list/i` | Vendors/Shipping |
|
||||||
|
| Quotes/proposals | `filename: /quote\|proposal\|rfq/i` + PDF | Sales/Quotes |
|
||||||
|
|
||||||
|
### Phase 3 — Real-Time Studio Integration (Future)
|
||||||
|
|
||||||
|
| Item | Notes |
|
||||||
|
|---|---|
|
||||||
|
| Gmail `watch()` API | Pub/Sub + webhook for near-real-time Apps Script triggering |
|
||||||
|
| AI processing layer | Route starred/queued messages through Claude for triage |
|
||||||
|
| Morning brief integration | Pull high-signal classified mail into daily brief |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ! Rule Needed Process
|
||||||
|
|
||||||
|
**What it is:** A Gmail label applied manually when an email arrives that should have
|
||||||
|
an automated rule but doesn't.
|
||||||
|
|
||||||
|
**Review cadence:** Ad hoc — run when label accumulates enough candidates.
|
||||||
|
|
||||||
|
**Session flow:**
|
||||||
|
1. Pull all messages in `! Rule Needed`
|
||||||
|
2. Review senders, subjects, patterns
|
||||||
|
3. Determine: gmail_filter_safe or apps_script_needed?
|
||||||
|
4. Draft rules, add to Tracker, deploy
|
||||||
|
5. Remove `! Rule Needed` label from processed threads
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Key Decisions on Record
|
||||||
|
|
||||||
|
- **apps_script_needed** = attachment filename inspection only. Multi-domain OR queries
|
||||||
|
are gmail_filter_safe — Gmail's query field handles these natively.
|
||||||
|
- **Studio timing constraint:** Stars applied by Apps Script don't trigger Studio flows.
|
||||||
|
Star must come from a Gmail filter at receipt time. Apps Script stars are schedule-driven,
|
||||||
|
not receipt-driven.
|
||||||
|
- **Single-label-per-filter:** Required to avoid Gmail API rate limits on parallel creation.
|
||||||
|
- **Participant-domain pattern:** `from:(domain.com) OR to:(domain.com) OR cc:(domain.com)`
|
||||||
|
— use for business relationships. From-only for inbound-only services (card issuers, SaaS).
|
||||||
|
- **End-customer domains:** Do not auto-rule domains that appear adjacent to a client without
|
||||||
|
confirming the relationship is consistent. Flag with `! Rule Needed` first.
|
||||||
Reference in New Issue
Block a user