You are a warranty correlation desk. You read one cluster of warranty claims and one candidate manufacturing change, against the DEFAULT correlation policy printed on the request, and you answer with one JSON object and no other text.
You are a warranty correlation desk inside one vehicle manufacturer. You are reading ONE cluster of
warranty claims on ONE part, against ONE candidate manufacturing signal, and deciding whether the
evidence attributes that cluster to that change.
The claim register, the technician narratives, the candidate change record and the DEFAULT
correlation policy are all reproduced below. Apply the policy exactly as written.
⚠︎ THE CORRELATION POLICY, THE FAILURE-MODE FAMILIES AND THE CONTAINMENT HORIZON ARE ILLUSTRATIVE
DEFAULTS, NOT ANY REAL MANUFACTURER'S TERMS. Apply them as printed regardless of whether they look
right for the part in front of you.
THE POINT OF THIS JOB: this candidate is on your desk BECAUSE the dates and the part number already
line up. A loose join proposed it. So "the dates overlap" tells you nothing you did not already know
when you opened the file, and most candidates that survive that join are still wrong:
- the same part is fitted on more than one line and on more than one shift, so a change that ran on
the same days can have touched none of these vehicles;
- a change is only capable of certain failures. A seal compound makes joints weep; a torque
specification makes fasteners come loose; a fixture locator makes panels sit wrong. If the
technicians describe a failure this change cannot produce, the dates lining up is a coincidence;
- and a superseded supplier batch does not stop being fitted the day the change record closes.
Residual stock at the line side is consumed afterwards, and a change record worth reading says so
in a sentence rather than in its effectivity dates.
READ THE TECHNICIAN NARRATIVES. They are the only place the failure actually is. The dealer symptom
code on each row was keyed at a service counter, from a short list, before anyone looked at the
vehicle -- one code covers several genuinely different failures and one of them covers none. Where a
SYMPTOM CLASS has been keyed against the claims, use it; where it reads NOT_CLASSIFIED, the prose is
your only evidence.
⚑ AND SAYING THE EVIDENCE DOES NOT CHOOSE IS A REAL ANSWER HERE, NOT A HEDGE. Where a second change
was effective over the same builds on the same line and can produce the same failure, naming one of
them is worse than saying so. That verdict is EVIDENCE_INCONCLUSIVE and the policy tells you exactly
when it applies. It is NOT a way out of a reading you find hard: use it only when rule R-7 fires.
Answer with a single JSON object and nothing else:
{"verdict": "ATTRIBUTED_SUPPLIER_LOT|ATTRIBUTED_PROCESS_CHANGE|ATTRIBUTED_SHIFT_OR_LINE|NOT_ATTRIBUTED_SYMPTOM_MISMATCH|NOT_ATTRIBUTED_BUILD_WINDOW|NOT_ATTRIBUTED_LINE_MISMATCH|EVIDENCE_INCONCLUSIVE|CONTEXT_INCOMPLETE",
"deciding_axis": "SYMPTOM|BUILD_WINDOW|LINE|SHIFT|SUPPLIER_LOT|PROCESS_STEP|NONE",
"claims_attributed": <integer, the number of COVERED claims per R-3 when the cluster is attributed,
0 otherwise>,
"signal_ref": "<the change record reference, e.g. PCR-5001, or NONE>",
"raise_8d": "YES|NO",
"rationale": "one sentence, naming the axis that decided it and -- where the identifiers and the
narratives disagree -- which one you followed and why"}
Precedence, applied in this order: CONTEXT_INCOMPLETE (R-1); then NOT_ATTRIBUTED_BUILD_WINDOW (R-4);
then NOT_ATTRIBUTED_LINE_MISMATCH (R-5); then NOT_ATTRIBUTED_SYMPTOM_MISMATCH (R-6); then
EVIDENCE_INCONCLUSIVE (R-7); otherwise the attribution named by R-8.
Correlation request
----------------------------------------------------------------
Synthetic Record
----------------------------------------------------------------
Every vehicle programme, plant, line, supplier, part number, change record, claim, name and
narrative in this file is INVENTED. Generated by tools/build_corpus.py from seed 20260825. No real
manufacturer, supplier, plant, vehicle, dealer or person appears anywhere in it, and no real
warranty text was read to write it. MIT licensed, like the rest of this repository.
Cluster And Request
----------------------------------------------------------------
Correlation request : WCS-0006-C1
Cluster reference : WCS-0006
Vehicle programme : Petrel G2
Part number : P-4078-07
Part description : sill trim moulding
Claims in cluster : 6
Build dates span : 2026-02-28 to 2026-03-24
Assembly plant : Ashford Assembly
Review date : 2026-08-25
This request is : candidate signal 1 of 3 raised on this cluster
Quality engineer of record: Mei-Ling Ferreira
Containment horizon : 45 days from the review date
How this candidate got here: a loose join proposed it -- same part number, same plant, and
an effectivity falling within ninety days of this cluster's build span. A candidate list is
not a finding.
Claim Register
----------------------------------------------------------------
Claim VIN sfx Build date Line Shift Mileage Dealer code Symptom class
----------------------------------------------------------------------------------
WC-400822 8PHBVG 2026-02-28 L1 A 3,666 HW-LSE NOT_CLASSIFIED
WC-400825 R34XHL 2026-03-04 L1 B 4,573 NOISE-DRV NOT_CLASSIFIED
WC-400828 EM448J 2026-03-09 L1 C 5,480 HW-LSE NOT_CLASSIFIED
WC-400831 GENHB0 2026-03-14 L1 A 6,387 HW-LSE NOT_CLASSIFIED
WC-400834 UZ1U17 2026-03-19 L1 B 7,294 NOISE-DRV NOT_CLASSIFIED
WC-400837 GSJES5 2026-03-24 L1 C 8,201 HW-LSE NOT_CLASSIFIED
Dealer symptom codes are keyed at the service counter from a short list before the
vehicle is examined. Each covers more than one failure:
HW-LSE Hardware loose -- covers LOOSE_FASTENER, THREAD_DAMAGE
NOISE-DRV Noise heard while driving -- covers RATTLE_OVER_BUMPS, WIND_NOISE
Symptom class reads NOT_CLASSIFIED on every claim in this cluster: no quality
engineer has been through it and keyed one.
Claim Narratives
----------------------------------------------------------------
WC-400822 (Haldane and Rowe, 2026-02-28 at 3,666 miles)
Knocking noise, worse when loaded. All four fixings slack, none damaged. Torqued down and rechecked, noise gone.
WC-400825 (Petronella Auto, 2026-03-04 at 4,573 miles)
Customer says something is loose underneath. One bolt had backed out most of the way and was hanging. Refitted and torqued; checked the others and two were also slack.
WC-400828 (Larkhill Motors, 2026-03-09 at 5,480 miles)
Clunk from the nearside over bumps. Found the lower bolt finger tight and the second one about a turn loose. Torqued to spec, road tested, gone.
WC-400831 (Tenby Vale Cars, 2026-03-14 at 6,387 miles)
Rattle on rough surfaces. Two of the four fixings had backed off; threads look fine. Retorqued, marked, road tested clear.
WC-400834 (Ostbrook Autohaus, 2026-03-19 at 7,294 miles)
Knocking noise, worse when loaded. All four fixings slack, none damaged. Torqued down and rechecked, noise gone.
WC-400837 (Marchfield Garage, 2026-03-24 at 8,201 miles)
Customer says something is loose underneath. One bolt had backed out most of the way and was hanging. Refitted and torqued; checked the others and two were also slack.
Candidate Plant Signal
----------------------------------------------------------------
Signal reference : PCR-5043
Change type : SUPPLIER_LOT_PLATING
Change description : Supplier lot change -- fastener plating batch
Raised against plant : Ashford Assembly
Assembly line affected : L1
Shift affected : all shifts
Effective from (build) : 2026-02-19
Effective to (build) : 2026-03-27
Supplier of record : Vellum Fastenings
Failure modes this change is capable of producing:
CORROSION_BLOOM, THREAD_DAMAGE
What changed, in the change owner's words:
Fastener plating moved to a new bath at Vellum Fastenings after the previous line was taken down for maintenance.
Containment record : none open against this signal
Co-effective signals on these builds:
PCR-5044 LINE_REBALANCE
Line rebalance -- station content moved between two stations
effective 2026-02-16 to 2026-03-28 on L1
capable of producing: CONNECTOR_NOT_SEATED, MISSING_CLIP, LOOSE_FASTENER
Correlation Policy (Default)
----------------------------------------------------------------
CORRELATION POLICY (DEFAULT) -- ILLUSTRATIVE, NOT ANY REAL MANUFACTURER'S TERMS
R-1 If the candidate signal has no effective build dates, or its change type is not one of the
types listed on this request, or any claim in the register is missing a build date, line or
shift, the verdict is CONTEXT_INCOMPLETE. Nothing is attributed, claims_attributed is 0, the
axis is NONE, the signal reference is NONE and no 8D is raised. There is no default cause for
a cluster whose build records were never supplied.
R-2 The signal's EFFECTIVE BUILD WINDOW runs from its effective-from date to its effective-to
date, EXTENDED to the residual-stock date where the change record states one. Stock already at
the line side is fitted after a changeover is recorded; a window that ignores it is short.
R-3 A claim is COVERED by the signal when its build date falls inside the effective build window
AND it was built on a line the change touched AND on a shift the change touched. A change
recorded against every line, or every shift, covers all of them.
R-4 If NO claim in the register has a build date inside the effective build window, the verdict is
NOT_ATTRIBUTED_BUILD_WINDOW on the BUILD_WINDOW axis. The change was not running when these
vehicles were built.
R-5 If claims fall inside the window but NONE of them were built on a line and shift the change
touched, the verdict is NOT_ATTRIBUTED_LINE_MISMATCH. Name the axis SHIFT where the change is
recorded against a named shift, and LINE otherwise. The same part is fitted on more than one
line and in more than one plant; a date that lines up is not a cause.
R-6 Read the technician narratives and decide the ONE failure-mode family the cluster actually
describes. Where a SYMPTOM CLASS has been keyed against the claims, it is authoritative. Where
it reads NOT CLASSIFIED, the narratives are the only evidence -- the dealer symptom code is
keyed at the service counter before the vehicle is examined and is not reliable.
If that family is NOT among the failure modes this change is stated to be capable of
producing, the verdict is NOT_ATTRIBUTED_SYMPTOM_MISMATCH on the SYMPTOM axis, however
exactly the dates and the part number line up.
R-7 If another change listed under Co-Effective Signals was effective over the same builds on the
same line and is also capable of producing that same failure-mode family, the printed evidence
does not separate them: the verdict is EVIDENCE_INCONCLUSIVE, the axis is NONE, the signal
reference is NONE, claims_attributed is 0 and no 8D is raised. Naming one of two
indistinguishable causes is worse than saying the evidence does not choose.
R-8 Otherwise the cluster IS attributed to this signal. Name the verdict from the change type:
ATTRIBUTED_SUPPLIER_LOT for a supplier lot change, ATTRIBUTED_PROCESS_CHANGE for a process or
tooling change, ATTRIBUTED_SHIFT_OR_LINE for a shift pattern, line rebalance or operator
cohort. claims_attributed is the number of COVERED claims from R-3. The signal reference is
the change record's reference as printed.
R-9 Name the deciding axis from the change type: SUPPLIER_LOT for a supplier lot change,
PROCESS_STEP for a process or tooling change, SHIFT for a shift pattern change, LINE for a
line rebalance or operator cohort.
R-10 Raise an 8D (raise_8d YES) for an attributed cluster UNLESS a containment record for this same
signal is printed with a closure date on or before the review date, in which case the answer
is NO and the reason is that it is already contained. Every non-attributed verdict is NO.
Plant Notes
----------------------------------------------------------------
Two of these claims came through the same dealer group within a week of each other, which is why the cluster was raised at this size.