Skip to content

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.md to 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), tabs items, 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

  1. Portfolio Engine developer/tester (Claude scheduled task, twice daily), per the PE project instructions.
  2. Second-opinion reviewer on agent MRs before Atul merges (CLAUDE.md: low-risk merges to integration once a reviewer works).
  3. Release manager for the first production releases: check the evidence, write the release note, prepare Atul's approval.