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": 28,
"specificity": 42,
"factual_support": 22,
"structure": 55,
"platform_fit": 45
},
"issues": [
"Voice is committee-cheerful throughout — exclamation marks in every paragraph, 'We can't wait to see you there!', 'wonderful evening' — directly contradicts the brief's instruction for warm and plain, as though a neighbour wrote it, no exclamation marks, no clip-art cheer.",
"Specificity: 'food, friendship and music for all the family' and 'dancing until late' are filler phrases that could appear in any village-hall flyer; they carry no information specific to this occasion.",
"The RSVP deadline is stated only as 'by the end of August' — the brief requires it stated unambiguously; end of August is ambiguous (31 August? last Friday of August?).",
"The dietary contact is entirely absent — the brief lists it as a mandatory element.",
"The place name 'Llanfihangel Village Hall' is present but the brief specifies Llanfihangel, Powys; the county is omitted, which may matter for disambiguation in a printed invitation sent to people who may not know the area.",
"Structure: the artifact is a single undifferentiated block of short paragraphs with no hierarchy between the emotional line, the logistics, and the call to action; functional details (date, time, what to bring, RSVP) are scattered rather than grouped.",
"Platform fit: the copy ignores the Amethyst Editorial house style entirely — no distinction between an editorial serif emotional line and a grotesk functional block; the tone is wrong for a literary, considered register.",
"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 all exclamation marks. Replace cheerful committee phrasing ('wonderful evening', 'We can't wait to see you there!', 'puddings especially welcome!') with plain, warm, neighbourly prose — one person writing to another, not a flyer. 2. DELETE the ticket price line entirely ('Tickets £8 on the door, children go free') — the licence forbids implying the event is ticketed or that food is sold. 3. DELETE the invented details: raffle, bar, dancing. Nothing not in the brief may be stated as fact. 4. ADD the dietary contact — the brief requires it; it is currently absent. Supply a placeholder if the actual contact was not provided, e.g. '[dietary requirements: contact NAME at EMAIL/PHONE]'. 5. Make the RSVP deadline unambiguous — change 'by the end of August' to a specific date, e.g. 'by Sunday 31 August 2027'. 6. Add 'Powys' to the location line so it reads 'Llanfihangel Village Hall, Powys'. 7. Restructure into two clear blocks: (a) an editorial emotional line — one or two sentences of warm, plain welcome; (b) a tightly tracked functional block listing date, day, time, place, what to bring, dietary contact, RSVP deadline — each on its own line, no prose padding. 8. Ensure no sentence passes the substitution test — every sentence must carry information specific to this supper in this village."
}