Skip to content

Review of Atul's items, 22 Oct

1. Three facts that shape every verdict

  1. Our machines can't run the models these suggestions name.
  2. llama3.3:70b needs about 40 GB of memory, and qwen2.5-coder:32b about 20 GB. Our inventory machines have 8–16 GB, which fits models of 1.5–7B (ADR-0018 §1).
  3. Every "local Llama 70B" step therefore becomes one of two things:
    • Gemini on the paid tier, for internal and public data;
    • a small local model, for classification and extraction from client data.
  4. This holds until a GPU machine arrives (DQ-MMDEP1).
  5. The frontend stack isn't settled in our own records.
  6. The estate model says www.moneymarche.com is WordPress. The collector agrees: Yoast-style robots tags and a page sitemap.
  7. The 13 Oct handover calls webapp-sakai "the Next.js app" and says it serves moneymarche.com.
  8. Several suggestions assume a headless React/Next.js site fed by Strapi. Atul has also seen Strapi "somewhere".
  9. Until GAP-0 (§4) confirms which repository serves which host, and whether Strapi runs anywhere, we don't add a second CMS.
  10. Client data stays in client-class systems (DR-009, DPDP Act 2023).
  11. SMS goes only through DLT-registered templates.
  12. WhatsApp outside the 24-hour window goes only through approved templates.
  13. So "AI-personalised" reminders are limited to template variables.
  14. Insurance premiums are paid to the insurer: our reminder links to the insurer's payment page, not our own gateway.

2. Verdicts and allocation

Verdicts: - Adopt: do it. - Adapt: do it our way. - Later: a named sprint. - No: not in this programme, with the reason.

# Item Verdict Owner project Sprint What exactly
1 Site URL inventory → page types → tests per type Adopt MWMC S2 Classify the 107 sitemap URLs plus the route crawler's set into page types, then write one test set per type plus per critical page. Uses the collector's daily route list
2 Page performance tests with reasons and fix issues Adopt MWMC S2 Lighthouse CI (free, npm) on the laptop runner. Budget per page type. Every miss opens an issue with the Lighthouse reason (LCP element, render-blocking script)
3 Section-level inventory (WPDev) → section tests (MWMC) Adopt (high value) WPDev → MWMC S2–S3 WPDev's section inventory becomes a register in the repo. Reusable sections (shortcodes, Elementor templates, editorial blocks) get a "used on pages" list. MWMC tests each section once, plus a smoke test on every page that uses it
4 Automatic content writing (Strapi + n8n + agents) Adapt MM-Cron (data), WPDev (template), MMDEP (content harness) S3–S4 Start with monthly NFO pages. Facts come from MM-Cron/API NFO data and the SID text (retrieval, no invented numbers). Gemini paid tier writes the draft. A rules check covers riskometer, disclaimers and SEBI advertising wording. The result is a WordPress draft that a person approves before publishing. No Strapi until GAP-0 shows we need it
5 SEO audit PDF → fixes, framework and tests Adopt MWMC S2 Atul puts the PDF in C:\Projects\_mmdep-inbox\ (a job relays it). MWMC turns each finding into an issue plus a regression check in the crawler
6 Image generation (ComfyUI with SDXL/Flux) Later WPDev after a GPU machine Needs a GPU with 8 GB or more of video memory. Until then: templated images (fund name, category, riskometer) generated by script, which is consistent and compliant
7 Social media post audit (PostHog, n8n scrapers) Adapt, later MCRM + WPDev S5 UTM tags on every post, measured in analytics (GA4/Umami). No PostHog: self-hosted it needs about 16 GB of memory (ClickHouse)
8 A/B testing (GrowthBook) Later MWMC S6 As in roadmap v4 S6. GrowthBook is fine (open source, self-hosted). Needs traffic and analytics first
9 SEO data pipeline (Ahrefs API or script crawlers) Adapt MWMC S2 Search Console API (free) plus our crawler. No Ahrefs (paid)
10 Mermaid sales and marketing flows (two items) Adopt text flows; No to automatic rewriting MCRM S2 Funnel, renewal and lead flows as Mermaid in the MCRM repo (the docs site renders them). An AI may propose a changed flow from measured drop-off. A person approves before anything live changes
11 Call recordings → transcripts and insights (Whisper) Later MCRM S5 Needs consent to record (DQ-ULIP2/3). faster-whisper on CPU handles small volumes. Recordings and transcripts stay on the local machine (client data)
12 n8n for orchestrating the code harness No for code; Later for business flows MMDEP (decision N8N-1) S3 (business only) The code harness is Python with 750+ tests, reviewed in git. n8n workflows live in its own database and are hard to review or test. For business automations (renewal cadence, lead routing) n8n on the server is sensible, with workflows exported to git. Licence: Sustainable Use, free for internal use
13 Sales channel partner (POSP/sub-broker) recruitment Later (design only) MCRM S6+ IRDAI POSP rules (training and exam through the insurer or broker) and AMFI ARN/EUIN checks. PAN/KYC documents are client-class: no OCR outside the client system
14 Insurance renewal cadence (60-30-14-7-1) Adopt, adjusted MCRM S2 design, S3 build Matches roadmap v4. Cadence T-45, T-30, T-15, T-7, due date, then grace-period touches. Insurer payment links. Template messages. Human callers for no-response cases. Measured as renewal points × ₹10,000
15 SuiteCRM + Zoho Free for partners Later (decision) MCRM S5 SuiteCRM stays the master. Zoho Free (3 users) puts partner and client data in Zoho's cloud: needs a DPDP processor contract and India data residency. Decide when partners exist
16 Static IP Adopt if cheap Atul (action) any Useful to allow-list SSH and admin access to AWS and Lightsail from the office only. Don't host services from the office line: anything public goes on the AWS server
17 Website chatbot (Typebot/Chatwoot) Later WPDev S6+ Investment-advice risk. Start as an FAQ assistant answering only from our published pages, with lead capture. No personal advice
18 AEO/GEO (answer-first, FAQ JSON-LD, llms.txt) Adopt the cheap parts WPDev S2–S3 llms.txt, FAQ/FinancialProduct schema and comparison tables on fund pages. No to Aider rewriting all content in CI: content changes need compliance review
19 Catalogue and sales lifecycle (unified schema) Adapt MCRM (+API) S3 One catalogue schema with per-product-type extensions, served by the API catalogue endpoints, not Strapi. Product-specific sales stages in SuiteCRM. MCRM's per-product JSONs become extensions of the common core
20 Cross-page calculator state and dynamic form placement Adopt the principle MWMC (webapp) S3 Keep calculator inputs in the session (sessionStorage), and carry them into the lead form only with consent. Calculator placement configured per page. Library choice depends on GAP-0 (React vs other)
21 Improve navigation and revenue hotspots Adopt MWMC + WPDev S2 (dead-end and CTA check), S4 (funnels) Crawler check: every page has an onward link and a CTA. Funnel Home → Fund → Calculator → Lead in analytics. Pages ranked by lead value (roadmap value model)
22 Dynamic landing pages Adapt WPDev + MWMC S3 Programmatic fund and NFO pages from API data are already in the roadmap (S3). Campaign pages come from one template
23 MMCLONE-style sliced repositories for contractors Adopt for the developer MMDEP S4 When the entry-level developer joins (trust T1). A sliced sandbox repo with mock data. The harness re-integrates and gates. We already have MMCLONE and the sandbox repo
24 RAG Adapt, staged MMDEP S3–S4 Now: file retrieval (MkDocs search, ripgrep, Aider's repository map). S3: retrieval over knowledge extracts for content and Q&A. A vector store (pgvector) only with the database decision (S3)
25 Design + preflight playbook (/ai-docs, Claude architect, ChatGPT executor, state-machine prompt) Adapt MMDEP + all projects S2 week 1 §3 below. Equivalents exist: rules file, CURRENT.md, routing blocks in issues instead of a tasks-matrix.json. Adopt the context pack idea for every project. "UNTIL_GREEN" loops belong in the local harness, not in ChatGPT, which can't wait on CI unattended
26 Local clipboard/file watcher No — — Already covered: the jobs runner, the laptop runner, CI gates, and the harness comment on failures
27 MMDEP Assistant as a coding backup Adopt partly MMDEP S2 It takes low-risk GitHub issues (docs, tests, small fixes) with the same routing block and CI gate, in attended sessions. It can't run unattended or write to the Actions panel. It writes FOR-ATUL.md and I bridge it (AGT-1)
28 Actions panel: no trail of follow-ups Done (22 Oct) MMDEP — Each item now shows the whole conversation, oldest first, and your follow-ups no longer overwrite the earlier note

3. Fast path: the design harness and the local code harness (Atul's key focus)

3.1 What exists and why it isn't producing yet

  • The local code harness runs, but is starved:
  • 0 issues are "ready". The seven in the queue sit in "review", including five Sonnet has already finished.
  • It runs on the laptop only, with Gemini models.
  • The GitLab source (B8) is built but not live.
  • The design harness exists only as a workflow on paper (ADR-0016):
  • templates (MADR, C4);
  • the docs site;
  • routing blocks.

Missing pieces: - a design check gate in CI; - a per-project context pack; - a step that turns an approved design into ready issues.

3.2 Two weeks to a working loop

Day Design harness Local code harness Owner
1–2 Context pack in each repo: AGENTS.md under 200 lines, docs/knowledge/CURRENT.md, docs/sprint/ACTIVE.md. Each ChatGPT project session starts by reading these three files Clear the queue: close finished issues, then seed 10 ready, low-risk issues (tests, docs, lint, small fixes) across MMDEP, PE and MCRM Sonnet (MMDEP), each project agent (its pack)
3–4 mmdep design check in CI (B35): required ADR/LLD sections, C4 model validates, every new component in the C4 model, a test plan present, a risk field set. Fails the PR if not Turn on the GitLab source live for API lane S (risk low). The harness picks API issues too Sonnet
5 Design → issues: an approved LLD with a "work items" table becomes issues with routing blocks (B36). Fewer manual issue-writing turns for ChatGPT projects LiteLLM + 1 inventory machine (POOL-1), once SPECS-1 arrives Sonnet + Atul (specs)
6–10 First full loop per project: design (ChatGPT/Claude) → check → issues → harness → auto-merge (low) or integration branch (medium) Aider engine on, if the B19 spike passes. Escalation chain (B33) Sonnet; project agents

Measure (in the sprint page, B3): - harness-merged PRs per week; - first-pass CI success rate; - cost per merged PR; - designs passing the check the first time; - Atul-minutes per sprint.

3.3 When to commit to AWS

Bring the server (SRV-1) forward to S2 if, after 10 days, the harness merges at least 10 low-risk PRs a week with at least 70% passing CI first time. Then the laptop becomes the bottleneck (it sleeps, and one machine runs everything), and the server pays for itself. Below that, fix the queue and the issue quality first.

3.4 Making the ChatGPT projects more productive

  1. One read to start. The context pack replaces long PROCEED prompts.
  2. Epic-level PROCEED: one prompt per sprint with an ordered issue list. The project works down the list and writes results to the repository (rule §21).
  3. Hand mechanical work to the harness: tests, lint fixes, docs, data checks. ChatGPT projects do design, review and judgement.
  4. Questions in one place: each project writes FOR-ATUL.md (business questions only) and labels issues question-atul. Claude copies both into the panel's new Messages from agents section (AGT-1).

4. Documentation and design gaps found so far

Project Has Gap
GAP-0 (all) — Which repository serves which host (www, app, staging, mmclone). Is Strapi running anywhere? Is Mautic in use? Is MongoDB in use? Owners: WPDev (website), MWMC (webapp), API agent (Strapi/Mongo/Mautic)
MMDEP 18 ADRs, estate C4 (draft 1), registers, runbooks, docs site C4 marks webapp, Mautic and Mongo as unverified (GAP-0)
Portfolio Engine Rich docs (108 files), architecture docs, AGENTS.md/CLAUDE.md No ADR catalogue (1 decision file). Not in the estate C4 containers. No context pack file names
MCRM Strong design set (32 design, 19 architecture, 19 current-state docs) No AGENTS.md rules file. 9 decision docs but no ADR index. 55 open PRs make the docs trail diverge
API / MM-Cron / website / webapp / sandbox (GitLab) Partial (handovers, data-source register) Not scanned this round. B35's scanner will report per repository: AGENTS.md, ADR folder, C4, CURRENT.md, sprint file, open PRs over the WIP limit

The chat archive hasn't been processed yet. The extractor (B12) is merged, but it runs on the laptop by design, because raw chats never leave it. It needs one run (KNOW-1), then a standing job after each export (B37). Its output, per project (decisions, requirements, legacy, sources, open questions, lost artefacts), will complete this table.

5. Docs as a website (DOCS-1)

The MkDocs site builds cleanly: 132 pages, 9 MB, including the ADRs and C4 views. Options:

  1. On the laptop today: python -m pip install mkdocs-material, then python -m mkdocs serve in the repo, and open http://127.0.0.1:8000. Laptop only.
  2. Private claude.ai page: Claude publishes a reviewed subset (ADRs, architecture, plans, registers). Works on the phone. It's refreshed only when Claude republishes it.
  3. Recommended: Cloudflare Pages + Cloudflare Access (free for up to 50 users).
  4. GitHub Actions deploys on every merge to main.
  5. Only your email (or Ajay's) can open the site.
  6. Atul creates the Cloudflare account and an API token, pasted into the setup script's hidden prompt. Sonnet adds the workflow (B38).
  7. GitHub Pages isn't suitable: a Pages site built from a private repository is public unless the organisation is on GitHub Enterprise.

6. New backlog items (Sonnet, all low risk)

  • B35: mmdep design check (CI gate) and mmdep docs gaps (per-repository gap report).
  • B36: design → issues. An approved LLD's work-items table becomes issues with routing blocks.
  • B37: a standing knowledge-extraction job after each chat export (trigger on the archive folder), plus a gap report per project.
  • B38: docs site deploy to Cloudflare Pages (after DOCS-1 and Atul's token).
  • B39: an agent message digest. The collector gathers FOR-ATUL.md and question-atul issues across all repositories into one for-atul.json on the control branch, which Claude (or a scheduled check-in) copies into the panel.