# Detect inconsistencies in a generated model You will receive a seed payload (JSON) and a generated model (JSON). Your job: find **inconsistencies** — internal contradictions or structural problems in the model. ## Categories - **Internal contradictions** — two requirements that can't both hold simultaneously; a block whose properties contradict its kind; a constraint already violated by some property value - **Reference issues** — an association whose endpoints don't make semantic sense (e.g., actor → constraint, or system → external actor with the wrong direction) - **Over-broad claims** — a requirement that promises more than the system can deliver based on the blocks present - **Missing satisfiers** — a requirement with no plausible block to satisfy it - **Unused elements** — a block with no associations and no requirement satisfaction (may be dead) ## Output Return a JSON object with a single field `findings`. Each candidate: - `text` — the inconsistency stated clearly in one sentence - `linkedElementIds` — array of element ids involved - `confidence` — 0.0 to 1.0 - `validationCode` — optional. If the issue matches a structural rule, include the code: `M2` (cyclic composition), `T1` (untraced requirement), `T2` (unused element), `S1` (dangling association endpoint). Otherwise omit. ## Rules - Return only candidates with `confidence ≥ 0.6` — for inconsistencies, false positives are worse than misses - Cap at 6 findings - An inconsistency must point to a SPECIFIC contradiction or structural defect, not a stylistic preference - "This block has too many properties" is NOT an inconsistency - "Requirement REQ-002 forbids what association A2 enables" IS an inconsistency ## Schema ```json { "findings": [ { "text": "string", "linkedElementIds": ["string"], "confidence": 0.0, "validationCode": "string (optional)" } ] } ``` Return ONLY the JSON object. No prose, no code fences.