diff --git a/README.md b/README.md index 53a4a93..412a02a 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,16 @@ **A deliberately complicated presentation that AI struggles to make natively.** -Gloss is an open, 20-slide challenge for presentation-generating AI. The goal is -not to make screenshots that happen to look like slides. The goal is to make a -real presentation: editable text, native charts and tables, working masters and -layouts, live fields, connected shapes, correct reading order, and intentional -grouping all the way down. +Gloss is the presentation itself: an open, deliberately complicated 20-slide +challenge for presentation-generating AI. The goal is not to make screenshots +that happen to look like slides. The goal is to make a real presentation: +editable text, native charts and tables, working masters and layouts, live +fields, connected shapes, correct reading order, and intentional grouping all +the way down. -The deck is the challenge. Gloss also includes a small checker that makes native -object changes easy to see, plus deeper measurement tools for people developing -generators and evaluation systems. +Gloss is not primarily a measurement tool. The deck is the challenge. A small +checker and deeper measurement tools are bundled with it to make native quality +easy to inspect, compare, and improve. The name expands to **Generative Layout & Object Structure Standard**: a reminder that layout is visible, while object structure is what keeps a presentation real. @@ -265,13 +266,14 @@ possible today. Google Slides and Keynote coverage should use the same public, artifact-first philosophy as their reliable inspection surfaces mature. Help us define those adapters in [Issues](https://github.com/aronchick/gloss/issues). -## Measurement is the support layer +## The tools make measurement easy -The simple check answers the first question: *what native objects changed?* The -bundled advanced grader can also inspect rendered pixels, typography, geometry, -charts, tables, layouts, masters, text semantics, relationships, and package -safety. Those tools exist to make this hard presentation easier to understand and -improve; they are not the product’s identity. +The presentation is Gloss. The tools are its measuring instruments. The simple +check answers the first question: *what native objects changed?* The bundled +advanced grader can also inspect rendered pixels, typography, geometry, charts, +tables, layouts, masters, text semantics, relationships, and package safety. +They make the hard presentation easier to understand and improve; they are not +the product’s identity. The current candidate suite contains 280 schema-valid checks and generated operator fixtures. That evidence proves configured checker behavior, not an diff --git a/gloss-v1/benchmark/prompts/DESIGNER_BRIEF.md b/gloss-v1/benchmark/prompts/DESIGNER_BRIEF.md index 27e4258..3bcae86 100644 --- a/gloss-v1/benchmark/prompts/DESIGNER_BRIEF.md +++ b/gloss-v1/benchmark/prompts/DESIGNER_BRIEF.md @@ -737,92 +737,104 @@ This slide's purpose is to verify that the master/layout is being used correctly --- -## Slides 13-20 (Level 3) — Brief Specifications +## Slides 13-20 (Level 3) — Exact Specifications ### SLIDE 13: Composite Stress Combines: native chart (pie chart, 6 segments), native table (4×3), one approved image, Arabic text annotation, repeated layout elements, dense callout annotations. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout and title the slide `Composite Stress` in Carlito 36pt Bold at (1.5cm, 0.5cm). - Add one native pie chart at (1.5cm, 3cm), size 10cm × 8cm. Use six labeled values: `Structure 28`, `Text 22`, `Visual 18`, `Assets 14`, `Fields 10`, `Other 8`; show percentage labels and no legend. - Add one native 4-row × 3-column table at (13cm, 3cm), size 9cm × 7cm. Header: `Check`, `Status`, `Weight`. Rows: `Schema | Pass | 3`, `Rendering | Pass | 2`, `Assets | Review | 1`. - Insert `cityscape.png` at (23cm, 3cm), size 8cm × 6cm, cropping 15% from the left. Use only asset ID `cityscape` from the manifest. -- Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` in Noto Sans Arabic 14pt with native RTL direction. -- Add three dense rounded callouts labeled `NATIVE CHART`, `NATIVE TABLE`, and `APPROVED ASSET`; connect each to its target and keep all data labels visible. +- Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` at (12.5cm, 11cm), size 19cm × 1.3cm, in Noto Sans Arabic 14pt with native RTL direction and right alignment. +- Add three rounded callouts at y=12.5cm: `NATIVE CHART` at (2.5cm, 12.5cm), size 7cm × 1.8cm, teal; `NATIVE TABLE` at (13cm, 12.5cm), size 7cm × 1.8cm, coral; and `APPROVED ASSET` at (23.5cm, 12.5cm), size 7.5cm × 1.8cm, gold. Center each label in Liberation Sans 12pt Bold. +- Connect the chart, table, and image to their callouts with 1pt vertical lines at x=6cm from y=11cm to 12.5cm, x=16.5cm from y=10cm to 12.5cm, and x=27cm from y=9cm to 12.5cm. Keep all chart data labels visible. ### SLIDE 14: RTL-Heavy Comparison Two-column layout with heavy Arabic text on left (5+ paragraphs with mixed Arabic/English), English summary on right. Bidirectional text within single paragraphs (e.g., "The الذكاء الاصطناعي revolution"). Mirrored alignment: Arabic column is right-aligned, English column is left-aligned. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Two-Column** layout with title `RTL Systems Review`. -- The left column contains at least five separate Arabic paragraphs in Noto Sans Arabic 14pt with native RTL paragraph direction. Include these exact phrases: `مراجعة الأنظمة الموزعة`, `دقة العرض`, `سلامة البنية`, `The الذكاء الاصطناعي revolution`, and `الإصدار Gloss v1`. -- The right column contains five English summary paragraphs in Liberation Sans 14pt, beginning with `A structural benchmark must preserve meaning and direction.` -- Right-align the Arabic column and left-align the English column. Mirror their inner padding and keep a 1pt teal divider centered between them. +- Put the Arabic column at (1.5cm, 3.2cm), size 14cm × 12cm, in Noto Sans Arabic 14pt with native RTL paragraph direction and right alignment. Use six paragraphs exactly: `مراجعة الأنظمة الموزعة`; `دقة العرض هي أساس المقارنة بين الأنظمة.`; `سلامة البنية تحافظ على المعنى والتفاعل.`; `The الذكاء الاصطناعي revolution تتطلب نصاً ثنائي الاتجاه.`; `الإصدار Gloss v1 يختبر التوافق.`; and `يجب الحفاظ على علامات الترقيم وترتيب Unicode.` +- Put the English column at (18.5cm, 3.2cm), size 13.5cm × 12cm, in Liberation Sans 14pt with left alignment. Use five paragraphs exactly: `A structural benchmark must preserve meaning and direction.`; `Rendering alone cannot prove native editability.`; `Bidirectional runs must retain their Unicode order.`; `Mirrored padding makes the comparison deliberate.`; and `The benchmark records both artifact and visual fidelity.` +- Keep a 1pt teal divider at x=16.9cm from y=3cm through y=15.5cm. Mirror the columns’ inner padding around that divider. - Mixed Arabic/English runs must preserve Unicode character order and visible punctuation without converting text to outlines. ### SLIDE 15: Rotated Text Multiple text boxes at different rotation angles: 0°, 45°, 90°, 135°, 270°. Supporting shapes aligned to the rotated text. Tests exact anchor points for rotated elements. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Rotation Atlas`. - Create five text boxes labeled exactly `Baseline 0°`, `Diagonal 45°`, `Vertical 90°`, `Reverse 135°`, and `Vertical 270°`. -- Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm, uses Liberation Sans 16pt Bold, and has a matching 6cm × 2cm supporting rectangle sharing its center and rotation. -- Distribute the five pairs evenly from x=2cm through x=28cm on a common y=8cm anchor line. Keep text editable and store rotations in native OOXML transforms. +- Draw a 0.5pt teal alignment rule from (1.5cm, 8cm) to (32cm, 8cm), behind every object. +- Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm at y=7.25cm and uses centered Liberation Sans 16pt Bold. Set their x positions to 1.5cm, 7.5cm, 13.5cm, 19.5cm, and 25.5cm. +- Place a matching 6cm × 2cm supporting rectangle behind each text box at y=7cm and x=1cm, 7cm, 13cm, 19cm, and 25cm. Use navy, teal, coral, gold, and navy fills respectively at 70% opacity. Each rectangle shares its text box’s center and rotation. Keep text editable and store rotations in native transforms. ### SLIDE 16: Intentional Off-Canvas Bleed -Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 5cm past the right edge. These are intentional design choices, not errors. +Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 7cm past the right edge. These are intentional design choices, not errors. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Beyond the Frame`. -- Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 5cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm). -- Add on-canvas labels `INTENTIONAL BLEED` and `Negative coordinates are part of the composition.` +- Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 7cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm). +- Put `INTENTIONAL BLEED` at (9cm, 6.5cm), size 15cm × 1.8cm, in centered Carlito 28pt Bold. Put `Negative coordinates are part of the composition.` at (7.5cm, 9cm), size 18cm × 1.4cm, in centered Liberation Sans 18pt. - Preserve negative and over-bound coordinates in OOXML. Do not replace the composition with a screenshot, hide content under opaque shapes, or move the objects fully on-canvas. ### SLIDE 17: Deep Grouping 3 levels of nested groups. Inner groups contain exactly 3 shapes each. Middle groups contain exactly 2 inner groups. Outer group wraps everything. Z-order must be exact within each nesting level. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Nested Systems`. -- Build one outer group containing three middle groups. Each middle group contains two inner groups; each inner group contains three leaf shapes (18 leaf shapes total). +- Build one outer group at (3cm, 3cm), size 27cm × 13cm, containing three middle groups: `INPUT` at (3cm, 3cm), `PROCESS` at (13.219cm, 3cm), and `OUTPUT` at (23.438cm, 3cm). Each middle group is 6.562cm × 13cm and contains two inner groups. +- Place the six 6.562cm × 4.333cm inner groups at (3cm, 3cm), (3cm, 11.667cm), (13.219cm, 3cm), (13.219cm, 11.667cm), (23.438cm, 3cm), and (23.438cm, 11.667cm), labeled `A1`, `A2`, `B1`, `B2`, `C1`, and `C2` respectively. +- Each inner group contains exactly three leaf objects: a 45%-opaque colored circle at the bottom of z-order, an 85%-opaque rounded panel above it, and a centered Carlito 18pt Bold editable label on top. Use navy for A1/B1/C1 and teal for A2/B2/C2. Keep the middle-group label (`INPUT`, `PROCESS`, or `OUTPUT`) inside each panel. - Use native group objects at all three levels. Label the middle groups `INPUT`, `PROCESS`, and `OUTPUT`; label inner groups `A1`, `A2`, `B1`, `B2`, `C1`, and `C2`. -- Within every inner group, z-order is circle below rounded rectangle below label. The full outer group's bounding box has top-left position (3cm, 3cm) and size 27cm × 13cm. +- Within every inner group, z-order is circle below rounded rectangle below label. Preserve the exact outer, middle, and inner group transforms instead of flattening the composition. ### SLIDE 18: Multi-Column Editorial 3-column magazine-style layout with mixed English/Japanese text. Each column has a header image (from assets), body text, and a pull quote. Pattern fill on the background of one column. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Three Cities / 三つの都市`. -- Build three equal 9.5cm-wide editorial columns with 0.9cm gutters. Each column contains a 9.5cm × 3.5cm approved header image, a heading, body copy, and a pull quote. +- Build three 9.5cm-wide columns at x=1.784cm, 12.184cm, and 22.584cm, leaving 0.9cm gutters. In every column, put a 9.5cm × 3.5cm header image at y=3cm, a 9.5cm × 1.1cm heading at y=6.9cm, 9.5cm × 4.6cm body copy at y=8.2cm, and a 9.5cm × 2.5cm centered pull quote at y=13.2cm. - Column images, left to right: `cityscape.png`, `texture-pattern.png`, `cityscape.png`. Center the crop of each image and do not use unlisted media. -- Headings: `Systems`, `システム`, `Shared Futures`. Include the exact Japanese line `生成されたスライドは構造と意味を保持します。` -- Apply the approved `texture-pattern.png` as a tiled background only to the center column at 20% opacity. Use 0.9cm gutters consistently. +- Use this exact content: left heading `Systems`, body `Cities expose the systems beneath daily life: transport, energy, data, and the people who connect them.`, quote `“Structure makes the invisible legible.”`; center heading `システム`, body `生成されたスライドは構造と意味を保持します。\n編集可能な構造が共有された理解を支えます。`, quote `“構造は意味を運びます。”`; right heading `Shared Futures`, body `A common visual language lets teams compare evidence, preserve intent, and build toward shared futures.`, quote `“Consistency is a form of trust.”` +- Apply `texture-pattern.png` as a tiled background only to the center column at (12.184cm, 2.5cm), size 9.5cm × 14.5cm, at 20% opacity. Set each pull quote on a navy rectangle at 80% opacity. ### SLIDE 19: Repetition and Consistency Visually identical to the design system — every element must match the master's font sizes, colors, spacing, and line weights exactly. Tests deck-wide consistency. Internal hyperlinks to Slides 1 and 5 (not external URLs). -## Explicit v1 constraints +## Exact v1 constraints - Use the **Content Slide** layout with title `Design System Audit`. -- Show five samples labeled `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. Each sample must use the deck-level tokens exactly: Carlito 36pt, Liberation Sans 18pt, navy `#1B2A4A`, coral `#E8634A`, teal `#2AACB8`, and a 0.5pt teal rule. -- Create two native internal hyperlinks: `Return to Cover` targets Slide 1 and `Meet the Team` targets Slide 5. Do not use external URLs. +- Put the five 5.5cm × 0.9cm sample labels at x=1.8cm and y=3cm, 5.7cm, 8.4cm, 11.1cm, and 13.8cm: `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. +- For Typography, put `Carlito 36` at (8.5cm, 2.7cm), size 9cm × 1.52cm, in Carlito 36pt, and `Liberation Sans 18` at (20.5cm, 2.9cm), size 10cm × 1.1cm, in Liberation Sans 18pt. +- For Palette, place 5cm × 1.4cm navy `#1B2A4A`, coral `#E8634A`, and teal `#2AACB8` swatches at x=8.5cm, 14.5cm, and 20.5cm, all at y=5.4cm. +- For Spacing, place two navy 4cm × 1.2cm blocks at (8.5cm, 8.2cm) and (13cm, 8.2cm), leaving exactly 0.5cm between them, and put `0.5cm token` at (18cm, 8.2cm), size 8cm × 1.2cm. +- For Line Weight, draw a 0.5pt teal rule from (8.5cm, 11.5cm) to (25.5cm, 11.5cm) and put `0.5pt teal rule` at (26.5cm, 10.95cm), size 5cm × 1.1cm. +- For Navigation, create two native internal hyperlinks: `Return to Cover` at (8.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 1; `Meet the Team` at (20.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 5. Do not use external URLs. - Footer line, company name, accent bar, and slide number remain inherited from the master/layout; do not duplicate them as slide-local shapes. ### SLIDE 20: Final Torture Slide Everything combined: chart (line chart), table (3×6), approved image (cropped), Arabic + Japanese text, rotated text box at 45°, overlapping semi-transparent shapes, nested group, master-inherited footer, gradient fill, bullet list, slide number field — all on one slide. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Gloss Synthesis`. -- Add one native line chart with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`. -- Add one native 3-row × 6-column table. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`. -- Insert `hero-abstract.png` with a 20% left crop. Add Arabic `اختبار شامل` with native RTL direction and Japanese `総合テスト` in Noto Sans CJK JP. -- Include a 45° text box labeled `ROTATED`, three overlapping semi-transparent shapes inside a two-level group, a navy-to-teal gradient, a three-item bullet list, a live slide-number field, and the inherited master footer. +- Add one native line chart at (1.5cm, 3cm), size 10.5cm × 5.5cm, with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`. +- Add one native 3-row × 6-column table at (13cm, 3cm), size 19cm × 4.5cm. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`. +- Insert `hero-abstract.png` at (13cm, 8cm), size 6.5cm × 4.2cm, with a 20% left crop. Put Arabic `اختبار شامل` at (20.5cm, 7.9cm), size 5cm × 1.44cm, in Noto Sans Arabic 18pt with native RTL direction. Put Japanese `総合テスト` at (20.5cm, 9.2cm), size 5cm × 1.1cm, in Noto Sans CJK JP 18pt. +- Put the editable text `ROTATED` at (1.6cm, 10.1cm), size 5cm × 1.3cm, in Liberation Sans 16pt Bold with a native 45° rotation. +- Build a two-level outer group at (6cm, 9.8cm), size 6.5cm × 3.6cm. Its inner group is at (6cm, 9.8cm), size 6.5cm × 3.1cm, and contains three 65%-opaque shapes in z-order: a 3cm navy circle at (6cm, 9.8cm), a 3.5cm × 2.6cm coral rounded rectangle at (7.6cm, 10.3cm), and a 3cm teal circle at (9.5cm, 9.8cm). Put `2-LEVEL GROUP` at (6.9cm, 12.6cm), size 5.2cm × 0.8cm, inside the outer group. +- Add a navy-to-teal native gradient rectangle at (25cm, 11.2cm), size 7cm × 2.2cm, with `NATIVE GRADIENT` centered at (25.3cm, 11.6cm), size 6.4cm × 1.4cm. +- Add a native three-item bullet list at (1.5cm, 14cm), size 12.5cm × 2.5cm, with exactly `Native structure retained`, `Multilingual meaning preserved`, and `Rendered fidelity verified`. +- Add `Live slide: ` followed by a live slide-number field at (22.5cm, 14.3cm), size 14.5cm × 1.5cm. Keep the inherited master footer and slide-number field as well. --- diff --git a/gloss-v1/benchmark/prompts/validation/slide-12.md b/gloss-v1/benchmark/prompts/validation/slide-12.md index 7ea707a..877f7a4 100644 --- a/gloss-v1/benchmark/prompts/validation/slide-12.md +++ b/gloss-v1/benchmark/prompts/validation/slide-12.md @@ -3,9 +3,9 @@ "authors": [], "pairwise_similarity_diagnostics": [], "prompt_hashes": { - "canonical": "sha256:8c8fbe1a7ca1f5f4af7eaab91884cb28165531b11d41246e58caa9fed6659dbe", - "paraphrase-a": "sha256:bff9a649c00839e7e0e8b498af66ac6e24a0078e95e3f8f070b1a3d1fee84ebb", - "paraphrase-b": "sha256:b74bfd39b122a9c78e4532b36a9e267c08edfb70bd66a10849b7adb567829c80" + "canonical": "sha256:f3f58d4dcefac89e165b5280f1a77628acd801f7d2b7b8d0dece0e2fec81b336", + "paraphrase-a": "sha256:de58051338911a84bdcde6df2f1846ed914fddab7b66beefebb14c9c6fadbeb4", + "paraphrase-b": "sha256:b8a864c1c3665f5826ed381b4171dd7d63e6900ced5dee0ee59daebf0a568538" }, "record_id": "gloss-prompt-validation-slide-12", "round_id": null, @@ -18,9 +18,9 @@ - Prompt contract status: complete - Canonical/paraphrase hard-constraint parity: pass -- Canonical SHA-256: `8c8fbe1a7ca1f5f4af7eaab91884cb28165531b11d41246e58caa9fed6659dbe` -- Paraphrase A SHA-256: `bff9a649c00839e7e0e8b498af66ac6e24a0078e95e3f8f070b1a3d1fee84ebb` -- Paraphrase B SHA-256: `b74bfd39b122a9c78e4532b36a9e267c08edfb70bd66a10849b7adb567829c80` +- Canonical SHA-256: `f3f58d4dcefac89e165b5280f1a77628acd801f7d2b7b8d0dece0e2fec81b336` +- Paraphrase A SHA-256: `de58051338911a84bdcde6df2f1846ed914fddab7b66beefebb14c9c6fadbeb4` +- Paraphrase B SHA-256: `b8a864c1c3665f5826ed381b4171dd7d63e6900ced5dee0ee59daebf0a568538` - Independent-author convergence: not run - Required blinded author count: 3 - Mandatory assertion pass status: pending for all 3 implementations diff --git a/gloss-v1/benchmark/prompts/validation/slide-13.md b/gloss-v1/benchmark/prompts/validation/slide-13.md index f1ad11f..55f33f8 100644 --- a/gloss-v1/benchmark/prompts/validation/slide-13.md +++ b/gloss-v1/benchmark/prompts/validation/slide-13.md @@ -3,9 +3,9 @@ "authors": [], "pairwise_similarity_diagnostics": [], "prompt_hashes": { - "canonical": "sha256:10a757d7989017806ebeb0c38c420982354a889e47af266e048c37c9fb20399d", - "paraphrase-a": "sha256:65a41f8cb4a48fbf437df1c8ba779e898ecc2fcac6365b356de9f269b63ef80f", - "paraphrase-b": "sha256:0b816533f1d9ca8a0b37f69b4e4956f4d8a9b28a6aa9120962bd3543f79fb989" + "canonical": "sha256:382821283a568690e30b6ffa51916a7ad61229593e7f58391488519629991278", + "paraphrase-a": "sha256:e09abd58869e5fa99b2d2c2d55f31a3b32ac1703887e47993b3161b5855c8eb9", + "paraphrase-b": "sha256:44bcde5d8ddd81749c543166dbc23280ca55985ed57cebda36c2728fc0934642" }, "record_id": "gloss-prompt-validation-slide-13", "round_id": null, @@ -18,9 +18,9 @@ - Prompt contract status: complete - Canonical/paraphrase hard-constraint parity: pass -- Canonical SHA-256: `10a757d7989017806ebeb0c38c420982354a889e47af266e048c37c9fb20399d` -- Paraphrase A SHA-256: `65a41f8cb4a48fbf437df1c8ba779e898ecc2fcac6365b356de9f269b63ef80f` -- Paraphrase B SHA-256: `0b816533f1d9ca8a0b37f69b4e4956f4d8a9b28a6aa9120962bd3543f79fb989` +- Canonical SHA-256: `382821283a568690e30b6ffa51916a7ad61229593e7f58391488519629991278` +- Paraphrase A SHA-256: `e09abd58869e5fa99b2d2c2d55f31a3b32ac1703887e47993b3161b5855c8eb9` +- Paraphrase B SHA-256: `44bcde5d8ddd81749c543166dbc23280ca55985ed57cebda36c2728fc0934642` - Independent-author convergence: not run - Required blinded author count: 3 - Mandatory assertion pass status: pending for all 3 implementations diff --git a/gloss-v1/benchmark/prompts/validation/slide-14.md b/gloss-v1/benchmark/prompts/validation/slide-14.md index d953fcc..cbd9a3f 100644 --- a/gloss-v1/benchmark/prompts/validation/slide-14.md +++ b/gloss-v1/benchmark/prompts/validation/slide-14.md @@ -3,9 +3,9 @@ "authors": [], "pairwise_similarity_diagnostics": [], "prompt_hashes": { - "canonical": "sha256:539c484fcf6c333a2d94ac808415702f1161d394f290b9b18dafff4a6b5616e5", - "paraphrase-a": "sha256:9caea8e79d614565d25375b5ccb2533ff61dc4612f9e2ced9ab025b6b879f111", - "paraphrase-b": "sha256:7c1052c58bae44fe3453344d622d47565b37f1e7aed29ef7c02c1954f3dc8f1c" + "canonical": "sha256:30d72528b5c55c9875dbc27f083dd96c100227895659f492fb662bb9b0e03c16", + "paraphrase-a": "sha256:d2c5f029585936e95f1918bef1d897e8236a3f61addf84634ae4cd7138abb158", + "paraphrase-b": "sha256:bb47493f69bc94239b10aa3234ac33082075b7ed9017da37a4f574bcba16434c" }, "record_id": "gloss-prompt-validation-slide-14", "round_id": null, @@ -18,9 +18,9 @@ - Prompt contract status: complete - Canonical/paraphrase hard-constraint parity: pass -- Canonical SHA-256: `539c484fcf6c333a2d94ac808415702f1161d394f290b9b18dafff4a6b5616e5` -- Paraphrase A SHA-256: `9caea8e79d614565d25375b5ccb2533ff61dc4612f9e2ced9ab025b6b879f111` -- Paraphrase B SHA-256: `7c1052c58bae44fe3453344d622d47565b37f1e7aed29ef7c02c1954f3dc8f1c` +- Canonical SHA-256: `30d72528b5c55c9875dbc27f083dd96c100227895659f492fb662bb9b0e03c16` +- Paraphrase A SHA-256: `d2c5f029585936e95f1918bef1d897e8236a3f61addf84634ae4cd7138abb158` +- Paraphrase B SHA-256: `bb47493f69bc94239b10aa3234ac33082075b7ed9017da37a4f574bcba16434c` - Independent-author convergence: not run - Required blinded author count: 3 - Mandatory assertion pass status: pending for all 3 implementations diff --git a/gloss-v1/benchmark/prompts/validation/slide-15.md b/gloss-v1/benchmark/prompts/validation/slide-15.md index 4d9fdd2..ab96a71 100644 --- a/gloss-v1/benchmark/prompts/validation/slide-15.md +++ b/gloss-v1/benchmark/prompts/validation/slide-15.md @@ -3,9 +3,9 @@ "authors": [], "pairwise_similarity_diagnostics": [], "prompt_hashes": { - "canonical": "sha256:e114750708bb759b186732535c60e893d34eb3dac4b420930218e1536292686b", - "paraphrase-a": "sha256:272a2766cdd5fad1d205579eac1f36c099f71481e6774e62bf09ae0f7a74f8b5", - "paraphrase-b": "sha256:5f03620af74ab850bf6da5eee47980e3f11a1680067867a1bd82c4c54fb03926" + "canonical": "sha256:46bb8770a220a60a0bb4b9a8a1262463ef635b06680fe4c507b87d7e1ab3631f", + "paraphrase-a": "sha256:2b16e02e855649da83cff3521ffc465672cd10871fcc03d43400946b3a8934dc", + "paraphrase-b": "sha256:66c857fd4c81366f25ac3f88d50755b48fe17a428b3c1a6d851091431b5dc3ac" }, "record_id": "gloss-prompt-validation-slide-15", "round_id": null, @@ -18,9 +18,9 @@ - Prompt contract status: complete - Canonical/paraphrase hard-constraint parity: pass -- Canonical SHA-256: `e114750708bb759b186732535c60e893d34eb3dac4b420930218e1536292686b` -- Paraphrase A SHA-256: `272a2766cdd5fad1d205579eac1f36c099f71481e6774e62bf09ae0f7a74f8b5` -- Paraphrase B SHA-256: `5f03620af74ab850bf6da5eee47980e3f11a1680067867a1bd82c4c54fb03926` +- Canonical SHA-256: `46bb8770a220a60a0bb4b9a8a1262463ef635b06680fe4c507b87d7e1ab3631f` +- Paraphrase A SHA-256: `2b16e02e855649da83cff3521ffc465672cd10871fcc03d43400946b3a8934dc` +- Paraphrase B SHA-256: `66c857fd4c81366f25ac3f88d50755b48fe17a428b3c1a6d851091431b5dc3ac` - Independent-author convergence: not run - Required blinded author count: 3 - Mandatory assertion pass status: pending for all 3 implementations diff --git a/gloss-v1/benchmark/prompts/validation/slide-16.md b/gloss-v1/benchmark/prompts/validation/slide-16.md index 2b44ea6..af3aed7 100644 --- a/gloss-v1/benchmark/prompts/validation/slide-16.md +++ b/gloss-v1/benchmark/prompts/validation/slide-16.md @@ -3,9 +3,9 @@ "authors": [], "pairwise_similarity_diagnostics": [], "prompt_hashes": { - "canonical": "sha256:fd9ca84995214fab8981ee570120b943184312c1a4d217a011d1e2966b425193", - "paraphrase-a": "sha256:dc98ef41cd217fe83b82e9083d7a5da94aa58600f4cb81828b98e30cbe8a3d0d", - "paraphrase-b": "sha256:69723c2a7ac42754147b2ffbebb2b2f20e456d9bd0f2b219ba1ddca309fb6f64" + "canonical": "sha256:55ca0d63d13be5ca86db79eaafb04e56ccc82994a4018dc2b1bf250ab44d5f4c", + "paraphrase-a": "sha256:66b91d460391074a63c6dc3cde2bea03b0cb94f7ab23a669eabcfc537f5ef96b", + "paraphrase-b": "sha256:3fd3179603711c86e774a274efa7d5920a90922612399cf8e8e63ab1294d0990" }, "record_id": "gloss-prompt-validation-slide-16", "round_id": null, @@ -18,9 +18,9 @@ - Prompt contract status: complete - Canonical/paraphrase hard-constraint parity: pass -- Canonical SHA-256: `fd9ca84995214fab8981ee570120b943184312c1a4d217a011d1e2966b425193` -- Paraphrase A SHA-256: `dc98ef41cd217fe83b82e9083d7a5da94aa58600f4cb81828b98e30cbe8a3d0d` -- Paraphrase B SHA-256: `69723c2a7ac42754147b2ffbebb2b2f20e456d9bd0f2b219ba1ddca309fb6f64` +- Canonical SHA-256: `55ca0d63d13be5ca86db79eaafb04e56ccc82994a4018dc2b1bf250ab44d5f4c` +- Paraphrase A SHA-256: `66b91d460391074a63c6dc3cde2bea03b0cb94f7ab23a669eabcfc537f5ef96b` +- Paraphrase B SHA-256: `3fd3179603711c86e774a274efa7d5920a90922612399cf8e8e63ab1294d0990` - Independent-author convergence: not run - Required blinded author count: 3 - Mandatory assertion pass status: pending for all 3 implementations diff --git a/gloss-v1/benchmark/prompts/validation/slide-17.md b/gloss-v1/benchmark/prompts/validation/slide-17.md index 8636a69..20e6510 100644 --- a/gloss-v1/benchmark/prompts/validation/slide-17.md +++ b/gloss-v1/benchmark/prompts/validation/slide-17.md @@ -3,9 +3,9 @@ "authors": [], "pairwise_similarity_diagnostics": [], "prompt_hashes": { - "canonical": "sha256:d70b572f05883784463f07e5a7d6fcdba76b222f8ce0f8b102df2eea6f2cd659", - "paraphrase-a": "sha256:4343198e7ec173c9141864a9c076dd82b7e04ebefc9a12a219a5d25786000420", - "paraphrase-b": "sha256:0e10d5bbb3d1ae9e71a01d121b5b892671b6419c753a8c9a24bc93e764d0ec65" + "canonical": "sha256:4616dafa273ff38e505a39387f0fa32618e549593d6209e5a8d6571c4a30f63e", + "paraphrase-a": "sha256:bac6c6544f907f53ec1a678cf3272a7969ea5c831684d2ab17f7e1d693a5b506", + "paraphrase-b": "sha256:c06f26f233b0eafc00a2f6e56d12fcfae64686705d6f696e249f3c5d468b475a" }, "record_id": "gloss-prompt-validation-slide-17", "round_id": null, @@ -18,9 +18,9 @@ - Prompt contract status: complete - Canonical/paraphrase hard-constraint parity: pass -- Canonical SHA-256: `d70b572f05883784463f07e5a7d6fcdba76b222f8ce0f8b102df2eea6f2cd659` -- Paraphrase A SHA-256: `4343198e7ec173c9141864a9c076dd82b7e04ebefc9a12a219a5d25786000420` -- Paraphrase B SHA-256: `0e10d5bbb3d1ae9e71a01d121b5b892671b6419c753a8c9a24bc93e764d0ec65` +- Canonical SHA-256: `4616dafa273ff38e505a39387f0fa32618e549593d6209e5a8d6571c4a30f63e` +- Paraphrase A SHA-256: `bac6c6544f907f53ec1a678cf3272a7969ea5c831684d2ab17f7e1d693a5b506` +- Paraphrase B SHA-256: `c06f26f233b0eafc00a2f6e56d12fcfae64686705d6f696e249f3c5d468b475a` - Independent-author convergence: not run - Required blinded author count: 3 - Mandatory assertion pass status: pending for all 3 implementations diff --git a/gloss-v1/benchmark/prompts/validation/slide-18.md b/gloss-v1/benchmark/prompts/validation/slide-18.md index 6cc2005..0acfa32 100644 --- a/gloss-v1/benchmark/prompts/validation/slide-18.md +++ b/gloss-v1/benchmark/prompts/validation/slide-18.md @@ -3,9 +3,9 @@ "authors": [], "pairwise_similarity_diagnostics": [], "prompt_hashes": { - "canonical": "sha256:3a466f16ec13919f6009bb9c938b96b7b18b4950127856d38669e4a9584f5d95", - "paraphrase-a": "sha256:e32d92ba37bcfc1c59820f983b5638272815be17133566981d4734b03c2dd9dc", - "paraphrase-b": "sha256:a36ae71f60bca2fc0189fb4a2f4f4e6c80b147402dfbb10252899ae51e573e78" + "canonical": "sha256:5f55790f0cc830703216a5031ea6cc5040efbbb45b9207c7e83ed67f620edf60", + "paraphrase-a": "sha256:8964ca72cae3e9e3b44c2f17873bca9b548b4240fe1747ed2a040ffba5f3d4e7", + "paraphrase-b": "sha256:0b228fc57017d0de56a93620e797f891ddbd722812cc07203b36b5c68517246e" }, "record_id": "gloss-prompt-validation-slide-18", "round_id": null, @@ -18,9 +18,9 @@ - Prompt contract status: complete - Canonical/paraphrase hard-constraint parity: pass -- Canonical SHA-256: `3a466f16ec13919f6009bb9c938b96b7b18b4950127856d38669e4a9584f5d95` -- Paraphrase A SHA-256: `e32d92ba37bcfc1c59820f983b5638272815be17133566981d4734b03c2dd9dc` -- Paraphrase B SHA-256: `a36ae71f60bca2fc0189fb4a2f4f4e6c80b147402dfbb10252899ae51e573e78` +- Canonical SHA-256: `5f55790f0cc830703216a5031ea6cc5040efbbb45b9207c7e83ed67f620edf60` +- Paraphrase A SHA-256: `8964ca72cae3e9e3b44c2f17873bca9b548b4240fe1747ed2a040ffba5f3d4e7` +- Paraphrase B SHA-256: `0b228fc57017d0de56a93620e797f891ddbd722812cc07203b36b5c68517246e` - Independent-author convergence: not run - Required blinded author count: 3 - Mandatory assertion pass status: pending for all 3 implementations diff --git a/gloss-v1/benchmark/prompts/validation/slide-19.md b/gloss-v1/benchmark/prompts/validation/slide-19.md index 8e0b0b8..be6f4d4 100644 --- a/gloss-v1/benchmark/prompts/validation/slide-19.md +++ b/gloss-v1/benchmark/prompts/validation/slide-19.md @@ -3,9 +3,9 @@ "authors": [], "pairwise_similarity_diagnostics": [], "prompt_hashes": { - "canonical": "sha256:ed99ade6772a7ff66bc99437abda1951ccf8ee0763cd9d6013fe80b783b46c9d", - "paraphrase-a": "sha256:4996474870537b4f35c6eaea0daacf8ca73f4fb78091efbdcbad4d7e68388efe", - "paraphrase-b": "sha256:558738b5c07952357c511f7029538086ac5463d1a084d1807aa57d63443f56f4" + "canonical": "sha256:418adf962d94466a9c9a0e2257ef6f17b83fee6964b017dd3d9ae757b39a6fce", + "paraphrase-a": "sha256:4ae70b8280cdb45e511f8def414269d24b0c911b845153999737fb7392ee8d64", + "paraphrase-b": "sha256:60cc142c319c146a2272d3d5bafe40078e40ba7b7833e115495e50baac89fdac" }, "record_id": "gloss-prompt-validation-slide-19", "round_id": null, @@ -18,9 +18,9 @@ - Prompt contract status: complete - Canonical/paraphrase hard-constraint parity: pass -- Canonical SHA-256: `ed99ade6772a7ff66bc99437abda1951ccf8ee0763cd9d6013fe80b783b46c9d` -- Paraphrase A SHA-256: `4996474870537b4f35c6eaea0daacf8ca73f4fb78091efbdcbad4d7e68388efe` -- Paraphrase B SHA-256: `558738b5c07952357c511f7029538086ac5463d1a084d1807aa57d63443f56f4` +- Canonical SHA-256: `418adf962d94466a9c9a0e2257ef6f17b83fee6964b017dd3d9ae757b39a6fce` +- Paraphrase A SHA-256: `4ae70b8280cdb45e511f8def414269d24b0c911b845153999737fb7392ee8d64` +- Paraphrase B SHA-256: `60cc142c319c146a2272d3d5bafe40078e40ba7b7833e115495e50baac89fdac` - Independent-author convergence: not run - Required blinded author count: 3 - Mandatory assertion pass status: pending for all 3 implementations diff --git a/gloss-v1/benchmark/prompts/validation/slide-20.md b/gloss-v1/benchmark/prompts/validation/slide-20.md index 0fc4665..9561572 100644 --- a/gloss-v1/benchmark/prompts/validation/slide-20.md +++ b/gloss-v1/benchmark/prompts/validation/slide-20.md @@ -3,9 +3,9 @@ "authors": [], "pairwise_similarity_diagnostics": [], "prompt_hashes": { - "canonical": "sha256:ba8e51e1becddfd40e2f2a02c5161a1caa09481255fcb9ff586f6b32ff866245", - "paraphrase-a": "sha256:c00f3398a053de3f9ac2b9a34697a8cb4eebefaf90ee1e73bc878ba24cd58081", - "paraphrase-b": "sha256:e37739606bb0dd690de9ac19cd76c51d2a95f3310d46c2c4e1c4b18d00474ac4" + "canonical": "sha256:285a00376bd518bef4125df2166023099fe8bc3aefa7def2828ce7484897268e", + "paraphrase-a": "sha256:5762ef4e1caaaa84204c9e7b6bb0c505a1a7aea99bbe035b9683e5a8efc0e9ca", + "paraphrase-b": "sha256:621455b4003dd2da7207bfb1349ce1f94f772f8ff24ed30e70a88d6a21cea7c4" }, "record_id": "gloss-prompt-validation-slide-20", "round_id": null, @@ -18,9 +18,9 @@ - Prompt contract status: complete - Canonical/paraphrase hard-constraint parity: pass -- Canonical SHA-256: `ba8e51e1becddfd40e2f2a02c5161a1caa09481255fcb9ff586f6b32ff866245` -- Paraphrase A SHA-256: `c00f3398a053de3f9ac2b9a34697a8cb4eebefaf90ee1e73bc878ba24cd58081` -- Paraphrase B SHA-256: `e37739606bb0dd690de9ac19cd76c51d2a95f3310d46c2c4e1c4b18d00474ac4` +- Canonical SHA-256: `285a00376bd518bef4125df2166023099fe8bc3aefa7def2828ce7484897268e` +- Paraphrase A SHA-256: `5762ef4e1caaaa84204c9e7b6bb0c505a1a7aea99bbe035b9683e5a8efc0e9ca` +- Paraphrase B SHA-256: `621455b4003dd2da7207bfb1349ce1f94f772f8ff24ed30e70a88d6a21cea7c4` - Independent-author convergence: not run - Required blinded author count: 3 - Mandatory assertion pass status: pending for all 3 implementations diff --git a/gloss-v1/benchmark/prompts/variants/canonical/slide-12.md b/gloss-v1/benchmark/prompts/variants/canonical/slide-12.md index ba9ee9d..d7f1b4c 100644 --- a/gloss-v1/benchmark/prompts/variants/canonical/slide-12.md +++ b/gloss-v1/benchmark/prompts/variants/canonical/slide-12.md @@ -39,4 +39,4 @@ The natural-language requirements below are the primary directive. Use the refer --- -## Slides 13-20 (Level 3) — Brief Specifications +## Slides 13-20 (Level 3) — Exact Specifications diff --git a/gloss-v1/benchmark/prompts/variants/canonical/slide-13.md b/gloss-v1/benchmark/prompts/variants/canonical/slide-13.md index 055601a..09cdc03 100644 --- a/gloss-v1/benchmark/prompts/variants/canonical/slide-13.md +++ b/gloss-v1/benchmark/prompts/variants/canonical/slide-13.md @@ -4,11 +4,12 @@ The natural-language requirements below are the primary directive. Use the refer Combines: native chart (pie chart, 6 segments), native table (4×3), one approved image, Arabic text annotation, repeated layout elements, dense callout annotations. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout and title the slide `Composite Stress` in Carlito 36pt Bold at (1.5cm, 0.5cm). - Add one native pie chart at (1.5cm, 3cm), size 10cm × 8cm. Use six labeled values: `Structure 28`, `Text 22`, `Visual 18`, `Assets 14`, `Fields 10`, `Other 8`; show percentage labels and no legend. - Add one native 4-row × 3-column table at (13cm, 3cm), size 9cm × 7cm. Header: `Check`, `Status`, `Weight`. Rows: `Schema | Pass | 3`, `Rendering | Pass | 2`, `Assets | Review | 1`. - Insert `cityscape.png` at (23cm, 3cm), size 8cm × 6cm, cropping 15% from the left. Use only asset ID `cityscape` from the manifest. -- Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` in Noto Sans Arabic 14pt with native RTL direction. -- Add three dense rounded callouts labeled `NATIVE CHART`, `NATIVE TABLE`, and `APPROVED ASSET`; connect each to its target and keep all data labels visible. +- Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` at (12.5cm, 11cm), size 19cm × 1.3cm, in Noto Sans Arabic 14pt with native RTL direction and right alignment. +- Add three rounded callouts at y=12.5cm: `NATIVE CHART` at (2.5cm, 12.5cm), size 7cm × 1.8cm, teal; `NATIVE TABLE` at (13cm, 12.5cm), size 7cm × 1.8cm, coral; and `APPROVED ASSET` at (23.5cm, 12.5cm), size 7.5cm × 1.8cm, gold. Center each label in Liberation Sans 12pt Bold. +- Connect the chart, table, and image to their callouts with 1pt vertical lines at x=6cm from y=11cm to 12.5cm, x=16.5cm from y=10cm to 12.5cm, and x=27cm from y=9cm to 12.5cm. Keep all chart data labels visible. diff --git a/gloss-v1/benchmark/prompts/variants/canonical/slide-14.md b/gloss-v1/benchmark/prompts/variants/canonical/slide-14.md index c631788..1b4d536 100644 --- a/gloss-v1/benchmark/prompts/variants/canonical/slide-14.md +++ b/gloss-v1/benchmark/prompts/variants/canonical/slide-14.md @@ -4,10 +4,10 @@ The natural-language requirements below are the primary directive. Use the refer Two-column layout with heavy Arabic text on left (5+ paragraphs with mixed Arabic/English), English summary on right. Bidirectional text within single paragraphs (e.g., "The الذكاء الاصطناعي revolution"). Mirrored alignment: Arabic column is right-aligned, English column is left-aligned. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Two-Column** layout with title `RTL Systems Review`. -- The left column contains at least five separate Arabic paragraphs in Noto Sans Arabic 14pt with native RTL paragraph direction. Include these exact phrases: `مراجعة الأنظمة الموزعة`, `دقة العرض`, `سلامة البنية`, `The الذكاء الاصطناعي revolution`, and `الإصدار Gloss v1`. -- The right column contains five English summary paragraphs in Liberation Sans 14pt, beginning with `A structural benchmark must preserve meaning and direction.` -- Right-align the Arabic column and left-align the English column. Mirror their inner padding and keep a 1pt teal divider centered between them. +- Put the Arabic column at (1.5cm, 3.2cm), size 14cm × 12cm, in Noto Sans Arabic 14pt with native RTL paragraph direction and right alignment. Use six paragraphs exactly: `مراجعة الأنظمة الموزعة`; `دقة العرض هي أساس المقارنة بين الأنظمة.`; `سلامة البنية تحافظ على المعنى والتفاعل.`; `The الذكاء الاصطناعي revolution تتطلب نصاً ثنائي الاتجاه.`; `الإصدار Gloss v1 يختبر التوافق.`; and `يجب الحفاظ على علامات الترقيم وترتيب Unicode.` +- Put the English column at (18.5cm, 3.2cm), size 13.5cm × 12cm, in Liberation Sans 14pt with left alignment. Use five paragraphs exactly: `A structural benchmark must preserve meaning and direction.`; `Rendering alone cannot prove native editability.`; `Bidirectional runs must retain their Unicode order.`; `Mirrored padding makes the comparison deliberate.`; and `The benchmark records both artifact and visual fidelity.` +- Keep a 1pt teal divider at x=16.9cm from y=3cm through y=15.5cm. Mirror the columns’ inner padding around that divider. - Mixed Arabic/English runs must preserve Unicode character order and visible punctuation without converting text to outlines. diff --git a/gloss-v1/benchmark/prompts/variants/canonical/slide-15.md b/gloss-v1/benchmark/prompts/variants/canonical/slide-15.md index bfea77a..a5db418 100644 --- a/gloss-v1/benchmark/prompts/variants/canonical/slide-15.md +++ b/gloss-v1/benchmark/prompts/variants/canonical/slide-15.md @@ -4,9 +4,10 @@ The natural-language requirements below are the primary directive. Use the refer Multiple text boxes at different rotation angles: 0°, 45°, 90°, 135°, 270°. Supporting shapes aligned to the rotated text. Tests exact anchor points for rotated elements. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Rotation Atlas`. - Create five text boxes labeled exactly `Baseline 0°`, `Diagonal 45°`, `Vertical 90°`, `Reverse 135°`, and `Vertical 270°`. -- Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm, uses Liberation Sans 16pt Bold, and has a matching 6cm × 2cm supporting rectangle sharing its center and rotation. -- Distribute the five pairs evenly from x=2cm through x=28cm on a common y=8cm anchor line. Keep text editable and store rotations in native OOXML transforms. +- Draw a 0.5pt teal alignment rule from (1.5cm, 8cm) to (32cm, 8cm), behind every object. +- Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm at y=7.25cm and uses centered Liberation Sans 16pt Bold. Set their x positions to 1.5cm, 7.5cm, 13.5cm, 19.5cm, and 25.5cm. +- Place a matching 6cm × 2cm supporting rectangle behind each text box at y=7cm and x=1cm, 7cm, 13cm, 19cm, and 25cm. Use navy, teal, coral, gold, and navy fills respectively at 70% opacity. Each rectangle shares its text box’s center and rotation. Keep text editable and store rotations in native transforms. diff --git a/gloss-v1/benchmark/prompts/variants/canonical/slide-16.md b/gloss-v1/benchmark/prompts/variants/canonical/slide-16.md index 00cc68f..235490e 100644 --- a/gloss-v1/benchmark/prompts/variants/canonical/slide-16.md +++ b/gloss-v1/benchmark/prompts/variants/canonical/slide-16.md @@ -2,11 +2,11 @@ The natural-language requirements below are the primary directive. Use the reference image only as supplementary visual guidance. -Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 5cm past the right edge. These are intentional design choices, not errors. +Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 7cm past the right edge. These are intentional design choices, not errors. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Beyond the Frame`. -- Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 5cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm). -- Add on-canvas labels `INTENTIONAL BLEED` and `Negative coordinates are part of the composition.` +- Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 7cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm). +- Put `INTENTIONAL BLEED` at (9cm, 6.5cm), size 15cm × 1.8cm, in centered Carlito 28pt Bold. Put `Negative coordinates are part of the composition.` at (7.5cm, 9cm), size 18cm × 1.4cm, in centered Liberation Sans 18pt. - Preserve negative and over-bound coordinates in OOXML. Do not replace the composition with a screenshot, hide content under opaque shapes, or move the objects fully on-canvas. diff --git a/gloss-v1/benchmark/prompts/variants/canonical/slide-17.md b/gloss-v1/benchmark/prompts/variants/canonical/slide-17.md index 9e4a606..bf0c990 100644 --- a/gloss-v1/benchmark/prompts/variants/canonical/slide-17.md +++ b/gloss-v1/benchmark/prompts/variants/canonical/slide-17.md @@ -4,9 +4,11 @@ The natural-language requirements below are the primary directive. Use the refer 3 levels of nested groups. Inner groups contain exactly 3 shapes each. Middle groups contain exactly 2 inner groups. Outer group wraps everything. Z-order must be exact within each nesting level. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Nested Systems`. -- Build one outer group containing three middle groups. Each middle group contains two inner groups; each inner group contains three leaf shapes (18 leaf shapes total). +- Build one outer group at (3cm, 3cm), size 27cm × 13cm, containing three middle groups: `INPUT` at (3cm, 3cm), `PROCESS` at (13.219cm, 3cm), and `OUTPUT` at (23.438cm, 3cm). Each middle group is 6.562cm × 13cm and contains two inner groups. +- Place the six 6.562cm × 4.333cm inner groups at (3cm, 3cm), (3cm, 11.667cm), (13.219cm, 3cm), (13.219cm, 11.667cm), (23.438cm, 3cm), and (23.438cm, 11.667cm), labeled `A1`, `A2`, `B1`, `B2`, `C1`, and `C2` respectively. +- Each inner group contains exactly three leaf objects: a 45%-opaque colored circle at the bottom of z-order, an 85%-opaque rounded panel above it, and a centered Carlito 18pt Bold editable label on top. Use navy for A1/B1/C1 and teal for A2/B2/C2. Keep the middle-group label (`INPUT`, `PROCESS`, or `OUTPUT`) inside each panel. - Use native group objects at all three levels. Label the middle groups `INPUT`, `PROCESS`, and `OUTPUT`; label inner groups `A1`, `A2`, `B1`, `B2`, `C1`, and `C2`. -- Within every inner group, z-order is circle below rounded rectangle below label. The full outer group's bounding box has top-left position (3cm, 3cm) and size 27cm × 13cm. +- Within every inner group, z-order is circle below rounded rectangle below label. Preserve the exact outer, middle, and inner group transforms instead of flattening the composition. diff --git a/gloss-v1/benchmark/prompts/variants/canonical/slide-18.md b/gloss-v1/benchmark/prompts/variants/canonical/slide-18.md index 1526d3c..9a808a6 100644 --- a/gloss-v1/benchmark/prompts/variants/canonical/slide-18.md +++ b/gloss-v1/benchmark/prompts/variants/canonical/slide-18.md @@ -4,10 +4,10 @@ The natural-language requirements below are the primary directive. Use the refer 3-column magazine-style layout with mixed English/Japanese text. Each column has a header image (from assets), body text, and a pull quote. Pattern fill on the background of one column. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Three Cities / 三つの都市`. -- Build three equal 9.5cm-wide editorial columns with 0.9cm gutters. Each column contains a 9.5cm × 3.5cm approved header image, a heading, body copy, and a pull quote. +- Build three 9.5cm-wide columns at x=1.784cm, 12.184cm, and 22.584cm, leaving 0.9cm gutters. In every column, put a 9.5cm × 3.5cm header image at y=3cm, a 9.5cm × 1.1cm heading at y=6.9cm, 9.5cm × 4.6cm body copy at y=8.2cm, and a 9.5cm × 2.5cm centered pull quote at y=13.2cm. - Column images, left to right: `cityscape.png`, `texture-pattern.png`, `cityscape.png`. Center the crop of each image and do not use unlisted media. -- Headings: `Systems`, `システム`, `Shared Futures`. Include the exact Japanese line `生成されたスライドは構造と意味を保持します。` -- Apply the approved `texture-pattern.png` as a tiled background only to the center column at 20% opacity. Use 0.9cm gutters consistently. +- Use this exact content: left heading `Systems`, body `Cities expose the systems beneath daily life: transport, energy, data, and the people who connect them.`, quote `“Structure makes the invisible legible.”`; center heading `システム`, body `生成されたスライドは構造と意味を保持します。\n編集可能な構造が共有された理解を支えます。`, quote `“構造は意味を運びます。”`; right heading `Shared Futures`, body `A common visual language lets teams compare evidence, preserve intent, and build toward shared futures.`, quote `“Consistency is a form of trust.”` +- Apply `texture-pattern.png` as a tiled background only to the center column at (12.184cm, 2.5cm), size 9.5cm × 14.5cm, at 20% opacity. Set each pull quote on a navy rectangle at 80% opacity. diff --git a/gloss-v1/benchmark/prompts/variants/canonical/slide-19.md b/gloss-v1/benchmark/prompts/variants/canonical/slide-19.md index ea3398d..48b6a98 100644 --- a/gloss-v1/benchmark/prompts/variants/canonical/slide-19.md +++ b/gloss-v1/benchmark/prompts/variants/canonical/slide-19.md @@ -4,9 +4,13 @@ The natural-language requirements below are the primary directive. Use the refer Visually identical to the design system — every element must match the master's font sizes, colors, spacing, and line weights exactly. Tests deck-wide consistency. Internal hyperlinks to Slides 1 and 5 (not external URLs). -## Explicit v1 constraints +## Exact v1 constraints - Use the **Content Slide** layout with title `Design System Audit`. -- Show five samples labeled `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. Each sample must use the deck-level tokens exactly: Carlito 36pt, Liberation Sans 18pt, navy `#1B2A4A`, coral `#E8634A`, teal `#2AACB8`, and a 0.5pt teal rule. -- Create two native internal hyperlinks: `Return to Cover` targets Slide 1 and `Meet the Team` targets Slide 5. Do not use external URLs. +- Put the five 5.5cm × 0.9cm sample labels at x=1.8cm and y=3cm, 5.7cm, 8.4cm, 11.1cm, and 13.8cm: `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. +- For Typography, put `Carlito 36` at (8.5cm, 2.7cm), size 9cm × 1.52cm, in Carlito 36pt, and `Liberation Sans 18` at (20.5cm, 2.9cm), size 10cm × 1.1cm, in Liberation Sans 18pt. +- For Palette, place 5cm × 1.4cm navy `#1B2A4A`, coral `#E8634A`, and teal `#2AACB8` swatches at x=8.5cm, 14.5cm, and 20.5cm, all at y=5.4cm. +- For Spacing, place two navy 4cm × 1.2cm blocks at (8.5cm, 8.2cm) and (13cm, 8.2cm), leaving exactly 0.5cm between them, and put `0.5cm token` at (18cm, 8.2cm), size 8cm × 1.2cm. +- For Line Weight, draw a 0.5pt teal rule from (8.5cm, 11.5cm) to (25.5cm, 11.5cm) and put `0.5pt teal rule` at (26.5cm, 10.95cm), size 5cm × 1.1cm. +- For Navigation, create two native internal hyperlinks: `Return to Cover` at (8.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 1; `Meet the Team` at (20.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 5. Do not use external URLs. - Footer line, company name, accent bar, and slide number remain inherited from the master/layout; do not duplicate them as slide-local shapes. diff --git a/gloss-v1/benchmark/prompts/variants/canonical/slide-20.md b/gloss-v1/benchmark/prompts/variants/canonical/slide-20.md index 959aa69..7867668 100644 --- a/gloss-v1/benchmark/prompts/variants/canonical/slide-20.md +++ b/gloss-v1/benchmark/prompts/variants/canonical/slide-20.md @@ -4,12 +4,16 @@ The natural-language requirements below are the primary directive. Use the refer Everything combined: chart (line chart), table (3×6), approved image (cropped), Arabic + Japanese text, rotated text box at 45°, overlapping semi-transparent shapes, nested group, master-inherited footer, gradient fill, bullet list, slide number field — all on one slide. -## Explicit v1 constraints +## Exact v1 constraints - Use the **Blank with Footer** layout with title `Gloss Synthesis`. -- Add one native line chart with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`. -- Add one native 3-row × 6-column table. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`. -- Insert `hero-abstract.png` with a 20% left crop. Add Arabic `اختبار شامل` with native RTL direction and Japanese `総合テスト` in Noto Sans CJK JP. -- Include a 45° text box labeled `ROTATED`, three overlapping semi-transparent shapes inside a two-level group, a navy-to-teal gradient, a three-item bullet list, a live slide-number field, and the inherited master footer. +- Add one native line chart at (1.5cm, 3cm), size 10.5cm × 5.5cm, with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`. +- Add one native 3-row × 6-column table at (13cm, 3cm), size 19cm × 4.5cm. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`. +- Insert `hero-abstract.png` at (13cm, 8cm), size 6.5cm × 4.2cm, with a 20% left crop. Put Arabic `اختبار شامل` at (20.5cm, 7.9cm), size 5cm × 1.44cm, in Noto Sans Arabic 18pt with native RTL direction. Put Japanese `総合テスト` at (20.5cm, 9.2cm), size 5cm × 1.1cm, in Noto Sans CJK JP 18pt. +- Put the editable text `ROTATED` at (1.6cm, 10.1cm), size 5cm × 1.3cm, in Liberation Sans 16pt Bold with a native 45° rotation. +- Build a two-level outer group at (6cm, 9.8cm), size 6.5cm × 3.6cm. Its inner group is at (6cm, 9.8cm), size 6.5cm × 3.1cm, and contains three 65%-opaque shapes in z-order: a 3cm navy circle at (6cm, 9.8cm), a 3.5cm × 2.6cm coral rounded rectangle at (7.6cm, 10.3cm), and a 3cm teal circle at (9.5cm, 9.8cm). Put `2-LEVEL GROUP` at (6.9cm, 12.6cm), size 5.2cm × 0.8cm, inside the outer group. +- Add a navy-to-teal native gradient rectangle at (25cm, 11.2cm), size 7cm × 2.2cm, with `NATIVE GRADIENT` centered at (25.3cm, 11.6cm), size 6.4cm × 1.4cm. +- Add a native three-item bullet list at (1.5cm, 14cm), size 12.5cm × 2.5cm, with exactly `Native structure retained`, `Multilingual meaning preserved`, and `Rendered fidelity verified`. +- Add `Live slide: ` followed by a live slide-number field at (22.5cm, 14.3cm), size 14.5cm × 1.5cm. Keep the inherited master footer and slide-number field as well. --- diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-12.md b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-12.md index b6ede42..fc5f4f8 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-12.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-12.md @@ -39,4 +39,4 @@ The natural-language requirements that follow are the primary directive. Treat t --- -## Slides 13-20 (Level 3) — Brief Specifications +## Slides 13-20 (Level 3) — Exact Specifications diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-13.md b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-13.md index 785d600..d1d0e7c 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-13.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-13.md @@ -4,11 +4,12 @@ The natural-language requirements that follow are the primary directive. Treat t Combines: native chart (pie chart, 6 segments), native table (4×3), one approved image, Arabic text annotation, repeated layout elements, dense callout annotations. -## Mandatory v1 requirements +## Exact v1 constraints - Select the **Blank with Footer** layout and title the slide `Composite Stress` in Carlito 36pt Bold at (1.5cm, 0.5cm). - Include one native pie chart at (1.5cm, 3cm), size 10cm × 8cm. Employ six labeled values: `Structure 28`, `Text 22`, `Visual 18`, `Assets 14`, `Fields 10`, `Other 8`; show percentage labels and no legend. - Include one native 4-row × 3-column table at (13cm, 3cm), size 9cm × 7cm. Header: `Check`, `Status`, `Weight`. Rows: `Schema | Pass | 3`, `Rendering | Pass | 2`, `Assets | Review | 1`. - Position `cityscape.png` at (23cm, 3cm), size 8cm × 6cm, cropping 15% from the left. Rely exclusively on asset ID `cityscape` from the manifest. -- Include the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` in Noto Sans Arabic 14pt with native RTL direction. -- Include three dense rounded callouts labeled `NATIVE CHART`, `NATIVE TABLE`, and `APPROVED ASSET`; connect each to its target and keep all data labels visible. +- Include the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` at (12.5cm, 11cm), size 19cm × 1.3cm, in Noto Sans Arabic 14pt with native RTL direction and right alignment. +- Include three rounded callouts at y=12.5cm: `NATIVE CHART` at (2.5cm, 12.5cm), size 7cm × 1.8cm, teal; `NATIVE TABLE` at (13cm, 12.5cm), size 7cm × 1.8cm, coral; and `APPROVED ASSET` at (23.5cm, 12.5cm), size 7.5cm × 1.8cm, gold. Center each label in Liberation Sans 12pt Bold. +- Connect the chart, table, and image to their callouts with 1pt vertical lines at x=6cm from y=11cm to 12.5cm, x=16.5cm from y=10cm to 12.5cm, and x=27cm from y=9cm to 12.5cm. Ensure all chart data labels visible. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-14.md b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-14.md index 72c6460..c149b5d 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-14.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-14.md @@ -4,10 +4,10 @@ The natural-language requirements that follow are the primary directive. Treat t Two-column layout with heavy Arabic text on left (5+ paragraphs with mixed Arabic/English), English summary on right. Bidirectional text within single paragraphs (e.g., "The الذكاء الاصطناعي revolution"). Mirrored alignment: Arabic column is right-aligned, English column is left-aligned. -## Mandatory v1 requirements +## Exact v1 constraints - Select the **Two-Column** layout with title `RTL Systems Review`. -- The left column contains at least five separate Arabic paragraphs in Noto Sans Arabic 14pt with native RTL paragraph direction. Include these exact phrases: `مراجعة الأنظمة الموزعة`, `دقة العرض`, `سلامة البنية`, `The الذكاء الاصطناعي revolution`, and `الإصدار Gloss v1`. -- The right column contains five English summary paragraphs in Liberation Sans 14pt, beginning with `A structural benchmark must preserve meaning and direction.` -- Right-align the Arabic column and left-align the English column. Mirror their inner padding and keep a 1pt teal divider centered between them. +- Put the Arabic column at (1.5cm, 3.2cm), size 14cm × 12cm, in Noto Sans Arabic 14pt with native RTL paragraph direction and right alignment. Employ six paragraphs precisely: `مراجعة الأنظمة الموزعة`; `دقة العرض هي أساس المقارنة بين الأنظمة.`; `سلامة البنية تحافظ على المعنى والتفاعل.`; `The الذكاء الاصطناعي revolution تتطلب نصاً ثنائي الاتجاه.`; `الإصدار Gloss v1 يختبر التوافق.`; and `يجب الحفاظ على علامات الترقيم وترتيب Unicode.` +- Put the English column at (18.5cm, 3.2cm), size 13.5cm × 12cm, in Liberation Sans 14pt with left alignment. Employ five paragraphs precisely: `A structural benchmark must preserve meaning and direction.`; `Rendering alone cannot prove native editability.`; `Bidirectional runs must retain their Unicode order.`; `Mirrored padding makes the comparison deliberate.`; and `The benchmark records both artifact and visual fidelity.` +- Ensure a 1pt teal divider at x=16.9cm from y=3cm through y=15.5cm. Mirror the columns’ inner padding around that divider. - Mixed Arabic/English runs must preserve Unicode character order and visible punctuation without converting text to outlines. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-15.md b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-15.md index f5456f7..2c6e165 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-15.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-15.md @@ -4,9 +4,10 @@ The natural-language requirements that follow are the primary directive. Treat t Multiple text boxes at different rotation angles: 0°, 45°, 90°, 135°, 270°. Supporting shapes aligned to the rotated text. Evaluates exact anchor points for rotated elements. -## Mandatory v1 requirements +## Exact v1 constraints - Select the **Blank with Footer** layout with title `Rotation Atlas`. - Construct five text boxes labeled precisely `Baseline 0°`, `Diagonal 45°`, `Vertical 90°`, `Reverse 135°`, and `Vertical 270°`. -- Set rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm, uses Liberation Sans 16pt Bold, and has a matching 6cm × 2cm supporting rectangle sharing its center and rotation. -- Distribute the five pairs evenly from x=2cm through x=28cm on a common y=8cm anchor line. Ensure text editable and store rotations in native OOXML transforms. +- Draw a 0.5pt teal alignment rule from (1.5cm, 8cm) to (32cm, 8cm), behind every object. +- Set rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm at y=7.25cm and uses centered Liberation Sans 16pt Bold. Set their x positions to 1.5cm, 7.5cm, 13.5cm, 19.5cm, and 25.5cm. +- Position a matching 6cm × 2cm supporting rectangle behind each text box at y=7cm and x=1cm, 7cm, 13cm, 19cm, and 25cm. Employ navy, teal, coral, gold, and navy fills respectively at 70% opacity. Each rectangle shares its text box’s center and rotation. Ensure text editable and store rotations in native transforms. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-16.md b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-16.md index e6fb38b..e1f46fb 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-16.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-16.md @@ -2,11 +2,11 @@ The natural-language requirements that follow are the primary directive. Treat the reference image as supplementary visual guidance only. -Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 5cm past the right edge. These are intentional design choices, not errors. +Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 7cm past the right edge. These are intentional design choices, not errors. -## Mandatory v1 requirements +## Exact v1 constraints - Select the **Blank with Footer** layout with title `Beyond the Frame`. -- Position a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 5cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm). -- Include on-canvas labels `INTENTIONAL BLEED` and `Negative coordinates are part of the composition.` +- Position a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 7cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm). +- Put `INTENTIONAL BLEED` at (9cm, 6.5cm), size 15cm × 1.8cm, in centered Carlito 28pt Bold. Put `Negative coordinates are part of the composition.` at (7.5cm, 9cm), size 18cm × 1.4cm, in centered Liberation Sans 18pt. - Retain negative and over-bound coordinates in OOXML. Do not replace the composition with a screenshot, hide content under opaque shapes, or move the objects fully on-canvas. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-17.md b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-17.md index f19f647..f7d6433 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-17.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-17.md @@ -4,9 +4,11 @@ The natural-language requirements that follow are the primary directive. Treat t 3 levels of nested groups. Inner groups contain precisely 3 shapes each. Middle groups contain precisely 2 inner groups. Outer group wraps everything. Z-order must be exact within each nesting level. -## Mandatory v1 requirements +## Exact v1 constraints - Select the **Blank with Footer** layout with title `Nested Systems`. -- Build one outer group that includes three middle groups. Each middle group contains two inner groups; each inner group contains three leaf shapes (18 leaf shapes total). +- Build one outer group at (3cm, 3cm), size 27cm × 13cm, that includes three middle groups: `INPUT` at (3cm, 3cm), `PROCESS` at (13.219cm, 3cm), and `OUTPUT` at (23.438cm, 3cm). Each middle group is 6.562cm × 13cm and contains two inner groups. +- Position the six 6.562cm × 4.333cm inner groups at (3cm, 3cm), (3cm, 11.667cm), (13.219cm, 3cm), (13.219cm, 11.667cm), (23.438cm, 3cm), and (23.438cm, 11.667cm), labeled `A1`, `A2`, `B1`, `B2`, `C1`, and `C2` respectively. +- Each inner group contains precisely three leaf objects: a 45%-opaque colored circle at the bottom of z-order, an 85%-opaque rounded panel over it, and a centered Carlito 18pt Bold editable label on top. Employ navy for A1/B1/C1 and teal for A2/B2/C2. Ensure the middle-group label (`INPUT`, `PROCESS`, or `OUTPUT`) inside each panel. - Employ native group objects at all three levels. Label the middle groups `INPUT`, `PROCESS`, and `OUTPUT`; label inner groups `A1`, `A2`, `B1`, `B2`, `C1`, and `C2`. -- Within every inner group, z-order is circle under rounded rectangle under label. The full outer group's bounding box has top-left position (3cm, 3cm) and size 27cm × 13cm. +- Within every inner group, z-order is circle under rounded rectangle under label. Retain the exact outer, middle, and inner group transforms instead of flattening the composition. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-18.md b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-18.md index a5e6b2e..1c8c846 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-18.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-18.md @@ -4,10 +4,10 @@ The natural-language requirements that follow are the primary directive. Treat t 3-column magazine-style layout with mixed English/Japanese text. Each column has a header image (from assets), body text, and a pull quote. Pattern fill on the background of one column. -## Mandatory v1 requirements +## Exact v1 constraints - Select the **Blank with Footer** layout with title `Three Cities / 三つの都市`. -- Build three equal 9.5cm-wide editorial columns with 0.9cm gutters. Each column contains a 9.5cm × 3.5cm approved header image, a heading, body copy, and a pull quote. +- Build three 9.5cm-wide columns at x=1.784cm, 12.184cm, and 22.584cm, leaving 0.9cm gutters. In every column, put a 9.5cm × 3.5cm header image at y=3cm, a 9.5cm × 1.1cm heading at y=6.9cm, 9.5cm × 4.6cm body copy at y=8.2cm, and a 9.5cm × 2.5cm centered pull quote at y=13.2cm. - Column images, left to right: `cityscape.png`, `texture-pattern.png`, `cityscape.png`. Center the crop of each image and do not use unlisted media. -- Headings: `Systems`, `システム`, `Shared Futures`. Include the exact Japanese line `生成されたスライドは構造と意味を保持します。` -- Set the approved `texture-pattern.png` as a tiled background only to the center column at 20% opacity. Employ 0.9cm gutters consistently. +- Employ this exact content: left heading `Systems`, body `Cities expose the systems beneath daily life: transport, energy, data, and the people who connect them.`, quote `“Structure makes the invisible legible.”`; center heading `システム`, body `生成されたスライドは構造と意味を保持します。\n編集可能な構造が共有された理解を支えます。`, quote `“構造は意味を運びます。”`; right heading `Shared Futures`, body `A common visual language lets teams compare evidence, preserve intent, and build toward shared futures.`, quote `“Consistency is a form of trust.”` +- Set `texture-pattern.png` as a tiled background only to the center column at (12.184cm, 2.5cm), size 9.5cm × 14.5cm, at 20% opacity. Set each pull quote on a navy rectangle at 80% opacity. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-19.md b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-19.md index 5868ce5..3431001 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-19.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-19.md @@ -4,9 +4,13 @@ The natural-language requirements that follow are the primary directive. Treat t Visually identical to the design system — every element must match the master's font sizes, colors, spacing, and line weights precisely. Evaluates deck-wide consistency. Internal hyperlinks to Slides 1 and 5 (not external URLs). -## Mandatory v1 requirements +## Exact v1 constraints - Select the **Content Slide** layout with title `Design System Audit`. -- Show five samples labeled `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. Each sample is required to use the deck-level tokens precisely: Carlito 36pt, Liberation Sans 18pt, navy `#1B2A4A`, coral `#E8634A`, teal `#2AACB8`, and a 0.5pt teal rule. -- Construct two native internal hyperlinks: `Return to Cover` targets Slide 1 and `Meet the Team` targets Slide 5. Do not use external URLs. +- Put the five 5.5cm × 0.9cm sample labels at x=1.8cm and y=3cm, 5.7cm, 8.4cm, 11.1cm, and 13.8cm: `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. +- For Typography, put `Carlito 36` at (8.5cm, 2.7cm), size 9cm × 1.52cm, in Carlito 36pt, and `Liberation Sans 18` at (20.5cm, 2.9cm), size 10cm × 1.1cm, in Liberation Sans 18pt. +- For Palette, place 5cm × 1.4cm navy `#1B2A4A`, coral `#E8634A`, and teal `#2AACB8` swatches at x=8.5cm, 14.5cm, and 20.5cm, all at y=5.4cm. +- For Spacing, place two navy 4cm × 1.2cm blocks at (8.5cm, 8.2cm) and (13cm, 8.2cm), leaving precisely 0.5cm between them, and put `0.5cm token` at (18cm, 8.2cm), size 8cm × 1.2cm. +- For Line Weight, draw a 0.5pt teal rule from (8.5cm, 11.5cm) to (25.5cm, 11.5cm) and put `0.5pt teal rule` at (26.5cm, 10.95cm), size 5cm × 1.1cm. +- For Navigation, create two native internal hyperlinks: `Return to Cover` at (8.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 1; `Meet the Team` at (20.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 5. Do not use external URLs. - Footer line, company name, accent bar, and slide number remain inherited from the master/layout; do not duplicate them as slide-local shapes. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-20.md b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-20.md index 7046460..b836125 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-20.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-a/slide-20.md @@ -4,12 +4,16 @@ The natural-language requirements that follow are the primary directive. Treat t Everything combined: chart (line chart), table (3×6), approved image (cropped), Arabic + Japanese text, rotated text box at 45°, overlapping semi-transparent shapes, nested group, master-inherited footer, gradient fill, bullet list, slide number field — all on one slide. -## Mandatory v1 requirements +## Exact v1 constraints - Select the **Blank with Footer** layout with title `Gloss Synthesis`. -- Include one native line chart with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`. -- Include one native 3-row × 6-column table. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`. -- Position `hero-abstract.png` with a 20% left crop. Include Arabic `اختبار شامل` with native RTL direction and Japanese `総合テスト` in Noto Sans CJK JP. -- Include a 45° text box labeled `ROTATED`, three overlapping semi-transparent shapes inside a two-level group, a navy-to-teal gradient, a three-item bullet list, a live slide-number field, and the inherited master footer. +- Include one native line chart at (1.5cm, 3cm), size 10.5cm × 5.5cm, with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`. +- Include one native 3-row × 6-column table at (13cm, 3cm), size 19cm × 4.5cm. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`. +- Position `hero-abstract.png` at (13cm, 8cm), size 6.5cm × 4.2cm, with a 20% left crop. Put Arabic `اختبار شامل` at (20.5cm, 7.9cm), size 5cm × 1.44cm, in Noto Sans Arabic 18pt with native RTL direction. Put Japanese `総合テスト` at (20.5cm, 9.2cm), size 5cm × 1.1cm, in Noto Sans CJK JP 18pt. +- Put the editable text `ROTATED` at (1.6cm, 10.1cm), size 5cm × 1.3cm, in Liberation Sans 16pt Bold with a native 45° rotation. +- Build a two-level outer group at (6cm, 9.8cm), size 6.5cm × 3.6cm. Its inner group is at (6cm, 9.8cm), size 6.5cm × 3.1cm, and contains three 65%-opaque shapes in z-order: a 3cm navy circle at (6cm, 9.8cm), a 3.5cm × 2.6cm coral rounded rectangle at (7.6cm, 10.3cm), and a 3cm teal circle at (9.5cm, 9.8cm). Put `2-LEVEL GROUP` at (6.9cm, 12.6cm), size 5.2cm × 0.8cm, inside the outer group. +- Include a navy-to-teal native gradient rectangle at (25cm, 11.2cm), size 7cm × 2.2cm, with `NATIVE GRADIENT` centered at (25.3cm, 11.6cm), size 6.4cm × 1.4cm. +- Include a native three-item bullet list at (1.5cm, 14cm), size 12.5cm × 2.5cm, with precisely `Native structure retained`, `Multilingual meaning preserved`, and `Rendered fidelity verified`. +- Include `Live slide: ` followed by a live slide-number field at (22.5cm, 14.3cm), size 14.5cm × 1.5cm. Ensure the inherited master footer and slide-number field as well. --- diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-12.md b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-12.md index 8ee693a..b9e7d7c 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-12.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-12.md @@ -39,4 +39,4 @@ The primary directive is the following set of natural-language requirements. Con --- -## Slides 13-20 (Level 3) — Brief Specifications +## Slides 13-20 (Level 3) — Exact Specifications diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-13.md b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-13.md index a2f4111..2ac94b7 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-13.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-13.md @@ -4,11 +4,12 @@ The primary directive is the following set of natural-language requirements. Con Combines: native chart (pie chart, 6 segments), native table (4×3), one approved image, Arabic text annotation, repeated layout elements, dense callout annotations. -## Fixed v1 acceptance constraints +## Exact v1 constraints - Adopt the **Blank with Footer** layout and title the slide `Composite Stress` in Carlito 36pt Bold at (1.5cm, 0.5cm). - Provide one native pie chart at (1.5cm, 3cm), size 10cm × 8cm. Choose six labeled values: `Structure 28`, `Text 22`, `Visual 18`, `Assets 14`, `Fields 10`, `Other 8`; show percentage labels and no legend. - Provide one native 4-row × 3-column table at (13cm, 3cm), size 9cm × 7cm. Header: `Check`, `Status`, `Weight`. Rows: `Schema | Pass | 3`, `Rendering | Pass | 2`, `Assets | Review | 1`. - Embed `cityscape.png` at (23cm, 3cm), size 8cm × 6cm, cropping 15% from the left. Rely exclusively on asset ID `cityscape` from the manifest. -- Provide the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` in Noto Sans Arabic 14pt with native RTL direction. -- Provide three dense rounded callouts labeled `NATIVE CHART`, `NATIVE TABLE`, and `APPROVED ASSET`; connect each to its target and keep all data labels visible. +- Provide the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` at (12.5cm, 11cm), size 19cm × 1.3cm, in Noto Sans Arabic 14pt with native RTL direction and right alignment. +- Provide three rounded callouts at y=12.5cm: `NATIVE CHART` at (2.5cm, 12.5cm), size 7cm × 1.8cm, teal; `NATIVE TABLE` at (13cm, 12.5cm), size 7cm × 1.8cm, coral; and `APPROVED ASSET` at (23.5cm, 12.5cm), size 7.5cm × 1.8cm, gold. Center each label in Liberation Sans 12pt Bold. +- Connect the chart, table, and image to their callouts with 1pt vertical lines at x=6cm from y=11cm to 12.5cm, x=16.5cm from y=10cm to 12.5cm, and x=27cm from y=9cm to 12.5cm. Maintain all chart data labels visible. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-14.md b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-14.md index 7e484d3..88c277f 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-14.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-14.md @@ -4,10 +4,10 @@ The primary directive is the following set of natural-language requirements. Con Two-column layout with heavy Arabic text on left (5+ paragraphs with mixed Arabic/English), English summary on right. Bidirectional text within single paragraphs (e.g., "The الذكاء الاصطناعي revolution"). Mirrored alignment: Arabic column is right-aligned, English column is left-aligned. -## Fixed v1 acceptance constraints +## Exact v1 constraints - Adopt the **Two-Column** layout with title `RTL Systems Review`. -- The left column contains at least five separate Arabic paragraphs in Noto Sans Arabic 14pt with native RTL paragraph direction. Include these exact phrases: `مراجعة الأنظمة الموزعة`, `دقة العرض`, `سلامة البنية`, `The الذكاء الاصطناعي revolution`, and `الإصدار Gloss v1`. -- The right column contains five English summary paragraphs in Liberation Sans 14pt, beginning with `A structural benchmark must preserve meaning and direction.` -- Right-align the Arabic column and left-align the English column. Mirror their inner padding and keep a 1pt teal divider centered between them. +- Put the Arabic column at (1.5cm, 3.2cm), size 14cm × 12cm, in Noto Sans Arabic 14pt with native RTL paragraph direction and right alignment. Choose six paragraphs with exact precision: `مراجعة الأنظمة الموزعة`; `دقة العرض هي أساس المقارنة بين الأنظمة.`; `سلامة البنية تحافظ على المعنى والتفاعل.`; `The الذكاء الاصطناعي revolution تتطلب نصاً ثنائي الاتجاه.`; `الإصدار Gloss v1 يختبر التوافق.`; and `يجب الحفاظ على علامات الترقيم وترتيب Unicode.` +- Put the English column at (18.5cm, 3.2cm), size 13.5cm × 12cm, in Liberation Sans 14pt with left alignment. Choose five paragraphs with exact precision: `A structural benchmark must preserve meaning and direction.`; `Rendering alone cannot prove native editability.`; `Bidirectional runs must retain their Unicode order.`; `Mirrored padding makes the comparison deliberate.`; and `The benchmark records both artifact and visual fidelity.` +- Maintain a 1pt teal divider at x=16.9cm from y=3cm through y=15.5cm. Mirror the columns’ inner padding around that divider. - Mixed Arabic/English runs must preserve Unicode character order and visible punctuation without converting text to outlines. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-15.md b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-15.md index 8fa23b3..3d350f2 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-15.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-15.md @@ -4,9 +4,10 @@ The primary directive is the following set of natural-language requirements. Con Multiple text boxes at different rotation angles: 0°, 45°, 90°, 135°, 270°. Supporting shapes aligned to the rotated text. Measures exact anchor points for rotated elements. -## Fixed v1 acceptance constraints +## Exact v1 constraints - Adopt the **Blank with Footer** layout with title `Rotation Atlas`. - Produce five text boxes labeled with exact precision `Baseline 0°`, `Diagonal 45°`, `Vertical 90°`, `Reverse 135°`, and `Vertical 270°`. -- Assign rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm, uses Liberation Sans 16pt Bold, and has a matching 6cm × 2cm supporting rectangle sharing its center and rotation. -- Distribute the five pairs evenly from x=2cm through x=28cm on a common y=8cm anchor line. Maintain text editable and store rotations in native OOXML transforms. +- Draw a 0.5pt teal alignment rule from (1.5cm, 8cm) to (32cm, 8cm), behind every object. +- Assign rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm at y=7.25cm and uses centered Liberation Sans 16pt Bold. Set their x positions to 1.5cm, 7.5cm, 13.5cm, 19.5cm, and 25.5cm. +- Set a matching 6cm × 2cm supporting rectangle behind each text box at y=7cm and x=1cm, 7cm, 13cm, 19cm, and 25cm. Choose navy, teal, coral, gold, and navy fills respectively at 70% opacity. Each rectangle shares its text box’s center and rotation. Maintain text editable and store rotations in native transforms. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-16.md b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-16.md index 728f233..cea63fb 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-16.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-16.md @@ -2,11 +2,11 @@ The primary directive is the following set of natural-language requirements. Consult the reference image solely for supplementary visual guidance. -Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 5cm past the right edge. These are intentional design choices, not errors. +Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 7cm past the right edge. These are intentional design choices, not errors. -## Fixed v1 acceptance constraints +## Exact v1 constraints - Adopt the **Blank with Footer** layout with title `Beyond the Frame`. -- Set a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 5cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm). -- Provide on-canvas labels `INTENTIONAL BLEED` and `Negative coordinates are part of the composition.` +- Set a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 7cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm). +- Put `INTENTIONAL BLEED` at (9cm, 6.5cm), size 15cm × 1.8cm, in centered Carlito 28pt Bold. Put `Negative coordinates are part of the composition.` at (7.5cm, 9cm), size 18cm × 1.4cm, in centered Liberation Sans 18pt. - Maintain negative and over-bound coordinates in OOXML. Do not replace the composition with a screenshot, hide content under opaque shapes, or move the objects fully on-canvas. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-17.md b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-17.md index bbaf540..ccc5b33 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-17.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-17.md @@ -4,9 +4,11 @@ The primary directive is the following set of natural-language requirements. Con 3 levels of nested groups. Inner groups contain with exact precision 3 shapes each. Middle groups contain with exact precision 2 inner groups. Outer group wraps everything. Z-order must be exact within each nesting level. -## Fixed v1 acceptance constraints +## Exact v1 constraints - Adopt the **Blank with Footer** layout with title `Nested Systems`. -- Build one outer group composed of three middle groups. Each middle group contains two inner groups; each inner group contains three leaf shapes (18 leaf shapes total). +- Build one outer group at (3cm, 3cm), size 27cm × 13cm, composed of three middle groups: `INPUT` at (3cm, 3cm), `PROCESS` at (13.219cm, 3cm), and `OUTPUT` at (23.438cm, 3cm). Each middle group is 6.562cm × 13cm and contains two inner groups. +- Set the six 6.562cm × 4.333cm inner groups at (3cm, 3cm), (3cm, 11.667cm), (13.219cm, 3cm), (13.219cm, 11.667cm), (23.438cm, 3cm), and (23.438cm, 11.667cm), labeled `A1`, `A2`, `B1`, `B2`, `C1`, and `C2` respectively. +- Each inner group contains with exact precision three leaf objects: a 45%-opaque colored circle at the bottom of z-order, an 85%-opaque rounded panel over it, and a centered Carlito 18pt Bold editable label on top. Choose navy for A1/B1/C1 and teal for A2/B2/C2. Maintain the middle-group label (`INPUT`, `PROCESS`, or `OUTPUT`) inside each panel. - Choose native group objects at all three levels. Label the middle groups `INPUT`, `PROCESS`, and `OUTPUT`; label inner groups `A1`, `A2`, `B1`, `B2`, `C1`, and `C2`. -- Within every inner group, z-order is circle beneath rounded rectangle beneath label. The full outer group's bounding box has top-left position (3cm, 3cm) and size 27cm × 13cm. +- Within every inner group, z-order is circle beneath rounded rectangle beneath label. Maintain the exact outer, middle, and inner group transforms instead of flattening the composition. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-18.md b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-18.md index 8559548..8d7d799 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-18.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-18.md @@ -4,10 +4,10 @@ The primary directive is the following set of natural-language requirements. Con 3-column magazine-style layout with mixed English/Japanese text. Each column has a header image (from assets), body text, and a pull quote. Pattern fill on the background of one column. -## Fixed v1 acceptance constraints +## Exact v1 constraints - Adopt the **Blank with Footer** layout with title `Three Cities / 三つの都市`. -- Build three equal 9.5cm-wide editorial columns with 0.9cm gutters. Each column contains a 9.5cm × 3.5cm approved header image, a heading, body copy, and a pull quote. +- Build three 9.5cm-wide columns at x=1.784cm, 12.184cm, and 22.584cm, leaving 0.9cm gutters. In every column, put a 9.5cm × 3.5cm header image at y=3cm, a 9.5cm × 1.1cm heading at y=6.9cm, 9.5cm × 4.6cm body copy at y=8.2cm, and a 9.5cm × 2.5cm centered pull quote at y=13.2cm. - Column images, left to right: `cityscape.png`, `texture-pattern.png`, `cityscape.png`. Center the crop of each image and do not use unlisted media. -- Headings: `Systems`, `システム`, `Shared Futures`. Include the exact Japanese line `生成されたスライドは構造と意味を保持します。` -- Assign the approved `texture-pattern.png` as a tiled background only to the center column at 20% opacity. Choose 0.9cm gutters consistently. +- Choose this exact content: left heading `Systems`, body `Cities expose the systems beneath daily life: transport, energy, data, and the people who connect them.`, quote `“Structure makes the invisible legible.”`; center heading `システム`, body `生成されたスライドは構造と意味を保持します。\n編集可能な構造が共有された理解を支えます。`, quote `“構造は意味を運びます。”`; right heading `Shared Futures`, body `A common visual language lets teams compare evidence, preserve intent, and build toward shared futures.`, quote `“Consistency is a form of trust.”` +- Assign `texture-pattern.png` as a tiled background only to the center column at (12.184cm, 2.5cm), size 9.5cm × 14.5cm, at 20% opacity. Set each pull quote on a navy rectangle at 80% opacity. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-19.md b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-19.md index cab67b3..b2c14be 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-19.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-19.md @@ -4,9 +4,13 @@ The primary directive is the following set of natural-language requirements. Con Visually identical to the design system — every element must match the master's font sizes, colors, spacing, and line weights with exact precision. Measures deck-wide consistency. Internal hyperlinks to Slides 1 and 5 (not external URLs). -## Fixed v1 acceptance constraints +## Exact v1 constraints - Adopt the **Content Slide** layout with title `Design System Audit`. -- Show five samples labeled `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. Each sample must employ the deck-level tokens with exact precision: Carlito 36pt, Liberation Sans 18pt, navy `#1B2A4A`, coral `#E8634A`, teal `#2AACB8`, and a 0.5pt teal rule. -- Produce two native internal hyperlinks: `Return to Cover` targets Slide 1 and `Meet the Team` targets Slide 5. Do not use external URLs. +- Put the five 5.5cm × 0.9cm sample labels at x=1.8cm and y=3cm, 5.7cm, 8.4cm, 11.1cm, and 13.8cm: `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. +- For Typography, put `Carlito 36` at (8.5cm, 2.7cm), size 9cm × 1.52cm, in Carlito 36pt, and `Liberation Sans 18` at (20.5cm, 2.9cm), size 10cm × 1.1cm, in Liberation Sans 18pt. +- For Palette, place 5cm × 1.4cm navy `#1B2A4A`, coral `#E8634A`, and teal `#2AACB8` swatches at x=8.5cm, 14.5cm, and 20.5cm, all at y=5.4cm. +- For Spacing, place two navy 4cm × 1.2cm blocks at (8.5cm, 8.2cm) and (13cm, 8.2cm), leaving with exact precision 0.5cm between them, and put `0.5cm token` at (18cm, 8.2cm), size 8cm × 1.2cm. +- For Line Weight, draw a 0.5pt teal rule from (8.5cm, 11.5cm) to (25.5cm, 11.5cm) and put `0.5pt teal rule` at (26.5cm, 10.95cm), size 5cm × 1.1cm. +- For Navigation, create two native internal hyperlinks: `Return to Cover` at (8.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 1; `Meet the Team` at (20.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 5. Do not use external URLs. - Footer line, company name, accent bar, and slide number remain inherited from the master/layout; do not duplicate them as slide-local shapes. diff --git a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-20.md b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-20.md index 69d9479..1b8a866 100644 --- a/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-20.md +++ b/gloss-v1/benchmark/prompts/variants/paraphrase-b/slide-20.md @@ -4,12 +4,16 @@ The primary directive is the following set of natural-language requirements. Con Everything combined: chart (line chart), table (3×6), approved image (cropped), Arabic + Japanese text, rotated text box at 45°, overlapping semi-transparent shapes, nested group, master-inherited footer, gradient fill, bullet list, slide number field — all on one slide. -## Fixed v1 acceptance constraints +## Exact v1 constraints - Adopt the **Blank with Footer** layout with title `Gloss Synthesis`. -- Provide one native line chart with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`. -- Provide one native 3-row × 6-column table. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`. -- Embed `hero-abstract.png` with a 20% left crop. Provide Arabic `اختبار شامل` with native RTL direction and Japanese `総合テスト` in Noto Sans CJK JP. -- Include a 45° text box labeled `ROTATED`, three overlapping semi-transparent shapes inside a two-level group, a navy-to-teal gradient, a three-item bullet list, a live slide-number field, and the inherited master footer. +- Provide one native line chart at (1.5cm, 3cm), size 10.5cm × 5.5cm, with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`. +- Provide one native 3-row × 6-column table at (13cm, 3cm), size 19cm × 4.5cm. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`. +- Embed `hero-abstract.png` at (13cm, 8cm), size 6.5cm × 4.2cm, with a 20% left crop. Put Arabic `اختبار شامل` at (20.5cm, 7.9cm), size 5cm × 1.44cm, in Noto Sans Arabic 18pt with native RTL direction. Put Japanese `総合テスト` at (20.5cm, 9.2cm), size 5cm × 1.1cm, in Noto Sans CJK JP 18pt. +- Put the editable text `ROTATED` at (1.6cm, 10.1cm), size 5cm × 1.3cm, in Liberation Sans 16pt Bold with a native 45° rotation. +- Build a two-level outer group at (6cm, 9.8cm), size 6.5cm × 3.6cm. Its inner group is at (6cm, 9.8cm), size 6.5cm × 3.1cm, and contains three 65%-opaque shapes in z-order: a 3cm navy circle at (6cm, 9.8cm), a 3.5cm × 2.6cm coral rounded rectangle at (7.6cm, 10.3cm), and a 3cm teal circle at (9.5cm, 9.8cm). Put `2-LEVEL GROUP` at (6.9cm, 12.6cm), size 5.2cm × 0.8cm, inside the outer group. +- Provide a navy-to-teal native gradient rectangle at (25cm, 11.2cm), size 7cm × 2.2cm, with `NATIVE GRADIENT` centered at (25.3cm, 11.6cm), size 6.4cm × 1.4cm. +- Provide a native three-item bullet list at (1.5cm, 14cm), size 12.5cm × 2.5cm, with with exact precision `Native structure retained`, `Multilingual meaning preserved`, and `Rendered fidelity verified`. +- Provide `Live slide: ` followed by a live slide-number field at (22.5cm, 14.3cm), size 14.5cm × 1.5cm. Maintain the inherited master footer and slide-number field as well. --- diff --git a/gloss-v1/benchmark/requirements/prompt-requirements.json b/gloss-v1/benchmark/requirements/prompt-requirements.json index 51e2092..9d78369 100644 --- a/gloss-v1/benchmark/requirements/prompt-requirements.json +++ b/gloss-v1/benchmark/requirements/prompt-requirements.json @@ -93,63 +93,63 @@ "source_type": "prompt", "authority": "primary", "path": "benchmark/prompts/variants/canonical/slide-12.md", - "sha256": "8c8fbe1a7ca1f5f4af7eaab91884cb28165531b11d41246e58caa9fed6659dbe" + "sha256": "f3f58d4dcefac89e165b5280f1a77628acd801f7d2b7b8d0dece0e2fec81b336" }, { "source_id": "slide-13-prompt", "source_type": "prompt", "authority": "primary", "path": "benchmark/prompts/variants/canonical/slide-13.md", - "sha256": "10a757d7989017806ebeb0c38c420982354a889e47af266e048c37c9fb20399d" + "sha256": "382821283a568690e30b6ffa51916a7ad61229593e7f58391488519629991278" }, { "source_id": "slide-14-prompt", "source_type": "prompt", "authority": "primary", "path": "benchmark/prompts/variants/canonical/slide-14.md", - "sha256": "539c484fcf6c333a2d94ac808415702f1161d394f290b9b18dafff4a6b5616e5" + "sha256": "30d72528b5c55c9875dbc27f083dd96c100227895659f492fb662bb9b0e03c16" }, { "source_id": "slide-15-prompt", "source_type": "prompt", "authority": "primary", "path": "benchmark/prompts/variants/canonical/slide-15.md", - "sha256": "e114750708bb759b186732535c60e893d34eb3dac4b420930218e1536292686b" + "sha256": "46bb8770a220a60a0bb4b9a8a1262463ef635b06680fe4c507b87d7e1ab3631f" }, { "source_id": "slide-16-prompt", "source_type": "prompt", "authority": "primary", "path": "benchmark/prompts/variants/canonical/slide-16.md", - "sha256": "fd9ca84995214fab8981ee570120b943184312c1a4d217a011d1e2966b425193" + "sha256": "55ca0d63d13be5ca86db79eaafb04e56ccc82994a4018dc2b1bf250ab44d5f4c" }, { "source_id": "slide-17-prompt", "source_type": "prompt", "authority": "primary", "path": "benchmark/prompts/variants/canonical/slide-17.md", - "sha256": "d70b572f05883784463f07e5a7d6fcdba76b222f8ce0f8b102df2eea6f2cd659" + "sha256": "4616dafa273ff38e505a39387f0fa32618e549593d6209e5a8d6571c4a30f63e" }, { "source_id": "slide-18-prompt", "source_type": "prompt", "authority": "primary", "path": "benchmark/prompts/variants/canonical/slide-18.md", - "sha256": "3a466f16ec13919f6009bb9c938b96b7b18b4950127856d38669e4a9584f5d95" + "sha256": "5f55790f0cc830703216a5031ea6cc5040efbbb45b9207c7e83ed67f620edf60" }, { "source_id": "slide-19-prompt", "source_type": "prompt", "authority": "primary", "path": "benchmark/prompts/variants/canonical/slide-19.md", - "sha256": "ed99ade6772a7ff66bc99437abda1951ccf8ee0763cd9d6013fe80b783b46c9d" + "sha256": "418adf962d94466a9c9a0e2257ef6f17b83fee6964b017dd3d9ae757b39a6fce" }, { "source_id": "slide-20-prompt", "source_type": "prompt", "authority": "primary", "path": "benchmark/prompts/variants/canonical/slide-20.md", - "sha256": "ba8e51e1becddfd40e2f2a02c5161a1caa09481255fcb9ff586f6b32ff866245" + "sha256": "285a00376bd518bef4125df2166023099fe8bc3aefa7def2828ce7484897268e" } ], "independent_reviews": [], @@ -13731,17 +13731,17 @@ "requirement_id": "slide-13.prompt-r006", "scope": "slide", "mandatory": true, - "statement": "Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` in Noto Sans Arabic 14pt with native RTL direction.", + "statement": "Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` at (12.5cm, 11cm), size 19cm × 1.3cm, in Noto Sans Arabic 14pt with native RTL direction and right alignment.", "provenance": { "source_id": "slide-13-prompt", "source_type": "prompt", "line_start": 13, "line_end": 13, - "excerpt": "- Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` in Noto Sans Arabic 14pt with native RTL direction.", - "excerpt_sha256": "4b7f0a0ae1b3c153286c3789de94301a0e0dcf7ea570d0a519e377f0b3c9adfb" + "excerpt": "- Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` at (12.5cm, 11cm), size 19cm × 1.3cm, in Noto Sans Arabic 14pt with native RTL direction and right alignment.", + "excerpt_sha256": "587f04d4839a3e59bf576853e3f9c4efb4ca3145252ea1231347ef199d4bf6ad" }, "severity": "critical", - "source_of_truth": "ooxml", + "source_of_truth": "both", "matching_policy": { "mode": "exact", "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." @@ -13756,7 +13756,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` in Noto Sans Arabic 14pt with native RTL direction.", + "expected_clause": "Add the Arabic annotation `الهيكل والمحتوى والعرض في اختبار واحد` at (12.5cm, 11cm), size 19cm × 1.3cm, in Noto Sans Arabic 14pt with native RTL direction and right alignment.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -13771,17 +13771,17 @@ "requirement_id": "slide-13.prompt-r007", "scope": "slide", "mandatory": true, - "statement": "Add three dense rounded callouts labeled `NATIVE CHART`, `NATIVE TABLE`, and `APPROVED ASSET`; connect each to its target and keep all data labels visible.", + "statement": "Add three rounded callouts at y=12.5cm: `NATIVE CHART` at (2.5cm, 12.5cm), size 7cm × 1.8cm, teal; `NATIVE TABLE` at (13cm, 12.5cm), size 7cm × 1.8cm, coral; and `APPROVED ASSET` at (23.5cm, 12.5cm), size 7.5cm × 1.8cm, gold. Center each label in Liberation Sans 12pt Bold.", "provenance": { "source_id": "slide-13-prompt", "source_type": "prompt", "line_start": 14, "line_end": 14, - "excerpt": "- Add three dense rounded callouts labeled `NATIVE CHART`, `NATIVE TABLE`, and `APPROVED ASSET`; connect each to its target and keep all data labels visible.", - "excerpt_sha256": "0daa740941a6263f850b06fa96fd6ebd9dad4a2e68f6df5f53a46773fffcbdcf" + "excerpt": "- Add three rounded callouts at y=12.5cm: `NATIVE CHART` at (2.5cm, 12.5cm), size 7cm × 1.8cm, teal; `NATIVE TABLE` at (13cm, 12.5cm), size 7cm × 1.8cm, coral; and `APPROVED ASSET` at (23.5cm, 12.5cm), size 7.5cm × 1.8cm, gold. Center each label in Liberation Sans 12pt Bold.", + "excerpt_sha256": "7fa1db4f1967f08a239b089951fbb0e129de3e5ec6145f4ab206a733a8cd824a" }, "severity": "critical", - "source_of_truth": "ooxml", + "source_of_truth": "both", "matching_policy": { "mode": "exact", "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." @@ -13796,7 +13796,47 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Add three dense rounded callouts labeled `NATIVE CHART`, `NATIVE TABLE`, and `APPROVED ASSET`; connect each to its target and keep all data labels visible.", + "expected_clause": "Add three rounded callouts at y=12.5cm: `NATIVE CHART` at (2.5cm, 12.5cm), size 7cm × 1.8cm, teal; `NATIVE TABLE` at (13cm, 12.5cm), size 7cm × 1.8cm, coral; and `APPROVED ASSET` at (23.5cm, 12.5cm), size 7.5cm × 1.8cm, gold. Center each label in Liberation Sans 12pt Bold.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 13 + }, + { + "requirement_id": "slide-13.prompt-r008", + "scope": "slide", + "mandatory": true, + "statement": "Connect the chart, table, and image to their callouts with 1pt vertical lines at x=6cm from y=11cm to 12.5cm, x=16.5cm from y=10cm to 12.5cm, and x=27cm from y=9cm to 12.5cm. Keep all chart data labels visible.", + "provenance": { + "source_id": "slide-13-prompt", + "source_type": "prompt", + "line_start": 15, + "line_end": 15, + "excerpt": "- Connect the chart, table, and image to their callouts with 1pt vertical lines at x=6cm from y=11cm to 12.5cm, x=16.5cm from y=10cm to 12.5cm, and x=27cm from y=9cm to 12.5cm. Keep all chart data labels visible.", + "excerpt_sha256": "882ac03a4687a7470858e49ad321da3e309fe004f1c1b46812f041e4a474303c" + }, + "severity": "major", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "Connect the chart, table, and image to their callouts with 1pt vertical lines at x=6cm from y=11cm to 12.5cm, x=16.5cm from y=10cm to 12.5cm, and x=27cm from y=9cm to 12.5cm. Keep all chart data labels visible.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -13891,17 +13931,17 @@ "requirement_id": "slide-14.prompt-r003", "scope": "slide", "mandatory": true, - "statement": "The left column contains at least five separate Arabic paragraphs in Noto Sans Arabic 14pt with native RTL paragraph direction. Include these exact phrases: `مراجعة الأنظمة الموزعة`, `دقة العرض`, `سلامة البنية`, `The الذكاء الاصطناعي revolution`, and `الإصدار Gloss v1`.", + "statement": "Put the Arabic column at (1.5cm, 3.2cm), size 14cm × 12cm, in Noto Sans Arabic 14pt with native RTL paragraph direction and right alignment. Use six paragraphs exactly: `مراجعة الأنظمة الموزعة`; `دقة العرض هي أساس المقارنة بين الأنظمة.`; `سلامة البنية تحافظ على المعنى والتفاعل.`; `The الذكاء الاصطناعي revolution تتطلب نصاً ثنائي الاتجاه.`; `الإصدار Gloss v1 يختبر التوافق.`; and `يجب الحفاظ على علامات الترقيم وترتيب Unicode.`", "provenance": { "source_id": "slide-14-prompt", "source_type": "prompt", "line_start": 10, "line_end": 10, - "excerpt": "- The left column contains at least five separate Arabic paragraphs in Noto Sans Arabic 14pt with native RTL paragraph direction. Include these exact phrases: `مراجعة الأنظمة الموزعة`, `دقة العرض`, `سلامة البنية`, `The الذكاء الاصطناعي revolution`, and `الإصدار Gloss v1`.", - "excerpt_sha256": "d873c28a02af9227037b527ce7dd5a849a998326c5bfc4d0835a54a86f25f82b" + "excerpt": "- Put the Arabic column at (1.5cm, 3.2cm), size 14cm × 12cm, in Noto Sans Arabic 14pt with native RTL paragraph direction and right alignment. Use six paragraphs exactly: `مراجعة الأنظمة الموزعة`; `دقة العرض هي أساس المقارنة بين الأنظمة.`; `سلامة البنية تحافظ على المعنى والتفاعل.`; `The الذكاء الاصطناعي revolution تتطلب نصاً ثنائي الاتجاه.`; `الإصدار Gloss v1 يختبر التوافق.`; and `يجب الحفاظ على علامات الترقيم وترتيب Unicode.`", + "excerpt_sha256": "82a435b22cd06b20eb51f8d1418d89489b3ef4c56e63640e1d9cf3374fac6188" }, "severity": "critical", - "source_of_truth": "ooxml", + "source_of_truth": "both", "matching_policy": { "mode": "exact", "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." @@ -13916,7 +13956,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "The left column contains at least five separate Arabic paragraphs in Noto Sans Arabic 14pt with native RTL paragraph direction. Include these exact phrases: `مراجعة الأنظمة الموزعة`, `دقة العرض`, `سلامة البنية`, `The الذكاء الاصطناعي revolution`, and `الإصدار Gloss v1`.", + "expected_clause": "Put the Arabic column at (1.5cm, 3.2cm), size 14cm × 12cm, in Noto Sans Arabic 14pt with native RTL paragraph direction and right alignment. Use six paragraphs exactly: `مراجعة الأنظمة الموزعة`; `دقة العرض هي أساس المقارنة بين الأنظمة.`; `سلامة البنية تحافظ على المعنى والتفاعل.`; `The الذكاء الاصطناعي revolution تتطلب نصاً ثنائي الاتجاه.`; `الإصدار Gloss v1 يختبر التوافق.`; and `يجب الحفاظ على علامات الترقيم وترتيب Unicode.`", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -13931,16 +13971,16 @@ "requirement_id": "slide-14.prompt-r004", "scope": "slide", "mandatory": true, - "statement": "The right column contains five English summary paragraphs in Liberation Sans 14pt, beginning with `A structural benchmark must preserve meaning and direction.`", + "statement": "Put the English column at (18.5cm, 3.2cm), size 13.5cm × 12cm, in Liberation Sans 14pt with left alignment. Use five paragraphs exactly: `A structural benchmark must preserve meaning and direction.`; `Rendering alone cannot prove native editability.`; `Bidirectional runs must retain their Unicode order.`; `Mirrored padding makes the comparison deliberate.`; and `The benchmark records both artifact and visual fidelity.`", "provenance": { "source_id": "slide-14-prompt", "source_type": "prompt", "line_start": 11, "line_end": 11, - "excerpt": "- The right column contains five English summary paragraphs in Liberation Sans 14pt, beginning with `A structural benchmark must preserve meaning and direction.`", - "excerpt_sha256": "f0defa03b28072a7ff591559fa7b742458c416c4bff4b3a2c78af01a206b20f7" + "excerpt": "- Put the English column at (18.5cm, 3.2cm), size 13.5cm × 12cm, in Liberation Sans 14pt with left alignment. Use five paragraphs exactly: `A structural benchmark must preserve meaning and direction.`; `Rendering alone cannot prove native editability.`; `Bidirectional runs must retain their Unicode order.`; `Mirrored padding makes the comparison deliberate.`; and `The benchmark records both artifact and visual fidelity.`", + "excerpt_sha256": "d6aa64c7063aab9b22f564558bd9a2715b64a80562bfe65452281fd013ebf4a6" }, - "severity": "major", + "severity": "critical", "source_of_truth": "both", "matching_policy": { "mode": "exact", @@ -13956,7 +13996,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "The right column contains five English summary paragraphs in Liberation Sans 14pt, beginning with `A structural benchmark must preserve meaning and direction.`", + "expected_clause": "Put the English column at (18.5cm, 3.2cm), size 13.5cm × 12cm, in Liberation Sans 14pt with left alignment. Use five paragraphs exactly: `A structural benchmark must preserve meaning and direction.`; `Rendering alone cannot prove native editability.`; `Bidirectional runs must retain their Unicode order.`; `Mirrored padding makes the comparison deliberate.`; and `The benchmark records both artifact and visual fidelity.`", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -13971,14 +14011,14 @@ "requirement_id": "slide-14.prompt-r005", "scope": "slide", "mandatory": true, - "statement": "Right-align the Arabic column and left-align the English column. Mirror their inner padding and keep a 1pt teal divider centered between them.", + "statement": "Keep a 1pt teal divider at x=16.9cm from y=3cm through y=15.5cm. Mirror the columns’ inner padding around that divider.", "provenance": { "source_id": "slide-14-prompt", "source_type": "prompt", "line_start": 12, "line_end": 12, - "excerpt": "- Right-align the Arabic column and left-align the English column. Mirror their inner padding and keep a 1pt teal divider centered between them.", - "excerpt_sha256": "2fa0228291762e155c047278f02bed9dbc2ea7bb190d9665387ab79844fe09ef" + "excerpt": "- Keep a 1pt teal divider at x=16.9cm from y=3cm through y=15.5cm. Mirror the columns’ inner padding around that divider.", + "excerpt_sha256": "24d1e60e87b8603241d9f48138698607e7a569722a7805d59b0058d5cb9fdb43" }, "severity": "major", "source_of_truth": "both", @@ -13996,7 +14036,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Right-align the Arabic column and left-align the English column. Mirror their inner padding and keep a 1pt teal divider centered between them.", + "expected_clause": "Keep a 1pt teal divider at x=16.9cm from y=3cm through y=15.5cm. Mirror the columns’ inner padding around that divider.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14171,14 +14211,14 @@ "requirement_id": "slide-15.prompt-r004", "scope": "slide", "mandatory": true, - "statement": "Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm, uses Liberation Sans 16pt Bold, and has a matching 6cm × 2cm supporting rectangle sharing its center and rotation.", + "statement": "Draw a 0.5pt teal alignment rule from (1.5cm, 8cm) to (32cm, 8cm), behind every object.", "provenance": { "source_id": "slide-15-prompt", "source_type": "prompt", "line_start": 11, "line_end": 11, - "excerpt": "- Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm, uses Liberation Sans 16pt Bold, and has a matching 6cm × 2cm supporting rectangle sharing its center and rotation.", - "excerpt_sha256": "8c351f043e728e61a5b6e1ca6f2b9e2c7bdea01f1d3c95bc91c5acfc0b7ba45c" + "excerpt": "- Draw a 0.5pt teal alignment rule from (1.5cm, 8cm) to (32cm, 8cm), behind every object.", + "excerpt_sha256": "9ec274674fa359a438a228bfa9098707efa15f97c51722fbbac1b93dfef79898" }, "severity": "major", "source_of_truth": "both", @@ -14196,7 +14236,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm, uses Liberation Sans 16pt Bold, and has a matching 6cm × 2cm supporting rectangle sharing its center and rotation.", + "expected_clause": "Draw a 0.5pt teal alignment rule from (1.5cm, 8cm) to (32cm, 8cm), behind every object.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14211,17 +14251,57 @@ "requirement_id": "slide-15.prompt-r005", "scope": "slide", "mandatory": true, - "statement": "Distribute the five pairs evenly from x=2cm through x=28cm on a common y=8cm anchor line. Keep text editable and store rotations in native OOXML transforms.", + "statement": "Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm at y=7.25cm and uses centered Liberation Sans 16pt Bold. Set their x positions to 1.5cm, 7.5cm, 13.5cm, 19.5cm, and 25.5cm.", "provenance": { "source_id": "slide-15-prompt", "source_type": "prompt", "line_start": 12, "line_end": 12, - "excerpt": "- Distribute the five pairs evenly from x=2cm through x=28cm on a common y=8cm anchor line. Keep text editable and store rotations in native OOXML transforms.", - "excerpt_sha256": "bfa0c1dcf6d4eec2c08549577121643bd69e0a5f5e13f867a28c57dceb246291" + "excerpt": "- Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm at y=7.25cm and uses centered Liberation Sans 16pt Bold. Set their x positions to 1.5cm, 7.5cm, 13.5cm, 19.5cm, and 25.5cm.", + "excerpt_sha256": "8cbf30345c94c0a0abb5e87d71591edf3efc39ec5b83a145218ffa720f6973ac" + }, + "severity": "major", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "Apply rotations of 0°, 45°, 90°, 135°, and 270° respectively. Each text box is 5cm × 1.5cm at y=7.25cm and uses centered Liberation Sans 16pt Bold. Set their x positions to 1.5cm, 7.5cm, 13.5cm, 19.5cm, and 25.5cm.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 15 + }, + { + "requirement_id": "slide-15.prompt-r006", + "scope": "slide", + "mandatory": true, + "statement": "Place a matching 6cm × 2cm supporting rectangle behind each text box at y=7cm and x=1cm, 7cm, 13cm, 19cm, and 25cm. Use navy, teal, coral, gold, and navy fills respectively at 70% opacity. Each rectangle shares its text box’s center and rotation. Keep text editable and store rotations in native transforms.", + "provenance": { + "source_id": "slide-15-prompt", + "source_type": "prompt", + "line_start": 13, + "line_end": 13, + "excerpt": "- Place a matching 6cm × 2cm supporting rectangle behind each text box at y=7cm and x=1cm, 7cm, 13cm, 19cm, and 25cm. Use navy, teal, coral, gold, and navy fills respectively at 70% opacity. Each rectangle shares its text box’s center and rotation. Keep text editable and store rotations in native transforms.", + "excerpt_sha256": "87567923944a8e1bf758341f52142bdf791dd3d1fbfb12cfafc8676a068851aa" }, "severity": "critical", - "source_of_truth": "ooxml", + "source_of_truth": "both", "matching_policy": { "mode": "exact", "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." @@ -14236,7 +14316,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Distribute the five pairs evenly from x=2cm through x=28cm on a common y=8cm anchor line. Keep text editable and store rotations in native OOXML transforms.", + "expected_clause": "Place a matching 6cm × 2cm supporting rectangle behind each text box at y=7cm and x=1cm, 7cm, 13cm, 19cm, and 25cm. Use navy, teal, coral, gold, and navy fills respectively at 70% opacity. Each rectangle shares its text box’s center and rotation. Keep text editable and store rotations in native transforms.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14251,14 +14331,14 @@ "requirement_id": "slide-16.prompt-r001", "scope": "slide", "mandatory": true, - "statement": "Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 5cm past the right edge. These are intentional design choices, not errors.", + "statement": "Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 7cm past the right edge. These are intentional design choices, not errors.", "provenance": { "source_id": "slide-16-prompt", "source_type": "prompt", "line_start": 5, "line_end": 5, - "excerpt": "Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 5cm past the right edge. These are intentional design choices, not errors.", - "excerpt_sha256": "846b1614e19e85f7cbde947569edc0d970e519b719e26da710ed4611d3f9e3f2" + "excerpt": "Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 7cm past the right edge. These are intentional design choices, not errors.", + "excerpt_sha256": "f73a2c478e35f26d91bdddd75f1ca0163338b8cf09db08ffcc0c3eb5cc2e3d2b" }, "severity": "major", "source_of_truth": "ooxml", @@ -14276,7 +14356,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 5cm past the right edge. These are intentional design choices, not errors.", + "expected_clause": "Objects deliberately extending beyond the slide canvas edges — a large circle at (-3cm, -2cm) partly visible, a rectangle extending 7cm past the right edge. These are intentional design choices, not errors.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14331,14 +14411,14 @@ "requirement_id": "slide-16.prompt-r003", "scope": "slide", "mandatory": true, - "statement": "Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 5cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm).", + "statement": "Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 7cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm).", "provenance": { "source_id": "slide-16-prompt", "source_type": "prompt", "line_start": 10, "line_end": 10, - "excerpt": "- Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 5cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm).", - "excerpt_sha256": "5b12cc6fdc332d494db00d9dbdec7c5d4caae72b7da62536a8e37e325595335d" + "excerpt": "- Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 7cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm).", + "excerpt_sha256": "1a625a140c20705d213d9d51fc355d87e4694786c02e7e8a866ecf4e420e750a" }, "severity": "major", "source_of_truth": "both", @@ -14356,7 +14436,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 5cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm).", + "expected_clause": "Place a 10cm diameter coral circle at (-3cm, -2cm), a 12cm × 6cm teal rectangle at (28.867cm, 6cm) so it extends 7cm beyond the right edge, and a 16cm × 3cm gold strip at (8cm, -1cm).", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14371,14 +14451,14 @@ "requirement_id": "slide-16.prompt-r004", "scope": "slide", "mandatory": true, - "statement": "Add on-canvas labels `INTENTIONAL BLEED` and `Negative coordinates are part of the composition.`", + "statement": "Put `INTENTIONAL BLEED` at (9cm, 6.5cm), size 15cm × 1.8cm, in centered Carlito 28pt Bold. Put `Negative coordinates are part of the composition.` at (7.5cm, 9cm), size 18cm × 1.4cm, in centered Liberation Sans 18pt.", "provenance": { "source_id": "slide-16-prompt", "source_type": "prompt", "line_start": 11, "line_end": 11, - "excerpt": "- Add on-canvas labels `INTENTIONAL BLEED` and `Negative coordinates are part of the composition.`", - "excerpt_sha256": "a720b6de38bf66147c2d83a7f6d6176b17ff657c94faf380bb0a9f52968cb6c2" + "excerpt": "- Put `INTENTIONAL BLEED` at (9cm, 6.5cm), size 15cm × 1.8cm, in centered Carlito 28pt Bold. Put `Negative coordinates are part of the composition.` at (7.5cm, 9cm), size 18cm × 1.4cm, in centered Liberation Sans 18pt.", + "excerpt_sha256": "c46b144bac0e885edabb34510f2e5e179445db9d7105adfec56640bc735583de" }, "severity": "major", "source_of_truth": "both", @@ -14396,7 +14476,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Add on-canvas labels `INTENTIONAL BLEED` and `Negative coordinates are part of the composition.`", + "expected_clause": "Put `INTENTIONAL BLEED` at (9cm, 6.5cm), size 15cm × 1.8cm, in centered Carlito 28pt Bold. Put `Negative coordinates are part of the composition.` at (7.5cm, 9cm), size 18cm × 1.4cm, in centered Liberation Sans 18pt.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14531,20 +14611,20 @@ "requirement_id": "slide-17.prompt-r003", "scope": "slide", "mandatory": true, - "statement": "Build one outer group containing three middle groups. Each middle group contains two inner groups; each inner group contains three leaf shapes (18 leaf shapes total).", + "statement": "Build one outer group at (3cm, 3cm), size 27cm × 13cm, containing three middle groups: `INPUT` at (3cm, 3cm), `PROCESS` at (13.219cm, 3cm), and `OUTPUT` at (23.438cm, 3cm). Each middle group is 6.562cm × 13cm and contains two inner groups.", "provenance": { "source_id": "slide-17-prompt", "source_type": "prompt", "line_start": 10, "line_end": 10, - "excerpt": "- Build one outer group containing three middle groups. Each middle group contains two inner groups; each inner group contains three leaf shapes (18 leaf shapes total).", - "excerpt_sha256": "eccf67fc2187317245a8c6dd36f3cf22044075a2cabac4de66f4a5c1ac7d4ad5" + "excerpt": "- Build one outer group at (3cm, 3cm), size 27cm × 13cm, containing three middle groups: `INPUT` at (3cm, 3cm), `PROCESS` at (13.219cm, 3cm), and `OUTPUT` at (23.438cm, 3cm). Each middle group is 6.562cm × 13cm and contains two inner groups.", + "excerpt_sha256": "05816ded7b6e2a121a4566a3f537c457bd1f5bcd23407161efa20d72b29d0f5b" }, "severity": "major", - "source_of_truth": "ooxml", + "source_of_truth": "both", "matching_policy": { - "mode": "structural_semantic", - "normalization": "Match every named visible and structural property; do not infer from gold." + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." }, "equivalence_policy": { "allowed": [ @@ -14556,7 +14636,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Build one outer group containing three middle groups. Each middle group contains two inner groups; each inner group contains three leaf shapes (18 leaf shapes total).", + "expected_clause": "Build one outer group at (3cm, 3cm), size 27cm × 13cm, containing three middle groups: `INPUT` at (3cm, 3cm), `PROCESS` at (13.219cm, 3cm), and `OUTPUT` at (23.438cm, 3cm). Each middle group is 6.562cm × 13cm and contains two inner groups.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14571,12 +14651,92 @@ "requirement_id": "slide-17.prompt-r004", "scope": "slide", "mandatory": true, - "statement": "Use native group objects at all three levels. Label the middle groups `INPUT`, `PROCESS`, and `OUTPUT`; label inner groups `A1`, `A2`, `B1`, `B2`, `C1`, and `C2`.", + "statement": "Place the six 6.562cm × 4.333cm inner groups at (3cm, 3cm), (3cm, 11.667cm), (13.219cm, 3cm), (13.219cm, 11.667cm), (23.438cm, 3cm), and (23.438cm, 11.667cm), labeled `A1`, `A2`, `B1`, `B2`, `C1`, and `C2` respectively.", "provenance": { "source_id": "slide-17-prompt", "source_type": "prompt", "line_start": 11, "line_end": 11, + "excerpt": "- Place the six 6.562cm × 4.333cm inner groups at (3cm, 3cm), (3cm, 11.667cm), (13.219cm, 3cm), (13.219cm, 11.667cm), (23.438cm, 3cm), and (23.438cm, 11.667cm), labeled `A1`, `A2`, `B1`, `B2`, `C1`, and `C2` respectively.", + "excerpt_sha256": "c9692372cde2c6e21428b2298954b0df6ee28f224bf33e0eb57fcca3a957450d" + }, + "severity": "major", + "source_of_truth": "ooxml", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "Place the six 6.562cm × 4.333cm inner groups at (3cm, 3cm), (3cm, 11.667cm), (13.219cm, 3cm), (13.219cm, 11.667cm), (23.438cm, 3cm), and (23.438cm, 11.667cm), labeled `A1`, `A2`, `B1`, `B2`, `C1`, and `C2` respectively.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 17 + }, + { + "requirement_id": "slide-17.prompt-r005", + "scope": "slide", + "mandatory": true, + "statement": "Each inner group contains exactly three leaf objects: a 45%-opaque colored circle at the bottom of z-order, an 85%-opaque rounded panel above it, and a centered Carlito 18pt Bold editable label on top. Use navy for A1/B1/C1 and teal for A2/B2/C2. Keep the middle-group label (`INPUT`, `PROCESS`, or `OUTPUT`) inside each panel.", + "provenance": { + "source_id": "slide-17-prompt", + "source_type": "prompt", + "line_start": 12, + "line_end": 12, + "excerpt": "- Each inner group contains exactly three leaf objects: a 45%-opaque colored circle at the bottom of z-order, an 85%-opaque rounded panel above it, and a centered Carlito 18pt Bold editable label on top. Use navy for A1/B1/C1 and teal for A2/B2/C2. Keep the middle-group label (`INPUT`, `PROCESS`, or `OUTPUT`) inside each panel.", + "excerpt_sha256": "eaeb48522bbfe8abc680ca52c6bfb63738f554bbcb4a3a86e1dfcd8480a551ac" + }, + "severity": "major", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "Each inner group contains exactly three leaf objects: a 45%-opaque colored circle at the bottom of z-order, an 85%-opaque rounded panel above it, and a centered Carlito 18pt Bold editable label on top. Use navy for A1/B1/C1 and teal for A2/B2/C2. Keep the middle-group label (`INPUT`, `PROCESS`, or `OUTPUT`) inside each panel.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 17 + }, + { + "requirement_id": "slide-17.prompt-r006", + "scope": "slide", + "mandatory": true, + "statement": "Use native group objects at all three levels. Label the middle groups `INPUT`, `PROCESS`, and `OUTPUT`; label inner groups `A1`, `A2`, `B1`, `B2`, `C1`, and `C2`.", + "provenance": { + "source_id": "slide-17-prompt", + "source_type": "prompt", + "line_start": 13, + "line_end": 13, "excerpt": "- Use native group objects at all three levels. Label the middle groups `INPUT`, `PROCESS`, and `OUTPUT`; label inner groups `A1`, `A2`, `B1`, `B2`, `C1`, and `C2`.", "excerpt_sha256": "9088578163b0705d3801651fe6eb5796c0a19ad92a3075529c3aeff75a2a7e2e" }, @@ -14608,17 +14768,17 @@ "slide": 17 }, { - "requirement_id": "slide-17.prompt-r005", + "requirement_id": "slide-17.prompt-r007", "scope": "slide", "mandatory": true, - "statement": "Within every inner group, z-order is circle below rounded rectangle below label. The full outer group's bounding box has top-left position (3cm, 3cm) and size 27cm × 13cm.", + "statement": "Within every inner group, z-order is circle below rounded rectangle below label. Preserve the exact outer, middle, and inner group transforms instead of flattening the composition.", "provenance": { "source_id": "slide-17-prompt", "source_type": "prompt", - "line_start": 12, - "line_end": 12, - "excerpt": "- Within every inner group, z-order is circle below rounded rectangle below label. The full outer group's bounding box has top-left position (3cm, 3cm) and size 27cm × 13cm.", - "excerpt_sha256": "f4e0405d122f3cc8a6450bcfac2a1d04ae34bb13d1824a2396a6107928ab03df" + "line_start": 14, + "line_end": 14, + "excerpt": "- Within every inner group, z-order is circle below rounded rectangle below label. Preserve the exact outer, middle, and inner group transforms instead of flattening the composition.", + "excerpt_sha256": "7c13acca6e266fc06f97e04740ea033c64ebe730058abcd3e37e563a698ccc74" }, "severity": "major", "source_of_truth": "both", @@ -14636,7 +14796,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Within every inner group, z-order is circle below rounded rectangle below label. The full outer group's bounding box has top-left position (3cm, 3cm) and size 27cm × 13cm.", + "expected_clause": "Within every inner group, z-order is circle below rounded rectangle below label. Preserve the exact outer, middle, and inner group transforms instead of flattening the composition.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14731,14 +14891,14 @@ "requirement_id": "slide-18.prompt-r003", "scope": "slide", "mandatory": true, - "statement": "Build three equal 9.5cm-wide editorial columns with 0.9cm gutters. Each column contains a 9.5cm × 3.5cm approved header image, a heading, body copy, and a pull quote.", + "statement": "Build three 9.5cm-wide columns at x=1.784cm, 12.184cm, and 22.584cm, leaving 0.9cm gutters. In every column, put a 9.5cm × 3.5cm header image at y=3cm, a 9.5cm × 1.1cm heading at y=6.9cm, 9.5cm × 4.6cm body copy at y=8.2cm, and a 9.5cm × 2.5cm centered pull quote at y=13.2cm.", "provenance": { "source_id": "slide-18-prompt", "source_type": "prompt", "line_start": 10, "line_end": 10, - "excerpt": "- Build three equal 9.5cm-wide editorial columns with 0.9cm gutters. Each column contains a 9.5cm × 3.5cm approved header image, a heading, body copy, and a pull quote.", - "excerpt_sha256": "40467f10cf56ca1e41dad9b55fb98bac84556dbfe5e9c88f3a513f9024032e02" + "excerpt": "- Build three 9.5cm-wide columns at x=1.784cm, 12.184cm, and 22.584cm, leaving 0.9cm gutters. In every column, put a 9.5cm × 3.5cm header image at y=3cm, a 9.5cm × 1.1cm heading at y=6.9cm, 9.5cm × 4.6cm body copy at y=8.2cm, and a 9.5cm × 2.5cm centered pull quote at y=13.2cm.", + "excerpt_sha256": "893b4628a554d6eabde096b238897e9efc9838453848baa837fd890267def3ef" }, "severity": "major", "source_of_truth": "both", @@ -14756,7 +14916,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Build three equal 9.5cm-wide editorial columns with 0.9cm gutters. Each column contains a 9.5cm × 3.5cm approved header image, a heading, body copy, and a pull quote.", + "expected_clause": "Build three 9.5cm-wide columns at x=1.784cm, 12.184cm, and 22.584cm, leaving 0.9cm gutters. In every column, put a 9.5cm × 3.5cm header image at y=3cm, a 9.5cm × 1.1cm heading at y=6.9cm, 9.5cm × 4.6cm body copy at y=8.2cm, and a 9.5cm × 2.5cm centered pull quote at y=13.2cm.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14811,14 +14971,14 @@ "requirement_id": "slide-18.prompt-r005", "scope": "slide", "mandatory": true, - "statement": "Headings: `Systems`, `システム`, `Shared Futures`. Include the exact Japanese line `生成されたスライドは構造と意味を保持します。`", + "statement": "Use this exact content: left heading `Systems`, body `Cities expose the systems beneath daily life: transport, energy, data, and the people who connect them.`, quote `“Structure makes the invisible legible.”`; center heading `システム`, body `生成されたスライドは構造と意味を保持します。\\n編集可能な構造が共有された理解を支えます。`, quote `“構造は意味を運びます。”`; right heading `Shared Futures`, body `A common visual language lets teams compare evidence, preserve intent, and build toward shared futures.`, quote `“Consistency is a form of trust.”`", "provenance": { "source_id": "slide-18-prompt", "source_type": "prompt", "line_start": 12, "line_end": 12, - "excerpt": "- Headings: `Systems`, `システム`, `Shared Futures`. Include the exact Japanese line `生成されたスライドは構造と意味を保持します。`", - "excerpt_sha256": "204501620aef9f35807cc995e95417d6b39495d8eb92c950b0167bd3d865ce70" + "excerpt": "- Use this exact content: left heading `Systems`, body `Cities expose the systems beneath daily life: transport, energy, data, and the people who connect them.`, quote `“Structure makes the invisible legible.”`; center heading `システム`, body `生成されたスライドは構造と意味を保持します。\\n編集可能な構造が共有された理解を支えます。`, quote `“構造は意味を運びます。”`; right heading `Shared Futures`, body `A common visual language lets teams compare evidence, preserve intent, and build toward shared futures.`, quote `“Consistency is a form of trust.”`", + "excerpt_sha256": "6bbc453df2db48f8375d63cf9e07c82368fe1ee3c7ca018d5b1decfe81b6ffd1" }, "severity": "major", "source_of_truth": "both", @@ -14836,7 +14996,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Headings: `Systems`, `システム`, `Shared Futures`. Include the exact Japanese line `生成されたスライドは構造と意味を保持します。`", + "expected_clause": "Use this exact content: left heading `Systems`, body `Cities expose the systems beneath daily life: transport, energy, data, and the people who connect them.`, quote `“Structure makes the invisible legible.”`; center heading `システム`, body `生成されたスライドは構造と意味を保持します。\\n編集可能な構造が共有された理解を支えます。`, quote `“構造は意味を運びます。”`; right heading `Shared Futures`, body `A common visual language lets teams compare evidence, preserve intent, and build toward shared futures.`, quote `“Consistency is a form of trust.”`", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14851,14 +15011,14 @@ "requirement_id": "slide-18.prompt-r006", "scope": "slide", "mandatory": true, - "statement": "Apply the approved `texture-pattern.png` as a tiled background only to the center column at 20% opacity. Use 0.9cm gutters consistently.", + "statement": "Apply `texture-pattern.png` as a tiled background only to the center column at (12.184cm, 2.5cm), size 9.5cm × 14.5cm, at 20% opacity. Set each pull quote on a navy rectangle at 80% opacity.", "provenance": { "source_id": "slide-18-prompt", "source_type": "prompt", "line_start": 13, "line_end": 13, - "excerpt": "- Apply the approved `texture-pattern.png` as a tiled background only to the center column at 20% opacity. Use 0.9cm gutters consistently.", - "excerpt_sha256": "b1e4f254adebf966ac5cb8dd91e9f71c0c9bf0c9ea889d4988ab7ca0abd8e58c" + "excerpt": "- Apply `texture-pattern.png` as a tiled background only to the center column at (12.184cm, 2.5cm), size 9.5cm × 14.5cm, at 20% opacity. Set each pull quote on a navy rectangle at 80% opacity.", + "excerpt_sha256": "6480247ade6fcc1f06bb94b486923da8a75df6f43157311f8f79bc341b4b043a" }, "severity": "major", "source_of_truth": "both", @@ -14876,7 +15036,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Apply the approved `texture-pattern.png` as a tiled background only to the center column at 20% opacity. Use 0.9cm gutters consistently.", + "expected_clause": "Apply `texture-pattern.png` as a tiled background only to the center column at (12.184cm, 2.5cm), size 9.5cm × 14.5cm, at 20% opacity. Set each pull quote on a navy rectangle at 80% opacity.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -14971,14 +15131,14 @@ "requirement_id": "slide-19.prompt-r003", "scope": "slide", "mandatory": true, - "statement": "Show five samples labeled `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. Each sample must use the deck-level tokens exactly: Carlito 36pt, Liberation Sans 18pt, navy `#1B2A4A`, coral `#E8634A`, teal `#2AACB8`, and a 0.5pt teal rule.", + "statement": "Put the five 5.5cm × 0.9cm sample labels at x=1.8cm and y=3cm, 5.7cm, 8.4cm, 11.1cm, and 13.8cm: `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`.", "provenance": { "source_id": "slide-19-prompt", "source_type": "prompt", "line_start": 10, "line_end": 10, - "excerpt": "- Show five samples labeled `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. Each sample must use the deck-level tokens exactly: Carlito 36pt, Liberation Sans 18pt, navy `#1B2A4A`, coral `#E8634A`, teal `#2AACB8`, and a 0.5pt teal rule.", - "excerpt_sha256": "c66f5647197b8988b7601e59373d92f9a8d5d5b8a5e49c102d4a4ca176907555" + "excerpt": "- Put the five 5.5cm × 0.9cm sample labels at x=1.8cm and y=3cm, 5.7cm, 8.4cm, 11.1cm, and 13.8cm: `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`.", + "excerpt_sha256": "88eacfda669935beee09e86381db45ebd7ac3a3ce3dffcfd1e7d7492153ead2e" }, "severity": "major", "source_of_truth": "both", @@ -14996,7 +15156,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Show five samples labeled `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`. Each sample must use the deck-level tokens exactly: Carlito 36pt, Liberation Sans 18pt, navy `#1B2A4A`, coral `#E8634A`, teal `#2AACB8`, and a 0.5pt teal rule.", + "expected_clause": "Put the five 5.5cm × 0.9cm sample labels at x=1.8cm and y=3cm, 5.7cm, 8.4cm, 11.1cm, and 13.8cm: `Typography`, `Palette`, `Spacing`, `Line Weight`, and `Navigation`.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -15011,17 +15171,17 @@ "requirement_id": "slide-19.prompt-r004", "scope": "slide", "mandatory": true, - "statement": "Create two native internal hyperlinks: `Return to Cover` targets Slide 1 and `Meet the Team` targets Slide 5. Do not use external URLs.", + "statement": "For Typography, put `Carlito 36` at (8.5cm, 2.7cm), size 9cm × 1.52cm, in Carlito 36pt, and `Liberation Sans 18` at (20.5cm, 2.9cm), size 10cm × 1.1cm, in Liberation Sans 18pt.", "provenance": { "source_id": "slide-19-prompt", "source_type": "prompt", "line_start": 11, "line_end": 11, - "excerpt": "- Create two native internal hyperlinks: `Return to Cover` targets Slide 1 and `Meet the Team` targets Slide 5. Do not use external URLs.", - "excerpt_sha256": "807869dabb006a6b3b0f41fa79dc92766f59f1a4695107af79051f0856a9540a" + "excerpt": "- For Typography, put `Carlito 36` at (8.5cm, 2.7cm), size 9cm × 1.52cm, in Carlito 36pt, and `Liberation Sans 18` at (20.5cm, 2.9cm), size 10cm × 1.1cm, in Liberation Sans 18pt.", + "excerpt_sha256": "5f6f77f32a7bd91f9c08af34502d78def569bd3e72ea79fa12ef02e99e902619" }, - "severity": "critical", - "source_of_truth": "ooxml", + "severity": "major", + "source_of_truth": "both", "matching_policy": { "mode": "exact", "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." @@ -15036,7 +15196,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Create two native internal hyperlinks: `Return to Cover` targets Slide 1 and `Meet the Team` targets Slide 5. Do not use external URLs.", + "expected_clause": "For Typography, put `Carlito 36` at (8.5cm, 2.7cm), size 9cm × 1.52cm, in Carlito 36pt, and `Liberation Sans 18` at (20.5cm, 2.9cm), size 10cm × 1.1cm, in Liberation Sans 18pt.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -15051,12 +15211,172 @@ "requirement_id": "slide-19.prompt-r005", "scope": "slide", "mandatory": true, - "statement": "Footer line, company name, accent bar, and slide number remain inherited from the master/layout; do not duplicate them as slide-local shapes.", + "statement": "For Palette, place 5cm × 1.4cm navy `#1B2A4A`, coral `#E8634A`, and teal `#2AACB8` swatches at x=8.5cm, 14.5cm, and 20.5cm, all at y=5.4cm.", "provenance": { "source_id": "slide-19-prompt", "source_type": "prompt", "line_start": 12, "line_end": 12, + "excerpt": "- For Palette, place 5cm × 1.4cm navy `#1B2A4A`, coral `#E8634A`, and teal `#2AACB8` swatches at x=8.5cm, 14.5cm, and 20.5cm, all at y=5.4cm.", + "excerpt_sha256": "b52490eb74c5e3a6ed5062379824dca15dbbd506349ce539b8e953392c5ba544" + }, + "severity": "major", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "For Palette, place 5cm × 1.4cm navy `#1B2A4A`, coral `#E8634A`, and teal `#2AACB8` swatches at x=8.5cm, 14.5cm, and 20.5cm, all at y=5.4cm.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 19 + }, + { + "requirement_id": "slide-19.prompt-r006", + "scope": "slide", + "mandatory": true, + "statement": "For Spacing, place two navy 4cm × 1.2cm blocks at (8.5cm, 8.2cm) and (13cm, 8.2cm), leaving exactly 0.5cm between them, and put `0.5cm token` at (18cm, 8.2cm), size 8cm × 1.2cm.", + "provenance": { + "source_id": "slide-19-prompt", + "source_type": "prompt", + "line_start": 13, + "line_end": 13, + "excerpt": "- For Spacing, place two navy 4cm × 1.2cm blocks at (8.5cm, 8.2cm) and (13cm, 8.2cm), leaving exactly 0.5cm between them, and put `0.5cm token` at (18cm, 8.2cm), size 8cm × 1.2cm.", + "excerpt_sha256": "227c6289c126f52e3c1eef5a2e34cc73d4b181ab0e9ca5e65779cfe14a1fc556" + }, + "severity": "major", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "For Spacing, place two navy 4cm × 1.2cm blocks at (8.5cm, 8.2cm) and (13cm, 8.2cm), leaving exactly 0.5cm between them, and put `0.5cm token` at (18cm, 8.2cm), size 8cm × 1.2cm.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 19 + }, + { + "requirement_id": "slide-19.prompt-r007", + "scope": "slide", + "mandatory": true, + "statement": "For Line Weight, draw a 0.5pt teal rule from (8.5cm, 11.5cm) to (25.5cm, 11.5cm) and put `0.5pt teal rule` at (26.5cm, 10.95cm), size 5cm × 1.1cm.", + "provenance": { + "source_id": "slide-19-prompt", + "source_type": "prompt", + "line_start": 14, + "line_end": 14, + "excerpt": "- For Line Weight, draw a 0.5pt teal rule from (8.5cm, 11.5cm) to (25.5cm, 11.5cm) and put `0.5pt teal rule` at (26.5cm, 10.95cm), size 5cm × 1.1cm.", + "excerpt_sha256": "357ea543aa315d5d48e9cd64883cd89b6db0467460b5ec7786c4e2288e869703" + }, + "severity": "major", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "For Line Weight, draw a 0.5pt teal rule from (8.5cm, 11.5cm) to (25.5cm, 11.5cm) and put `0.5pt teal rule` at (26.5cm, 10.95cm), size 5cm × 1.1cm.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 19 + }, + { + "requirement_id": "slide-19.prompt-r008", + "scope": "slide", + "mandatory": true, + "statement": "For Navigation, create two native internal hyperlinks: `Return to Cover` at (8.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 1; `Meet the Team` at (20.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 5. Do not use external URLs.", + "provenance": { + "source_id": "slide-19-prompt", + "source_type": "prompt", + "line_start": 15, + "line_end": 15, + "excerpt": "- For Navigation, create two native internal hyperlinks: `Return to Cover` at (8.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 1; `Meet the Team` at (20.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 5. Do not use external URLs.", + "excerpt_sha256": "a2a92749e62770b4162afb1e63e84f96167414fb63ae9937bf8acadc855d66db" + }, + "severity": "critical", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "For Navigation, create two native internal hyperlinks: `Return to Cover` at (8.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 1; `Meet the Team` at (20.5cm, 13.5cm), size 9cm × 1.3cm, targets Slide 5. Do not use external URLs.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 19 + }, + { + "requirement_id": "slide-19.prompt-r009", + "scope": "slide", + "mandatory": true, + "statement": "Footer line, company name, accent bar, and slide number remain inherited from the master/layout; do not duplicate them as slide-local shapes.", + "provenance": { + "source_id": "slide-19-prompt", + "source_type": "prompt", + "line_start": 16, + "line_end": 16, "excerpt": "- Footer line, company name, accent bar, and slide number remain inherited from the master/layout; do not duplicate them as slide-local shapes.", "excerpt_sha256": "0c629b54e3bfeb7b2f3e4e28a3c578ec2b673488c29561acbd21bc10ae750e81" }, @@ -15171,17 +15491,17 @@ "requirement_id": "slide-20.prompt-r003", "scope": "slide", "mandatory": true, - "statement": "Add one native line chart with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`.", + "statement": "Add one native line chart at (1.5cm, 3cm), size 10.5cm × 5.5cm, with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`.", "provenance": { "source_id": "slide-20-prompt", "source_type": "prompt", "line_start": 10, "line_end": 10, - "excerpt": "- Add one native line chart with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`.", - "excerpt_sha256": "c9290c0038e5213fd6ae2aec7690f705665911923945219b13544c29ce36c99b" + "excerpt": "- Add one native line chart at (1.5cm, 3cm), size 10.5cm × 5.5cm, with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`.", + "excerpt_sha256": "043915ab51173ee30831e8d7e590db7fd396fc046155ef18dc9803ba66fd68ef" }, "severity": "critical", - "source_of_truth": "ooxml", + "source_of_truth": "both", "matching_policy": { "mode": "exact", "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." @@ -15196,7 +15516,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Add one native line chart with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`.", + "expected_clause": "Add one native line chart at (1.5cm, 3cm), size 10.5cm × 5.5cm, with series `Structural`, `Visual`, and `Combined` across categories `L1`, `L2`, `L3`; values are `72, 84, 96`, `68, 82, 95`, and `70, 83, 97`.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -15211,17 +15531,17 @@ "requirement_id": "slide-20.prompt-r004", "scope": "slide", "mandatory": true, - "statement": "Add one native 3-row × 6-column table. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`.", + "statement": "Add one native 3-row × 6-column table at (13cm, 3cm), size 19cm × 4.5cm. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`.", "provenance": { "source_id": "slide-20-prompt", "source_type": "prompt", "line_start": 11, "line_end": 11, - "excerpt": "- Add one native 3-row × 6-column table. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`.", - "excerpt_sha256": "002dfc07ea3b536a91fb863588727de959fe95f3c9020ca0e766d2b0df28c028" + "excerpt": "- Add one native 3-row × 6-column table at (13cm, 3cm), size 19cm × 4.5cm. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`.", + "excerpt_sha256": "709fa20c240b9d424e640d4225c0622e1e4e5023d762c3b4457aaf2181876433" }, "severity": "critical", - "source_of_truth": "ooxml", + "source_of_truth": "both", "matching_policy": { "mode": "exact", "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." @@ -15236,7 +15556,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Add one native 3-row × 6-column table. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`.", + "expected_clause": "Add one native 3-row × 6-column table at (13cm, 3cm), size 19cm × 4.5cm. Header: `Tier`, `Slides`, `Checks`, `SSIM`, `Schema`, `Status`; rows: `L1 | 5 | 70 | 0.9999 | Pass | Ready` and `L3 | 20 | 280 | 0.9999 | Pass | Ready`.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -15251,14 +15571,14 @@ "requirement_id": "slide-20.prompt-r005", "scope": "slide", "mandatory": true, - "statement": "Insert `hero-abstract.png` with a 20% left crop. Add Arabic `اختبار شامل` with native RTL direction and Japanese `総合テスト` in Noto Sans CJK JP.", + "statement": "Insert `hero-abstract.png` at (13cm, 8cm), size 6.5cm × 4.2cm, with a 20% left crop. Put Arabic `اختبار شامل` at (20.5cm, 7.9cm), size 5cm × 1.44cm, in Noto Sans Arabic 18pt with native RTL direction. Put Japanese `総合テスト` at (20.5cm, 9.2cm), size 5cm × 1.1cm, in Noto Sans CJK JP 18pt.", "provenance": { "source_id": "slide-20-prompt", "source_type": "prompt", "line_start": 12, "line_end": 12, - "excerpt": "- Insert `hero-abstract.png` with a 20% left crop. Add Arabic `اختبار شامل` with native RTL direction and Japanese `総合テスト` in Noto Sans CJK JP.", - "excerpt_sha256": "393f213352644b945cbf5a9bd8587806259012cc36eca0c162e1322a26579589" + "excerpt": "- Insert `hero-abstract.png` at (13cm, 8cm), size 6.5cm × 4.2cm, with a 20% left crop. Put Arabic `اختبار شامل` at (20.5cm, 7.9cm), size 5cm × 1.44cm, in Noto Sans Arabic 18pt with native RTL direction. Put Japanese `総合テスト` at (20.5cm, 9.2cm), size 5cm × 1.1cm, in Noto Sans CJK JP 18pt.", + "excerpt_sha256": "14c23f766a15d79aeefc5f61644fb2cfee96f9cb34c3f23c6c4c5f7cadf9490c" }, "severity": "critical", "source_of_truth": "both", @@ -15276,7 +15596,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Insert `hero-abstract.png` with a 20% left crop. Add Arabic `اختبار شامل` with native RTL direction and Japanese `総合テスト` in Noto Sans CJK JP.", + "expected_clause": "Insert `hero-abstract.png` at (13cm, 8cm), size 6.5cm × 4.2cm, with a 20% left crop. Put Arabic `اختبار شامل` at (20.5cm, 7.9cm), size 5cm × 1.44cm, in Noto Sans Arabic 18pt with native RTL direction. Put Japanese `総合テスト` at (20.5cm, 9.2cm), size 5cm × 1.1cm, in Noto Sans CJK JP 18pt.", "automation_status": "unimplemented" }, "fixture_expectations": { @@ -15291,14 +15611,174 @@ "requirement_id": "slide-20.prompt-r006", "scope": "slide", "mandatory": true, - "statement": "Include a 45° text box labeled `ROTATED`, three overlapping semi-transparent shapes inside a two-level group, a navy-to-teal gradient, a three-item bullet list, a live slide-number field, and the inherited master footer.", + "statement": "Put the editable text `ROTATED` at (1.6cm, 10.1cm), size 5cm × 1.3cm, in Liberation Sans 16pt Bold with a native 45° rotation.", "provenance": { "source_id": "slide-20-prompt", "source_type": "prompt", "line_start": 13, "line_end": 13, - "excerpt": "- Include a 45° text box labeled `ROTATED`, three overlapping semi-transparent shapes inside a two-level group, a navy-to-teal gradient, a three-item bullet list, a live slide-number field, and the inherited master footer.", - "excerpt_sha256": "641b7b5911d4964ef11e26e7ce454de8d7e7a0ca3cfd51785b79aca194f6aa64" + "excerpt": "- Put the editable text `ROTATED` at (1.6cm, 10.1cm), size 5cm × 1.3cm, in Liberation Sans 16pt Bold with a native 45° rotation.", + "excerpt_sha256": "ff337eb8095c56d7286dc447d7a188d7909e048f2789cdd3e7452a4398648745" + }, + "severity": "critical", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "Put the editable text `ROTATED` at (1.6cm, 10.1cm), size 5cm × 1.3cm, in Liberation Sans 16pt Bold with a native 45° rotation.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 20 + }, + { + "requirement_id": "slide-20.prompt-r007", + "scope": "slide", + "mandatory": true, + "statement": "Build a two-level outer group at (6cm, 9.8cm), size 6.5cm × 3.6cm. Its inner group is at (6cm, 9.8cm), size 6.5cm × 3.1cm, and contains three 65%-opaque shapes in z-order: a 3cm navy circle at (6cm, 9.8cm), a 3.5cm × 2.6cm coral rounded rectangle at (7.6cm, 10.3cm), and a 3cm teal circle at (9.5cm, 9.8cm). Put `2-LEVEL GROUP` at (6.9cm, 12.6cm), size 5.2cm × 0.8cm, inside the outer group.", + "provenance": { + "source_id": "slide-20-prompt", + "source_type": "prompt", + "line_start": 14, + "line_end": 14, + "excerpt": "- Build a two-level outer group at (6cm, 9.8cm), size 6.5cm × 3.6cm. Its inner group is at (6cm, 9.8cm), size 6.5cm × 3.1cm, and contains three 65%-opaque shapes in z-order: a 3cm navy circle at (6cm, 9.8cm), a 3.5cm × 2.6cm coral rounded rectangle at (7.6cm, 10.3cm), and a 3cm teal circle at (9.5cm, 9.8cm). Put `2-LEVEL GROUP` at (6.9cm, 12.6cm), size 5.2cm × 0.8cm, inside the outer group.", + "excerpt_sha256": "31bf969ba5e6d215873936dc9769499f112b18f57f08405f02352bbaa8378e22" + }, + "severity": "major", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "Build a two-level outer group at (6cm, 9.8cm), size 6.5cm × 3.6cm. Its inner group is at (6cm, 9.8cm), size 6.5cm × 3.1cm, and contains three 65%-opaque shapes in z-order: a 3cm navy circle at (6cm, 9.8cm), a 3.5cm × 2.6cm coral rounded rectangle at (7.6cm, 10.3cm), and a 3cm teal circle at (9.5cm, 9.8cm). Put `2-LEVEL GROUP` at (6.9cm, 12.6cm), size 5.2cm × 0.8cm, inside the outer group.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 20 + }, + { + "requirement_id": "slide-20.prompt-r008", + "scope": "slide", + "mandatory": true, + "statement": "Add a navy-to-teal native gradient rectangle at (25cm, 11.2cm), size 7cm × 2.2cm, with `NATIVE GRADIENT` centered at (25.3cm, 11.6cm), size 6.4cm × 1.4cm.", + "provenance": { + "source_id": "slide-20-prompt", + "source_type": "prompt", + "line_start": 15, + "line_end": 15, + "excerpt": "- Add a navy-to-teal native gradient rectangle at (25cm, 11.2cm), size 7cm × 2.2cm, with `NATIVE GRADIENT` centered at (25.3cm, 11.6cm), size 6.4cm × 1.4cm.", + "excerpt_sha256": "9e70d813c073c647586f1ee5ea9a5a35a49cec241ed6b81a14230de980a332fe" + }, + "severity": "critical", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "Add a navy-to-teal native gradient rectangle at (25cm, 11.2cm), size 7cm × 2.2cm, with `NATIVE GRADIENT` centered at (25.3cm, 11.6cm), size 6.4cm × 1.4cm.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 20 + }, + { + "requirement_id": "slide-20.prompt-r009", + "scope": "slide", + "mandatory": true, + "statement": "Add a native three-item bullet list at (1.5cm, 14cm), size 12.5cm × 2.5cm, with exactly `Native structure retained`, `Multilingual meaning preserved`, and `Rendered fidelity verified`.", + "provenance": { + "source_id": "slide-20-prompt", + "source_type": "prompt", + "line_start": 16, + "line_end": 16, + "excerpt": "- Add a native three-item bullet list at (1.5cm, 14cm), size 12.5cm × 2.5cm, with exactly `Native structure retained`, `Multilingual meaning preserved`, and `Rendered fidelity verified`.", + "excerpt_sha256": "0d7fc0feaa08fbea847aff19677429b96d7f4e0bca297d03bd3b4a2fb5b5bc2d" + }, + "severity": "critical", + "source_of_truth": "both", + "matching_policy": { + "mode": "exact", + "normalization": "Exact Unicode, numeric values, units, and named OOXML construct after only prompt-declared unit conversion." + }, + "equivalence_policy": { + "allowed": [ + "Alternative native OOXML serialization preserving every property named by this clause." + ], + "forbidden": [ + "Gold-derived expectations, raster substitutes, or omission of a property named by this clause." + ] + }, + "assertion": { + "operator": "satisfies_prompt_clause", + "expected_clause": "Add a native three-item bullet list at (1.5cm, 14cm), size 12.5cm × 2.5cm, with exactly `Native structure retained`, `Multilingual meaning preserved`, and `Rendered fidelity verified`.", + "automation_status": "unimplemented" + }, + "fixture_expectations": { + "positive_fixture_ids": [], + "single_fault_negative_fixture_ids": [], + "mutation_ids": [] + }, + "review_status": "pending", + "slide": 20 + }, + { + "requirement_id": "slide-20.prompt-r010", + "scope": "slide", + "mandatory": true, + "statement": "Add `Live slide: ` followed by a live slide-number field at (22.5cm, 14.3cm), size 14.5cm × 1.5cm. Keep the inherited master footer and slide-number field as well.", + "provenance": { + "source_id": "slide-20-prompt", + "source_type": "prompt", + "line_start": 17, + "line_end": 17, + "excerpt": "- Add `Live slide: ` followed by a live slide-number field at (22.5cm, 14.3cm), size 14.5cm × 1.5cm. Keep the inherited master footer and slide-number field as well.", + "excerpt_sha256": "ff77fa49875976621731fa701840446a8ff37b7be94da8b36e5139ca7c7ac403" }, "severity": "major", "source_of_truth": "both", @@ -15316,7 +15796,7 @@ }, "assertion": { "operator": "satisfies_prompt_clause", - "expected_clause": "Include a 45° text box labeled `ROTATED`, three overlapping semi-transparent shapes inside a two-level group, a navy-to-teal gradient, a three-item bullet list, a live slide-number field, and the inherited master footer.", + "expected_clause": "Add `Live slide: ` followed by a live slide-number field at (22.5cm, 14.3cm), size 14.5cm × 1.5cm. Keep the inherited master footer and slide-number field as well.", "automation_status": "unimplemented" }, "fixture_expectations": { diff --git a/launch/launch-post.md b/launch/launch-post.md index b408394..fb07f79 100644 --- a/launch/launch-post.md +++ b/launch/launch-post.md @@ -17,9 +17,9 @@ exactly two findings. Then give the exact prompt, reference images, and approved assets to your presentation-generating AI and see whether it can make the real thing. -The deck is the challenge. The checker and deeper measurement tools are the -support layer. PowerPoint is first; Google Slides and Keynote are part of the -mission. +The deck is the challenge. The presentation is Gloss. It is not primarily a +measurement tool. The checker and deeper tools simply make native quality easy +to measure. PowerPoint is first; Google Slides and Keynote are part of the mission. https://gloss.tools https://github.com/aronchick/gloss diff --git a/site/evidence/preview-v1.json b/site/evidence/preview-v1.json index ff0c31e..2c40bd8 100644 --- a/site/evidence/preview-v1.json +++ b/site/evidence/preview-v1.json @@ -16,9 +16,9 @@ "derivation": "inside_file = total candidate checks minus visual_ssim checks" }, "prompt_requirements": { - "total": 381, + "total": 393, "deck": 67, - "slide": 314, + "slide": 326, "freeze_status": "candidate" }, "verification_methods": [ @@ -106,7 +106,7 @@ }, { "path": "gloss-v1/benchmark/requirements/prompt-requirements.json", - "sha256": "ef238f041afe52e913a66694a335b3959064c23ec1100c703365a314dbd7b37e" + "sha256": "0120abfbcea99d4e6dc98461fecc30073cd2b0a9668554591e1eeafebb52361e" } ] } diff --git a/site/index.html b/site/index.html index 22cf391..dca59f2 100644 --- a/site/index.html +++ b/site/index.html @@ -56,7 +56,7 @@

An open ACID test for AI-made presentations

Make the deck.
Not a screenshot.

-

Gloss is a deliberately complicated 20-slide presentation that AI struggles to recreate as a real, editable artifact. The deck is the challenge. The checker makes every native miss easy to see.

+

Gloss is the presentation itself: a deliberately complicated 20-slide artifact that AI struggles to recreate as real, editable slides. The deck is the challenge. The bundled tools make native quality easy to measure.

Download the deck Build it with us @@ -104,7 +104,7 @@

Make the deck.
Not a screenshot.

The smallest useful experiment

Move two things.
See two things.

-

Download the native deck, move one object on each of two slides, and run the checker. Gloss reports those two native objects—not a score, not a dashboard, not a wall of release metadata.

+

Gloss is the presentation; the checker is its measuring tape. Download the native deck, move one object on each of two slides, and run the checker. It reports those two native objects—not a score, not a dashboard, not a wall of release metadata.

diff --git a/site/site.css b/site/site.css index 8b3b26d..8849a59 100644 --- a/site/site.css +++ b/site/site.css @@ -193,7 +193,8 @@ h2 { margin: 0; font-size: clamp(3.5rem, 6.3vw, 7rem); font-weight: 780; line-he .site-header { min-height: 4.5rem; } .site-header nav > a:not(.github-link) { display: none; } .hero { min-height: auto; padding-top: 4rem; } - h1 { font-size: clamp(4rem, 19vw, 6.5rem); } + .hero-copy { min-width: 0; } + h1 { max-width: 100%; font-size: clamp(3.4rem, 17vw, 5.8rem); } .editor { width: calc(100% - .5rem); box-shadow: 8px 8px 0 var(--ink); } .editor-body { grid-template-columns: 1fr; min-height: 0; } .editor-canvas { padding: 1rem; }