← docs

Mimir · the Modules intelligence engine · internal review

Mimir — one engine that turns raw evidence into a verified, costed, auditable decision.

Domain-agnostic by design. Industry knowledge is injected as a pack, never built in — so a new product is a configuration, not a platform.

Platform — built once Pack — per domain Cross-cutting — always on

To: Engineers & Architects — review meeting tomorrow.

The problem shape

Many adjacent problems are the same pipeline.

Collect evidence → understand it → check it against truth → cost it → decide (auto or human).

Collect Understand Check Cost Decide

Motor claim

Photos + RC + estimate → damage, verify plate, cost repair, approve or investigate.

KYC onboarding

ID docs → read fields, match registries, flag forgery, pass or review.

Lending collateral

Asset photos → grade condition, check loan-on-asset, value it, lend or decline.

Build each one bespoke, and you rebuild the shape every time. That is the waste.

The thesis

Build the shape once. Inject the domain as a pack.

Nothing here is built yet. This is the design we want to greenlight — pressure-tested on paper against 13 products. Everything on screen is the intended architecture, not a shipped system.

Pack (product layer) — per category · assembled by PMs · no engine change

six core bindings schemasmodel bindingssource connectors reference datarules + weightspolicy / thresholds + entitlementsbrandingsurface

Platform (engine) — built once · domain-agnostic (design intent)

Edge / DeliveryCase Intelligence EngineOrchestration Cross-cutting

Same engine · drop a pack · a product appears

ENGINE built once Motor pack → Motor product

The marginal cost of the next product is a pack, not a platform.

Component architecture

Evidence flows down through five planes.

platform plane cross-cutting ⎯ ⎯ dashed = forced by the design exercise (slide 8)

Edge / Delivery

Capture-LinkAPI GatewayWebhookDashboard BFFFile IngestCapture-Quality

Case — system of record

Case SvcEvidence StoreSignal ModelEntity / Link Graph

Intelligence engine — capability services

ExtractVisionVerifyDetectEstimateDecide

Orchestration + shared engine

Workflow (DAG)Agent RuntimeModel GatewayReference DataPack Registry

Cross-cutting — wraps every plane

IdentityEntitlementsAuditMeteringReview + FeedbackEval RegistryCompliance

The capability services

Seven capabilities. Each usable alone — and composed.

A stable domain-neutral contract. The pack supplies the schema, model, rules and reference data it runs with.

A signal = a typed fact a stage writes to the case ("plate matched", "bumper dented"); every later stage reads the whole set. Each capability ships as a sellable API product — priced per session, document, lookup or decision.
ServiceDoesIn → outSold as
CaptureCollect evidence, no install; gate qualityrequest → validated artifacts + consentper session
ExtractDocuments → structured fieldsdocs → typed field signals + confidenceper document
VisionImages/video → features; or diff two sessionsmedia → feature signalsper inspection
VerifyProve authenticity vs sources of truthentities → match / mismatch signalsper lookup
DetectRisk score over the whole signal set, with reasonsany signals → checks + scoreper case
EstimateFeatures → itemised cost / repair-vs-replacefeatures + ref data → line itemsper estimate
DecideThresholds: auto-clear vs route to humansignals + thresholds → decisionper decision

Every service outputs the same three things: structured JSON + branded PDF + an immutable audit entry. The report is the union of whatever stages ran.

One case, end to end · pack = Motor

Priya dents her car and files a claim.

The middle (component) never changes between products. Only the pack does.

1
CollectLink to her phone, guided shots, blurry ones rejected on the spot.Capture-Link + Capture-Qualitypack: angles, consent, languagequality: sync
2
Open the caseConsent stored, data pinned to India, everything logged from here.Case Servicepack: residency, retentionasync from here
3
UnderstandDocs become fields; photos become findings (bumper · dented · moderate).Extract + Visionpack: schemas, feature set
4
Check it's realPlate & chassis matched to Vahan; owner to the RC / PAN.Verifypack: which registries
5
Cost itDented bumper → parts + labour → itemised repair estimate.Estimate + Reference Datapack: parts catalog, rates
6
Score the riskEstimate lists a new bumper (document) + photo shows no bumper damage (image) → fused flag. Risk = 78, high.Detectpack: risk rules, weightsfused check = the moat
7
DecideClean claims auto-clear; this routes to an investigator, reasons attached. Never above the legal cap.Decidepack: thresholds, legal caphuman owns the call
8
Deliver & learnJSON + PDF + webhook out. The verdict is recorded — and trains the engine.Webhook/Reports + Feedbackpack: report template, branding

The leverage

Same engine — swap the pack, get a different product.

Steps 1–8 and the whole component column stay identical. Point it at a new domain by changing only the pack.

engine — unchanged
Capture→ Extract/Vision→ Verify→ Estimate→ Detect→ Decide

pack = Motor

Inspection + fraud

damage featuresVahan/RC sourcesparts catalogIRDAI rules

pack = Lending

Collateral valuation

condition gradebureau sourcesvaluation tablesduplicate-financing rules

pack = KYC

Identity onboarding

ID schemasregistry sourcesforgery rulesno Vision · no Estimate

pack = Health

Claim checks

bill line-itemsprocedure price listsup-coding rulesDPDP regime

The engine rail above never moves. Only the pack below it changes — and the product changes with it.

How we pressure-tested it · the back-test

Ran 13 products on paper through the architecture. It forced 18 requirements.

Method: take a product we want to build, push it through the architecture on paper, find what it lacks — then add that component. The architecture is the result of this exercise. The thesis held for every product.

13
sample products — motor, KYC, lending, health, media, invoice, agentic, fleet
18
requirements the back-test forced (R1–R18)
0
engine forks — every product is the same spine + a different pack

Illustrative — a design exercise; nothing shipped yet.

Notable additions the back-test surfaced

Agent Runtime R9

The agentic product needed an LLM to pick steps — not just a fixed DAG.

Estimate + Reference Data R11/12

Estimate-from-images needed priced catalogs and a calc capability.

Entity / Link Graph R13

Fraud rings and duplicate financing aren't single-case problems.

Capture-Quality R14

"Best capture" is itself a product — and a shared enhancer.

Model Gateway R10

Every model-using service needs provider-agnostic, compliance-aware routing.

Compliance plane R18

Per-domain regimes must not fork the engine — declared by pack, enforced by platform.

Buy vs build · for the CTO

Next three slides go role by role: CTO → architect → ML. Then we're back together.

Integrate the commodities. Own the composition — that's the moat.

We are not writing a vision model or a workflow engine from scratch. The IP is how the pieces compose, and the packs that run on them.

Integrate — commodities

  • OCR / document extraction models
  • Foundation LLMs / VLMs
  • A durable workflow engine (Temporal-class)
  • Model Gateway library
  • Object storage, queues
  • Reference / pricing data (licensed)

Build / own — the moat

  • 1The typed Signal model — the keystone (R2)
  • 2Fused, cross-modal Detect
  • 3The pack + compliance layer (policy-as-config enforcement)
  • 4Capture-Quality + capture flow
  • 5The domain packs

Damage detection is commoditising. We don't win on one model's accuracy — we win by reading the whole case and deciding with compliance.

Execution model · for VP Eng + Architect

Two ways to call · two ways to orchestrate.

Every capability is reachable both ways R17

Sync — request / response

Low-latency, single-shot, bounded: "verify this PAN", "is this image tampered". Returns inline.

Async — case-based

Long-running, multi-stage, human-in-the-loop. 202 + case id → webhook on completion. Default for full products.

interactive> standard> batch

Priority classes + per-capability queues + per-tenant fairness. A Vision backlog never blocks Verify.

Two orchestration modes — same services underneath

Workflow Engine — deterministic DAG R1/R7

Pack-defined DAG over the case. Stages optional, partial-input tolerant, durable; pauses for human review for days; emits an event per transition. Default for structured products.

Agent Runtime — LLM drives R9

An LLM reasons over the case and calls capability services as tools. Guardrailed (incl. compliance), case-scoped memory, and a full reasoning trace that is itself an audit artifact. Powers agentic products.

Models & learning · for ML

Where models plug in, and how they improve.

We integrate and route models — own and third-party. We are not a model lab.

Model Gateway R10

Provider-agnostic access to LLM + vision models. Routing, fallback, versioning, cost/latency control.

Compliance-aware: never routes restricted PII to a non-compliant model or region; redacts before egress.

Used by Extract · Vision · Detect · Estimate · Agent Runtime.

Review + Feedback loop R6

The Review Console captures human decisions; corrections become labels. Designed so every correction improves the engine — the training loop is built in, not bolted on.

Eval / Model Registry R6

Versioned models + eval sets per pack. Designed to let us publish accuracy per capability, per pack (Phase 2+) — a differentiator in a market of vendor-claimed numbers. Not measured in prod today.

Vision / Extract / Detect→ Signals + provenance→ Human review→ Corrections → labels→ Eval + retrain

Compliance · a product USP

Compliant by construction.

A pack declares its regime (health/DPDP, insurance/IRDAI, lending/RBI, residency everywhere). The platform enforces it at runtime. Compliance is never re-implemented per product — so it's a selling point, not a per-product cost.

ControlEnforced as
Data residencyWhere evidence + PII are stored and processed, incl. model routing
Consent lifecycleVersioned, checked before processing; withdrawal honoured
Retention & erasurePer data class; right-to-erasure; auto-expiry
PII handlingField-level encryption, tokenisation, redaction, minimisation
ControlEnforced as
Purpose-limited accessWho/what may read which signals, for what declared purpose
Regulator-grade auditImmutable, exportable case history — the event log
Decision guardrailsNever auto-clear above a legal cap; AI-decision provenance recorded
PostureSOC 2 / ISO 27001 / DPDP + model & eval provenance

Built once, inherited by every pack. Every product on Modules is compliant for its domain the day it ships.

Caveat: residency, consent, retention and audit are platform mechanisms; model-region routing and novel regulatory obligations are real build work, not a config flag.

Build phases

Build the contracts early. Build the tooling only when a second product proves the shape.

Phase 1

One product, end to end

  • Capture-Link, Gateway, Webhooks, File Ingest, Capture-Quality
  • Case Svc, Evidence Store, Signal model
  • Extract, Vision, basic Decide — behind the Model Gateway from day one
  • Workflow Engine (DAG) · sync + async with priority
  • Compliance plane v1 — foundational, not deferred

Exit: one product live; every decision explainable + auditable.

Phase 2

Depth + a second domain

  • Verify (+ connector interface), Detect (fused signals), Estimate + Reference Data
  • Multi-session + Vision compare mode
  • Review Console + Feedback, Eval/Model Registry
  • Compliance plane v2 — per-domain regimes (e.g. health)
  • A second pack — the real test of R4

Exit: two products, two domains, one engine, no forks.

Phase 3

Leverage across products

  • Agent Runtime — services as its toolset
  • Entity / Link Graph — cross-case, privacy-preserving
  • Pack-authoring tooling — built now, against ≥2 real packs
  • Compliance plane v3 — certification posture
  • More domains — each a pack, zero engine change

Exit: generalised only once the shape is proven.

Deliberately deferred (YAGNI): pack-authoring SDK / marketplace, Agent Runtime, cross-tenant link graph, audio modality — none until a second real product forces them. One example can't design a good extension API.

The one existential risk · and the discipline

Domain vocabulary leaking into the engine. (R4)

If "bumper", "fracture" or "room" ever appears in engine code, the thesis is dead — the engine has quietly become a vertical product. This is a discipline problem, and we guard it with two mechanisms.

The generic Signal model R2

Every stage writes typed signals to the case; downstream stages read the whole set, not each other's APIs. Detect's fused checks ("parts billed with no visible damage") are rules over a generic signal set — not code that knows about vehicles. Load-bearing: it's what makes a fused check domain-neutral.

The pack boundary

Feature vocabulary, sources of truth, price basis, risk rules and thresholds live only in a pack. If a new domain needs something the six pack slots can't express, that's a signal to extend the engine contract deliberately — never to special-case a domain in engine code.

✕ Wrong — leaks in ENGINE if (bumper) … fracture, room, IRDAI ✓ Right — contained ENGINE reads generic signals only pack: bumper, IRDAI

The guardrail is architectural, not just a code-review rule: the engine speaks signals, the pack speaks domain.

The ask

What we need from you.

One decision: greenlight Phase 1 — build one motor product end-to-end (inspect + fraud), with a design partner, on bought infra. Success = evidence in → an explainable, auditable decision out, live.

CTO

Approve the buy-vs-build split and the Phase 1 scope. Confirm the pack contract + Signal model are the two interfaces we design most carefully.

VP Engineering

Staff Phase 1 as a normal product build on bought infra. If we can't staff it, that's the gate — nothing downstream matters.

ML

Own the pack feature schemas, fused-signal rules, and the eval/feedback loop. Confirm the Model Gateway + VLM integration path.

Chief Strategy Officer

Greenlight a design partner and the "one product first, platform story after pack #2" framing. Pick the first vertical: motor.

PM

Define the motor product's surface and entitlements; line up the design partner. Hand-author the first pack with engineering.

Not asking for

A platform commitment, a second vertical date, agentic, or cross-tenant anything. Those gate on Phase 1 shipping and the pack contract holding.

What this unlocks

Build the engine once. Ship products as packs.

Platform — engineering

One engine: Capture → Extract → Vision → Verify → Estimate → Detect → Decide. Built once, deepened over three phases, compliant by construction.

Packs — product

Six bindings per domain + entitlements + surface. A PM chases a new market by writing configuration — engineering keeps building depth in the common engine.

The marginal cost of the next product is a pack, not a platform.

1 / 16