Skip to content

M5.1: Manager delivery — Google Doc and team JSON export #15

Description

@yashoza19

Summary

Extend report delivery beyond Slack markdown: when the weekly management report is ready, deliver it to managers as a Google Doc plus a structured JSON export containing every teammate's confirmed entries for that week.

Design reference: docs/DESIGN.md §5.4 (Synthesizer), §10 (Configuration), team scale notes (Postgres person roster, no per-user env vars)

Why M5.1 (separate from M5)

M5 (#8) covers synthesizer skill invocation, audit chain (report_run / report_entry), and posting markdown to REPORT_CHANNEL_ID.

M5.1 adds manager-facing artifacts needed for ~20-person team operations:

  • Editable Google Doc (current manual workflow parity)
  • Machine-readable JSON for dashboards, archival, or downstream tooling

Deliverables

1. JSON export

  • CLI: status report --week YYYY-MM-DD --format json -o report-2026-08-14.json
  • Payload includes:
    • week_ending
    • entries[] — all confirmed status_entry rows (person, epic, state, outcome, evidence, blocker, ask)
    • participation[] — per-person status (confirmed, expired, sent, send_failed, on_leave)
    • flags[] — unacknowledged flags for the week
    • report_run metadata when persisted (run id, prompt_version, generated_at)
  • Stable schema documented in docs/DESIGN.md §7

2. Google Docs delivery

  • Google Cloud project + Docs API credentials (service account or OAuth — document chosen approach)
  • Create or update a Doc from synthesizer markdown (template doc optional)
  • Share with manager recipients (Google group or explicit emails)
  • Config env vars (names TBD): GOOGLE_*, REPORT_DOC_FOLDER_ID, MANAGER_EMAILS or roster-driven via person table

3. Manager notification

  • Slack DM or email to managers with:
    • Link to Google Doc
    • Path/attachment reference to JSON export (or upload to shared drive)
  • Triggered by status report --deliver-managers or as part of M6 lock-and-report

4. Person roster (no per-teammate env vars)

  • Managers and teammates tracked in Postgres person table (slack_user_id, jira_account_id, github_login, optional manager_id)
  • Batch seed script for ~20 teammates (CSV/SQL) — not env var explosion

Acceptance criteria

  • JSON export matches confirmed ledger for a pilot week; validated against Postgres
  • Google Doc created/updated with synthesized report content
  • Managers receive Doc link + JSON after status report --deliver-managers
  • Works for multiple confirmed people in one week (not single-pilot only)
  • Secrets documented in deploy/secrets.example.yaml (no credentials committed)

Depends on

Out of scope

Branch / PR

  • Branch: feat/m5.1-manager-delivery
  • Base: main (after M5)
  • PR title: feat(report): Google Doc and JSON delivery for managers (M5.1)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions