DR-005 — Routine panel work to Google Apps Script; Claude for project roles¶
Converted from
docs/decisions/DR-005-panel-on-google-and-claude-roles.mdto MADR (backlog B25). The text is unchanged; its sections are grouped under the MADR headings below, in their original order within each group.
Context¶
Why¶
Atul wants Claude in project roles (developer, tester, reviewer, architect), not spending its time on clerical relay work. Today much of the MMDEP Actions panel work is mechanical, yet it is done by Claude in chat.
Where the panel lives¶
The artifact database has no public API, so a Bluehost page cannot read or write it. The store has to move.
- Store: one Google Sheet (
MMDEP Actions), tabsitems,answers,log. - Page: an Apps Script web app over that sheet: same layout and colours as today, with a Submit answers button at the end.
- Access: option A (recommended) — the web app is limited to Atul's Google account, so Google login protects it and nothing is public. Option B — a page on Bluehost that calls the web app; it then needs its own password and is internet-facing.
- Submit: marks the batch
submitted. The laptop collector checks a small "pending" flag every 15 minutes (cheap: one HTTP call) and on its next run writes answers.md and closes the items; it does not wait for the hourly run. - Claude writes new items into the sheet (Google Drive connector, or a JSON file in MMDEP that the script imports — to be tested).
- The artifact becomes read-only and is retired once the sheet works for a week.
Options¶
Not stated separately in the original record.
Decision¶
What moves to a script, what stays with Claude¶
| Work today | Who does it after | How |
|---|---|---|
Turning question-atul issues into panel items |
Script | Collector already reads them; Apps Script adds a row per new issue (title, options, recommendation, link) |
| Turning collector alerts into panel items (pipeline failed, NAV gap over 7 days, SEO noindex, certificate due in 21 days) | Script | Fixed rules on the collector's summary.json |
Writing Atul's choices back to docs/relay/answers.md |
Script | On Submit: one row per answered item, committed to MMDEP with a fine-grained token (MMDEP repo, contents write only) |
Closing answered items, "new reply" badges, docs/status/inbox.md |
Script | Status column in the sheet |
| Reminders (Copilot by 15 Oct, Lightsail snapshot monthly, domain renewals, partywarez.com 22 Nov) | Script | Time triggers; email or phone notification to Atul |
| Daily digest of open items | Script | One email at 08:00 IST |
| Free-text answers ("Change (write below)"), decisions with trade-offs, proposals like GOV-1, prompts for agents, plan and MR reviews | Claude | Script flags these rows needs-claude; Claude handles them in a batch |
Rule of thumb: if the answer is a pick from fixed choices and the destination is known, the script routes it. If it needs judgment or writing, Claude.
Consequences¶
Security¶
- The GitHub token lives only in Apps Script Script Properties, created and pasted by Atul; fine-grained, MMDEP repo, contents write.
- No client data in the sheet (same rule as the repo).
- The script never writes to GitLab; agents still act only on answers.md.
Cost and effort¶
Free (Google Workspace / Gmail quotas cover it). One build session by Claude (script, page, collector change, tests), then Atul does three manual steps: create the sheet from a template, deploy the web app, paste the token.
Claude roles this frees time for¶
- Portfolio Engine developer/tester (Claude scheduled task, twice daily), per the PE project instructions.
- Second-opinion reviewer on agent MRs before Atul merges (CLAUDE.md: low-risk merges to integration once a reviewer works).
- Release manager for the first production releases: check the evidence, write the release note, prepare Atul's approval.