The structured data, exactly as delivered
{
"oqsVersion": "1.2.0",
"profile": "written",
"deterministic": [
{
"id": "TEXT_OVERFLOW_RISK",
"hard": false,
"passed": false,
"detail": "Copy is long enough to overflow its layout slot.",
"evidence": [
"535 characters (budget 420 for invitation)"
]
},
{
"id": "BUDGET_SUM_MISMATCH",
"hard": true,
"passed": true,
"detail": "Not a budget.",
"evidence": []
},
{
"id": "CONTRAST_LOW",
"hard": false,
"passed": true,
"detail": "A generated md carries no lettering (Occestra never renders type into imagery), so there is no contrast to measure.",
"evidence": []
},
{
"id": "DATE_INVALID",
"hard": true,
"passed": true,
"detail": "Not a plan; no date to check.",
"evidence": []
},
{
"id": "DIM_ASPECT_MISMATCH",
"hard": true,
"passed": true,
"detail": "Not an image.",
"evidence": []
},
{
"id": "FILE_TOO_LARGE",
"hard": false,
"passed": true,
"detail": "Not an image.",
"evidence": []
},
{
"id": "LINK_DEAD",
"hard": false,
"passed": true,
"detail": "No links asserted.",
"evidence": []
},
{
"id": "PALETTE_DRIFT",
"hard": false,
"passed": true,
"detail": "Not an image.",
"evidence": []
},
{
"id": "PLACEHOLDER_TEXT",
"hard": true,
"passed": true,
"detail": "No placeholder text survives in the finished copy.",
"evidence": []
},
{
"id": "POLICY_VIOLATION",
"hard": true,
"passed": true,
"detail": "Final copy is clean.",
"evidence": []
},
{
"id": "SCHEDULE_CONSTRAINT",
"hard": true,
"passed": true,
"detail": "Not a schedule.",
"evidence": []
},
{
"id": "SCHEDULE_OVERLAP",
"hard": true,
"passed": true,
"detail": "Not a schedule.",
"evidence": []
},
{
"id": "SCHEMA_INVALID",
"hard": true,
"passed": true,
"detail": "Artifact and payload satisfy their schemas.",
"evidence": []
},
{
"id": "SOURCE_MISSING",
"hard": true,
"passed": true,
"detail": "Not a plan; no grounded claims.",
"evidence": []
}
],
"axes": {
"voice": 42,
"specificity": 55,
"factual_support": 30,
"structure": 62,
"platform_fit": 48
},
"issues": [
"The artifact uses exclamation marks throughout ('Join us for our annual Harvest Supper!', 'puddings especially welcome!', 'We can't wait to see you there!') — the brief explicitly forbids them.",
"The RSVP deadline is stated as 'by the end of August' rather than a specific date; the brief requires it to be stated unambiguously.",
"The dietary contact is entirely absent; the brief lists it as a mandatory element.",
"The place is given only as 'Llanfihangel Village Hall' with no mention of Powys — the brief names the location as Llanfihangel, Powys.",
"The brief specifies the copy must read like a neighbour wrote it, not a committee — the artifact reads as standard committee-hall copy with generic warmth phrases ('wonderful evening', 'We can't wait to see you there').",
"The mention of a raffle and a bar are not in the brief and may conflict with the hall licence context; they are unverifiable additions.",
"The mention of music and dancing until late is not in the brief and cannot be verified.",
"'A wonderful evening of food, friendship and music for all the family' passes the substitution test — it could describe any community event and carries no information specific to this occasion.",
"TEXT_OVERFLOW_RISK: Copy is long enough to overflow its layout slot."
],
"pass": false,
"failedOn": "both",
"repairs": 0,
"notes": [
"Critique by claude-sonnet-4-6, written profile."
],
"coverageGaps": [],
"repairBrief": "1. REMOVE the ticket line entirely ('Tickets £8 on the door, children go free'). The hall licence forbids implying the event is ticketed or that food is sold. Replace with nothing — the bring-a-dish instruction and the hot main are sufficient.\n2. REMOVE 'There will be a raffle, a bar, and dancing until late.' None of these are in the brief; the bar and raffle may breach the licence. Do not replace unless the client confirms them.\n3. REMOVE all exclamation marks. The brief forbids them. Replace terminal '!' with '.' throughout.\n4. ADD the dietary contact. The brief requires it. Use a placeholder if the actual contact was not supplied, e.g. 'For dietary requirements, contact [NAME] at [CONTACT].' — but do not omit the line.\n5. MAKE the RSVP deadline specific. 'By the end of August' is ambiguous. Change to the actual date (e.g. 'by Sunday 31 August') or, if the date was not supplied, flag it as a gap to the client rather than leaving the vague phrase.\n6. ADD 'Powys' to the location line so it reads 'Llanfihangel Village Hall, Powys'.\n7. REWRITE the opening sentence. 'Join us for our annual Harvest Supper. A wonderful evening of food, friendship and music for all the family.' is generic committee copy. Write it as a neighbour would — plain, direct, warm without performance. Example register: 'We're putting on a harvest supper at the village hall and we'd love you to come.' Do not mention music unless the client confirms it.\n8. REMOVE 'We can't wait to see you there' — it is the kind of sign-off a committee writes, not a neighbour. End on the RSVP or dietary line instead."
}