The full trace: 19 executive intake fields through parsing, scoring, multi-pass analysis, and roadmap generation. Every heuristic, decision, and confidence signal at the point it is injected.
business_name, industry, employee_count, what_they_do, what_makes_differentbiggest_bottleneck, time_consuming_tasks, success_definition, top_priorities, business_impactfounder_role, team_description, delegation_gap, decision_styleessential_tools, document_storage, compliance_requirements, investment_comfort, non_negotiablesknowledge_in_heads, unwritten_rules, rework_loops, broken_handoffs, founder_blocking, decision_latency …Each of the 19 fields maps deterministically to one of four org_context rows. No AI here — _create_org_context_entries() unpacks the flat dict into typed records (title, content, content_summary). The business name becomes a slug and an organizations row (org_type="smb") with the submitter added as admin, best effort.
| Context type | Source fields | Example content |
|---|---|---|
company_profile | business_name, industry, employee_count, what_they_do, what_makes_different | “Founded in 2012, Acme produces industrial adhesives for the automotive sector with 47 employees.” |
strategic_goals | biggest_bottleneck, time_consuming_tasks, success_definition, top_priorities, business_impact | “Their biggest bottleneck is estimating — complex quotes take 3–4 hours and only the founder can price them.” |
smb_operations | founder_role, team_description, delegation_gap, decision_style | “The founder spends 60% of time on estimating. Team of 12 includes 4 crew leads.” |
smb_constraints | essential_tools, document_storage, compliance_requirements, investment_comfort, non_negotiables | “They use QuickBooks and Excel; documents live in a shared Drive, inconsistently organized.” |
Every empty field reduces confidence — and each reduction is tied to a specific, hand-authored impact statement naming exactly what the roadmap can’t say because of that gap. Not a generic score: a gap-by-gap audit trail.
The cap at 95 is deliberate: perfect confidence is a false signal. Even fully filled, self-reported data carries uncertainty. Each of the 19 fields has a unique hand-written impact in _executive_gap_impact() — e.g. “without the founder’s day-to-day role, the roadmap cannot identify delegation opportunities.” High means well-grounded; medium, direction sound but recommendations may shift; low, a conversation starter whose gaps become cohort exercises.
A single “write a roadmap” prompt is fragile — it skips evidence, invents details, or collapses into generic advice. Three independent passes with narrow lenses force claims to be grounded before synthesis. If a pass fails, the pipeline degrades gracefully.
Input: all four context rows + confidence. Produces a 5×5 maturity assessment scored with specific intake evidence, dysfunctionality severity on five 1–10 axes, ranked confidence gaps, and boundary cases where better data would shift a level.
Input: Pass 1 traits + context + confidence. Produces three strategic movements (each with risk signals, dependencies, success indicators), the honest truth, the one move, and a before/after picture.
Input: Pass 1 + Pass 2 + context + confidence. Renders the maturity snapshot with a stage-by-stage gap map, the one move, what changes, the honest truth, and a source manifest of which fields informed which claims.
Graceful degradation: Pass 1 fails → single-pass Pass 3. Pass 2 fails → Pass 3 on Pass 1 data only. Each pass is persisted independently (adoption_roadmap_traits, adoption_roadmap_synthesis) for audit.
adoption_roadmaps (final roadmap), _traits and _synthesis (audit), smb_intake_submissions → completed.confidence_modifier for how far placement could shift.Empty fields are named as gaps, never inferred. The no-assumptions rule is enforced at every pass.
It says “you need a way to capture estimating rules,” not “buy Tool X.” Tool names without context are forbidden.
The 95-cap keeps the system honest: this could always be sharper.
The model is universal but every score is grounded in that organization’s intake — two businesses at “AI Ready” got there differently, and the output says so.
| # | Decision point | What it does | Where it lives |
|---|---|---|---|
| 1 | Field completeness check | Binary — is each field non-empty? Drives confidence and gap analysis. | _compute_confidence_executive() |
| 2 | Section weighting | 5 sections × 20 pts, equal — company profile matters as much as dysfunctionality. | _compute_confidence_executive() |
| 3 | Confidence cap at 95 | Deliberate ceiling — even 19/19 fields carry inherent uncertainty. | min(total, 95) |
| 4 | Gap impact mapping | 19 hand-authored impact statements, each naming what the roadmap can’t determine. | _executive_gap_impact() |
| 5 | Confidence tiering | High ≥75 / Medium ≥50 / Low <50, each with a plain-language summary. | _executive_confidence_summary() |
| 6 | Maturity bottleneck principle | Overall maturity = lowest dimension. Prevents cherry-picking the strongest. | maturity_model prompt section |
| 7 | No assumptions rule | Before every claim: did they tell us this? Otherwise flag it as a gap. | design principle #5 |
| 8 | 5×5 dimension scoring | Each dimension at each level, evidence required, boundary cases flagged. | Pass 1 agent |
| 9 | Dysfunctionality severity 1–10 | Five axes scored independently, not averaged; high signals trigger specific moves. | Pass 1 agent |
| 10 | Multi-pass triangulation | Pass 1 → 2 → 3, each challenged to challenge, graceful degradation. | _generate_roadmap_background() |
| 11 | Jargon ban | No LLM, API, vector database, embedding, token, agent, platform — enforced and retried. | design principle #4 |
| 12 | Source manifest | Every claim traces to a specific intake field; an audit trail for system and reviewer. | output JSON |
19 fields enter → deterministic parsing into four context records → confidence scoring with hand-authored gap impacts → three-pass LLM analysis grounded and cross-validated → JSON validated with retries → persisted with a full audit trail → a 1,900-word founder-ready roadmap with maturity placement, bottleneck identification, stage gaps, movements, the honest truth, and a source manifest of which intake field informed every claim.