shakedown: wave 10: MSA repeatability harness (gage error vs tolerance)#7
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Measurement System Analysis leg of the production-QA path: before trusting a pass/fail, characterize the measurement itself.
What this adds
Verification/scripts/repeatability.sh. Runs the variance phase (Phase 4) N times back to back on one unit and reports the gage's own run-to-run noise as a fraction of the fail tolerance: 6-sigma ofspread_pctover the runs, divided by the 10-point fail band, read against the AIAG Gage R&R rule (under 10% capable, 10-30% marginal, over 30% the gage rivals the limit it decides against). Repeatability only (one unit, back to back); reproducibility across stations/days is a separate, later step.REPEAT_N(default 5); everycpu-variance.shknob passes through.Production QA.mdMSA row moves Absent -> Partial and leg 2 from "(next)" to "(this wave)"; README layout + roadmap line; CHANGELOG.Why
A "10% spread" fail limit is only meaningful if our own measurement noise is well inside it. This harness answers "is the metric even capable of a pass/fail." It already pays off: at very short iteration settings the gage comes back
inadequate, which is the honest finding that a one-second iteration is not a measurement.Verification
Lint clean (shellcheck, heredoc ast.parse, JSON valid, zero em dashes). Ran end-to-end on this Intel box (3 fast runs): mechanism works, JSON contract matches the doc, the capability buckets and the
< 2 valid runs/ division / trap-cleanup paths all behave. Passed dad review (correctness clean, consistency one-voice, simplicity flagged nothing cut-before-ship).Still owed for production-grade MSA (documented, not in this wave): the actual characterization run on a golden unit, and reproducibility across stations and days.