The Occestra Quality Standard · v1.2.0
The rubric that grades every artifact — including ours.
Most AI creative services have no standard at all; the rest have a standard you cannot read. Occestra's is published, versioned, and generated from the exact constants the grading engine executes — this page is rendered at build time from rubricAsMarkdown() in @occestra/tribunal, so it cannot drift from the shipped code.
Philosophy: deterministic first
Cheap checks run first, on everything, every time. Budget sums, schedule overlaps, real calendar dates, pixel dimensions, WCAG contrast, dead links, file weight, policy violations — deterministic code that never hallucinates and cannot be argued with. A hard failure cannot be rescued by a good score.
Model critique is versioned and constrained. The critic scores five axes against the published thresholds. It applies a substitution test to copy — if a sentence could be pasted into a thread about a different product, it is filler and scores accordingly. Its identity and rubric version ship in every report.
Failures go back. A failing artifact receives a concrete repair brief and is regenerated — at most two passes. And when repair isn't enough, the artifact ships marked fail, report included. We have real packs in the gallery whose pass rate is 60% — kept, because the alternative is a standard that bends.
Reports always ship. Every pack carries the full TribunalReport for every artifact: axes, checks, issues, repairs, gaps. Grading that hides its results is decoration.
The rubric, verbatim
Occestra Quality Standard (OQS) v1.2.0
Every artifact Occestra produces is graded against this rubric before it ships. The rubric below is generated from the same constants the grading engine runs, so what is published here is exactly what is enforced.
Pass rule
An artifact passes when every axis in its profile scores at least 70/100 and no hard check fails. On failure the Tribunal writes a concrete repair brief and the artifact is regenerated — at most 2 repair passes. The full report ships inside the pack either way, pass or fail.
Profiles
An artifact is graded on the axes that mean something for what it is. An invitation image and a budget are not judged alike. Axes are of two kinds: correctness axes ask whether the artifact is true and usable — a failure means it says or shows something wrong, and no amount of craft redeems that. Craft axes ask whether it is well made. Both clear the same floor. A correctness axis may only fall below its floor if the critic can quote the exact defect; craft is allowed to be a judgement.
Visual profile
Images: invitations, keepsakes, heroes, marks, moodboards.
| Axis | Kind | Threshold | What it measures |
|---|---|---|---|
| Composition | craft | 70/100 | Deliberate structure and hierarchy — a focal point, balance, breathing room; not a centred blob. |
| Legibility | correctness | 70/100 | Any text present is readable at its intended size and contrast; nothing crushed, clipped, or ambiguous. |
| Style fidelity | craft | 70/100 | Unmistakably the requested House Style — its palette, type direction, and material language. |
| Subject fidelity | correctness | 70/100 | The artifact DEPICTS what the brief commissioned, independent of style. The right subject, rendered in the House Style — not the House Style rendering the wrong subject. |
| Platform fit | craft | 70/100 | Right for where it will live — dimensions, aspect, length, tone appropriate to the medium and audience. |
| Defects | correctness | 70/100 | Free of rendering defects — no warped anatomy, no melted or duplicated elements, no garbled pseudo-lettering. |
Written profile
Copy and documents: toasts, threads, story pages, landing specs.
| Axis | Kind | Threshold | What it measures |
|---|---|---|---|
| Voice | craft | 70/100 | The right register for the moment and audience — human, intentional, never boilerplate. |
| Specificity | craft | 70/100 | Concrete and earned. Every sentence carries information a reader could not have guessed. |
| Factual support | correctness | 70/100 | Every factual claim is true, and nothing is asserted with more certainty than the text has earned. |
| Structure | craft | 70/100 | A clear shape — an entry point, ordered parts, a landing. Not one undifferentiated run of text. |
| Platform fit | craft | 70/100 | Right for where it will live — dimensions, aspect, length, tone appropriate to the medium and audience. |
Plan profile
Grounded, structured occasion work: plans, schedules, budgets, guides.
| Axis | Kind | Threshold | What it measures |
|---|---|---|---|
| Source coverage | correctness | 70/100 | Every grounded claim — venue, hours, weather, price — carries a real source and a retrieval time. |
| Date validity | correctness | 70/100 | Every date is a real calendar date, consistent with the occasion and with the other artifacts. |
| Schedule feasibility | correctness | 70/100 | The running order is physically possible — no overlaps, no impossible travel between venues. |
| Budget consistency | correctness | 70/100 | Line items sum to the total, the currency fits the place, and per-head figures are sane. |
| Contingency | craft | 70/100 | Real fallbacks keyed to the actual forecast and constraints — not a generic 'have a backup plan'. |
| Uncertainty disclosure | correctness | 70/100 | What is not known is stated plainly. Nothing is presented as booked, confirmed, or certain when it is not. |
The plan profile's axes are its full vocabulary. A single plan-family artifact is graded on the subset that applies to its kind — a schedule is judged on feasibility and dates, a budget on its arithmetic, a contingency on its fallbacks. None is faulted for lacking a section that belongs to a different artifact in the pack.
Pack profile
The whole delivery, graded once — computed, not model-judged.
| Axis | Kind | Threshold | What it measures |
|---|---|---|---|
| Completeness | correctness | 70/100 | Every deliverable the brief asked for was produced and delivered — nothing silently dropped. |
| Cross-artifact consistency | correctness | 70/100 | The artifacts agree with each other — the same date, city, and names throughout the pack. |
| Brief satisfaction | craft | 70/100 | The pack, as a whole, is a good answer to what was asked — not just a set of individually-passing parts. |
A failing correctness score must be QUOTABLE
A correctness axis may only fall below its floor if the critic can quote the exact thing that is wrong — the unsourced claim, the ambiguous time, the wrong subject in the picture. A correctness failure with no citable cause is discarded and the score restored to the floor. This does not lower the bar; it raises what it takes to fail something, because the critic was measured disagreeing with itself and a citable cause is reproducible even when the number is not. Craft axes are exempt — nobody re-litigates a composition of 68.
Deterministic checks
These run first, on every artifact, every time — they are cheap, they never hallucinate, and a hard failure cannot be argued away by a good score.
| Check | Applies to | Severity | Description |
|---|---|---|---|
SCHEMA_INVALID |
all | hard | The artifact does not satisfy its own published schema. |
POLICY_VIOLATION |
all | hard | Final copy re-screened by the PolicyGate: third-party IP, real-person likeness, or unsafe content. |
SOURCE_MISSING |
grounded claims in plans | hard | A factual claim (venue, hours, weather, price) ships without a source and a retrieval timestamp. |
BUDGET_SUM_MISMATCH |
budget | hard | Line items do not sum to the stated total (tolerance $0.01). |
SCHEDULE_OVERLAP |
schedule | hard | Two schedule items overlap in time, or two venues are separated by an impossible gap (under 5 minutes to travel). |
SCHEDULE_CONSTRAINT |
schedule | hard | The running order crosses a timing bound the client stated in the brief — starting before guests can arrive, or still running after the stated finish. |
DATE_INVALID |
plan | hard | A date is not a real calendar date, or contradicts the occasion date. |
DIM_ASPECT_MISMATCH |
images | hard | Rendered pixel dimensions do not match the dimensions the artifact was specified at. |
PLACEHOLDER_TEXT |
all copy (md, html, json) | hard | Finished copy still contains a placeholder — [BRACKETS], YOUR X HERE, TBD, TK, XXX, or lorem ipsum. A placeholder that reaches a buyer ships looking deliberate, which is worse than an omission. |
CONTRAST_LOW |
invites/cards | soft | Body text falls below a 4.5:1 WCAG contrast ratio against its background. |
PALETTE_DRIFT |
images | soft | Dominant colours drift away from the declared House Style palette. |
LINK_DEAD |
launch kit | soft | A referenced link does not resolve. |
TEXT_OVERFLOW_RISK |
invites/cards | soft | Copy is long enough to overflow or crush its layout slot. |
FILE_TOO_LARGE |
images | soft | A PNG exceeds 4 MB, which is too heavy to share comfortably. |
Thresholds
{
"budgetToleranceUsd": 0.01,
"minTravelGapMinutes": 5,
"minContrastRatio": 4.5,
"maxPaletteDistance": 70,
"maxPngBytes": 4194304,
"textBudgets": {
"invitation": 420,
"guest_guide": 3000,
"toast": 1200,
"carousel": 1800,
"launch_thread": 2400,
"story_page": 6000,
"og_image": 120,
"landing_spec": 9000,
"demo_script": 4000
}
}
Machine-readable
GET https://api.occestra.xyz/standard returns the same rubric — JSON with an Accept: application/json header, markdown otherwise. Version changes bump oqsVersion, and every pack records the version that graded it.