· 7 min read
MVP WAGO Integrated Sales Expert
Date: 18 August 2025
Prepared for: Tyrone Visser - WAGO Prepared by: Adam Broniewski - Moving Data Insights
USE SRS template, software requirements specification function and non functional requirements user workflow
Executive Summary
The Level-2 Proof of Concept proved the feasibility of a deterministic selection engine, branded web app, and export-ready BOMs. The MVP will now extend this into a tool the sales team can pilot for real quoting workflows.
Key new capabilities:
- Selection confirmation with rationale capture → captures tribal knowledge and creates the foundation of a knowledge loop.
- Price integration → instant quote totals and customer-ready exports.
- Explanations (“why this part”) → transparent logic plus learned insights.
- Knowledge-base feedback loop → dashboards for usage and swap-out rates.
- SOP builder → automatically generate component-type SOPs from real usage.
- Architecture design → blueprint for incorporating learned rationale into selection and LLM context.
1. Selection Confirmation, Alternatives Comparison & Rationale Capture
POC baseline
- Deterministic selection engine with dynamic programming allocation and validation.
- No user confirmation or rationale capture.
- No display of valid alternatives.
User stories
As a sales engineer, I want to see the system’s chosen component alongside all valid alternatives so that I can compare options and make the most appropriate selection.
As a sales engineer, I want to confirm my final choice and provide a short rationale so that my decision is captured for future reference and learning.
As a sales engineer, I want my confirmed choice and rationale to appear in the BOM export so that my customer-ready quote reflects both technical accuracy and the reasoning behind it.
As the system, I want to store the user’s confirmed choice, rationale, and whether it matched or overrode the system’s initial suggestion so that I can track overrides and feed insights into the knowledge base.
As the system, I want to persist rationales in a database tied to component IDs and configuration context so that institutional knowledge can be built and reused across future configurations.
Acceptance criteria
- Comparison view displays the system’s choice and all valid alternatives.
- Standard attributes are shown: capacity, protocol, waste, price (when available), rationale text.
- Rationale field is mandatory before proceeding.
- Stored data includes: component ID, configuration ID, requirements snapshot, rationale text, timestamp, and swap flag.
- Confirmed choice and rationale are visible in the BOM export.
Dev considerations
- Extend schema with
selectionsandrationalestables. - API endpoints:
- GET → fetch candidates (system choice + valid alternatives).
- POST → submit confirmation + rationale (atomic transaction).
- UI: comparison table/cards with rationale input, validation on submission.
- Migration script to seed initial rationales (developer-only; no UI required).
2. Price Integration (remove)
POC baseline
- No schema, UI, or export support for prices.
User stories
As a sales engineer, I want to see the unit price of each component in the UI so that I can discuss cost implications with customers during configuration.
As a sales engineer, I want the BOM export to include unit prices, line totals, and a grand total so that I can provide customers with an accurate, ready-to-share quote.
As the system, I want to ingest a single CSV/Excel file with price data once at deployment so that components in the catalog are enriched with pricing information without requiring live ERP integration.
Acceptance criteria
- Database extended with
priceandcurrencyfields for each component. - One-time ingestion process validates product IDs and logs any mismatches or missing data.
- UI displays per-item prices and running totals during configuration.
- BOM exports (CSV + PDF/HTML) include per-line prices, subtotal, and total in the configured currency.
Dev considerations
- Update BOM generator and export templates to calculate and display totals.
- Build ingestion script with validation and reporting.
- Only one currency supported for MVP (configurable at system level).
3. Explanations — “Why This Part?”
POC baseline
- OpenAI response includes a naïve rationale string.
- Not shown in UI; not validated or improved.
User stories
As a sales engineer, I want to see a clear explanation for why the system chose a component so that I can trust the recommendation and explain it to my customer.
As the system, I want to combine algorithm-derived reasoning, LLM commentary, and learned rationales so that explanations improve over time and reflect both rules and field experience.
Acceptance criteria
- Explanations shown in UI for chosen component and alternatives:
- Algorithmic reasoning from rule matches.
- Naïve LLM rationale (labeled appropriately).
- Learned rationale summary if past rationales exist.
- Explanations included in PDF/HTML quote.
- Fallback: deterministic explanation shown if LLM unavailable.
Dev considerations
- Explanation service:
- Templates for algorithm logic (protocol, channel coverage, waste).
- Prompt composition to combine algorithm facts with recent rationales.
- Query rationale DB for relevant examples.
- Store generated explanations in
rationalestable withsource = algorithmandsource = llm.
4. Knowledge-Base Feedback Loop & Dashboards
POC baseline
- No knowledge loop or metrics in code/UI.
User stories
As the system, I want to log every confirmed selection and rationale so that patterns of decision-making can be analysed over time.
As an admin, I want to see dashboards of key usage metrics so that I can measure adoption, identify override trends, and support process improvements.
Acceptance criteria
- Metrics available:
- Configurations run per time period.
- Component selection frequency.
- Swap-out rate (% of overrides).
- Rationales submitted over time.
- Dashboard displays charts and tables for metrics.
- Admin-only access to dashboard.
Dev considerations
- Extend schema for tracking selections and rationales.
- Build queries for frequency, swap-out rates, and rationale counts.
- Simple charting in front end (bar/line/pie).
- Lightweight admin auth (role flag or env config).
5. SOP Builder
POC baseline
- BOM CSV/PDF exports exist.
- No SOP generation capability.
User stories
As an admin, I want to generate SOPs per component type at the click of a button so that best practices are documented and standardised.
As an admin, I want SOPs summarised from real-world rationales so that the guidance reflects actual field knowledge.
As an admin, I want SOPs exported as Markdown and PDF so that they are easy to share across the organisation.
Acceptance criteria
- SOP generation pipeline:
- Pull rationales by component type.
- Summarise patterns via LLM.
- Write Markdown.
- Render to PDF.
- SOPs downloadable via dashboard with timestamp.
- Content includes requirement patterns, trade-offs, and common rationale themes.
Dev considerations
sopstable: component_type, markdown, pdf_location, generated_at.- Cache summaries to minimise LLM cost.
- Optional preview before finalising PDF.
- Reuse existing Markdown → PDF pipeline.
6. Learned Rationale as Tie-Breaker
POC baseline
- Algorithm is deterministic; no use of learned preferences.
User stories
As the system, I want to apply learned rationale as a tie-breaker when multiple components are equally valid so that recommendations reflect field experience in addition to hard rules.
As a sales engineer, I want to see when a tie-break was resolved using field preferences so that I understand why a less obvious component was chosen.
Acceptance criteria
- Preference scoring applied only when multiple candidates are equally valid under rules.
- Scores derived from:
- Selection frequency.
- Swap-out rate.
- Rationale count (time-decayed).
- Explanation clearly indicates when a tie-break decision used field preferences.
Dev considerations
- Implement transparent scoring heuristic.
- Ensure deterministic results when scores equal.
- Integrate into selection engine at tie-break step.
Enabler Epic: Knowledge Loop Architecture
Context / POC baseline
- No design yet for how captured rationales are re-used in explanations, SOPs, and selection tie-breakers.
- Without this, downstream features risk being implemented inconsistently.
Goal
- Define a unified architecture for how rationale data flows through the system, how it is retrieved, and how it is injected into LLM prompts or deterministic logic.
- Ensure this architecture applies consistently to:
- Component selection explanations.
- SOP generation.
- Selection algorithm tie-breakers.
Deliverable
- A design document that includes:
- Data model for rationales.
- Retrieval and indexing strategy.
- Prompt composition templates (inputs/outputs).
- Selection tie-breaker scoring approach.
- Migration/seeding process.
- Open questions + risk log.
- Diagrams (data flow, sequence flows).
- Sample prompts and example outputs.
Acceptance criteria
- Document is reviewed and approved by product + tech lead.
- Provides enough clarity for developers to begin building Features 3, 4, 5, and 6 on top of it.
- Identifies a minimal vertical slice (end-to-end test path) that can be implemented early.
Dev considerations
- Treated as a time-boxed spike (e.g. 1–2 sprints max).
- Not a directly user-visible feature but required for features to succeed.
- May produce backlog tickets for implementation once design is approved.
Out of Scope for MVP
- ERP or live price sync.
- Multi-currency support.
- Production-grade SSO, GDPR compliance, penetration testing.