08-tooling

phdata work agent setup plan

2026-05-30·tooling·status: plan-pending-gate
phdatawork-agentsession-basedemail-draftingobsidiansetupgovernanceair-gapped

phData work-agent — setup plan (v1, pending the work-machine install gate)

Founder asked 2026-05-30 (08:48 ET) to stand up a personal AI agent for his phData work. He clarified the shape at 23:51 ET. This plan reflects his ACTUAL answers (corrected from a v0 that mis-stated them — see provenance note).

Founder's actual requirements (his words, 23:51 ET)

What this changes vs a Ray clone (simpler, not harder)

MVP: email-draft-triage

Gmail integration drafts replies into his drafts folder; he reviews + sends. Human-gated send — nothing leaves without him (same rule Ray runs, [[feedback_no_autonomous_external_email]]). Gmail MCP create_draft supports exactly this. This is the clean first deliverable; everything else (Obsidian KB, Docs, calendar) layers on after.

Install gate — CLEARED (founder confirmed 2026-05-31 00:00 ET), with a constraint map

Claude Code is already installed on the work machine. Main gate cleared. But the box is locked-down; founder enumerated the actual constraints (his words):

Capability Status on work machine Workaround
Claude Code install ✅ installed
Auto mode ❌ not available Minor for a sit-at-it session agent — approve as you go; scoped allowlist in settings.json kills prompts for safe read ops
Atlassian/Jira, Zoom, Slack connectors ❌ blocked Slack was never needed (session-based = work in terminal directly); Jira/Zoom out of MVP scope
Gdrive connector ❌ blocked ✅ SOLVED — founder uses Drive-for-Desktop; Claude reads it as normal filesystem. Filesystem is the universal escape hatch for blocked connectors.
Gmail/email ⚠️ OPEN — he doesn't see the connector he used personally in Claude Desktop Two fallbacks (see below) — the one real open question
Version control Bitbucket, not GitHub Use Bitbucket (git is git; just a different remote)
Secrets LastPass, not 1Password; LastPass CLI doesn't support federated login (phData uses federated SSO) For a session agent: macOS Keychain or per-session interactive auth — don't need the LastPass CLI at all
Obsidian + QMD ✅ can install KB layer solid

The load-bearing pattern: connector-based integrations are blocked, but filesystem access survives everything (proven by the gdrive-for-desktop move). Build on files, not connectors, wherever possible.

The one real open question: EMAIL (the MVP)

Founder doesn't see the Gmail connector in Claude Desktop. Try in order:

  1. claude mcp add Gmail in Claude CODE (not Desktop — they configure connectors differently; Desktop missing it ≠ Code can't).
  2. Fallback: a local Gmail-API draft script. Federated SSO still issues normal Google OAuth tokens — the federation problem is the LastPass CLI, NOT Google auth — so a small local script can create_draft into the drafts folder, routing around the connector. Ray offered to write this script ahead of time (00:01 ET) so it's ready regardless of connector outcome. Human-gated send always ([[feedback_no_autonomous_external_email]]).

Founder action list

  1. Try claude mcp add for Gmail in Claude Code (the email MVP hinges on this).
  2. Obsidian vault — install + create when ready (he confirmed he can).
  3. Anthropic auth: separate Claude login for the work agent vs sharing — his call.

Decision: air-gapped / separate — CONFIRMED by founder

Founder confirmed air-gap 23:51. Rationale (still the load-bearing reason): phData is a data consultancy; client confidentiality is the business. The phData agent's context (client email, Docs) never touches Ray's vault/memory/public surfaces. The phData agent also runs a tighter leash — read + draft only, no autonomous send, no public posting, no RDCO actions.

Ray build outline (once the install gate clears) — NOT yet executed

Provenance note (my error, corrected)

A v0 of this plan + a 23:49 iMessage claimed the founder had "replied" with Mac-Mini/Slack/Obsidian and asked "separate-vs-aware." He had NOT replied at that point (his real answer came at 23:51). "Mac Mini / Slack" were my inventions; the truth is work-computer + channel-TBD. Logged in [[feedback_calibrate_overconfidence]] (incident #7). This v1 reflects only his actual stated requirements.

Status

Install gate CLEARED 2026-05-31 00:00 ET; constraint map captured above. Replied 00:01 ET mapping each constraint + offering to pre-build the Gmail-API draft script as the connector-independent fallback. Owed: (a) the Gmail-draft fallback script — Ray can build ahead, awaiting founder go; (b) the session-agent build once he picks connector-vs-script for email + installs Obsidian/QMD. MVP = email-draft-triage. Everything else (KB, Docs-via-filesystem, calendar) layers after. Thread founder-last (his 00:00 msg) → not parked.

Related