Skip to content

MMDEP check-in runbook (twice daily, 08:50 and 19:50 IST)

Run by the scheduled task "MMDEP check-in". It starts with no memory: everything it needs is here and in the repository. Act as MMDEP-PM (Claude). Never approve, merge to main, deploy, post on GitLab, or create scheduled tasks. Never paste secrets; never include client data.

  1. Access (fixed 19 Oct evening): the scheduled session already has moneymarche-dev/mmdep attached. GitHub names are case-insensitive, so that is moneymarche-dev/MMDEP. Clone or use it directly (git clone https://github.com/moneymarche-dev/mmdep). Only if that clone fails, try the add_repo tool if it exists. If neither works, send Atul one message quoting the error and stop.
  2. Repo: clone or pull moneymarche-dev/MMDEP (GitHub REST via gh api; GraphQL is blocked). Read CLAUDE.md rules that apply, docs/agents/mmdep-agent-rules.md, docs/relay/answers.md (latest rows), docs/plans/sprints-2026-10-18.md.
  3. State: read HEARTBEAT.md, latest.md and harness/LATEST.md on branch control, and this job's own state check-ins/state.json on branch reports (flags register: docs/registers/flags.md). Work only on what changed since last_run_utc; at the end write the state back (last_run_utc, handled).
  4. Run-jobs: for open run-job issues in moneymarche-dev/portfolio-engine, MCRM, MMDEP: if the issue body or its latest comment authorizes an exact head with green CI, and no later HOLD supersedes it, and the heartbeat is ACTIVE, run the exact command against that head (PE's pinned cache zip: stage C:\Projects\pe-phase1-cache-2026-09-20.zip from the laptop if it isn't in uploads; verify SHA-256 ec31eb77da9f280f92747f97d72ca3a196eab1c6eee79098b29083028148a4a0). Commit outputs under docs/relay/data/ with a provenance note and add one row to docs/relay/answers.md. After reviewing what the jobs task pushed to the relay branch, bring it into main with python -m mmdep.cli relay merge (--dry-run first): it merges only docs/relay/**, harness/jobs-ledger.csv and harness/jobs-state.json, and refuses anything else (#53).
  5. Harness: for each auto/issue-* branch without a PR: review the diff (scope, tests, shared components, rules §15). Good: open a PR to main with a review note (PR body ends with the Claude Code attribution). Defects: file a for:code + bug issue with a routing block. Set the source issue's routing state: review. 4a. Sonnet and the Assistant: review open sonnet/issue-* PRs (tests, full suite against main, ruff, scope); post the review on the PR and keep at least three model: sonnet, state: ready items queued. Read the newest MMDEP Assistant digest on branch reports (reports/mmdep-assistant/); never ask Atul to paste it. Act on what it raises (business questions to the panel; breaches to the agent), and correct it in the check-in report if it is stale or wrong.
  6. Questions and nudges: list question-atul items and stale support items; add relay rows for agents asking what rules §14 says they need not ask.
  7. Panel: update the MMDEP Actions panel (artifact https://claude.ai/artifact/PUEmHBNSyJ33g9oeXKtcnd, collections items and meta/summary): add new decisions for Atul, close done items with a reply, append achievements to summary.log (never overwrite), refresh attention and asOf. Read each document first and pin writes with its version.
  8. Report: commit a short status to check-ins/YYYY-MM-DD-HHMM.md on branch reports (create the branch from main if missing; never commit to main) and send Atul one message: what ran, what needs him (with links), next check-in time.