Skip to content

MMDEP Design session: 2026-10-25 (first session)

Reply to Atul

  • Took control of the API/MM-Cron designs. GitLab snapshot requested: MMDEP #173 (head 324d44b, green CI).
  • Overall designs, draft 1: docs/design/api-mmcron/{mm-cron,api,stgapi}/overall.md plus the index README. Code-level facts are marked UNVERIFIED until the snapshot lands.
  • C4 model: component views for API and MM-Cron; validated with the Structurizr CLI (exit 0).
  • Decisions TD-046 to TD-053 registered (pipeline, raw archive, identity, OpenAPI contract, honest data, stgapi isolation and data, recursive design gate).
  • One question for you: for-atul/design/2026-10-25-amc-download-terms.md (A/B/C; I recommend B).
  • Lane S S2 now starts with a read-only isolation proof (closes OR X1) before any staging write.
  • Next session: read the snapshot, correct the drafts, then the three phase-1 designs.

Actions and evidence

  1. Read the project knowledge files (11), CLAUDE.md, design-sources.yaml, jobs.yaml, the C4 model, both API lane queues, relay rows for API/MM-Cron, the stgapi runbook, the previous agent's handover, the PE/MCRM capability note, the MM-Cron augmentation design, rules §20–§22 and mmdep/design_check.py.
  2. No open agent:claude issues to review.
  3. Opened MMDEP #173 (run-job, job gitlab-snapshot, head 324d44b5d874e2b2796f2ae523cac25cdc06c6d1; CI test/docs/reports green).
  4. Wrote the index and three overall designs; edited architecture/workspace.dsl (components, two component views, Mongo marked retiring); appended TD-046 to TD-053; added the isolation proof to Lane S step S2; wrote the for-atul question.
  5. Checks: python -m mmdep.design_check → ok; Structurizr CLI validate → exit 0; Mermaid export produced api-components and mmcron-components.

Findings for MMDEP-PM

  • Design gate gap (TD-053): mmdep design check only reads docs/design/LLD-*.md, not subfolders, so sprint LLDs under docs/design/api-mmcron/ would pass unchecked. Change the glob to rglob("LLD-*.md") excluding LLD-TEMPLATE.md, plus a test: a harness-sized item (cx 1, low risk, scope mmdep/design_check.py, tests/test_design_check.py).
  • Two conflicts kept visible in the designs: stgapi isolation vs Ajay's "mm_data is shared" (OR X1; TD-051 rule: no staging write until proven); holdings linked by scheme name vs "never map by name" (OR X2; TD-048 family key).

Commands that wrote something

  • gh api repos/moneymarche-dev/MMDEP/issues (POST) → #173
  • git branch, commit and PR for this session's files (see the PR)

Session 2: 25 Oct, 16:41 UTC ("proceed")

Reply to Atul

  • Snapshot: #185 ran ok, but its files never reached the repository; asked MMDEP-PM in #191. Designs continue meanwhile.
  • Overall designs → draft 2, corrected from the original agent's chats (knowledge PR #150):
  • the holdings route reads the wrong (legacy) tables;
  • update_products_nav.py is a hidden writer;
  • the /save-nav key is hard-coded;
  • consumer UAT gates;
  • a third, conflicting account of stgapi's databases.
  • Phase-1 designs for MM-Cron, API and stgapi: goals, milestones per sprint, interfaces that change, risks, definition of done.
  • MM-Cron sprint 2: the adapter framework LLD (schema v1, pipeline, registry, 13 work items) for Sonnet T0c.
  • Decisions TD-054 to TD-060. Queues updated: Sonnet T0c, Lane S S6, Lane P new P5 (ingest routes LLD).
  • For you: approve the adapter LLD (for-atul/design/2026-10-25-approve-adapter-framework-lld.md); the AMC download-terms question is still open.

Actions and evidence

  1. Read #173/#185 results (comments), searched branches and open PRs for the snapshot folder: not found. Read the knowledge PR #150 files (requirements, decisions, legacy, open questions, lost artefacts), the design project instructions, roadmap v4, the setup doc, the allocation rules, the LLD template, the Sonnet queue and the collector's latest.md.
  2. Edited the three overall designs (draft 2), wrote three phase-1 designs, mm-cron/sprint-2.md and mm-cron/LLD-adapter-framework.md; updated the index, the three queues and the decisions register; wrote the approval request.
  3. Checks: check_lld on the new LLD → ok (subfolder, so CI doesn't see it until TD-053 lands); mmdep design issues dry run → correctly refuses until status: approved; python -m mmdep.design_check → ok.

Commands that wrote something

  • gh api repos/moneymarche-dev/MMDEP/issues (POST) → #191 (ask-mmdep)
  • git branch design/2026-10-25-phase-1, commit, PR (below)