Design Document v2 — Socratic Diagnostic Engine
The assessment is built on three principles borrowed from the GSD (Git. Ship. Done.) framework's questioning methodology:
Client enters assessment (guided or self-serve)
│
▼
PHASE 1: Opening ← Conversational, sets context
▼
PHASE 2: Walkthrough ← Process discovery via concrete scenarios
▼
PHASE 3: Probes ← Adaptive deep-dives, surface gray areas
▼
PHASE 4: Domain ← Industry-specific (Cannabis / Funeral) or generalized topic-driven (Other)
▼
PHASE 5: Capacity ← Budget, timeline, tech comfort
▼
PHASE 6: Synthesis ← Final framing questions
▼
DIAGNOSTIC ENGINE ← Scores clarity, ambiguity, readiness
▼
DIAGNOSTIC REPORT ← Consultation-style, not survey outputEach prompt can trigger adaptive follow-ups — additional questions that appear only if the client's answer meets certain conditions. This is the core of the Socratic approach.
Prompt: "Walk me through what happens when a new lead comes in"
│
├── Answer mentions "memory" / "remember" / "no system"
│ └── Follow-up: "When a lead doesn't convert right away,
│ what happens to them?"
│ └── Surfaces gray area: "Lead Nurture Strategy"
│ → Critical, maps to CRM
│
├── Answer mentions spreadsheet + other systems
│ └── Follow-up: "How do you keep them in sync?"
│ └── Surfaces gray area: "Data Architecture"
│ → Significant, maps to CRM
│
└── Answer is clear but describes manual process
└── Follow-up: "How much time does this take?"
└── Signals automation candidate for AI AgentsFollow-ups can surface: gray areas (unmade operational decisions), system signals (weighted contributions to scoring), and clarity dimension scores (evidence about process definition).
Conversational. Sets context and establishes baseline clarity.
| Prompt | Type | Purpose |
|---|---|---|
| What's the name of your business? | Text | Identity |
| Tell me about your business. What do you do, who do you serve, and what makes you different? | Textarea | Open-ended vision dump. Short answers trigger follow-up: 'What does a typical day look like?' |
| What industry are you in? | Select | Cannabis, Funeral, Small Business, Nonprofit, Other. Determines Phase 4 domain probes. |
| How big is your team, and how long have you been operating? | Select | Combined size + tenure |
| What stage is your business at — and where do you want to be in 12 months? | Textarea | Growth direction. 'Struggling' triggers priority probe; 'Scaling' triggers strain-location probe. |
Process discovery via concrete scenarios. The core GSD technique: "walk me through using this."
| Prompt | Type | Follow-ups surface |
|---|---|---|
| Walk me through what happens when a new lead comes in — from first contact to active client. | Textarea | Lead Nurture Strategy (→CRM), Data Architecture (→CRM), automation time cost (→AI Agents) |
| Walk me through onboarding a new client. Once someone says yes, what happens? | Textarea | Process Documentation (→Infrastructure Kit), digital intake need (→Web App) |
| Walk me through how you handle compliance and regulatory requirements. | Textarea | Compliance Risk Management (→AI Agents + SMS), compliance tracking method (→AI Agents) |
| How do your clients reach you, and how do you stay in touch over time? | Textarea | Client Communication Strategy (→SMS), Client Retention Strategy (→SMS + CRM) |
Adaptive deep-dives that surface operational decisions and measure clarity.
| Prompt | Type | Surfaces |
|---|---|---|
| What's the one task that makes you think 'there has to be a better way'? | Textarea | Automation candidate definition + ROI quantification (→AI Agents) |
| If I asked you to find a client's full history, how long would that take? | Select | Data Consolidation Strategy gray area (→CRM) |
| Is there anyone who, if they left tomorrow, would take critical knowledge with them? | Select | Key-Person Dependency gray area (→Infrastructure Kit) |
| Where are you the bottleneck in your own business? | Textarea | Delegation Readiness gray area (→AI Agents) |
Appears for matching industries, and — for any other industry — dynamically based on what the conversation revealed. Dedicated industries keep their own probes; everything else routes to generalized topic-based probes selected by rule-based keyword detection over the Phase 1–3 free-text (no LLM). Picking "Other" triggers a free-text follow-up that feeds both detection and the report narrative.
| Prompt | Type | Surfaces |
|---|---|---|
| Walk me through your METRC process — from receiving to sale recording. | Textarea | METRC Automation Strategy gray area (→AI Agents) |
| How are you handling Section 280E? Proactive or at tax time? | Select | 280E Tax Strategy gray area (→Infrastructure Kit) |
| Prompt | Type | Surfaces |
|---|---|---|
| Walk me through a case from first call to final arrangements. | Textarea | Case Record Management gray area (→CRM + Web App) |
| After services, what's your relationship with the family? | Textarea | Aftercare Strategy gray area (→SMS) |
For small_business, nonprofit, and "Other", these fire when a topic surfaces in the conversation (e.g. a pharmacy describing regulated inventory and batch tracking). Each mirrors its dedicated counterpart.
| Generalized probe | Fires on topic | Mirrors |
|---|---|---|
| gen_regulated_inventory | regulated inventory / compliance tracking | can_metrc |
| gen_financial_strategy | tax / expense strategy | can_280e |
| gen_client_records | client files / records | fun_case_management |
| gen_post_service_followup | post-service follow-up / retention | fun_aftercare |
| Prompt | Type | Measures |
|---|---|---|
| If we built a new system tomorrow, how would your team react? | Select | Team readiness (Excited → Resistant) |
| What are you spending on technology, and what would you invest if it saved time? | Select | Budget readiness (<$500 → $3K+) |
| How quickly do you need to see results? | Select | Timeline (Urgent → Long term) |
| If we needed to feed your data into a new system, how would you describe its state? | Select | Data readiness (Clean → Chaotic) |
| Prompt | Type | Purpose |
|---|---|---|
| Of everything we've discussed, what's the single most important thing to fix first? | Textarea | Priority definition clarity — tests whether the client can synthesize what they described |
| If everything were working perfectly 12 months from now, what would your day-to-day look like? | Textarea | Growth direction clarity (revisited) — compared with opening answer to measure sharpening |
The engine measures three dimensions that together determine the recommendation — not just "what hurts" but "are you ready to fix it."
Measures how well-defined the client's processes are. Scored across up to 15 dimensions:
| Dimension | What It Measures |
|---|---|
| Business Vision Clarity | Can they articulate what their business is and does? |
| Growth Direction Clarity | Do they know where they're going and what stage they're at? |
| Lead Process Clarity | Is the lead-to-client process defined and consistent? |
| Client Onboarding Clarity | Is onboarding documented and repeatable? |
| Compliance Process Clarity | Are compliance requirements tracked and managed? |
| Communication Process Clarity | Is client communication systematic or ad hoc? |
| Automation Readiness Clarity | Can they identify and describe repetitive tasks? |
| Data Architecture Clarity | Is data centralized, accessible, and organized? |
| Institutional Knowledge Clarity | Is knowledge shared or held by specific individuals? |
| Operational Decision Clarity | Can the owner identify where they're the bottleneck? |
| METRC Compliance Clarity | (Cannabis) Is METRC process defined and managed? |
| Financial Strategy Clarity | (Cannabis) Is 280E handled proactively? |
| Case Management Clarity | (Funeral) Are case records organized and retrievable? |
| Aftercare Process Clarity | (Funeral) Is there a post-service follow-up process? |
| Priority Definition Clarity | Can the client synthesize and prioritize? |
Scored by: answer specificity (length, concrete steps), vague signals ("depends," "not sure," "varies"), specific signals ("first," "then," named tools), and select-answer patterns.
Measures how many unmade decisions (gray areas) were surfaced. Each gray area is a specific operational decision the client hasn't made, mapped to a core system that would force the decision.
Score: Critical gray areas × 30 + Significant gray areas × 15, capped at 100.
| Gray Area | Severity | System | Decision Needed |
|---|---|---|---|
| Lead Nurture Strategy | Critical | CRM | Define what happens to non-converting leads and the nurture window |
| Process Documentation | Critical | Infrastructure Kit | Document onboarding as SOP before building systems |
| Compliance Risk Management | Critical | AI Agents | Define which compliance requirements are mission-critical |
| Key-Person Dependency | Critical | Infrastructure Kit | Identify key-person-dependent processes, create documentation |
| Data Consolidation Strategy | Significant | CRM | Define what constitutes a complete client record |
| Client Communication Strategy | Significant | SMS | Define which touchpoints need automated communication |
| METRC Automation Strategy | Critical | AI Agents | Define which METRC touchpoints to automate vs. monitor |
| Aftercare Strategy | Significant | SMS | Define an aftercare cadence and touchpoint content |
| Sub-score | Source | Scoring |
|---|---|---|
| Data Readiness | Capacity phase: data quality | Clean=90, Mostly=65, Messy=30, Chaotic=10 |
| Process Readiness | Walkthrough answer length/specificity | Avg >200 chars=75, >100=55, else=30 |
| Team Readiness | Capacity phase: tech comfort | Excited=85, Willing=65, Hesitant=35, Resistant=15 |
| Budget Readiness | Capacity phase: budget | $3K+=90, $1-3K=70, $500-1K=45, <$500=20, Not sure=30 |
Overall AI Readiness is the average of the four sub-scores.
| Path | Condition | Meaning |
|---|---|---|
| Foundation-First | Foundation-tier system exists AND ambiguity ≥ 50 | Start with Infrastructure Kit to define processes before deploying technology |
| Direct Implementation | Ambiguity < 25 AND clarity ≥ 65 | Go straight to system deployment. Operations are defined. |
| Hybrid | All other cases | Foundation work in undefined areas, implementation in defined areas |
Each system receives a Fit Score (from accumulated signal weights) and an Ambiguity Score (from related gray area count × 25, capped at 100).
| Tier | Condition | Meaning |
|---|---|---|
| Foundation | Fit ≥ 60 AND Ambiguity ≥ 50 | Start here. Unmade decisions must be resolved first. |
| Primary | Fit ≥ 60 (ambiguity < 50) | Strong fit. Implement after foundation systems. |
| Secondary | Fit ≥ 40 | Good fit for Phase 2. |
| Conditional | Fit ≥ 20 | Optional — if budget allows. |
| Not Recommended | Fit < 20 | Not a current priority. Revisit in 6–12 months. |
The output is a consultation-style report, not a survey output. Contains:
| Mode | Description |
|---|---|
| Guided | Full-screen, presenter-friendly. For TMG consultant sitting with the client. Shows phase indicators and adaptive follow-up badges. |
| Self-Serve | Standard web form for clients alone. Same prompt tree and engine, without consultant-facing chrome. |
Cannabis (METRC, 280E) and Funeral Services (case management, aftercare) probes are dedicated to their industries. All other industries — small_business, nonprofit, and "Other" — route to generalized Phase 4 probes selected dynamically by what the conversation revealed (rule-based topic detection over Phases 1–3, no LLM). Dedicated industries never receive the generalized probes (avoids overlap). Additional industries can be added either with a dedicated probe set (gated by appearsIf on industry) or by simply adding an option that reuses the generalized probes.
assessment-kit/ ├── app/ │ ├── page.tsx # Landing page (mode selection) │ ├── assessment/ │ │ ├── page.tsx # Suspense wrapper │ │ └── AssessmentContent.tsx # Conversation flow │ ├── docs/ │ │ └── page.tsx # This documentation page │ └── layout.tsx # Root layout ├── components/ │ └── DiagnosticReport.tsx # Consultation-style report ├── lib/ │ ├── types.ts # Type system │ ├── prompts.ts # Socratic prompt tree │ └── engine.ts # Diagnostic scoring engine └── package.json
| File | Purpose |
|---|---|
| lib/prompts.ts | The Socratic prompt tree — all questions, follow-ups, gray areas, signals. Where questions are modified. |
| lib/engine.ts | Diagnostic engine — clarity scoring, gray area collection, system scoring, readiness path, narrative generation. |
| lib/types.ts | Type definitions for the assessment system. |
| components/DiagnosticReport.tsx | The consultation-style report rendered after completion. |
| app/assessment/AssessmentContent.tsx | The conversation flow UI with adaptive follow-up handling. |
| Decision | Rationale |
|---|---|
| Socratic prompts instead of rating scales | Rating scales tell you pain exists but not why. Walk-throughs reveal process, breakpoints, and unmade decisions. |
| Adaptive follow-ups instead of static modules | Client's answer determines what gets asked next. Different answers get different follow-ups. |
| Gray areas as first-class output | Unmade decisions are the value proposition. Each system forces decisions — that's where transformation happens. |
| Dual fit/ambiguity scoring | High fit + high ambiguity = Foundation tier. Start here, define processes, then deploy. |
| Readiness path determination | Not every client is ready for technology. Foundation-first clients need Infrastructure Kit first. |
| Consultation narrative instead of survey output | Report reads like a diagnostic summary a consultant would write. |
| Standalone web app before CRM integration | Start collecting data and generating revenue immediately. Data migrates to CRM later. |
| Industry-specific probes for cannabis and funeral | TMG's first clients with domain-specific compliance requirements. More can be added. |
/report/[id]. See DATABASE_LAYER_PLAN.md.Thomas Media Group, LLC · Operational Intelligence Platform
Strategy. Systems. Automation. Infrastructure. Intelligence.