Skip to content

Siddardth7/quality-platform

Repository files navigation

Quality Platform
Quality Platform tagline

CI Tests Coverage Release Last commit

Python 3.11 uv Ruff mypy Streamlit


A working manufacturing-quality engineering platform — the AIAG core tools (FMEA, SPC, Control Plan, MSA)
brought under one URL, one typed core, and one CI-enforced quality bar.


Live Demo   Roadmap   Contributing   Changelog


🔎 What this is

In real quality departments, the AIAG / IATF-16949 core tools live in disconnected spreadsheets and one-off apps. A failure mode found in an FMEA never automatically becomes a control on a Control Plan, and an out-of-control point on an SPC chart never flows back to update the FMEA's risk rating. The methodology describes a closed loop; the tooling almost never implements one.

Quality Platform builds that loop for real — credible standalone tools first, everything they share promoted into a single typed core (quality_core), then wired into an end-to-end workflow, and proven on real semiconductor process data. Every week ships a tested, released rung. No week ships a stub.

Built in public, one release per week, on a strict green-gate discipline — an engineering portfolio that doubles as a genuinely usable quality toolkit.


🖥️ See it running

FMEA Risk Analyzer dashboard with risk-tier KPIs and auto-generated insight
🛡️ FMEA Risk Analyzer — RPN & AIAG-VDA Action Priority, risk-tier triage, auto-generated insight.
Xbar-R control chart with Western Electric rule overlays
📈 SPC Control Charts — X̄-R / I-MR / c-charts with Western Electric & Nelson rule overlays.
Process capability Cpk gauge with a stability-gate warning
📊 Process Capability — Cp/Cpk/Pp/Ppk with a stability gate: no capability claim on an out-of-control process.
Unified platform shell landing page
🏭 Unified shell — every tool under one st.navigation surface, one theme, one URL.

Open the live demo →


🔄 The closed loop

The architectural payoff: the AIAG core-tools loop, wired end to end and run on real data.

flowchart LR
    FMEA["🛡️ FMEA<br/>score S·O·D →<br/>RPN / Action Priority"]
    CP["🧩 Control Plan<br/>failure mode → characteristic,<br/>spec, method, sample plan,<br/>recommended chart"]
    SPC["📈 SPC<br/>control charts +<br/>capability (Cp/Cpk)"]
    MSA["📏 MSA / Gage RR<br/>is the measurement<br/>system even trustworthy?"]
    SECOM[("🏭 SECOM<br/>real semiconductor<br/>process data")]

    FMEA -->|"high-risk items<br/>become controls"| CP
    CP -->|"auto-configures<br/>the chart"| SPC
    SPC -->|"out-of-control →<br/>occurrence feedback / CAPA"| FMEA
    MSA -.->|"prove the gage<br/>before trusting the chart"| SPC
    SECOM -.->|"runs through<br/>every tool"| SPC

    classDef live fill:#0b1220,stroke:#e65100,stroke-width:2px,color:#fff;
    classDef soon fill:#0b1220,stroke:#2a6db2,stroke-width:1.5px,color:#cfe3ff,stroke-dasharray:4 4;
    class FMEA,SPC live;
    class CP,MSA,SECOM soon;
Loading

🧰 The tools

Tool What it does Status
🛡️ FMEA Risk Analyzer Failure Mode & Effects Analysis — RPN + AIAG-VDA Action Priority, editable S/O/D scales, relational model (Function → FM → Effect / Cause / Control), action tracking, Pareto + risk heatmap, Excel/PDF/CSV export live
📈 SPC Dashboard Statistical Process Control — variables & attributes control charts, Western Electric / Nelson rules, Cp/Cpk/Pp/Ppk with a stability gate, live disturbance simulator live
🧩 Control Plan connector Turns FMEA failure modes into a Control Plan (characteristic, spec, method, sample plan, recommended chart) — the APQP-adjacent bridge that closes the loop v0.6.0
📏 MSA / Gage R&R Measurement Systems Analysis — Gage R&R (Average-and-Range; ANOVA), %GRR vs study & tolerance, ndc, accept/marginal/reject vs AIAG thresholds v0.8.0
🏭 SECOM case study The whole platform run on real semiconductor sensor data — SPC, real Cp/Cpk, yield/DPPM, Pareto of failing signals v0.9.0

Standards context: FMEA — AIAG-VDA (2019) + AIAG FMEA-4 · SPC — AIAG SPC 4th Ed. · capability target Cpk ≥ 1.33. The AIAG-VDA Action Priority table is verified cell-by-cell against the primary handbook.


🏗️ Architecture

A uv workspace monorepo: independent Streamlit apps mounted under one shell, every cross-cutting concern written once in quality_core and consumed by all of them.

flowchart TB
    subgraph Shell["🏭 Unified shell · app.py (st.navigation)"]
        Home["Landing + one theme + one nav"]
    end
    subgraph Apps["Apps"]
        FMEA["🛡️ FMEA<br/>apps/fmea"]
        SPC["📈 SPC<br/>apps/spc"]
        CP["🧩 Control Plan<br/>apps/controlplan · next"]:::soon
        MSA["📏 MSA<br/>apps/msa · planned"]:::soon
    end
    subgraph Core["📦 packages/quality-core → import quality_core"]
        Schema["schema/<br/>flat + relational contracts (Pydantic v2)"]
        IO["io/<br/>validated ingest · CSV/Excel/PDF export"]
        Theme["theme/<br/>palette · style"]
    end

    Home --> FMEA & SPC & CP & MSA
    FMEA --> Schema & IO & Theme
    SPC --> IO & Theme
    CP --> Schema
    MSA --> Schema & IO & Theme

    classDef soon opacity:0.7,stroke-dasharray:4 4;
Loading

Why it's built this way

  • Shared core, consumed many times. quality_core.io owns CSV/Excel/PDF export (formula-injection safe) and validated ingest — so upload validation and export are guaranteed identical across tools. That's the economic argument of a monorepo, made concrete and coverage-gated at 100%.
  • Schema promoted only when stable. Contracts lived inside the FMEA app until they earned promotion to quality_core.schema — deferred extraction, done once, correctly.
  • History preserved. The FMEA and SPC apps were previously standalone repos, migrated here with full commit history intact — the histories are part of the engineering story.

🚀 Quickstart

# 1 · clone
git clone https://github.com/Siddardth7/quality-platform.git
cd quality-platform

# 2 · install the locked workspace (uv lives at ~/.local/bin/uv)
uv sync

# 3 · run the whole platform — one URL, every tool
uv run streamlit run app.py
Run a single app standalone
cd apps/fmea && streamlit run app.py   # FMEA Risk Analyzer
cd apps/spc  && streamlit run app.py   # SPC Dashboard

Each app still runs unchanged from its own directory.


🛡️ The quality gate

The whole workspace shares one quality bar (ruff.toml, mypy.ini, pytest config in pyproject.toml). It runs locally and, identically, in CI on every push and PR to main — a protected branch that requires the gate to pass before merge.

uv run ruff check .     # lint + format check
uv run mypy             # strict static types
uv run pytest --cov     # 410 tests + coverage across core + apps

Coverage gates — CI-enforced, cannot silently regress:

Surface Bar
quality_core.io — shared export + ingest 100%
quality_core.schema — shared FMEA contracts 100% (line + branch)
SPC testable surface — engine + simulation + visualizer + exporter ≥ 95%

Workflow discipline: one logical change per commit (conventional commits) · one issue at a time · multi-agent code review before finishing · push → CI green → close issue → tag a release each week · if a week can't ship green, cut scope, not quality.


🗺️ Roadmap

Twelve tracked weeks, one release each, ending on a portfolio-grade v1.0.0.

Phase Weeks Focus
A · Foundation 1–2 Monorepo, shared core, shell, one CI gate · v0.1–v0.2
B · Standards-correct cores 3–5 AP-native + relational FMEA, shared validation/export · v0.3–v0.5
C · Integration & core-tool completion 6–9 Control Plan → close the loop → MSASECOM real-data case study
D · Depth & legibility 10–12 Modern SPC depth, DOE on SECOM, then a hardening pass → v1.0.0-portfolio

An explainable AI FMEA copilot (LLM + RAG + eval harness) is a documented, unscheduled future phase. The full plan — vision, diagrams, week-by-week detail — lives in ROADMAP.md.


📁 Repository layout

quality-platform/
├── app.py                  # unified platform shell (st.navigation)
├── shell/                  # landing page + shared chrome
├── ROADMAP.md              # the full project guide (vision, diagrams, 12-week plan)
├── packages/
│   └── quality-core/       # shared core  →  import quality_core
│       └── src/quality_core/
│           ├── schema/     # flat (FMEARow) + relational (Function→FM→…) contracts
│           ├── io/         # validated ingest · CSV/Excel/PDF export (injection-safe)
│           └── theme/      # palette · style
└── apps/
    ├── fmea/               # FMEA Risk Analyzer  (full original history preserved)
    └── spc/                # Manufacturing SPC Dashboard  (full original history preserved)

Migrated from the standalone repos fmea-risk-analyzer and manufacturing-spc-dashboard, now archived → moved here.


🧱 Built with

Python Streamlit pandas Pydantic Plotly uv Ruff mypy pytest GitHub Actions


New here? Start with the ROADMAP.md · Contributing? See CONTRIBUTING.md and the Definition of Done.


Manufacturing-quality engineering, built like software — typed, tested, and shipped weekly.

About

Integrated manufacturing quality platform — FMEA, SPC, and Control Plan tools over a shared core (AIAG/IATF-16949 core tools).

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages