From b6dd77264da4911f65ab8bcdf6fea979dd8d321f Mon Sep 17 00:00:00 2001 From: "songtianyi.theo" Date: Wed, 24 Jun 2026 22:07:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=BC=BA=20beautiful=20?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=94=9F=E4=BA=A7=E5=AE=A1=E6=9F=A5=E9=97=A8?= =?UTF-8?q?=E7=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补齐 blue-professional 10/10 page-family smoke 覆盖,新增 production review receipt 校验,确保 production/default 必须绑定 renderer、golden、fidelity、smoke、visual contract 和审查凭证。 新增 34 套 beautiful family 的 production review gallery 作为审查入口,但不作为晋级凭证;其余 33 套继续保持 needs_review,默认链路不被污染。 同步 quality gate 测试夹具到 10 variant contract,并补充 stale receipt、缺失 variant、gallery 非 promotion 的 TDD 用例。 --- .../beautiful-template-executable-matrix.json | 13 + .../blue-professional.json | 11 +- .../beautiful/families/8-bit-orbit.json | 114 + .../beautiful/families/biennale-yellow.json | 102 + .../beautiful/families/block-frame.json | 114 + .../beautiful/families/blue-professional.json | 222 + .../beautiful/families/bold-poster.json | 114 + .../beautiful/families/broadside.json | 150 + .../beautiful/families/capsule.json | 114 + .../beautiful/families/cartesian.json | 108 + .../beautiful/families/cobalt-grid.json | 102 + .../beautiful/families/coral.json | 114 + .../beautiful/families/creative-mode.json | 102 + .../beautiful/families/daisy-days.json | 108 + .../beautiful/families/editorial-forest.json | 102 + .../families/editorial-tri-tone.json | 102 + .../beautiful/families/emerald-editorial.json | 102 + .../beautiful/families/grove.json | 126 + .../beautiful/families/long-table.json | 102 + .../beautiful/families/mat.json | 108 + .../beautiful/families/monochrome.json | 150 + .../beautiful/families/neo-grid-bold.json | 126 + .../beautiful/families/peoples-platform.json | 114 + .../beautiful/families/pin-and-paper.json | 120 + .../beautiful/families/pink-script.json | 108 + .../beautiful/families/playful.json | 114 + .../beautiful/families/raw-grid.json | 114 + .../beautiful/families/retro-windows.json | 114 + .../beautiful/families/retro-zine.json | 114 + .../beautiful/families/sakura-chroma.json | 102 + .../beautiful/families/scatterbrain.json | 102 + .../beautiful/families/signal.json | 162 + .../beautiful/families/soft-editorial.json | 126 + .../beautiful/families/stencil-tablet.json | 120 + .../beautiful/families/studio.json | 126 + .../beautiful/families/vellum.json | 108 + .../production-review/beautiful/index.html | 83 + .../production-review/beautiful/manifest.json | 4054 +++++++++++++++++ ...blue-professional.executive-dashboard.json | 63 +- ...blue-professional.executive-dashboard.json | 82 + .../beautiful_template_page_family_smoke.py | 45 + ...autiful_template_page_family_smoke_test.py | 35 +- ...iful_template_production_review_gallery.py | 388 ++ ...template_production_review_gallery_test.py | 100 + ...beautiful_template_visual_contract_lint.py | 333 ++ ...iful_template_visual_contract_lint_test.py | 136 + .../scripts/svglide_quality_gate_test.py | 3 +- 47 files changed, 9350 insertions(+), 22 deletions(-) create mode 100644 skills/lark-slides/references/production-review/beautiful/families/8-bit-orbit.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/biennale-yellow.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/block-frame.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/blue-professional.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/bold-poster.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/broadside.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/capsule.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/cartesian.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/cobalt-grid.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/coral.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/creative-mode.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/daisy-days.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/editorial-forest.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/editorial-tri-tone.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/emerald-editorial.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/grove.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/long-table.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/mat.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/monochrome.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/neo-grid-bold.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/peoples-platform.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/pin-and-paper.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/pink-script.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/playful.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/raw-grid.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/retro-windows.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/retro-zine.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/sakura-chroma.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/scatterbrain.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/signal.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/soft-editorial.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/stencil-tablet.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/studio.json create mode 100644 skills/lark-slides/references/production-review/beautiful/families/vellum.json create mode 100644 skills/lark-slides/references/production-review/beautiful/index.html create mode 100644 skills/lark-slides/references/production-review/beautiful/manifest.json create mode 100644 skills/lark-slides/references/receipts/production-review/blue-professional.executive-dashboard.json create mode 100644 skills/lark-slides/scripts/beautiful_template_production_review_gallery.py create mode 100644 skills/lark-slides/scripts/beautiful_template_production_review_gallery_test.py diff --git a/skills/lark-slides/references/beautiful-template-executable-matrix.json b/skills/lark-slides/references/beautiful-template-executable-matrix.json index 1cbd80de5..8104e531e 100644 --- a/skills/lark-slides/references/beautiful-template-executable-matrix.json +++ b/skills/lark-slides/references/beautiful-template-executable-matrix.json @@ -10,6 +10,7 @@ "visual_contract", "selector_gate", "quality_gate", + "production_review_receipt", "visual_contract_path" ] }, @@ -3349,6 +3350,18 @@ }, "page_family_smoke_deck": "skills/lark-slides/references/page-family-smoke-decks/blue-professional.json", "page_family_smoke_receipt": "skills/lark-slides/references/receipts/page-family-smoke/blue-professional.executive-dashboard.json", + "page_family_smoke": { + "status": "passed", + "rendered_pages": 10, + "implemented_page_variant_count": 10, + "covered_implemented_page_variant_count": 10, + "missing_implemented_page_variants": [], + "unimplemented_page_variants": [], + "smoke_deck": "skills/lark-slides/references/page-family-smoke-decks/blue-professional.json", + "smoke_receipt": "skills/lark-slides/references/receipts/page-family-smoke/blue-professional.executive-dashboard.json", + "claim_boundary": "blue-professional page-family smoke evidence only; does not promote other families" + }, + "production_review_receipt": "skills/lark-slides/references/receipts/production-review/blue-professional.executive-dashboard.json", "page_family_promotion_gate": { "status": "passed", "required_evidence": [ diff --git a/skills/lark-slides/references/page-family-smoke-decks/blue-professional.json b/skills/lark-slides/references/page-family-smoke-decks/blue-professional.json index 045fe12f7..f6da9aeb1 100644 --- a/skills/lark-slides/references/page-family-smoke-decks/blue-professional.json +++ b/skills/lark-slides/references/page-family-smoke-decks/blue-professional.json @@ -19,10 +19,11 @@ {"page": 2, "page_role": "agenda", "page_variant_id": "agenda", "title": "Discussion Map"}, {"page": 3, "page_role": "content", "page_variant_id": "dashboard", "title": "Operating Context"}, {"page": 4, "page_role": "data", "page_variant_id": "metrics", "title": "Metric Dashboard"}, - {"page": 5, "page_role": "comparison", "page_variant_id": "split", "title": "Option Comparison"}, - {"page": 6, "page_role": "quote", "page_variant_id": "quote", "title": "Leadership Signal"}, - {"page": 7, "page_role": "process", "page_variant_id": "timeline", "title": "Execution Timeline"}, - {"page": 8, "page_role": "detail", "page_variant_id": "detail", "title": "Deep Dive"}, - {"page": 9, "page_role": "closing", "page_variant_id": "closing", "title": "Decision Close"} + {"page": 5, "page_role": "data", "page_variant_id": "bars", "title": "Performance Bars"}, + {"page": 6, "page_role": "comparison", "page_variant_id": "split", "title": "Option Comparison"}, + {"page": 7, "page_role": "quote", "page_variant_id": "quote", "title": "Leadership Signal"}, + {"page": 8, "page_role": "process", "page_variant_id": "timeline", "title": "Execution Timeline"}, + {"page": 9, "page_role": "detail", "page_variant_id": "detail", "title": "Deep Dive"}, + {"page": 10, "page_role": "closing", "page_variant_id": "closing", "title": "Decision Close"} ] } diff --git a/skills/lark-slides/references/production-review/beautiful/families/8-bit-orbit.json b/skills/lark-slides/references/production-review/beautiful/families/8-bit-orbit.json new file mode 100644 index 000000000..a05565dcc --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/8-bit-orbit.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "8-bit-orbit", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/8-bit-orbit.pixel-orbit-console.json", + "receipt_sha256": "31bab9cafb1fabb4453980f01a8255d16c9a79e1f882d01585b319dee779d556", + "score": 0.8995, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "slide-1", + "source_class": "data-slide-1", + "source_slide_index": 1 + }, + { + "page_role": "closing", + "page_variant_id": "slide-10", + "source_class": "data-slide-10", + "source_slide_index": 10 + }, + { + "page_role": "agenda", + "page_variant_id": "slide-2", + "source_class": "data-slide-2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-3", + "source_class": "data-slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-4", + "source_class": "data-slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-5", + "source_class": "data-slide-5", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "slide-6", + "source_class": "data-slide-6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-7", + "source_class": "data-slide-7", + "source_slide_index": 7 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "slide-8", + "source_class": "data-slide-8", + "source_slide_index": 8 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-9", + "source_class": "data-slide-9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/8-bit-orbit-1.png", + "reference_screenshot_sha256": "c1f0517225fbe17807d69de03a7260881738d25bc456bd4151af67fabbb15281", + "review_artifact_path": "families/8-bit-orbit.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "pixel-orbit-console", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "pixel-orbit-console", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/8-bit-orbit.pixel-orbit-console.json", + "visual_contract_sha256": "9eb1df9b6321fb3273d47a66bc17c5ac69ac61ff7e9ccdc1c975198cb4a2c47b" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/biennale-yellow.json b/skills/lark-slides/references/production-review/beautiful/families/biennale-yellow.json new file mode 100644 index 000000000..8b5e18e44 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/biennale-yellow.json @@ -0,0 +1,102 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "biennale-yellow", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/biennale-yellow.biennale-programme-poster.json", + "receipt_sha256": "27b20213513d6a895ae84c07aea6d784f5acd5a5fcd4b5a6baf0d1868f4a7dfe", + "score": 0.7675, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "cal", + "source_class": "s-cal", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "chapter", + "source_class": "s-chapter", + "source_slide_index": 4 + }, + { + "page_role": "closing", + "page_variant_id": "colophon", + "source_class": "s-colophon", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data", + "source_class": "s-data", + "source_slide_index": 5 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "content", + "page_variant_id": "programme", + "source_class": "s-programme", + "source_slide_index": 3 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 6 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/biennale-yellow-1.png", + "reference_screenshot_sha256": "8acd74e991ff533d6982f60fc2934ad2020d5ea8e03c5d79d00c24899d6f9e8d", + "review_artifact_path": "families/biennale-yellow.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "biennale-programme-poster", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "biennale-programme-poster", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/biennale-yellow.biennale-programme-poster.json", + "visual_contract_sha256": "8f04a650927de6641fd356ec3d2107b1421cf9f6579e7af8f7e447b36f99c82b" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/block-frame.json b/skills/lark-slides/references/production-review/beautiful/families/block-frame.json new file mode 100644 index 000000000..69777a087 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/block-frame.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "block-frame", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/block-frame.block-frame-grid.json", + "receipt_sha256": "e35a3eb5441b55568413e926f2275e9593c0b01d95a4345337995c995ffffd95", + "score": 0.9716, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-2", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-10", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide-1", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard", + "source_class": "slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-4", + "source_class": "slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-8", + "source_class": "slide-8", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline", + "source_class": "slide-6", + "source_slide_index": 6 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline-7", + "source_class": "slide-7", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline-9", + "source_class": "slide-9", + "source_slide_index": 9 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote_or_emphasis", + "source_class": "slide-5", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/block-frame-1.png", + "reference_screenshot_sha256": "3fd1774d38f1bfbda05df46fc7f2b98a1780de45ced4d71f4925136bbf2460a0", + "review_artifact_path": "families/block-frame.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "block-frame-grid", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "block-frame-grid", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/block-frame.block-frame-grid.json", + "visual_contract_sha256": "b2bede4e48e6b4bd302aaa554c7ca106fff4f1d06bd453ae336ef7aa7096a256" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/blue-professional.json b/skills/lark-slides/references/production-review/beautiful/families/blue-professional.json new file mode 100644 index 000000000..22fd128c2 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/blue-professional.json @@ -0,0 +1,222 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": true, + "family_id": "blue-professional", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/blue-professional.executive-dashboard.json", + "receipt_sha256": "f6a4a0a015c09f14cb9e987f69734cbb05a06e79bba9c9b1ba2ca16ed6bc597a", + "score": 0.9855, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 10, + "implemented_page_variants": [ + "cover", + "agenda", + "metrics", + "dashboard", + "split", + "bars", + "quote", + "timeline", + "detail", + "closing" + ], + "known_blockers": [], + "page_family_promotion_gate": { + "claim_boundary": "page-family role/variant smoke evidence plus blue-professional dedicated renderer sample; does not promote other families", + "required_evidence": [ + "page_variants", + "renderer_dispatch", + "golden_specs", + "smoke_deck_receipt", + "quality_gate" + ], + "status": "passed" + }, + "page_family_promotion_gate_status": "passed", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "layout-agenda", + "source_slide_index": 2 + }, + { + "page_role": "data_chart", + "page_variant_id": "bars", + "source_class": "layout-bars", + "source_slide_index": 6 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "layout-closing", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "layout-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "dashboard", + "source_class": "layout-dashboard", + "source_slide_index": 4 + }, + { + "page_role": "detail", + "page_variant_id": "detail", + "source_class": "layout-detail", + "source_slide_index": 9 + }, + { + "page_role": "data_metrics", + "page_variant_id": "metrics", + "source_class": "layout-metrics", + "source_slide_index": 3 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "layout-quote", + "source_slide_index": 7 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "layout-split", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "layout-timeline", + "source_slide_index": 8 + } + ], + "promotion_status": "production", + "reference_screenshot": "beautiful-html-templates/screenshots/blue-professional-1.png", + "reference_screenshot_sha256": "0f08aefe70cb14ca7f3126ecc2f34319ca8f281ecdf81c6d6486ea93b2236f8c", + "review_artifact_path": "families/blue-professional.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "executive-dashboard", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": "skills/lark-slides/references/page-family-smoke-decks/blue-professional.json", + "deck_sha256": "ad000e304afc4306e6e7eaaa3c8b624af09a28e80731b35a6d5862e90ee6abd0", + "degraded": false, + "input_hashes": { + "golden_spec.agenda": "360dd0c6f8aa8a7446a1221abea6d29eb97bff41b13f17b0589a96896aa4f9d2", + "golden_spec.bars": "8f6bc2850326d4a0fbd489d83586694201b2d12eab75c5c959d17e81ff602952", + "golden_spec.closing": "3103fc98e5ce67c299f6e1d5fc6adae6c1bbb1cd76cefb83c606b8be3ae837ee", + "golden_spec.cover": "3dd3e57c24acaf47d17d9c658c7b905514362fba86231be5a6d16827c1665573", + "golden_spec.dashboard": "9fdeaf7d2187a61b62803350eefac26dff135782ad3f93b06707b71e679bdb8b", + "golden_spec.detail": "a5168f94a81d44d9e945de36120bf024ab64acc250dd6f54448552ebfd691fb3", + "golden_spec.metrics": "71b17aca5f64aaa653b4fdba9da63a56520b81f37dc3af15c9d096e103d5582b", + "golden_spec.quote": "2044ecea4449cb20761ff47516f17dfa2db0a2f99130ff8aac4a731588b4a717", + "golden_spec.split": "a085125effb6489dd3d8737a280fa2debd638e286a6a47efb9b85e520a99e92e", + "golden_spec.timeline": "e35a0efffd07c38e8319e2f986053df474ad513416556eca32b5177401145e8c", + "smoke_deck": "ad000e304afc4306e6e7eaaa3c8b624af09a28e80731b35a6d5862e90ee6abd0" + }, + "missing_required_roles": [], + "page_variant_coverage": { + "agenda": { + "covered": true, + "pages": [ + 2 + ], + "variants": [ + "agenda" + ] + }, + "closing": { + "covered": true, + "pages": [ + 10 + ], + "variants": [ + "closing" + ] + }, + "comparison": { + "covered": true, + "pages": [ + 6 + ], + "variants": [ + "split" + ] + }, + "content": { + "covered": true, + "pages": [ + 3 + ], + "variants": [ + "dashboard" + ] + }, + "cover": { + "covered": true, + "pages": [ + 1 + ], + "variants": [ + "cover" + ] + }, + "data": { + "covered": true, + "pages": [ + 4, + 5 + ], + "variants": [ + "bars", + "metrics" + ] + }, + "detail": { + "covered": true, + "pages": [ + 9 + ], + "variants": [ + "detail" + ] + }, + "process": { + "covered": true, + "pages": [ + 8 + ], + "variants": [ + "timeline" + ] + }, + "quote": { + "covered": true, + "pages": [ + 7 + ], + "variants": [ + "quote" + ] + } + }, + "receipt_path": "skills/lark-slides/references/receipts/page-family-smoke/blue-professional.executive-dashboard.json", + "receipt_sha256": "ae3cfa9a3ba970c0f4d6903148d7291375019dd3d12a8c3619599c5520742804", + "rendered_pages": 10, + "status": "passed" + }, + "smoke_status": "passed", + "template_id": "executive-dashboard", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/blue-professional.executive-dashboard.json", + "visual_contract_sha256": "1e1f13157126fdd67f9ce274df5b81419ea29e91e976890f8c099188c2af5a84" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/bold-poster.json b/skills/lark-slides/references/production-review/beautiful/families/bold-poster.json new file mode 100644 index 000000000..12182eb5d --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/bold-poster.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "bold-poster", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/bold-poster.poster-stat-punch.json", + "receipt_sha256": "5cb7f128615cbb801b3e66df177a5c1d61b3339c92cba3a04b9db00aadce0635", + "score": 0.9499, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "closing", + "page_variant_id": "close", + "source_class": "slide-close", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "financial", + "source_class": "slide-financial", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "global", + "source_class": "slide-global", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "hero", + "source_class": "slide-hero", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pillars", + "source_class": "slide-pillars", + "source_slide_index": 8 + }, + { + "page_role": "agenda", + "page_variant_id": "red", + "source_class": "slide-red", + "source_slide_index": 2 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "roadmap", + "source_class": "slide-roadmap", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "services", + "source_class": "slide-services", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stat", + "source_class": "slide-stat", + "source_slide_index": 5 + }, + { + "page_role": "detail", + "page_variant_id": "summary", + "source_class": "slide-summary", + "source_slide_index": 3 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/bold-poster-1.png", + "reference_screenshot_sha256": "95a9351619463053bda29bdf472702ed4bc650a4510fa6b3cfcc34d5e3ba79b1", + "review_artifact_path": "families/bold-poster.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "poster-stat-punch", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "poster-stat-punch", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/bold-poster.poster-stat-punch.json", + "visual_contract_sha256": "7c8e40b48896fddcfa1d4340d2842c8f749f551aeec9d60c43daa0a50dbf2b7e" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/broadside.json b/skills/lark-slides/references/production-review/beautiful/families/broadside.json new file mode 100644 index 000000000..2cef59a19 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/broadside.json @@ -0,0 +1,150 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "broadside", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/broadside.editorial-quote-chart.json", + "receipt_sha256": "fd3c0b8d0ae82ecad0cbeb13974361d5bf8f9e76083619edf5a88d77b0b5f664", + "score": 0.9397, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 16, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 10 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "content", + "page_variant_id": "cycle", + "source_class": "slide--cycle", + "source_slide_index": 15 + }, + { + "page_role": "detail", + "page_variant_id": "diagram", + "source_class": "slide--diagram", + "source_slide_index": 11 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 16 + }, + { + "page_role": "content", + "page_variant_id": "fadelist", + "source_class": "slide--fadelist", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pie", + "source_class": "slide--pie", + "source_slide_index": 12 + }, + { + "page_role": "content", + "page_variant_id": "pyramid", + "source_class": "slide--pyramid", + "source_slide_index": 13 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 8 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "vtimeline", + "source_class": "slide--vtimeline", + "source_slide_index": 14 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/broadside-1.png", + "reference_screenshot_sha256": "96805bd67e4502f94b078b723d252717183fe8eb34f2eb529c44b772b4dcdce4", + "review_artifact_path": "families/broadside.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "editorial-quote-chart", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "editorial-quote-chart", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/broadside.editorial-quote-chart.json", + "visual_contract_sha256": "be278ba76d6c3722086bde248d72efd31cd8eb7ff7f33a842194aac78212e899" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/capsule.json b/skills/lark-slides/references/production-review/beautiful/families/capsule.json new file mode 100644 index 000000000..63c086abf --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/capsule.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "capsule", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/capsule.capsule-card-system.json", + "receipt_sha256": "38ef8db0e9fdaf4d3c4f83f3b9ab1a2c956661315784c6090c301faac93f2f8c", + "score": 0.9158, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-2", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-10", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide-1", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard", + "source_class": "slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-4", + "source_class": "slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-7", + "source_class": "slide-7", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline", + "source_class": "slide-6", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote_or_emphasis", + "source_class": "slide-5", + "source_slide_index": 5 + }, + { + "page_role": "content", + "page_variant_id": "slide-8", + "source_class": "slide-8", + "source_slide_index": 8 + }, + { + "page_role": "content", + "page_variant_id": "slide-9", + "source_class": "slide-9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/capsule-1.png", + "reference_screenshot_sha256": "468b1b618668660274e7a46a528d0a323fb926c3e47f7e5895ec03189efd35b3", + "review_artifact_path": "families/capsule.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "capsule-card-system", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "capsule-card-system", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/capsule.capsule-card-system.json", + "visual_contract_sha256": "5d93d9bc2bf6025343271fac5efa91d43fa1753e7e0638653c3671818eea9d65" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/cartesian.json b/skills/lark-slides/references/production-review/beautiful/families/cartesian.json new file mode 100644 index 000000000..4c5a8f2ec --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/cartesian.json @@ -0,0 +1,108 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "cartesian", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/cartesian.architectural-spec.json", + "receipt_sha256": "d7bec45b7684b8ab2e98755e76624fffdf5048fd864aa64d7092aeb6aba3a62d", + "score": 0.9801, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-agenda", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "barchart", + "source_class": "slide-barchart", + "source_slide_index": 3 + }, + { + "page_role": "content", + "page_variant_id": "cards", + "source_class": "slide-cards", + "source_slide_index": 5 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-closing", + "source_slide_index": 9 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "linechart", + "source_class": "slide-linechart", + "source_slide_index": 6 + }, + { + "page_role": "agenda", + "page_variant_id": "statement", + "source_class": "slide-statement", + "source_slide_index": 2 + }, + { + "page_role": "detail", + "page_variant_id": "team", + "source_class": "slide-team", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "slide-timeline", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "twocol", + "source_class": "slide-twocol", + "source_slide_index": 4 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/cartesian-1.png", + "reference_screenshot_sha256": "59af0f5ee20b85f07ada82a1d6bb8ab5e69b81bb08b5abf2a7520eca4934e93e", + "review_artifact_path": "families/cartesian.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "architectural-spec", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "architectural-spec", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/cartesian.architectural-spec.json", + "visual_contract_sha256": "0eaba0fe4ff403fb63bbe64692bcb137d6122f1897096d588d82133ac45386b4" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/cobalt-grid.json b/skills/lark-slides/references/production-review/beautiful/families/cobalt-grid.json new file mode 100644 index 000000000..ce9fd9a0f --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/cobalt-grid.json @@ -0,0 +1,102 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "cobalt-grid", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/cobalt-grid.trend-grid-report.json", + "receipt_sha256": "fd2b394777733364723f20d0d732a346f93edba0a748628ce9a1e5596726cb02", + "score": 0.9296, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "content", + "page_variant_id": "chapter", + "source_class": "s-chapter", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "colophon", + "source_class": "s-colophon", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data", + "source_class": "s-data", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "index", + "source_class": "s-index", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "table", + "source_class": "s-table", + "source_slide_index": 7 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/cobalt-grid-1.png", + "reference_screenshot_sha256": "e85989914eb7ca3bb279e03cc792df19c5d06f8d3ba0e59515211164fca5ae2d", + "review_artifact_path": "families/cobalt-grid.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "trend-grid-report", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "trend-grid-report", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/cobalt-grid.trend-grid-report.json", + "visual_contract_sha256": "d4c4dfaf72ea1557439bc9dc2575ef25adc01e849d53a2492512e5308c004e5d" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/coral.json b/skills/lark-slides/references/production-review/beautiful/families/coral.json new file mode 100644 index 000000000..1a983d611 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/coral.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "coral", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/coral.coral-magazine-feature.json", + "receipt_sha256": "dd795f5b763b8b5769e173a07ba63f2a2da2345fefaf96cb48989b7a5ba4ef2c", + "score": 0.9491, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-2", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-10", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide-1", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard", + "source_class": "slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-6", + "source_class": "slide-6", + "source_slide_index": 6 + }, + { + "page_role": "detail", + "page_variant_id": "detail", + "source_class": "slide-3", + "source_slide_index": 3 + }, + { + "page_role": "detail", + "page_variant_id": "detail-9", + "source_class": "slide-9", + "source_slide_index": 9 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline", + "source_class": "slide-5", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline-8", + "source_class": "slide-8", + "source_slide_index": 8 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote_or_emphasis", + "source_class": "slide-7", + "source_slide_index": 7 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/coral-1.png", + "reference_screenshot_sha256": "3cce11542e0c380396c14d2e7ac7406af704af163e7ba85b8ce9e2fdf7d12015", + "review_artifact_path": "families/coral.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "coral-magazine-feature", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "coral-magazine-feature", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/coral.coral-magazine-feature.json", + "visual_contract_sha256": "4a49a52df2fc350355fe88276d9d0af73c518d3bb3c0f4ce30fa966846e6d0df" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/creative-mode.json b/skills/lark-slides/references/production-review/beautiful/families/creative-mode.json new file mode 100644 index 000000000..6879d4584 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/creative-mode.json @@ -0,0 +1,102 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "creative-mode", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/creative-mode.creative-mode-grid.json", + "receipt_sha256": "51de4317d40671c7a4ba0868cacfa3c86ca2de0d14eecb8d07177f6c53506acf", + "score": 0.9409, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "s1", + "source_class": "s1", + "source_slide_index": 1 + }, + { + "page_role": "agenda", + "page_variant_id": "s2", + "source_class": "s2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s3", + "source_class": "s3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s4", + "source_class": "s4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s5", + "source_class": "s5", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s6", + "source_class": "s6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s7", + "source_class": "s7", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s8", + "source_class": "s8", + "source_slide_index": 8 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/creative-mode-1.png", + "reference_screenshot_sha256": "aaac87da4e7f0e1e294f8f3d88616b067174687f4b89dafcad0acb4b967e9633", + "review_artifact_path": "families/creative-mode.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "creative-mode-grid", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "creative-mode-grid", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/creative-mode.creative-mode-grid.json", + "visual_contract_sha256": "ae208aa5cb4ec3e197f51d997ab4e68109275c7b79bb020a3767cfa494dc227a" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/daisy-days.json b/skills/lark-slides/references/production-review/beautiful/families/daisy-days.json new file mode 100644 index 000000000..22075b0b2 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/daisy-days.json @@ -0,0 +1,108 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "daisy-days", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/daisy-days.daisy-workshop-playbook.json", + "receipt_sha256": "926bc15a8016d24e25c00a42eb878578dbb825471d6ba2abc316bf48016ab5bc", + "score": 0.9711, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "detail", + "page_variant_id": "cards", + "source_class": "slide-cards", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "chart_bar", + "source_class": "slide-chart-bar", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "donut", + "source_class": "slide-donut", + "source_slide_index": 9 + }, + { + "page_role": "content", + "page_variant_id": "process", + "source_class": "slide-process", + "source_slide_index": 8 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide-quote", + "source_slide_index": 6 + }, + { + "page_role": "detail", + "page_variant_id": "team", + "source_class": "slide-team", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "slide-timeline", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "weekly", + "source_class": "slide-weekly", + "source_slide_index": 2 + }, + { + "page_role": "cover", + "page_variant_id": "welcome", + "source_class": "slide-welcome", + "source_slide_index": 1 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/daisy-days-1.png", + "reference_screenshot_sha256": "65f6615ff2ec51a3d4a77573c2a53471b356724a58bd33dffdb55ed69ab2b73b", + "review_artifact_path": "families/daisy-days.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "daisy-workshop-playbook", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "daisy-workshop-playbook", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/daisy-days.daisy-workshop-playbook.json", + "visual_contract_sha256": "9f481ab2692c478b75690c69edf7a8e55a233e476aadf2d2d3954e7a0ed28a68" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/editorial-forest.json b/skills/lark-slides/references/production-review/beautiful/families/editorial-forest.json new file mode 100644 index 000000000..98c979c0f --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/editorial-forest.json @@ -0,0 +1,102 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "editorial-forest", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/editorial-forest.serif-stat-editorial.json", + "receipt_sha256": "64abadb7a840271a45d482c1f3a7e8f4e75909ac007ef2c13d4ac0f77c77fdaf", + "score": 0.9627, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "agenda", + "source_slide_index": 2 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data", + "source_class": "data", + "source_slide_index": 5 + }, + { + "page_role": "detail", + "page_variant_id": "framework", + "source_class": "framework", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "statement", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "stats", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "summary", + "source_class": "summary", + "source_slide_index": 8 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "two_col", + "source_class": "two-col", + "source_slide_index": 4 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/editorial-forest-1.png", + "reference_screenshot_sha256": "a081f3b16a3dd72dd16d9fdfcf30aa61cf66c79c865189eb380d22bd425c2a1c", + "review_artifact_path": "families/editorial-forest.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "serif-stat-editorial", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "serif-stat-editorial", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/editorial-forest.serif-stat-editorial.json", + "visual_contract_sha256": "35d65f6b44f6f19b883b3c0feccd5310e5468c7fb0f9a558360c180101a286a6" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/editorial-tri-tone.json b/skills/lark-slides/references/production-review/beautiful/families/editorial-tri-tone.json new file mode 100644 index 000000000..705fb8b7d --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/editorial-tri-tone.json @@ -0,0 +1,102 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "editorial-tri-tone", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/editorial-tri-tone.tritone-editorial-spread.json", + "receipt_sha256": "5bf44805d7dc674b07da8f0ac8f0a749bfc78893371e921567db82e5bf3a251b", + "score": 0.9274, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "closer", + "source_class": "s-closer", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "content", + "page_variant_id": "grid", + "source_class": "s-grid", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stat", + "source_class": "s-stat", + "source_slide_index": 4 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "s-timeline", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/editorial-tri-tone-1.png", + "reference_screenshot_sha256": "0b89022af5bfcc26356b7bdb48156510ba16b643e9bc01027ae8197092ead507", + "review_artifact_path": "families/editorial-tri-tone.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "tritone-editorial-spread", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "tritone-editorial-spread", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/editorial-tri-tone.tritone-editorial-spread.json", + "visual_contract_sha256": "732fba46fdbbdc3d6c40c0c56775e508523ff100cbc015a0a033c8adc347fb83" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/emerald-editorial.json b/skills/lark-slides/references/production-review/beautiful/families/emerald-editorial.json new file mode 100644 index 000000000..7da1cfe73 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/emerald-editorial.json @@ -0,0 +1,102 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "emerald-editorial", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/emerald-editorial.emerald-editorial-cover.json", + "receipt_sha256": "7aa06118b44f3dcc6202b56e64ec03134f5487d3e48a25279a9ccfeb09c1c81b", + "score": 0.9697, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "s1", + "source_class": "s1", + "source_slide_index": 1 + }, + { + "page_role": "agenda", + "page_variant_id": "s2", + "source_class": "s2", + "source_slide_index": 2 + }, + { + "page_role": "detail", + "page_variant_id": "s3", + "source_class": "s3", + "source_slide_index": 3 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "s4", + "source_class": "s4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s5", + "source_class": "s5", + "source_slide_index": 5 + }, + { + "page_role": "detail", + "page_variant_id": "s6", + "source_class": "s6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s7", + "source_class": "s7", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "s8", + "source_class": "s8", + "source_slide_index": 8 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/emerald-editorial-1.png", + "reference_screenshot_sha256": "fda35bb4c4810369a5c5bccd70cbcd9d474691027c79a0d94ebf59dbf673c150", + "review_artifact_path": "families/emerald-editorial.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "emerald-editorial-cover", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "emerald-editorial-cover", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/emerald-editorial.emerald-editorial-cover.json", + "visual_contract_sha256": "d1045f952aa4385a33084a25788785509dd62154b8bf18b8c342c9d6a212df98" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/grove.json b/skills/lark-slides/references/production-review/beautiful/families/grove.json new file mode 100644 index 000000000..cc762038f --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/grove.json @@ -0,0 +1,126 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "grove", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/grove.grove-organic-brief.json", + "receipt_sha256": "72a5d983bb922049b536f086eedb89d0e3a7959b72480aab5fcfce63842d7455", + "score": 0.8025, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 12, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "content", + "page_variant_id": "chapter-9", + "source_class": "slide--chapter", + "source_slide_index": 9 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 11 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 12 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 7 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "closing", + "page_variant_id": "statement-10", + "source_class": "slide--statement", + "source_slide_index": 10 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/grove-1.png", + "reference_screenshot_sha256": "6a01598d4b183837b96c698eb9453962fea4bea072a431ee4d71aef6e09da3eb", + "review_artifact_path": "families/grove.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "grove-organic-brief", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "grove-organic-brief", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/grove.grove-organic-brief.json", + "visual_contract_sha256": "7b26c718abe40c305f7ba14a64cea6cfc66d12c7d8c24f2d61e1d91e9d5368ee" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/long-table.json b/skills/lark-slides/references/production-review/beautiful/families/long-table.json new file mode 100644 index 000000000..f26d7dd4f --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/long-table.json @@ -0,0 +1,102 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "long-table", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/long-table.printed-program.json", + "receipt_sha256": "96948f5547801870efb639d755ee4b944114cd0925c3fd03f6d15cafe935119e", + "score": 0.964, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "cal", + "source_class": "s-cal", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "s-closing", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "featured", + "source_class": "s-featured", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "index", + "source_class": "s-index", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "content", + "page_variant_id": "menu", + "source_class": "s-menu", + "source_slide_index": 5 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 6 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/long-table-1.png", + "reference_screenshot_sha256": "79f7956399971a6038c6b98ba7850b8d232c593bafb1c484c7127e5d3fd60bba", + "review_artifact_path": "families/long-table.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "printed-program", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "printed-program", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/long-table.printed-program.json", + "visual_contract_sha256": "505151ef203ca83bad790f90553bc14186740bef093cbb84fc3bd2e00a5bcd84" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/mat.json b/skills/lark-slides/references/production-review/beautiful/families/mat.json new file mode 100644 index 000000000..47e369262 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/mat.json @@ -0,0 +1,108 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "mat", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/mat.mat-midcentury-board.json", + "receipt_sha256": "e1e95e38f4ea8124a378b7de4a0eb81593f192811ea42e7b31085ed84410cf34", + "score": 0.8843, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 8 + }, + { + "page_role": "content", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 7 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "content", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 9 + }, + { + "page_role": "content", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 5 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 4 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/mat-1.png", + "reference_screenshot_sha256": "acac0ac30af8fbb206adfb6810573c72d3ca96b00293f9f850fdeefed1ae11dc", + "review_artifact_path": "families/mat.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "mat-midcentury-board", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "mat-midcentury-board", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/mat.mat-midcentury-board.json", + "visual_contract_sha256": "22f9899bfa852ac964a8e42a4178cc2898ff113d1e97da9584d0674d721e2319" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/monochrome.json b/skills/lark-slides/references/production-review/beautiful/families/monochrome.json new file mode 100644 index 000000000..fc409c951 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/monochrome.json @@ -0,0 +1,150 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "monochrome", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/monochrome.ledger-briefing.json", + "receipt_sha256": "7fd4a1a4f9929a0add47861c0f489f80b3cfe4dd9e91dc13014ec264811c78c5", + "score": 0.9841, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 16, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 10 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 7 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "cycle", + "source_class": "slide--cycle", + "source_slide_index": 14 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "dense", + "source_class": "slide--dense", + "source_slide_index": 9 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "diagram", + "source_class": "slide--diagram", + "source_slide_index": 11 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 16 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pie", + "source_class": "slide--pie", + "source_slide_index": 12 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pyramid", + "source_class": "slide--pyramid", + "source_slide_index": 17 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 8 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "vtimeline", + "source_class": "slide--vtimeline", + "source_slide_index": 13 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/monochrome-1.png", + "reference_screenshot_sha256": "bac6b00bf1d0b3c97b19d2a0c45edf44af5cbf369f2cf3ebe78a207a7b6b8c7b", + "review_artifact_path": "families/monochrome.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "ledger-briefing", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "ledger-briefing", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/monochrome.ledger-briefing.json", + "visual_contract_sha256": "22f4d6c5ae06606df6d47ad3c7bd7e560cde90e4192a9b95f461be024f6ff053" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/neo-grid-bold.json b/skills/lark-slides/references/production-review/beautiful/families/neo-grid-bold.json new file mode 100644 index 000000000..23d254d2c --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/neo-grid-bold.json @@ -0,0 +1,126 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "neo-grid-bold", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/neo-grid-bold.dense-panel-grid.json", + "receipt_sha256": "9d0ced3d64a642e028edf86ff6457c36def39175b3079fff6a4c97b645803228", + "score": 0.8085, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 12, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 5 + }, + { + "page_role": "closing", + "page_variant_id": "chart2", + "source_class": "s-chart2", + "source_slide_index": 10 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "consult", + "source_class": "s-consult", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "detail", + "page_variant_id": "cta", + "source_class": "s-cta", + "source_slide_index": 8 + }, + { + "page_role": "detail", + "page_variant_id": "features", + "source_class": "s-features", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "matrix2", + "source_class": "s-matrix2", + "source_slide_index": 12 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process2", + "source_class": "s-process2", + "source_slide_index": 11 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 7 + }, + { + "page_role": "content", + "page_variant_id": "section", + "source_class": "s-section", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "s-stats", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "toc", + "source_class": "s-toc", + "source_slide_index": 2 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/neo-grid-bold-1.png", + "reference_screenshot_sha256": "c53ba5da0f1b85b23ad1975da65edafaee84f029f06c468b2fbd036031ce15e5", + "review_artifact_path": "families/neo-grid-bold.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "dense-panel-grid", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "dense-panel-grid", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/neo-grid-bold.dense-panel-grid.json", + "visual_contract_sha256": "a4ecaab6b9ffcca493e015eb2a3e591ffb71aa199d9eebd25aa53a5225b4180a" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/peoples-platform.json b/skills/lark-slides/references/production-review/beautiful/families/peoples-platform.json new file mode 100644 index 000000000..ff3b97311 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/peoples-platform.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "peoples-platform", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/peoples-platform.people-platform-manifesto.json", + "receipt_sha256": "679368f5526815a2cb311d583f0f86871000639c85643e6b47099ab91566d5cc", + "score": 0.739, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "closing", + "page_variant_id": "close", + "source_class": "s-close", + "source_slide_index": 10 + }, + { + "page_role": "detail", + "page_variant_id": "compare", + "source_class": "s-compare", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 3 + }, + { + "page_role": "detail", + "page_variant_id": "pillars", + "source_class": "s-pillars", + "source_slide_index": 4 + }, + { + "page_role": "detail", + "page_variant_id": "platform", + "source_class": "s-platform", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stat", + "source_class": "s-stat", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "s-timeline", + "source_slide_index": 8 + }, + { + "page_role": "agenda", + "page_variant_id": "toc", + "source_class": "s-toc", + "source_slide_index": 2 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/peoples-platform-1.png", + "reference_screenshot_sha256": "9a0c40acaa0fb9c058745cbd16c875f9b7a0417d46c6c37dede388e32cf52d25", + "review_artifact_path": "families/peoples-platform.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "people-platform-manifesto", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "people-platform-manifesto", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/peoples-platform.people-platform-manifesto.json", + "visual_contract_sha256": "32839a4cac6a261ce9088ed2017536f11448621234e2b2b8dd70c882e0bc6c0e" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/pin-and-paper.json b/skills/lark-slides/references/production-review/beautiful/families/pin-and-paper.json new file mode 100644 index 000000000..be39c1fed --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/pin-and-paper.json @@ -0,0 +1,120 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "pin-and-paper", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/pin-and-paper.annotated-field-board.json", + "receipt_sha256": "b6aa5696947e5fc7fcd633c340cea26e983956f97a0a54b72eb035818d6a3d76", + "score": 0.8566, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 11, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "s-agenda", + "source_slide_index": 2 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 6 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "cta", + "source_class": "s-cta", + "source_slide_index": 11 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "matrix", + "source_class": "s-matrix", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "notes", + "source_class": "s-notes", + "source_slide_index": 3 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "notice", + "source_class": "s-notice", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process", + "source_class": "s-process", + "source_slide_index": 7 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "sec", + "source_class": "s-sec", + "source_slide_index": 4 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "stats", + "source_class": "s-stats", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/pin-and-paper-1.png", + "reference_screenshot_sha256": "35ff94a10d71d18318fa11e1c95fb6a32e2b1801ffff24ccc8e0f36afe187387", + "review_artifact_path": "families/pin-and-paper.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "annotated-field-board", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "annotated-field-board", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/pin-and-paper.annotated-field-board.json", + "visual_contract_sha256": "69e9062c9e5f8a9df6e536d0168eaaf4b164cc95e2b7086d84989affd1a9e6b7" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/pink-script.json b/skills/lark-slides/references/production-review/beautiful/families/pink-script.json new file mode 100644 index 000000000..21c5743f8 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/pink-script.json @@ -0,0 +1,108 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "pink-script", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/pink-script.pink-nocturne-feature.json", + "receipt_sha256": "ff075c2947f7c09785c47c57f68d995722873676d91251a822747e0b096b88bf", + "score": 0.8587, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 5 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "cta", + "source_class": "s-cta", + "source_slide_index": 9 + }, + { + "page_role": "content", + "page_variant_id": "matrix", + "source_class": "s-matrix", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process", + "source_class": "s-process", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 8 + }, + { + "page_role": "content", + "page_variant_id": "section", + "source_class": "s-section", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "s-stats", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "toc", + "source_class": "s-toc", + "source_slide_index": 2 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/pink-script-1.png", + "reference_screenshot_sha256": "d39af58b620fe59ab0e28db0f070fd6e13214896115aa984be069369ef594ff7", + "review_artifact_path": "families/pink-script.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "pink-nocturne-feature", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "pink-nocturne-feature", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/pink-script.pink-nocturne-feature.json", + "visual_contract_sha256": "b6f6845aa9f78d5c98f51a3279c2afde366f68c0a88fee5521c2c146a3a6b971" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/playful.json b/skills/lark-slides/references/production-review/beautiful/families/playful.json new file mode 100644 index 000000000..7b089440d --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/playful.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "playful", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/playful.playful-indie-launch.json", + "receipt_sha256": "e828f367dda5704dca8c804fb833051e8e3888202e9b76169082ac50164873d8", + "score": 0.8008, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-2", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-10", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide-1", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard", + "source_class": "slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-4", + "source_class": "slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-6", + "source_class": "slide-6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-8", + "source_class": "slide-8", + "source_slide_index": 8 + }, + { + "page_role": "detail", + "page_variant_id": "detail", + "source_class": "slide-5", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline", + "source_class": "slide-7", + "source_slide_index": 7 + }, + { + "page_role": "content", + "page_variant_id": "slide-9", + "source_class": "slide-9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/playful-1.png", + "reference_screenshot_sha256": "75c22cf0736c2c349599de769e984af4e55440dbf83fb4abac35e5c0842abe81", + "review_artifact_path": "families/playful.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "playful-indie-launch", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "playful-indie-launch", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/playful.playful-indie-launch.json", + "visual_contract_sha256": "b16366831a2ff2e7df7e443765c1921e043d096145d73f08073110cb8897791b" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/raw-grid.json b/skills/lark-slides/references/production-review/beautiful/families/raw-grid.json new file mode 100644 index 000000000..489f242be --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/raw-grid.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "raw-grid", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/raw-grid.brutalist-matrix.json", + "receipt_sha256": "fee9ac2b5c6d69612a2a082849f1829f5b3c75f2a5c2d29b76657361f4fc04cc", + "score": 0.9879, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "s1", + "source_class": "s1", + "source_slide_index": 1 + }, + { + "page_role": "closing", + "page_variant_id": "s10", + "source_class": "s10", + "source_slide_index": 10 + }, + { + "page_role": "agenda", + "page_variant_id": "s2", + "source_class": "s2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s3", + "source_class": "s3", + "source_slide_index": 3 + }, + { + "page_role": "content", + "page_variant_id": "s4", + "source_class": "s4", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "s5", + "source_class": "s5", + "source_slide_index": 5 + }, + { + "page_role": "detail", + "page_variant_id": "s6", + "source_class": "s6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s7", + "source_class": "s7", + "source_slide_index": 7 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "s8", + "source_class": "s8", + "source_slide_index": 8 + }, + { + "page_role": "content", + "page_variant_id": "s9", + "source_class": "s9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/raw-grid-1.png", + "reference_screenshot_sha256": "4056c85b9415ba7a9a988d45f5316cbdfbaf18ee959e3f7727e2ef90f59f42bc", + "review_artifact_path": "families/raw-grid.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "brutalist-matrix", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "brutalist-matrix", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/raw-grid.brutalist-matrix.json", + "visual_contract_sha256": "fb4dc324a40f42349b253e2ad99ad3c5a7bec51e31944a4dc1e9872199441f8a" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/retro-windows.json b/skills/lark-slides/references/production-review/beautiful/families/retro-windows.json new file mode 100644 index 000000000..73432d084 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/retro-windows.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "retro-windows", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/retro-windows.retro-ui-dashboard.json", + "receipt_sha256": "d9f718418fe0cba65d03c26230b5655764011c1197b9b52cb3ab15b0787cd8b6", + "score": 0.8558, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "slide-1", + "source_class": "data-slide-1", + "source_slide_index": 1 + }, + { + "page_role": "closing", + "page_variant_id": "slide-10", + "source_class": "data-slide-10", + "source_slide_index": 10 + }, + { + "page_role": "agenda", + "page_variant_id": "slide-2", + "source_class": "data-slide-2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-3", + "source_class": "data-slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-4", + "source_class": "data-slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-5", + "source_class": "data-slide-5", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-6", + "source_class": "data-slide-6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-7", + "source_class": "data-slide-7", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-8", + "source_class": "data-slide-8", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "slide-9", + "source_class": "data-slide-9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/retro-windows-1.png", + "reference_screenshot_sha256": "8d9fc0a05ab025310cc35f15c2d3b2de629c79a49df9fe1c7d63b2f7b8a00543", + "review_artifact_path": "families/retro-windows.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "retro-ui-dashboard", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "retro-ui-dashboard", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/retro-windows.retro-ui-dashboard.json", + "visual_contract_sha256": "0e791a06d076a86dc292b0ead47827882a4a8698b169d2d8e4424ef220afec0c" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/retro-zine.json b/skills/lark-slides/references/production-review/beautiful/families/retro-zine.json new file mode 100644 index 000000000..186c604b2 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/retro-zine.json @@ -0,0 +1,114 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "retro-zine", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/retro-zine.retro-zine-spread.json", + "receipt_sha256": "70330ed527a665653b1934d49e3ad5f14e2f4f866de429f38615ca98f18657ba", + "score": 0.8026, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-closing", + "source_slide_index": 10 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "collage", + "source_class": "slide-collage", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "editorial", + "source_class": "slide-editorial", + "source_slide_index": 6 + }, + { + "page_role": "detail", + "page_variant_id": "grid", + "source_class": "slide-grid", + "source_slide_index": 4 + }, + { + "page_role": "cover", + "page_variant_id": "hero", + "source_class": "slide-hero", + "source_slide_index": 1 + }, + { + "page_role": "content", + "page_variant_id": "numbers", + "source_class": "slide-numbers", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "rsvp", + "source_class": "slide-rsvp", + "source_slide_index": 9 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide-split", + "source_slide_index": 2 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "statement", + "source_class": "slide-statement", + "source_slide_index": 3 + }, + { + "page_role": "content", + "page_variant_id": "visual", + "source_class": "slide-visual", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/retro-zine-1.png", + "reference_screenshot_sha256": "bd93d862d934f00253a36df8f03f4aef74f87fb1b0f870c777002b39ae7f2af9", + "review_artifact_path": "families/retro-zine.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "retro-zine-spread", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "retro-zine-spread", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/retro-zine.retro-zine-spread.json", + "visual_contract_sha256": "24b24b38b4a89b009d65195b65ca24fce3f277cc906a2e104645a8d3c3173593" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/sakura-chroma.json b/skills/lark-slides/references/production-review/beautiful/families/sakura-chroma.json new file mode 100644 index 000000000..0d76eed23 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/sakura-chroma.json @@ -0,0 +1,102 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "sakura-chroma", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/sakura-chroma.product-ribbon.json", + "receipt_sha256": "01ed753670341664ee282238d30060766dba929200e59bb279b31497ec8af736", + "score": 0.946, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "cal", + "source_class": "s-cal", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "catalogue", + "source_class": "s-catalogue", + "source_slide_index": 3 + }, + { + "page_role": "content", + "page_variant_id": "colophon", + "source_class": "s-colophon", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data", + "source_class": "s-data", + "source_slide_index": 5 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "stripe", + "source_class": "s-stripe", + "source_slide_index": 4 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/sakura-chroma-1.png", + "reference_screenshot_sha256": "92bae8fc25051d0dbbb648f931befbfb653cbc331e876ea5e5aaf76afbad0733", + "review_artifact_path": "families/sakura-chroma.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "product-ribbon", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "product-ribbon", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/sakura-chroma.product-ribbon.json", + "visual_contract_sha256": "103a2836d248d9e1db95b89c6cd25b60d6c7a7ad89b6327d6a7b3ae2e78cc5b8" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/scatterbrain.json b/skills/lark-slides/references/production-review/beautiful/families/scatterbrain.json new file mode 100644 index 000000000..fc61cf782 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/scatterbrain.json @@ -0,0 +1,102 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "scatterbrain", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/scatterbrain.sticky-workshop-board.json", + "receipt_sha256": "8f986c32012e5a26fff7d1e4b2c73fb73db59885a7bb3f8ba7fc7f1f0cfd927f", + "score": 0.8092, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "slide-1", + "source_class": "data-slide-1", + "source_slide_index": 1 + }, + { + "page_role": "agenda", + "page_variant_id": "slide-2", + "source_class": "data-slide-2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-3", + "source_class": "data-slide-3", + "source_slide_index": 3 + }, + { + "page_role": "detail", + "page_variant_id": "slide-4", + "source_class": "data-slide-4", + "source_slide_index": 4 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "slide-5", + "source_class": "data-slide-5", + "source_slide_index": 5 + }, + { + "page_role": "content", + "page_variant_id": "slide-6", + "source_class": "data-slide-6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-7", + "source_class": "data-slide-7", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "slide-8", + "source_class": "data-slide-8", + "source_slide_index": 8 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/scatterbrain-1.png", + "reference_screenshot_sha256": "c2ed8f8d89fd124c65976fa3ece9b153afe4f4542d95880c367922bb88d910ca", + "review_artifact_path": "families/scatterbrain.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "sticky-workshop-board", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "sticky-workshop-board", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/scatterbrain.sticky-workshop-board.json", + "visual_contract_sha256": "65fa4706b1e80a7692f2201c6b4fbdace18190f05d3e6923f7d936b06da2b7fd" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/signal.json b/skills/lark-slides/references/production-review/beautiful/families/signal.json new file mode 100644 index 000000000..803bb23e2 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/signal.json @@ -0,0 +1,162 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "signal", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/signal.intelligence-brief.json", + "receipt_sha256": "f33e1fed9d3fe80ed000386d4649be14d1120ea455b57d33b8d97a87d2769231", + "score": 0.8021, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 18, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 13 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "cycle", + "source_class": "slide--cycle", + "source_slide_index": 18 + }, + { + "page_role": "closing", + "page_variant_id": "dense", + "source_class": "slide--dense", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "diagram", + "source_class": "slide--diagram", + "source_slide_index": 14 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "editorial", + "source_class": "slide--editorial", + "source_slide_index": 9 + }, + { + "page_role": "closing", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 12 + }, + { + "page_role": "content", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pie", + "source_class": "slide--pie", + "source_slide_index": 15 + }, + { + "page_role": "content", + "page_variant_id": "pyramid", + "source_class": "slide--pyramid", + "source_slide_index": 16 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 6 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement-11", + "source_class": "slide--statement", + "source_slide_index": 11 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "vtimeline", + "source_class": "slide--vtimeline", + "source_slide_index": 17 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/signal-1.png", + "reference_screenshot_sha256": "ca5487dc68264f209951400c5edddb93c4ae1fc7174b88c2b3dc54a82e0be64a", + "review_artifact_path": "families/signal.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "intelligence-brief", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "intelligence-brief", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/signal.intelligence-brief.json", + "visual_contract_sha256": "6d637f0f69f55293ff9a7ff5db337872b9626ae039c22e46a341929f45e7660f" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/soft-editorial.json b/skills/lark-slides/references/production-review/beautiful/families/soft-editorial.json new file mode 100644 index 000000000..4d6aeaff0 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/soft-editorial.json @@ -0,0 +1,126 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "soft-editorial", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/soft-editorial.soft-editorial-feature.json", + "receipt_sha256": "a7543b7f841153c3dd8d182b0c43d5d3688dc128b4da2f392cb41ee20d275ff3", + "score": 0.95, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 12, + "page_variants": [ + { + "page_role": "closing", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "closer", + "source_class": "s-closer", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "consult", + "source_class": "s-consult", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "agenda", + "page_variant_id": "foreword", + "source_class": "s-foreword", + "source_slide_index": 2 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "insights", + "source_class": "s-insights", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "matrix", + "source_class": "s-matrix", + "source_slide_index": 12 + }, + { + "page_role": "detail", + "page_variant_id": "method", + "source_class": "s-method", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "next", + "source_class": "s-next", + "source_slide_index": 8 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "numbers", + "source_class": "s-numbers", + "source_slide_index": 6 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process", + "source_class": "s-process", + "source_slide_index": 11 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 7 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/soft-editorial-4.png", + "reference_screenshot_sha256": "3e37602cf749a0a383ef0f0a1f25db85e9633da1d74bafc2be76a91b004a866b", + "review_artifact_path": "families/soft-editorial.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "soft-editorial-feature", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "soft-editorial-feature", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/soft-editorial.soft-editorial-feature.json", + "visual_contract_sha256": "d3a13400806f0fff74391ef91450b5bfb15284077c62f5a74b04ff069c0a8302" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/stencil-tablet.json b/skills/lark-slides/references/production-review/beautiful/families/stencil-tablet.json new file mode 100644 index 000000000..156f19281 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/stencil-tablet.json @@ -0,0 +1,120 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "stencil-tablet", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/stencil-tablet.stencil-field-manual.json", + "receipt_sha256": "bf32692b17d20d5a20c9c87ac02226c93739131b38f83c7f3b452a14451128fd", + "score": 0.7629, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 11, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "s-agenda", + "source_slide_index": 2 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 6 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "consult", + "source_class": "s-consult", + "source_slide_index": 5 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "cta", + "source_class": "s-cta", + "source_slide_index": 11 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "matrix", + "source_class": "s-matrix", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "princ", + "source_class": "s-princ", + "source_slide_index": 3 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process", + "source_class": "s-process", + "source_slide_index": 7 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "sec", + "source_class": "s-sec", + "source_slide_index": 4 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "stats", + "source_class": "s-stats", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/stencil-tablet-1.png", + "reference_screenshot_sha256": "b8321134113e99f90a0e17e44e326ab25e64f3735150dd82269e0b2daabaaa2b", + "review_artifact_path": "families/stencil-tablet.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "stencil-field-manual", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "stencil-field-manual", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/stencil-tablet.stencil-field-manual.json", + "visual_contract_sha256": "2754357cbe7401757e4aa5e188a59a9208650f38d75c521ea80c26a3c9fbe963" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/studio.json b/skills/lark-slides/references/production-review/beautiful/families/studio.json new file mode 100644 index 000000000..df27512cd --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/studio.json @@ -0,0 +1,126 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "studio", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/studio.type-mass-poster.json", + "receipt_sha256": "95baeec998aed196a738e4491cc7cab3ad34dbca2c3d5e96a94943f62075f60c", + "score": 0.9814, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 12, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "content", + "page_variant_id": "chapter-9", + "source_class": "slide--chapter", + "source_slide_index": 9 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 11 + }, + { + "page_role": "content", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 12 + }, + { + "page_role": "content", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 7 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "closing", + "page_variant_id": "statement-10", + "source_class": "slide--statement", + "source_slide_index": 10 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/studio-1.png", + "reference_screenshot_sha256": "0d7c0646a85c56b4b26e09f0cf8a0b658fe0b1cf36be38255900fd259d0c42d4", + "review_artifact_path": "families/studio.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "type-mass-poster", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "type-mass-poster", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/studio.type-mass-poster.json", + "visual_contract_sha256": "52f47ef1318378f158396849c1040431c3a962f65bc50ebe13e70f2c57ad5ed9" +} diff --git a/skills/lark-slides/references/production-review/beautiful/families/vellum.json b/skills/lark-slides/references/production-review/beautiful/families/vellum.json new file mode 100644 index 000000000..7c9406f39 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/families/vellum.json @@ -0,0 +1,108 @@ +{ + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "vellum", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/vellum.vellum-scholar-brief.json", + "receipt_sha256": "3152f66c029a0f4be72c43d417b2aec470b483239a8070136e5b87993e57ae68", + "score": 0.9885, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 8 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 7 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "closing", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 9 + }, + { + "page_role": "content", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 5 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 6 + }, + { + "page_role": "agenda", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "text", + "source_class": "slide--text", + "source_slide_index": 3 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/vellum-1.png", + "reference_screenshot_sha256": "8c99c96677fec3c94235098b8fe36b9beeefd31ebfd173989f0ce358d91c4b73", + "review_artifact_path": "families/vellum.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "vellum-scholar-brief", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "vellum-scholar-brief", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/vellum.vellum-scholar-brief.json", + "visual_contract_sha256": "a3e4e814788d738fd66b743f06fcafc465b7f4d8e4d02112dee8a3256eacdb93" +} diff --git a/skills/lark-slides/references/production-review/beautiful/index.html b/skills/lark-slides/references/production-review/beautiful/index.html new file mode 100644 index 000000000..8858a5c73 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/index.html @@ -0,0 +1,83 @@ + + + + + SVGlide Beautiful Production Review Gallery + + + +
+

SVGlide Beautiful Production Review Gallery

+
This gallery is review input only. It is not a promotion receipt and does not change production/default_selectable status.
+
+
34candidates
+
1production + default
+
1default selectable
+
{"missing": 33, "passed": 1}smoke status counts
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FamilyStatusVariantsSmokeFidelityGateKnown BlockersEvidence
8-bit-orbit
pixel-orbit-console
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/8-bit-orbit.pixel-orbit-console.json
beautiful-html-templates/screenshots/8-bit-orbit-1.png
biennale-yellow
biennale-programme-poster
needs_review
default=false
8 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/biennale-yellow.biennale-programme-poster.json
beautiful-html-templates/screenshots/biennale-yellow-1.png
block-frame
block-frame-grid
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/block-frame.block-frame-grid.json
beautiful-html-templates/screenshots/block-frame-1.png
blue-professional
executive-dashboard
production
default=true
10 source
10 implemented
passed
10 pages
passedpassednoneskills/lark-slides/references/visual-contracts/beautiful/blue-professional.executive-dashboard.json
beautiful-html-templates/screenshots/blue-professional-1.png
bold-poster
poster-stat-punch
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/bold-poster.poster-stat-punch.json
beautiful-html-templates/screenshots/bold-poster-1.png
broadside
editorial-quote-chart
needs_review
default=false
16 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/broadside.editorial-quote-chart.json
beautiful-html-templates/screenshots/broadside-1.png
capsule
capsule-card-system
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/capsule.capsule-card-system.json
beautiful-html-templates/screenshots/capsule-1.png
cartesian
architectural-spec
needs_review
default=false
9 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/cartesian.architectural-spec.json
beautiful-html-templates/screenshots/cartesian-1.png
cobalt-grid
trend-grid-report
needs_review
default=false
8 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/cobalt-grid.trend-grid-report.json
beautiful-html-templates/screenshots/cobalt-grid-1.png
coral
coral-magazine-feature
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/coral.coral-magazine-feature.json
beautiful-html-templates/screenshots/coral-1.png
creative-mode
creative-mode-grid
needs_review
default=false
8 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/creative-mode.creative-mode-grid.json
beautiful-html-templates/screenshots/creative-mode-1.png
daisy-days
daisy-workshop-playbook
needs_review
default=false
9 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/daisy-days.daisy-workshop-playbook.json
beautiful-html-templates/screenshots/daisy-days-1.png
editorial-forest
serif-stat-editorial
needs_review
default=false
8 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/editorial-forest.serif-stat-editorial.json
beautiful-html-templates/screenshots/editorial-forest-1.png
editorial-tri-tone
tritone-editorial-spread
needs_review
default=false
8 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/editorial-tri-tone.tritone-editorial-spread.json
beautiful-html-templates/screenshots/editorial-tri-tone-1.png
emerald-editorial
emerald-editorial-cover
needs_review
default=false
8 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/emerald-editorial.emerald-editorial-cover.json
beautiful-html-templates/screenshots/emerald-editorial-1.png
grove
grove-organic-brief
needs_review
default=false
12 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/grove.grove-organic-brief.json
beautiful-html-templates/screenshots/grove-1.png
long-table
printed-program
needs_review
default=false
8 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/long-table.printed-program.json
beautiful-html-templates/screenshots/long-table-1.png
mat
mat-midcentury-board
needs_review
default=false
9 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/mat.mat-midcentury-board.json
beautiful-html-templates/screenshots/mat-1.png
monochrome
ledger-briefing
needs_review
default=false
16 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/monochrome.ledger-briefing.json
beautiful-html-templates/screenshots/monochrome-1.png
neo-grid-bold
dense-panel-grid
needs_review
default=false
12 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/neo-grid-bold.dense-panel-grid.json
beautiful-html-templates/screenshots/neo-grid-bold-1.png
peoples-platform
people-platform-manifesto
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/peoples-platform.people-platform-manifesto.json
beautiful-html-templates/screenshots/peoples-platform-1.png
pin-and-paper
annotated-field-board
needs_review
default=false
11 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/pin-and-paper.annotated-field-board.json
beautiful-html-templates/screenshots/pin-and-paper-1.png
pink-script
pink-nocturne-feature
needs_review
default=false
9 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/pink-script.pink-nocturne-feature.json
beautiful-html-templates/screenshots/pink-script-1.png
playful
playful-indie-launch
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/playful.playful-indie-launch.json
beautiful-html-templates/screenshots/playful-1.png
raw-grid
brutalist-matrix
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/raw-grid.brutalist-matrix.json
beautiful-html-templates/screenshots/raw-grid-1.png
retro-windows
retro-ui-dashboard
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/retro-windows.retro-ui-dashboard.json
beautiful-html-templates/screenshots/retro-windows-1.png
retro-zine
retro-zine-spread
needs_review
default=false
10 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/retro-zine.retro-zine-spread.json
beautiful-html-templates/screenshots/retro-zine-1.png
sakura-chroma
product-ribbon
needs_review
default=false
8 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/sakura-chroma.product-ribbon.json
beautiful-html-templates/screenshots/sakura-chroma-1.png
scatterbrain
sticky-workshop-board
needs_review
default=false
8 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/scatterbrain.sticky-workshop-board.json
beautiful-html-templates/screenshots/scatterbrain-1.png
signal
intelligence-brief
needs_review
default=false
18 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/signal.intelligence-brief.json
beautiful-html-templates/screenshots/signal-1.png
soft-editorial
soft-editorial-feature
needs_review
default=false
12 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/soft-editorial.soft-editorial-feature.json
beautiful-html-templates/screenshots/soft-editorial-4.png
stencil-tablet
stencil-field-manual
needs_review
default=false
11 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/stencil-tablet.stencil-field-manual.json
beautiful-html-templates/screenshots/stencil-tablet-1.png
studio
type-mass-poster
needs_review
default=false
12 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/studio.type-mass-poster.json
beautiful-html-templates/screenshots/studio-1.png
vellum
vellum-scholar-brief
needs_review
default=false
9 source
0 implemented
missing
pages
passedmissingpage_family_smoke_missing_or_failed, production_review_pending, quality_gate_integration_pending, selector_gate_missingskills/lark-slides/references/visual-contracts/beautiful/vellum.vellum-scholar-brief.json
beautiful-html-templates/screenshots/vellum-1.png
+ + diff --git a/skills/lark-slides/references/production-review/beautiful/manifest.json b/skills/lark-slides/references/production-review/beautiful/manifest.json new file mode 100644 index 000000000..ee7469790 --- /dev/null +++ b/skills/lark-slides/references/production-review/beautiful/manifest.json @@ -0,0 +1,4054 @@ +{ + "artifact_kind": "production_review_gallery", + "families": [ + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "8-bit-orbit", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/8-bit-orbit.pixel-orbit-console.json", + "receipt_sha256": "31bab9cafb1fabb4453980f01a8255d16c9a79e1f882d01585b319dee779d556", + "score": 0.8995, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "slide-1", + "source_class": "data-slide-1", + "source_slide_index": 1 + }, + { + "page_role": "closing", + "page_variant_id": "slide-10", + "source_class": "data-slide-10", + "source_slide_index": 10 + }, + { + "page_role": "agenda", + "page_variant_id": "slide-2", + "source_class": "data-slide-2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-3", + "source_class": "data-slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-4", + "source_class": "data-slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-5", + "source_class": "data-slide-5", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "slide-6", + "source_class": "data-slide-6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-7", + "source_class": "data-slide-7", + "source_slide_index": 7 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "slide-8", + "source_class": "data-slide-8", + "source_slide_index": 8 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-9", + "source_class": "data-slide-9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/8-bit-orbit-1.png", + "reference_screenshot_sha256": "c1f0517225fbe17807d69de03a7260881738d25bc456bd4151af67fabbb15281", + "review_artifact_path": "families/8-bit-orbit.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "pixel-orbit-console", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "pixel-orbit-console", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/8-bit-orbit.pixel-orbit-console.json", + "visual_contract_sha256": "9eb1df9b6321fb3273d47a66bc17c5ac69ac61ff7e9ccdc1c975198cb4a2c47b" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "biennale-yellow", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/biennale-yellow.biennale-programme-poster.json", + "receipt_sha256": "27b20213513d6a895ae84c07aea6d784f5acd5a5fcd4b5a6baf0d1868f4a7dfe", + "score": 0.7675, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "cal", + "source_class": "s-cal", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "chapter", + "source_class": "s-chapter", + "source_slide_index": 4 + }, + { + "page_role": "closing", + "page_variant_id": "colophon", + "source_class": "s-colophon", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data", + "source_class": "s-data", + "source_slide_index": 5 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "content", + "page_variant_id": "programme", + "source_class": "s-programme", + "source_slide_index": 3 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 6 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/biennale-yellow-1.png", + "reference_screenshot_sha256": "8acd74e991ff533d6982f60fc2934ad2020d5ea8e03c5d79d00c24899d6f9e8d", + "review_artifact_path": "families/biennale-yellow.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "biennale-programme-poster", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "biennale-programme-poster", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/biennale-yellow.biennale-programme-poster.json", + "visual_contract_sha256": "8f04a650927de6641fd356ec3d2107b1421cf9f6579e7af8f7e447b36f99c82b" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "block-frame", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/block-frame.block-frame-grid.json", + "receipt_sha256": "e35a3eb5441b55568413e926f2275e9593c0b01d95a4345337995c995ffffd95", + "score": 0.9716, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-2", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-10", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide-1", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard", + "source_class": "slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-4", + "source_class": "slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-8", + "source_class": "slide-8", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline", + "source_class": "slide-6", + "source_slide_index": 6 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline-7", + "source_class": "slide-7", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline-9", + "source_class": "slide-9", + "source_slide_index": 9 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote_or_emphasis", + "source_class": "slide-5", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/block-frame-1.png", + "reference_screenshot_sha256": "3fd1774d38f1bfbda05df46fc7f2b98a1780de45ced4d71f4925136bbf2460a0", + "review_artifact_path": "families/block-frame.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "block-frame-grid", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "block-frame-grid", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/block-frame.block-frame-grid.json", + "visual_contract_sha256": "b2bede4e48e6b4bd302aaa554c7ca106fff4f1d06bd453ae336ef7aa7096a256" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": true, + "family_id": "blue-professional", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/blue-professional.executive-dashboard.json", + "receipt_sha256": "f6a4a0a015c09f14cb9e987f69734cbb05a06e79bba9c9b1ba2ca16ed6bc597a", + "score": 0.9855, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 10, + "implemented_page_variants": [ + "cover", + "agenda", + "metrics", + "dashboard", + "split", + "bars", + "quote", + "timeline", + "detail", + "closing" + ], + "known_blockers": [], + "page_family_promotion_gate": { + "claim_boundary": "page-family role/variant smoke evidence plus blue-professional dedicated renderer sample; does not promote other families", + "required_evidence": [ + "page_variants", + "renderer_dispatch", + "golden_specs", + "smoke_deck_receipt", + "quality_gate" + ], + "status": "passed" + }, + "page_family_promotion_gate_status": "passed", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "layout-agenda", + "source_slide_index": 2 + }, + { + "page_role": "data_chart", + "page_variant_id": "bars", + "source_class": "layout-bars", + "source_slide_index": 6 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "layout-closing", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "layout-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "dashboard", + "source_class": "layout-dashboard", + "source_slide_index": 4 + }, + { + "page_role": "detail", + "page_variant_id": "detail", + "source_class": "layout-detail", + "source_slide_index": 9 + }, + { + "page_role": "data_metrics", + "page_variant_id": "metrics", + "source_class": "layout-metrics", + "source_slide_index": 3 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "layout-quote", + "source_slide_index": 7 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "layout-split", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "layout-timeline", + "source_slide_index": 8 + } + ], + "promotion_status": "production", + "reference_screenshot": "beautiful-html-templates/screenshots/blue-professional-1.png", + "reference_screenshot_sha256": "0f08aefe70cb14ca7f3126ecc2f34319ca8f281ecdf81c6d6486ea93b2236f8c", + "review_artifact_path": "families/blue-professional.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "executive-dashboard", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": "skills/lark-slides/references/page-family-smoke-decks/blue-professional.json", + "deck_sha256": "ad000e304afc4306e6e7eaaa3c8b624af09a28e80731b35a6d5862e90ee6abd0", + "degraded": false, + "input_hashes": { + "golden_spec.agenda": "360dd0c6f8aa8a7446a1221abea6d29eb97bff41b13f17b0589a96896aa4f9d2", + "golden_spec.bars": "8f6bc2850326d4a0fbd489d83586694201b2d12eab75c5c959d17e81ff602952", + "golden_spec.closing": "3103fc98e5ce67c299f6e1d5fc6adae6c1bbb1cd76cefb83c606b8be3ae837ee", + "golden_spec.cover": "3dd3e57c24acaf47d17d9c658c7b905514362fba86231be5a6d16827c1665573", + "golden_spec.dashboard": "9fdeaf7d2187a61b62803350eefac26dff135782ad3f93b06707b71e679bdb8b", + "golden_spec.detail": "a5168f94a81d44d9e945de36120bf024ab64acc250dd6f54448552ebfd691fb3", + "golden_spec.metrics": "71b17aca5f64aaa653b4fdba9da63a56520b81f37dc3af15c9d096e103d5582b", + "golden_spec.quote": "2044ecea4449cb20761ff47516f17dfa2db0a2f99130ff8aac4a731588b4a717", + "golden_spec.split": "a085125effb6489dd3d8737a280fa2debd638e286a6a47efb9b85e520a99e92e", + "golden_spec.timeline": "e35a0efffd07c38e8319e2f986053df474ad513416556eca32b5177401145e8c", + "smoke_deck": "ad000e304afc4306e6e7eaaa3c8b624af09a28e80731b35a6d5862e90ee6abd0" + }, + "missing_required_roles": [], + "page_variant_coverage": { + "agenda": { + "covered": true, + "pages": [ + 2 + ], + "variants": [ + "agenda" + ] + }, + "closing": { + "covered": true, + "pages": [ + 10 + ], + "variants": [ + "closing" + ] + }, + "comparison": { + "covered": true, + "pages": [ + 6 + ], + "variants": [ + "split" + ] + }, + "content": { + "covered": true, + "pages": [ + 3 + ], + "variants": [ + "dashboard" + ] + }, + "cover": { + "covered": true, + "pages": [ + 1 + ], + "variants": [ + "cover" + ] + }, + "data": { + "covered": true, + "pages": [ + 4, + 5 + ], + "variants": [ + "bars", + "metrics" + ] + }, + "detail": { + "covered": true, + "pages": [ + 9 + ], + "variants": [ + "detail" + ] + }, + "process": { + "covered": true, + "pages": [ + 8 + ], + "variants": [ + "timeline" + ] + }, + "quote": { + "covered": true, + "pages": [ + 7 + ], + "variants": [ + "quote" + ] + } + }, + "receipt_path": "skills/lark-slides/references/receipts/page-family-smoke/blue-professional.executive-dashboard.json", + "receipt_sha256": "ae3cfa9a3ba970c0f4d6903148d7291375019dd3d12a8c3619599c5520742804", + "rendered_pages": 10, + "status": "passed" + }, + "smoke_status": "passed", + "template_id": "executive-dashboard", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/blue-professional.executive-dashboard.json", + "visual_contract_sha256": "1e1f13157126fdd67f9ce274df5b81419ea29e91e976890f8c099188c2af5a84" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "bold-poster", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/bold-poster.poster-stat-punch.json", + "receipt_sha256": "5cb7f128615cbb801b3e66df177a5c1d61b3339c92cba3a04b9db00aadce0635", + "score": 0.9499, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "closing", + "page_variant_id": "close", + "source_class": "slide-close", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "financial", + "source_class": "slide-financial", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "global", + "source_class": "slide-global", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "hero", + "source_class": "slide-hero", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pillars", + "source_class": "slide-pillars", + "source_slide_index": 8 + }, + { + "page_role": "agenda", + "page_variant_id": "red", + "source_class": "slide-red", + "source_slide_index": 2 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "roadmap", + "source_class": "slide-roadmap", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "services", + "source_class": "slide-services", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stat", + "source_class": "slide-stat", + "source_slide_index": 5 + }, + { + "page_role": "detail", + "page_variant_id": "summary", + "source_class": "slide-summary", + "source_slide_index": 3 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/bold-poster-1.png", + "reference_screenshot_sha256": "95a9351619463053bda29bdf472702ed4bc650a4510fa6b3cfcc34d5e3ba79b1", + "review_artifact_path": "families/bold-poster.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "poster-stat-punch", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "poster-stat-punch", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/bold-poster.poster-stat-punch.json", + "visual_contract_sha256": "7c8e40b48896fddcfa1d4340d2842c8f749f551aeec9d60c43daa0a50dbf2b7e" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "broadside", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/broadside.editorial-quote-chart.json", + "receipt_sha256": "fd3c0b8d0ae82ecad0cbeb13974361d5bf8f9e76083619edf5a88d77b0b5f664", + "score": 0.9397, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 16, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 10 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "content", + "page_variant_id": "cycle", + "source_class": "slide--cycle", + "source_slide_index": 15 + }, + { + "page_role": "detail", + "page_variant_id": "diagram", + "source_class": "slide--diagram", + "source_slide_index": 11 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 16 + }, + { + "page_role": "content", + "page_variant_id": "fadelist", + "source_class": "slide--fadelist", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pie", + "source_class": "slide--pie", + "source_slide_index": 12 + }, + { + "page_role": "content", + "page_variant_id": "pyramid", + "source_class": "slide--pyramid", + "source_slide_index": 13 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 8 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "vtimeline", + "source_class": "slide--vtimeline", + "source_slide_index": 14 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/broadside-1.png", + "reference_screenshot_sha256": "96805bd67e4502f94b078b723d252717183fe8eb34f2eb529c44b772b4dcdce4", + "review_artifact_path": "families/broadside.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "editorial-quote-chart", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "editorial-quote-chart", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/broadside.editorial-quote-chart.json", + "visual_contract_sha256": "be278ba76d6c3722086bde248d72efd31cd8eb7ff7f33a842194aac78212e899" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "capsule", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/capsule.capsule-card-system.json", + "receipt_sha256": "38ef8db0e9fdaf4d3c4f83f3b9ab1a2c956661315784c6090c301faac93f2f8c", + "score": 0.9158, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-2", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-10", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide-1", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard", + "source_class": "slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-4", + "source_class": "slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-7", + "source_class": "slide-7", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline", + "source_class": "slide-6", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote_or_emphasis", + "source_class": "slide-5", + "source_slide_index": 5 + }, + { + "page_role": "content", + "page_variant_id": "slide-8", + "source_class": "slide-8", + "source_slide_index": 8 + }, + { + "page_role": "content", + "page_variant_id": "slide-9", + "source_class": "slide-9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/capsule-1.png", + "reference_screenshot_sha256": "468b1b618668660274e7a46a528d0a323fb926c3e47f7e5895ec03189efd35b3", + "review_artifact_path": "families/capsule.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "capsule-card-system", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "capsule-card-system", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/capsule.capsule-card-system.json", + "visual_contract_sha256": "5d93d9bc2bf6025343271fac5efa91d43fa1753e7e0638653c3671818eea9d65" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "cartesian", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/cartesian.architectural-spec.json", + "receipt_sha256": "d7bec45b7684b8ab2e98755e76624fffdf5048fd864aa64d7092aeb6aba3a62d", + "score": 0.9801, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-agenda", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "barchart", + "source_class": "slide-barchart", + "source_slide_index": 3 + }, + { + "page_role": "content", + "page_variant_id": "cards", + "source_class": "slide-cards", + "source_slide_index": 5 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-closing", + "source_slide_index": 9 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "linechart", + "source_class": "slide-linechart", + "source_slide_index": 6 + }, + { + "page_role": "agenda", + "page_variant_id": "statement", + "source_class": "slide-statement", + "source_slide_index": 2 + }, + { + "page_role": "detail", + "page_variant_id": "team", + "source_class": "slide-team", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "slide-timeline", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "twocol", + "source_class": "slide-twocol", + "source_slide_index": 4 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/cartesian-1.png", + "reference_screenshot_sha256": "59af0f5ee20b85f07ada82a1d6bb8ab5e69b81bb08b5abf2a7520eca4934e93e", + "review_artifact_path": "families/cartesian.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "architectural-spec", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "architectural-spec", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/cartesian.architectural-spec.json", + "visual_contract_sha256": "0eaba0fe4ff403fb63bbe64692bcb137d6122f1897096d588d82133ac45386b4" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "cobalt-grid", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/cobalt-grid.trend-grid-report.json", + "receipt_sha256": "fd2b394777733364723f20d0d732a346f93edba0a748628ce9a1e5596726cb02", + "score": 0.9296, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "content", + "page_variant_id": "chapter", + "source_class": "s-chapter", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "colophon", + "source_class": "s-colophon", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data", + "source_class": "s-data", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "index", + "source_class": "s-index", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "table", + "source_class": "s-table", + "source_slide_index": 7 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/cobalt-grid-1.png", + "reference_screenshot_sha256": "e85989914eb7ca3bb279e03cc792df19c5d06f8d3ba0e59515211164fca5ae2d", + "review_artifact_path": "families/cobalt-grid.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "trend-grid-report", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "trend-grid-report", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/cobalt-grid.trend-grid-report.json", + "visual_contract_sha256": "d4c4dfaf72ea1557439bc9dc2575ef25adc01e849d53a2492512e5308c004e5d" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "coral", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/coral.coral-magazine-feature.json", + "receipt_sha256": "dd795f5b763b8b5769e173a07ba63f2a2da2345fefaf96cb48989b7a5ba4ef2c", + "score": 0.9491, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-2", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-10", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide-1", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard", + "source_class": "slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-6", + "source_class": "slide-6", + "source_slide_index": 6 + }, + { + "page_role": "detail", + "page_variant_id": "detail", + "source_class": "slide-3", + "source_slide_index": 3 + }, + { + "page_role": "detail", + "page_variant_id": "detail-9", + "source_class": "slide-9", + "source_slide_index": 9 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline", + "source_class": "slide-5", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline-8", + "source_class": "slide-8", + "source_slide_index": 8 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote_or_emphasis", + "source_class": "slide-7", + "source_slide_index": 7 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/coral-1.png", + "reference_screenshot_sha256": "3cce11542e0c380396c14d2e7ac7406af704af163e7ba85b8ce9e2fdf7d12015", + "review_artifact_path": "families/coral.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "coral-magazine-feature", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "coral-magazine-feature", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/coral.coral-magazine-feature.json", + "visual_contract_sha256": "4a49a52df2fc350355fe88276d9d0af73c518d3bb3c0f4ce30fa966846e6d0df" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "creative-mode", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/creative-mode.creative-mode-grid.json", + "receipt_sha256": "51de4317d40671c7a4ba0868cacfa3c86ca2de0d14eecb8d07177f6c53506acf", + "score": 0.9409, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "s1", + "source_class": "s1", + "source_slide_index": 1 + }, + { + "page_role": "agenda", + "page_variant_id": "s2", + "source_class": "s2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s3", + "source_class": "s3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s4", + "source_class": "s4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s5", + "source_class": "s5", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s6", + "source_class": "s6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s7", + "source_class": "s7", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s8", + "source_class": "s8", + "source_slide_index": 8 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/creative-mode-1.png", + "reference_screenshot_sha256": "aaac87da4e7f0e1e294f8f3d88616b067174687f4b89dafcad0acb4b967e9633", + "review_artifact_path": "families/creative-mode.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "creative-mode-grid", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "creative-mode-grid", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/creative-mode.creative-mode-grid.json", + "visual_contract_sha256": "ae208aa5cb4ec3e197f51d997ab4e68109275c7b79bb020a3767cfa494dc227a" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "daisy-days", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/daisy-days.daisy-workshop-playbook.json", + "receipt_sha256": "926bc15a8016d24e25c00a42eb878578dbb825471d6ba2abc316bf48016ab5bc", + "score": 0.9711, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "detail", + "page_variant_id": "cards", + "source_class": "slide-cards", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "chart_bar", + "source_class": "slide-chart-bar", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "donut", + "source_class": "slide-donut", + "source_slide_index": 9 + }, + { + "page_role": "content", + "page_variant_id": "process", + "source_class": "slide-process", + "source_slide_index": 8 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide-quote", + "source_slide_index": 6 + }, + { + "page_role": "detail", + "page_variant_id": "team", + "source_class": "slide-team", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "slide-timeline", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "weekly", + "source_class": "slide-weekly", + "source_slide_index": 2 + }, + { + "page_role": "cover", + "page_variant_id": "welcome", + "source_class": "slide-welcome", + "source_slide_index": 1 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/daisy-days-1.png", + "reference_screenshot_sha256": "65f6615ff2ec51a3d4a77573c2a53471b356724a58bd33dffdb55ed69ab2b73b", + "review_artifact_path": "families/daisy-days.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "daisy-workshop-playbook", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "daisy-workshop-playbook", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/daisy-days.daisy-workshop-playbook.json", + "visual_contract_sha256": "9f481ab2692c478b75690c69edf7a8e55a233e476aadf2d2d3954e7a0ed28a68" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "editorial-forest", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/editorial-forest.serif-stat-editorial.json", + "receipt_sha256": "64abadb7a840271a45d482c1f3a7e8f4e75909ac007ef2c13d4ac0f77c77fdaf", + "score": 0.9627, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "agenda", + "source_slide_index": 2 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data", + "source_class": "data", + "source_slide_index": 5 + }, + { + "page_role": "detail", + "page_variant_id": "framework", + "source_class": "framework", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "statement", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "stats", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "summary", + "source_class": "summary", + "source_slide_index": 8 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "two_col", + "source_class": "two-col", + "source_slide_index": 4 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/editorial-forest-1.png", + "reference_screenshot_sha256": "a081f3b16a3dd72dd16d9fdfcf30aa61cf66c79c865189eb380d22bd425c2a1c", + "review_artifact_path": "families/editorial-forest.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "serif-stat-editorial", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "serif-stat-editorial", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/editorial-forest.serif-stat-editorial.json", + "visual_contract_sha256": "35d65f6b44f6f19b883b3c0feccd5310e5468c7fb0f9a558360c180101a286a6" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "editorial-tri-tone", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/editorial-tri-tone.tritone-editorial-spread.json", + "receipt_sha256": "5bf44805d7dc674b07da8f0ac8f0a749bfc78893371e921567db82e5bf3a251b", + "score": 0.9274, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "closer", + "source_class": "s-closer", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "content", + "page_variant_id": "grid", + "source_class": "s-grid", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stat", + "source_class": "s-stat", + "source_slide_index": 4 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "s-timeline", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/editorial-tri-tone-1.png", + "reference_screenshot_sha256": "0b89022af5bfcc26356b7bdb48156510ba16b643e9bc01027ae8197092ead507", + "review_artifact_path": "families/editorial-tri-tone.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "tritone-editorial-spread", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "tritone-editorial-spread", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/editorial-tri-tone.tritone-editorial-spread.json", + "visual_contract_sha256": "732fba46fdbbdc3d6c40c0c56775e508523ff100cbc015a0a033c8adc347fb83" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "emerald-editorial", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/emerald-editorial.emerald-editorial-cover.json", + "receipt_sha256": "7aa06118b44f3dcc6202b56e64ec03134f5487d3e48a25279a9ccfeb09c1c81b", + "score": 0.9697, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "s1", + "source_class": "s1", + "source_slide_index": 1 + }, + { + "page_role": "agenda", + "page_variant_id": "s2", + "source_class": "s2", + "source_slide_index": 2 + }, + { + "page_role": "detail", + "page_variant_id": "s3", + "source_class": "s3", + "source_slide_index": 3 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "s4", + "source_class": "s4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s5", + "source_class": "s5", + "source_slide_index": 5 + }, + { + "page_role": "detail", + "page_variant_id": "s6", + "source_class": "s6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s7", + "source_class": "s7", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "s8", + "source_class": "s8", + "source_slide_index": 8 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/emerald-editorial-1.png", + "reference_screenshot_sha256": "fda35bb4c4810369a5c5bccd70cbcd9d474691027c79a0d94ebf59dbf673c150", + "review_artifact_path": "families/emerald-editorial.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "emerald-editorial-cover", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "emerald-editorial-cover", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/emerald-editorial.emerald-editorial-cover.json", + "visual_contract_sha256": "d1045f952aa4385a33084a25788785509dd62154b8bf18b8c342c9d6a212df98" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "grove", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/grove.grove-organic-brief.json", + "receipt_sha256": "72a5d983bb922049b536f086eedb89d0e3a7959b72480aab5fcfce63842d7455", + "score": 0.8025, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 12, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "content", + "page_variant_id": "chapter-9", + "source_class": "slide--chapter", + "source_slide_index": 9 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 11 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 12 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 7 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "closing", + "page_variant_id": "statement-10", + "source_class": "slide--statement", + "source_slide_index": 10 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/grove-1.png", + "reference_screenshot_sha256": "6a01598d4b183837b96c698eb9453962fea4bea072a431ee4d71aef6e09da3eb", + "review_artifact_path": "families/grove.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "grove-organic-brief", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "grove-organic-brief", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/grove.grove-organic-brief.json", + "visual_contract_sha256": "7b26c718abe40c305f7ba14a64cea6cfc66d12c7d8c24f2d61e1d91e9d5368ee" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "long-table", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/long-table.printed-program.json", + "receipt_sha256": "96948f5547801870efb639d755ee4b944114cd0925c3fd03f6d15cafe935119e", + "score": 0.964, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "cal", + "source_class": "s-cal", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "s-closing", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "featured", + "source_class": "s-featured", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "index", + "source_class": "s-index", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "content", + "page_variant_id": "menu", + "source_class": "s-menu", + "source_slide_index": 5 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 6 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/long-table-1.png", + "reference_screenshot_sha256": "79f7956399971a6038c6b98ba7850b8d232c593bafb1c484c7127e5d3fd60bba", + "review_artifact_path": "families/long-table.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "printed-program", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "printed-program", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/long-table.printed-program.json", + "visual_contract_sha256": "505151ef203ca83bad790f90553bc14186740bef093cbb84fc3bd2e00a5bcd84" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "mat", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/mat.mat-midcentury-board.json", + "receipt_sha256": "e1e95e38f4ea8124a378b7de4a0eb81593f192811ea42e7b31085ed84410cf34", + "score": 0.8843, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 8 + }, + { + "page_role": "content", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 7 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "content", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 9 + }, + { + "page_role": "content", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 5 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 4 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/mat-1.png", + "reference_screenshot_sha256": "acac0ac30af8fbb206adfb6810573c72d3ca96b00293f9f850fdeefed1ae11dc", + "review_artifact_path": "families/mat.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "mat-midcentury-board", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "mat-midcentury-board", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/mat.mat-midcentury-board.json", + "visual_contract_sha256": "22f9899bfa852ac964a8e42a4178cc2898ff113d1e97da9584d0674d721e2319" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "monochrome", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/monochrome.ledger-briefing.json", + "receipt_sha256": "7fd4a1a4f9929a0add47861c0f489f80b3cfe4dd9e91dc13014ec264811c78c5", + "score": 0.9841, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 16, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 10 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 7 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "cycle", + "source_class": "slide--cycle", + "source_slide_index": 14 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "dense", + "source_class": "slide--dense", + "source_slide_index": 9 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "diagram", + "source_class": "slide--diagram", + "source_slide_index": 11 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 16 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pie", + "source_class": "slide--pie", + "source_slide_index": 12 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pyramid", + "source_class": "slide--pyramid", + "source_slide_index": 17 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 8 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "vtimeline", + "source_class": "slide--vtimeline", + "source_slide_index": 13 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/monochrome-1.png", + "reference_screenshot_sha256": "bac6b00bf1d0b3c97b19d2a0c45edf44af5cbf369f2cf3ebe78a207a7b6b8c7b", + "review_artifact_path": "families/monochrome.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "ledger-briefing", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "ledger-briefing", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/monochrome.ledger-briefing.json", + "visual_contract_sha256": "22f4d6c5ae06606df6d47ad3c7bd7e560cde90e4192a9b95f461be024f6ff053" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "neo-grid-bold", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/neo-grid-bold.dense-panel-grid.json", + "receipt_sha256": "9d0ced3d64a642e028edf86ff6457c36def39175b3079fff6a4c97b645803228", + "score": 0.8085, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 12, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 5 + }, + { + "page_role": "closing", + "page_variant_id": "chart2", + "source_class": "s-chart2", + "source_slide_index": 10 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "consult", + "source_class": "s-consult", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "detail", + "page_variant_id": "cta", + "source_class": "s-cta", + "source_slide_index": 8 + }, + { + "page_role": "detail", + "page_variant_id": "features", + "source_class": "s-features", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "matrix2", + "source_class": "s-matrix2", + "source_slide_index": 12 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process2", + "source_class": "s-process2", + "source_slide_index": 11 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 7 + }, + { + "page_role": "content", + "page_variant_id": "section", + "source_class": "s-section", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "s-stats", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "toc", + "source_class": "s-toc", + "source_slide_index": 2 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/neo-grid-bold-1.png", + "reference_screenshot_sha256": "c53ba5da0f1b85b23ad1975da65edafaee84f029f06c468b2fbd036031ce15e5", + "review_artifact_path": "families/neo-grid-bold.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "dense-panel-grid", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "dense-panel-grid", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/neo-grid-bold.dense-panel-grid.json", + "visual_contract_sha256": "a4ecaab6b9ffcca493e015eb2a3e591ffb71aa199d9eebd25aa53a5225b4180a" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "peoples-platform", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/peoples-platform.people-platform-manifesto.json", + "receipt_sha256": "679368f5526815a2cb311d583f0f86871000639c85643e6b47099ab91566d5cc", + "score": 0.739, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "closing", + "page_variant_id": "close", + "source_class": "s-close", + "source_slide_index": 10 + }, + { + "page_role": "detail", + "page_variant_id": "compare", + "source_class": "s-compare", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 3 + }, + { + "page_role": "detail", + "page_variant_id": "pillars", + "source_class": "s-pillars", + "source_slide_index": 4 + }, + { + "page_role": "detail", + "page_variant_id": "platform", + "source_class": "s-platform", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stat", + "source_class": "s-stat", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "timeline", + "source_class": "s-timeline", + "source_slide_index": 8 + }, + { + "page_role": "agenda", + "page_variant_id": "toc", + "source_class": "s-toc", + "source_slide_index": 2 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/peoples-platform-1.png", + "reference_screenshot_sha256": "9a0c40acaa0fb9c058745cbd16c875f9b7a0417d46c6c37dede388e32cf52d25", + "review_artifact_path": "families/peoples-platform.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "people-platform-manifesto", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "people-platform-manifesto", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/peoples-platform.people-platform-manifesto.json", + "visual_contract_sha256": "32839a4cac6a261ce9088ed2017536f11448621234e2b2b8dd70c882e0bc6c0e" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "pin-and-paper", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/pin-and-paper.annotated-field-board.json", + "receipt_sha256": "b6aa5696947e5fc7fcd633c340cea26e983956f97a0a54b72eb035818d6a3d76", + "score": 0.8566, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 11, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "s-agenda", + "source_slide_index": 2 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 6 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "cta", + "source_class": "s-cta", + "source_slide_index": 11 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "matrix", + "source_class": "s-matrix", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "notes", + "source_class": "s-notes", + "source_slide_index": 3 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "notice", + "source_class": "s-notice", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process", + "source_class": "s-process", + "source_slide_index": 7 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "sec", + "source_class": "s-sec", + "source_slide_index": 4 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "stats", + "source_class": "s-stats", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/pin-and-paper-1.png", + "reference_screenshot_sha256": "35ff94a10d71d18318fa11e1c95fb6a32e2b1801ffff24ccc8e0f36afe187387", + "review_artifact_path": "families/pin-and-paper.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "annotated-field-board", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "annotated-field-board", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/pin-and-paper.annotated-field-board.json", + "visual_contract_sha256": "69e9062c9e5f8a9df6e536d0168eaaf4b164cc95e2b7086d84989affd1a9e6b7" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "pink-script", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/pink-script.pink-nocturne-feature.json", + "receipt_sha256": "ff075c2947f7c09785c47c57f68d995722873676d91251a822747e0b096b88bf", + "score": 0.8587, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 5 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "cta", + "source_class": "s-cta", + "source_slide_index": 9 + }, + { + "page_role": "content", + "page_variant_id": "matrix", + "source_class": "s-matrix", + "source_slide_index": 7 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process", + "source_class": "s-process", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 8 + }, + { + "page_role": "content", + "page_variant_id": "section", + "source_class": "s-section", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "s-stats", + "source_slide_index": 3 + }, + { + "page_role": "agenda", + "page_variant_id": "toc", + "source_class": "s-toc", + "source_slide_index": 2 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/pink-script-1.png", + "reference_screenshot_sha256": "d39af58b620fe59ab0e28db0f070fd6e13214896115aa984be069369ef594ff7", + "review_artifact_path": "families/pink-script.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "pink-nocturne-feature", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "pink-nocturne-feature", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/pink-script.pink-nocturne-feature.json", + "visual_contract_sha256": "b6f6845aa9f78d5c98f51a3279c2afde366f68c0a88fee5521c2c146a3a6b971" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "playful", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/playful.playful-indie-launch.json", + "receipt_sha256": "e828f367dda5704dca8c804fb833051e8e3888202e9b76169082ac50164873d8", + "score": 0.8008, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "slide-2", + "source_slide_index": 2 + }, + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-10", + "source_slide_index": 10 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide-1", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard", + "source_class": "slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-4", + "source_class": "slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-6", + "source_class": "slide-6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data_dashboard-8", + "source_class": "slide-8", + "source_slide_index": 8 + }, + { + "page_role": "detail", + "page_variant_id": "detail", + "source_class": "slide-5", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process_or_timeline", + "source_class": "slide-7", + "source_slide_index": 7 + }, + { + "page_role": "content", + "page_variant_id": "slide-9", + "source_class": "slide-9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/playful-1.png", + "reference_screenshot_sha256": "75c22cf0736c2c349599de769e984af4e55440dbf83fb4abac35e5c0842abe81", + "review_artifact_path": "families/playful.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "playful-indie-launch", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "playful-indie-launch", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/playful.playful-indie-launch.json", + "visual_contract_sha256": "b16366831a2ff2e7df7e443765c1921e043d096145d73f08073110cb8897791b" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "raw-grid", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/raw-grid.brutalist-matrix.json", + "receipt_sha256": "fee9ac2b5c6d69612a2a082849f1829f5b3c75f2a5c2d29b76657361f4fc04cc", + "score": 0.9879, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "s1", + "source_class": "s1", + "source_slide_index": 1 + }, + { + "page_role": "closing", + "page_variant_id": "s10", + "source_class": "s10", + "source_slide_index": 10 + }, + { + "page_role": "agenda", + "page_variant_id": "s2", + "source_class": "s2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s3", + "source_class": "s3", + "source_slide_index": 3 + }, + { + "page_role": "content", + "page_variant_id": "s4", + "source_class": "s4", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "s5", + "source_class": "s5", + "source_slide_index": 5 + }, + { + "page_role": "detail", + "page_variant_id": "s6", + "source_class": "s6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "s7", + "source_class": "s7", + "source_slide_index": 7 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "s8", + "source_class": "s8", + "source_slide_index": 8 + }, + { + "page_role": "content", + "page_variant_id": "s9", + "source_class": "s9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/raw-grid-1.png", + "reference_screenshot_sha256": "4056c85b9415ba7a9a988d45f5316cbdfbaf18ee959e3f7727e2ef90f59f42bc", + "review_artifact_path": "families/raw-grid.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "brutalist-matrix", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "brutalist-matrix", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/raw-grid.brutalist-matrix.json", + "visual_contract_sha256": "fb4dc324a40f42349b253e2ad99ad3c5a7bec51e31944a4dc1e9872199441f8a" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "retro-windows", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/retro-windows.retro-ui-dashboard.json", + "receipt_sha256": "d9f718418fe0cba65d03c26230b5655764011c1197b9b52cb3ab15b0787cd8b6", + "score": 0.8558, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "slide-1", + "source_class": "data-slide-1", + "source_slide_index": 1 + }, + { + "page_role": "closing", + "page_variant_id": "slide-10", + "source_class": "data-slide-10", + "source_slide_index": 10 + }, + { + "page_role": "agenda", + "page_variant_id": "slide-2", + "source_class": "data-slide-2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-3", + "source_class": "data-slide-3", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-4", + "source_class": "data-slide-4", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-5", + "source_class": "data-slide-5", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-6", + "source_class": "data-slide-6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-7", + "source_class": "data-slide-7", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-8", + "source_class": "data-slide-8", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "slide-9", + "source_class": "data-slide-9", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/retro-windows-1.png", + "reference_screenshot_sha256": "8d9fc0a05ab025310cc35f15c2d3b2de629c79a49df9fe1c7d63b2f7b8a00543", + "review_artifact_path": "families/retro-windows.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "retro-ui-dashboard", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "retro-ui-dashboard", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/retro-windows.retro-ui-dashboard.json", + "visual_contract_sha256": "0e791a06d076a86dc292b0ead47827882a4a8698b169d2d8e4424ef220afec0c" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "retro-zine", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/retro-zine.retro-zine-spread.json", + "receipt_sha256": "70330ed527a665653b1934d49e3ad5f14e2f4f866de429f38615ca98f18657ba", + "score": 0.8026, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 10, + "page_variants": [ + { + "page_role": "closing", + "page_variant_id": "closing", + "source_class": "slide-closing", + "source_slide_index": 10 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "collage", + "source_class": "slide-collage", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "editorial", + "source_class": "slide-editorial", + "source_slide_index": 6 + }, + { + "page_role": "detail", + "page_variant_id": "grid", + "source_class": "slide-grid", + "source_slide_index": 4 + }, + { + "page_role": "cover", + "page_variant_id": "hero", + "source_class": "slide-hero", + "source_slide_index": 1 + }, + { + "page_role": "content", + "page_variant_id": "numbers", + "source_class": "slide-numbers", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "rsvp", + "source_class": "slide-rsvp", + "source_slide_index": 9 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide-split", + "source_slide_index": 2 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "statement", + "source_class": "slide-statement", + "source_slide_index": 3 + }, + { + "page_role": "content", + "page_variant_id": "visual", + "source_class": "slide-visual", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/retro-zine-1.png", + "reference_screenshot_sha256": "bd93d862d934f00253a36df8f03f4aef74f87fb1b0f870c777002b39ae7f2af9", + "review_artifact_path": "families/retro-zine.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "retro-zine-spread", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "retro-zine-spread", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/retro-zine.retro-zine-spread.json", + "visual_contract_sha256": "24b24b38b4a89b009d65195b65ca24fce3f277cc906a2e104645a8d3c3173593" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "sakura-chroma", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/sakura-chroma.product-ribbon.json", + "receipt_sha256": "01ed753670341664ee282238d30060766dba929200e59bb279b31497ec8af736", + "score": 0.946, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "cal", + "source_class": "s-cal", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "catalogue", + "source_class": "s-catalogue", + "source_slide_index": 3 + }, + { + "page_role": "content", + "page_variant_id": "colophon", + "source_class": "s-colophon", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "data", + "source_class": "s-data", + "source_slide_index": 5 + }, + { + "page_role": "agenda", + "page_variant_id": "manifesto", + "source_class": "s-manifesto", + "source_slide_index": 2 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "stripe", + "source_class": "s-stripe", + "source_slide_index": 4 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/sakura-chroma-1.png", + "reference_screenshot_sha256": "92bae8fc25051d0dbbb648f931befbfb653cbc331e876ea5e5aaf76afbad0733", + "review_artifact_path": "families/sakura-chroma.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "product-ribbon", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "product-ribbon", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/sakura-chroma.product-ribbon.json", + "visual_contract_sha256": "103a2836d248d9e1db95b89c6cd25b60d6c7a7ad89b6327d6a7b3ae2e78cc5b8" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "scatterbrain", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/scatterbrain.sticky-workshop-board.json", + "receipt_sha256": "8f986c32012e5a26fff7d1e4b2c73fb73db59885a7bb3f8ba7fc7f1f0cfd927f", + "score": 0.8092, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 8, + "page_variants": [ + { + "page_role": "cover", + "page_variant_id": "slide-1", + "source_class": "data-slide-1", + "source_slide_index": 1 + }, + { + "page_role": "agenda", + "page_variant_id": "slide-2", + "source_class": "data-slide-2", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-3", + "source_class": "data-slide-3", + "source_slide_index": 3 + }, + { + "page_role": "detail", + "page_variant_id": "slide-4", + "source_class": "data-slide-4", + "source_slide_index": 4 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "slide-5", + "source_class": "data-slide-5", + "source_slide_index": 5 + }, + { + "page_role": "content", + "page_variant_id": "slide-6", + "source_class": "data-slide-6", + "source_slide_index": 6 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "slide-7", + "source_class": "data-slide-7", + "source_slide_index": 7 + }, + { + "page_role": "closing", + "page_variant_id": "slide-8", + "source_class": "data-slide-8", + "source_slide_index": 8 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/scatterbrain-1.png", + "reference_screenshot_sha256": "c2ed8f8d89fd124c65976fa3ece9b153afe4f4542d95880c367922bb88d910ca", + "review_artifact_path": "families/scatterbrain.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "sticky-workshop-board", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "sticky-workshop-board", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/scatterbrain.sticky-workshop-board.json", + "visual_contract_sha256": "65fa4706b1e80a7692f2201c6b4fbdace18190f05d3e6923f7d936b06da2b7fd" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "signal", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/signal.intelligence-brief.json", + "receipt_sha256": "f33e1fed9d3fe80ed000386d4649be14d1120ea455b57d33b8d97a87d2769231", + "score": 0.8021, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 18, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 13 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "cycle", + "source_class": "slide--cycle", + "source_slide_index": 18 + }, + { + "page_role": "closing", + "page_variant_id": "dense", + "source_class": "slide--dense", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "diagram", + "source_class": "slide--diagram", + "source_slide_index": 14 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "editorial", + "source_class": "slide--editorial", + "source_slide_index": 9 + }, + { + "page_role": "closing", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 12 + }, + { + "page_role": "content", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 7 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "pie", + "source_class": "slide--pie", + "source_slide_index": 15 + }, + { + "page_role": "content", + "page_variant_id": "pyramid", + "source_class": "slide--pyramid", + "source_slide_index": 16 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 6 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement-11", + "source_class": "slide--statement", + "source_slide_index": 11 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "vtimeline", + "source_class": "slide--vtimeline", + "source_slide_index": 17 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/signal-1.png", + "reference_screenshot_sha256": "ca5487dc68264f209951400c5edddb93c4ae1fc7174b88c2b3dc54a82e0be64a", + "review_artifact_path": "families/signal.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "intelligence-brief", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "intelligence-brief", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/signal.intelligence-brief.json", + "visual_contract_sha256": "6d637f0f69f55293ff9a7ff5db337872b9626ae039c22e46a341929f45e7660f" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "soft-editorial", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/soft-editorial.soft-editorial-feature.json", + "receipt_sha256": "a7543b7f841153c3dd8d182b0c43d5d3688dc128b4da2f392cb41ee20d275ff3", + "score": 0.95, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 12, + "page_variants": [ + { + "page_role": "closing", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "closer", + "source_class": "s-closer", + "source_slide_index": 5 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "consult", + "source_class": "s-consult", + "source_slide_index": 9 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "agenda", + "page_variant_id": "foreword", + "source_class": "s-foreword", + "source_slide_index": 2 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "insights", + "source_class": "s-insights", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "matrix", + "source_class": "s-matrix", + "source_slide_index": 12 + }, + { + "page_role": "detail", + "page_variant_id": "method", + "source_class": "s-method", + "source_slide_index": 3 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "next", + "source_class": "s-next", + "source_slide_index": 8 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "numbers", + "source_class": "s-numbers", + "source_slide_index": 6 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process", + "source_class": "s-process", + "source_slide_index": 11 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 7 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/soft-editorial-4.png", + "reference_screenshot_sha256": "3e37602cf749a0a383ef0f0a1f25db85e9633da1d74bafc2be76a91b004a866b", + "review_artifact_path": "families/soft-editorial.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "soft-editorial-feature", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "soft-editorial-feature", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/soft-editorial.soft-editorial-feature.json", + "visual_contract_sha256": "d3a13400806f0fff74391ef91450b5bfb15284077c62f5a74b04ff069c0a8302" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "stencil-tablet", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/stencil-tablet.stencil-field-manual.json", + "receipt_sha256": "bf32692b17d20d5a20c9c87ac02226c93739131b38f83c7f3b452a14451128fd", + "score": 0.7629, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 11, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "agenda", + "source_class": "s-agenda", + "source_slide_index": 2 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "chart", + "source_class": "s-chart", + "source_slide_index": 6 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "consult", + "source_class": "s-consult", + "source_slide_index": 5 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "s-cover", + "source_slide_index": 1 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "cta", + "source_class": "s-cta", + "source_slide_index": 11 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "matrix", + "source_class": "s-matrix", + "source_slide_index": 8 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "princ", + "source_class": "s-princ", + "source_slide_index": 3 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "process", + "source_class": "s-process", + "source_slide_index": 7 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "s-quote", + "source_slide_index": 10 + }, + { + "page_role": "content", + "page_variant_id": "sec", + "source_class": "s-sec", + "source_slide_index": 4 + }, + { + "page_role": "process_or_timeline", + "page_variant_id": "stats", + "source_class": "s-stats", + "source_slide_index": 9 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/stencil-tablet-1.png", + "reference_screenshot_sha256": "b8321134113e99f90a0e17e44e326ab25e64f3735150dd82269e0b2daabaaa2b", + "review_artifact_path": "families/stencil-tablet.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "stencil-field-manual", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "stencil-field-manual", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/stencil-tablet.stencil-field-manual.json", + "visual_contract_sha256": "2754357cbe7401757e4aa5e188a59a9208650f38d75c521ea80c26a3c9fbe963" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "studio", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/studio.type-mass-poster.json", + "receipt_sha256": "95baeec998aed196a738e4491cc7cab3ad34dbca2c3d5e96a94943f62075f60c", + "score": 0.9814, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 12, + "page_variants": [ + { + "page_role": "agenda", + "page_variant_id": "chapter", + "source_class": "slide--chapter", + "source_slide_index": 2 + }, + { + "page_role": "content", + "page_variant_id": "chapter-9", + "source_class": "slide--chapter", + "source_slide_index": 9 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 11 + }, + { + "page_role": "content", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 8 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 12 + }, + { + "page_role": "content", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 6 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 7 + }, + { + "page_role": "content_split", + "page_variant_id": "split", + "source_class": "slide--split", + "source_slide_index": 4 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 3 + }, + { + "page_role": "closing", + "page_variant_id": "statement-10", + "source_class": "slide--statement", + "source_slide_index": 10 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 5 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/studio-1.png", + "reference_screenshot_sha256": "0d7c0646a85c56b4b26e09f0cf8a0b658fe0b1cf36be38255900fd259d0c42d4", + "review_artifact_path": "families/studio.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "type-mass-poster", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "type-mass-poster", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/studio.type-mass-poster.json", + "visual_contract_sha256": "52f47ef1318378f158396849c1040431c3a962f65bc50ebe13e70f2c57ad5ed9" + }, + { + "artifact_kind": "production_review_family_card", + "default_selectable": false, + "family_id": "vellum", + "fidelity": { + "receipt_path": "skills/lark-slides/references/receipts/template-fidelity/vellum.vellum-scholar-brief.json", + "receipt_sha256": "3152f66c029a0f4be72c43d417b2aec470b483239a8070136e5b87993e57ae68", + "score": 0.9885, + "status": "passed", + "threshold": 0.72 + }, + "fidelity_status": "passed", + "implemented_page_variant_count": 0, + "implemented_page_variants": [], + "known_blockers": [ + "page_family_smoke_missing_or_failed", + "production_review_pending", + "quality_gate_integration_pending", + "selector_gate_missing" + ], + "page_family_promotion_gate": { + "claim_boundary": null, + "required_evidence": [], + "status": "missing" + }, + "page_family_promotion_gate_status": "missing", + "page_variant_count": 9, + "page_variants": [ + { + "page_role": "data_dashboard", + "page_variant_id": "chart", + "source_class": "slide--chart", + "source_slide_index": 8 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "compare", + "source_class": "slide--compare", + "source_slide_index": 7 + }, + { + "page_role": "cover", + "page_variant_id": "cover", + "source_class": "slide--cover", + "source_slide_index": 1 + }, + { + "page_role": "closing", + "page_variant_id": "end", + "source_class": "slide--end", + "source_slide_index": 9 + }, + { + "page_role": "content", + "page_variant_id": "list", + "source_class": "slide--list", + "source_slide_index": 5 + }, + { + "page_role": "quote_or_emphasis", + "page_variant_id": "quote", + "source_class": "slide--quote", + "source_slide_index": 6 + }, + { + "page_role": "agenda", + "page_variant_id": "statement", + "source_class": "slide--statement", + "source_slide_index": 2 + }, + { + "page_role": "data_dashboard", + "page_variant_id": "stats", + "source_class": "slide--stats", + "source_slide_index": 4 + }, + { + "page_role": "content", + "page_variant_id": "text", + "source_class": "slide--text", + "source_slide_index": 3 + } + ], + "promotion_status": "needs_review", + "reference_screenshot": "beautiful-html-templates/screenshots/vellum-1.png", + "reference_screenshot_sha256": "8c99c96677fec3c94235098b8fe36b9beeefd31ebfd173989f0ce358d91c4b73", + "review_artifact_path": "families/vellum.json", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + "review_decision": "pending_review", + "runtime_template_id": "vellum-scholar-brief", + "smoke": { + "artifact_kind": "page-family-smoke", + "deck_path": null, + "deck_sha256": null, + "degraded": null, + "input_hashes": {}, + "missing_required_roles": [], + "page_variant_coverage": {}, + "receipt_path": null, + "receipt_sha256": null, + "rendered_pages": null, + "status": "missing" + }, + "smoke_status": "missing", + "template_id": "vellum-scholar-brief", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/vellum.vellum-scholar-brief.json", + "visual_contract_sha256": "a3e4e814788d738fd66b743f06fcafc465b7f4d8e4d02112dee8a3256eacdb93" + } + ], + "generated_by": "beautiful_template_production_review_gallery.py", + "not_promotion_receipt": true, + "policy": { + "does_not_modify_matrix": true, + "does_not_promote_family": true, + "gallery_is_review_input_only": true, + "promotion_requires_separate_review_receipt": true + }, + "schema_version": "svglide-beautiful-production-review-gallery/v1", + "source_matrix": "skills/lark-slides/references/beautiful-template-executable-matrix.json", + "source_matrix_sha256": "cec693f8e9c8a0ab0f49bf2aed4c8c26b8b103c10f3b99b97462b01c573ba29c", + "summary": { + "candidate_count": 34, + "default_selectable_count": 1, + "families_with_implemented_page_variants": 1, + "production_count": 1, + "production_default_selectable_count": 1, + "review_pending_count": 34, + "smoke_status_counts": { + "missing": 33, + "passed": 1 + } + } +} diff --git a/skills/lark-slides/references/receipts/page-family-smoke/blue-professional.executive-dashboard.json b/skills/lark-slides/references/receipts/page-family-smoke/blue-professional.executive-dashboard.json index c1eddcf32..ab6ceaef6 100644 --- a/skills/lark-slides/references/receipts/page-family-smoke/blue-professional.executive-dashboard.json +++ b/skills/lark-slides/references/receipts/page-family-smoke/blue-professional.executive-dashboard.json @@ -6,7 +6,7 @@ "selected_family_id": "blue-professional", "selected_template_id": "executive-dashboard", "selected_theme_id": "blue-professional", - "rendered_pages": 9, + "rendered_pages": 10, "production_minimum_roles": [ "cover", "agenda", @@ -41,26 +41,31 @@ }, { "page": 5, + "page_role": "data", + "page_variant_id": "bars" + }, + { + "page": 6, "page_role": "comparison", "page_variant_id": "split" }, { - "page": 6, + "page": 7, "page_role": "quote", "page_variant_id": "quote" }, { - "page": 7, + "page": 8, "page_role": "process", "page_variant_id": "timeline" }, { - "page": 8, + "page": 9, "page_role": "detail", "page_variant_id": "detail" }, { - "page": 9, + "page": 10, "page_role": "closing", "page_variant_id": "closing" } @@ -96,16 +101,18 @@ "data": { "covered": true, "pages": [ - 4 + 4, + 5 ], "variants": [ + "bars", "metrics" ] }, "comparison": { "covered": true, "pages": [ - 5 + 6 ], "variants": [ "split" @@ -114,7 +121,7 @@ "quote": { "covered": true, "pages": [ - 6 + 7 ], "variants": [ "quote" @@ -123,7 +130,7 @@ "process": { "covered": true, "pages": [ - 7 + 8 ], "variants": [ "timeline" @@ -132,7 +139,7 @@ "detail": { "covered": true, "pages": [ - 8 + 9 ], "variants": [ "detail" @@ -141,7 +148,7 @@ "closing": { "covered": true, "pages": [ - 9 + 10 ], "variants": [ "closing" @@ -149,6 +156,32 @@ } }, "missing_required_roles": [], + "implemented_page_variants": [ + "cover", + "agenda", + "metrics", + "dashboard", + "split", + "bars", + "quote", + "timeline", + "detail", + "closing" + ], + "covered_implemented_page_variants": [ + "cover", + "agenda", + "metrics", + "dashboard", + "split", + "bars", + "quote", + "timeline", + "detail", + "closing" + ], + "missing_implemented_page_variants": [], + "unimplemented_page_variants": [], "reuse_count": 0, "variant_reuse_reasons": [], "degraded": false, @@ -170,7 +203,7 @@ "smoke_deck": "skills/lark-slides/references/page-family-smoke-decks/blue-professional.json" }, "input_hashes": { - "smoke_deck": "87a953bd4f4232701b4e7baea9de20a23ab50e7f8fa7efc7221525b605c7e432", + "smoke_deck": "ad000e304afc4306e6e7eaaa3c8b624af09a28e80731b35a6d5862e90ee6abd0", "golden_spec.cover": "3dd3e57c24acaf47d17d9c658c7b905514362fba86231be5a6d16827c1665573", "golden_spec.agenda": "360dd0c6f8aa8a7446a1221abea6d29eb97bff41b13f17b0589a96896aa4f9d2", "golden_spec.metrics": "71b17aca5f64aaa653b4fdba9da63a56520b81f37dc3af15c9d096e103d5582b", @@ -205,7 +238,9 @@ "summary": { "error_count": 0, "warning_count": 0, - "page_count": 9, - "covered_role_count": 9 + "page_count": 10, + "covered_role_count": 9, + "implemented_variant_count": 10, + "covered_implemented_variant_count": 10 } } diff --git a/skills/lark-slides/references/receipts/production-review/blue-professional.executive-dashboard.json b/skills/lark-slides/references/receipts/production-review/blue-professional.executive-dashboard.json new file mode 100644 index 000000000..ae1092280 --- /dev/null +++ b/skills/lark-slides/references/receipts/production-review/blue-professional.executive-dashboard.json @@ -0,0 +1,82 @@ +{ + "checks": { + "dedicated_renderer_present": true, + "default_selectable_count_not_changed": true, + "golden_fixture_present": true, + "implemented_variant_golden_specs_covered": [ + "agenda", + "bars", + "closing", + "cover", + "dashboard", + "detail", + "metrics", + "quote", + "split", + "timeline" + ], + "page_family_smoke_passed": true, + "screenshot_fidelity_passed": true, + "selector_gate_integrated": true, + "visual_contract_present": true + }, + "claim_boundary": "This production review is an additional approval receipt for blue-professional only; it does not replace fidelity or page-family smoke and does not promote any other beautiful family.", + "family_id": "blue-professional", + "generated_by": "manual production review after M9 page-family smoke and gallery gate", + "input_hashes": { + "fidelity_receipt": "f6a4a0a015c09f14cb9e987f69734cbb05a06e79bba9c9b1ba2ca16ed6bc597a", + "golden_spec": "c70833d5d3022551915eb4ef9f3ced6311d80d14da4f6eb470bf8218d4c48051", + "page_family_smoke_deck": "ad000e304afc4306e6e7eaaa3c8b624af09a28e80731b35a6d5862e90ee6abd0", + "page_family_smoke_receipt": "ae3cfa9a3ba970c0f4d6903148d7291375019dd3d12a8c3619599c5520742804", + "page_variant_golden_specs.agenda": "360dd0c6f8aa8a7446a1221abea6d29eb97bff41b13f17b0589a96896aa4f9d2", + "page_variant_golden_specs.bars": "8f6bc2850326d4a0fbd489d83586694201b2d12eab75c5c959d17e81ff602952", + "page_variant_golden_specs.closing": "3103fc98e5ce67c299f6e1d5fc6adae6c1bbb1cd76cefb83c606b8be3ae837ee", + "page_variant_golden_specs.cover": "3dd3e57c24acaf47d17d9c658c7b905514362fba86231be5a6d16827c1665573", + "page_variant_golden_specs.dashboard": "9fdeaf7d2187a61b62803350eefac26dff135782ad3f93b06707b71e679bdb8b", + "page_variant_golden_specs.detail": "a5168f94a81d44d9e945de36120bf024ab64acc250dd6f54448552ebfd691fb3", + "page_variant_golden_specs.metrics": "71b17aca5f64aaa653b4fdba9da63a56520b81f37dc3af15c9d096e103d5582b", + "page_variant_golden_specs.quote": "2044ecea4449cb20761ff47516f17dfa2db0a2f99130ff8aac4a731588b4a717", + "page_variant_golden_specs.split": "a085125effb6489dd3d8737a280fa2debd638e286a6a47efb9b85e520a99e92e", + "page_variant_golden_specs.timeline": "e35a0efffd07c38e8319e2f986053df474ad513416556eca32b5177401145e8c", + "renderer_module": "420ccf54c88d47de1571857e9bffd5e70d9e0d062ee515b615d01e2b1117a1c1", + "visual_contract_path": "1e1f13157126fdd67f9ce274df5b81419ea29e91e976890f8c099188c2af5a84" + }, + "p0_guardrails": [ + "not_a_gallery_receipt", + "not_a_bulk_promotion", + "no_candidate_without_renderer_golden_fidelity_smoke_is_promoted", + "input_hashes_must_match_matrix_evidence", + "does_not_replace_fidelity_or_page_family_smoke" + ], + "required_evidence": { + "fidelity_receipt": "skills/lark-slides/references/receipts/template-fidelity/blue-professional.executive-dashboard.json", + "golden_spec": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/executive-dashboard.canvas-spec.json", + "page_family_smoke_deck": "skills/lark-slides/references/page-family-smoke-decks/blue-professional.json", + "page_family_smoke_receipt": "skills/lark-slides/references/receipts/page-family-smoke/blue-professional.executive-dashboard.json", + "page_variant_golden_specs": { + "agenda": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.agenda.canvas-spec.json", + "bars": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.bars.canvas-spec.json", + "closing": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.closing.canvas-spec.json", + "cover": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.cover.canvas-spec.json", + "dashboard": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.dashboard.canvas-spec.json", + "detail": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.detail.canvas-spec.json", + "metrics": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.metrics.canvas-spec.json", + "quote": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.quote.canvas-spec.json", + "split": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.split.canvas-spec.json", + "timeline": "skills/lark-slides/scripts/fixtures/svglide_artboard/golden/blue-professional.timeline.canvas-spec.json" + }, + "renderer_module": "skills/lark-slides/scripts/artboard_renderer/templates/beautiful/executive-dashboard.mjs", + "visual_contract_path": "skills/lark-slides/references/visual-contracts/beautiful/blue-professional.executive-dashboard.json" + }, + "review_decision": { + "allow_default_selectable": true, + "allow_production": true, + "reason": "blue-professional is the only current family with dedicated renderer, golden specs for all implemented variants, page-family smoke receipt, fidelity receipt, selector/gate integration, and explicit production review evidence." + }, + "review_type": "production_promotion", + "runtime_template_id": "executive-dashboard", + "scope": "production review receipt for the current single production/default selectable beautiful family only", + "source_matrix": "skills/lark-slides/references/beautiful-template-executable-matrix.json", + "status": "passed", + "version": "svglide-beautiful-production-review/v1" +} diff --git a/skills/lark-slides/scripts/beautiful_template_page_family_smoke.py b/skills/lark-slides/scripts/beautiful_template_page_family_smoke.py index 3b0bbd5a5..2c0344161 100644 --- a/skills/lark-slides/scripts/beautiful_template_page_family_smoke.py +++ b/skills/lark-slides/scripts/beautiful_template_page_family_smoke.py @@ -81,6 +81,12 @@ def _as_text(value: Any) -> str | None: return None +def _string_list(value: Any) -> list[str]: + if not isinstance(value, list): + return [] + return [item.strip() for item in value if isinstance(item, str) and item.strip()] + + def _collect_selection_values(payload: dict[str, Any]) -> tuple[set[str], set[str], set[str]]: family_ids: set[str] = set() template_ids: set[str] = set() @@ -267,6 +273,21 @@ def check_project_page_family_smoke( missing_required_roles = [role for role in PRODUCTION_MINIMUM_ROLES if not role_pages[role]] variants = [page.get("page_variant_id") for page in pages if page.get("page_variant_id")] variant_counts = Counter(str(variant) for variant in variants) + implemented_page_variants = _string_list(selected.get("implemented_page_variants")) + implemented_variant_set = set(implemented_page_variants) + covered_implemented_page_variants = [ + variant_id for variant_id in implemented_page_variants if variant_counts.get(variant_id, 0) > 0 + ] + missing_implemented_page_variants = [ + variant_id for variant_id in implemented_page_variants if variant_counts.get(variant_id, 0) == 0 + ] + unimplemented_page_variants = sorted( + { + str(variant) + for variant in variants + if implemented_variant_set and str(variant) not in implemented_variant_set + } + ) reuse_count = sum(count - 1 for count in variant_counts.values() if count > 1) variant_reuse_reasons = [ {"page_variant_id": variant, "reuse_count": count, "reason": "duplicate_variant_in_smoke_deck"} @@ -282,6 +303,20 @@ def check_project_page_family_smoke( {"code": "required_role_missing", "message": f"missing required page-family role: {role}"} for role in missing_required_roles ) + artifact_issues.extend( + { + "code": "implemented_variant_missing", + "message": f"missing implemented page-family variant: {variant_id}", + } + for variant_id in missing_implemented_page_variants + ) + artifact_issues.extend( + { + "code": "unimplemented_variant_used", + "message": f"smoke deck uses unimplemented page-family variant: {variant_id}", + } + for variant_id in unimplemented_page_variants + ) input_paths = { "slide_plan": Path("02-plan/slide_plan.json"), "generator_receipt": Path("receipts/generate_svg.json"), @@ -291,6 +326,10 @@ def check_project_page_family_smoke( } if family_id: input_paths["smoke_deck"] = Path(relpath(SMOKE_DECK_DIR / f"{family_id}.json", project)) + golden_specs = selected.get("page_variant_golden_specs") if isinstance(selected.get("page_variant_golden_specs"), dict) else {} + for variant_id, raw_path in sorted(golden_specs.items()): + if isinstance(variant_id, str) and isinstance(raw_path, str) and raw_path: + input_paths[f"golden_spec.{variant_id}"] = Path(raw_path) input_hashes = { key: (file_sha256(project / rel) if (project / rel).is_file() else file_sha256(Path(rel)) if Path(rel).is_file() else None) for key, rel in input_paths.items() @@ -309,6 +348,10 @@ def check_project_page_family_smoke( "production_minimum_roles": PRODUCTION_MINIMUM_ROLES, "page_variant_coverage": page_variant_coverage, "missing_required_roles": missing_required_roles, + "implemented_page_variants": implemented_page_variants, + "covered_implemented_page_variants": covered_implemented_page_variants, + "missing_implemented_page_variants": missing_implemented_page_variants, + "unimplemented_page_variants": unimplemented_page_variants, "reuse_count": reuse_count, "variant_reuse_reasons": variant_reuse_reasons, "degraded": degraded, @@ -330,6 +373,8 @@ def check_project_page_family_smoke( "warning_count": reuse_count, "page_count": len(pages), "covered_role_count": len(PRODUCTION_MINIMUM_ROLES) - len(missing_required_roles), + "implemented_variant_count": len(implemented_page_variants), + "covered_implemented_variant_count": len(covered_implemented_page_variants), }, } diff --git a/skills/lark-slides/scripts/beautiful_template_page_family_smoke_test.py b/skills/lark-slides/scripts/beautiful_template_page_family_smoke_test.py index 3d4d38917..fd62def64 100644 --- a/skills/lark-slides/scripts/beautiful_template_page_family_smoke_test.py +++ b/skills/lark-slides/scripts/beautiful_template_page_family_smoke_test.py @@ -56,8 +56,9 @@ class BeautifulTemplatePageFamilySmokeTest(unittest.TestCase): roles = [ ("cover", "cover"), ("agenda", "agenda"), - ("content", "content"), + ("content", "dashboard"), ("data", "metrics"), + ("data", "bars"), ("comparison", "split"), ("quote", "quote"), ("process", "timeline"), @@ -73,8 +74,12 @@ class BeautifulTemplatePageFamilySmokeTest(unittest.TestCase): self.assertEqual(receipt["selected_family_id"], "blue-professional") self.assertEqual(receipt["selected_template_id"], "executive-dashboard") self.assertEqual(receipt["selected_theme_id"], "blue-professional") - self.assertEqual(receipt["rendered_pages"], 9) + self.assertEqual(receipt["rendered_pages"], 10) self.assertEqual(receipt["missing_required_roles"], []) + self.assertEqual(receipt["missing_implemented_page_variants"], []) + self.assertEqual(receipt["unimplemented_page_variants"], []) + self.assertIn("bars", receipt["implemented_page_variants"]) + self.assertIn("bars", receipt["covered_implemented_page_variants"]) self.assertFalse(receipt["degraded"]) self.assertEqual(set(receipt["page_variant_coverage"]), set(smoke.PRODUCTION_MINIMUM_ROLES)) self.assertIn("slide_plan", receipt["input_hashes"]) @@ -82,6 +87,32 @@ class BeautifulTemplatePageFamilySmokeTest(unittest.TestCase): self.assertIsInstance(receipt["command"], list) self.assertIsInstance(receipt["provenance"], dict) + def test_blue_professional_smoke_requires_every_implemented_variant(self) -> None: + with tempfile.TemporaryDirectory() as tmpdir: + project = Path(tmpdir) + roles = [ + ("cover", "cover"), + ("agenda", "agenda"), + ("content", "dashboard"), + ("data", "metrics"), + ("comparison", "split"), + ("quote", "quote"), + ("process", "timeline"), + ("detail", "detail"), + ("closing", "closing"), + ] + write_smoke_plan(project, roles) + + receipt = smoke.check_project_page_family_smoke(project) + + self.assertEqual(receipt["status"], "failed") + self.assertTrue(receipt["degraded"]) + self.assertIn("bars", receipt["missing_implemented_page_variants"]) + self.assertIn( + "implemented_variant_missing", + {item["code"] for item in receipt["artifact_issues"]}, + ) + def test_missing_required_role_degrades_and_fails(self) -> None: with tempfile.TemporaryDirectory() as tmpdir: project = Path(tmpdir) diff --git a/skills/lark-slides/scripts/beautiful_template_production_review_gallery.py b/skills/lark-slides/scripts/beautiful_template_production_review_gallery.py new file mode 100644 index 000000000..c65a2d6e9 --- /dev/null +++ b/skills/lark-slides/scripts/beautiful_template_production_review_gallery.py @@ -0,0 +1,388 @@ +#!/usr/bin/env python3 +# Copyright (c) 2026 Lark Technologies Pte. Ltd. +# SPDX-License-Identifier: MIT +from __future__ import annotations + +import argparse +import hashlib +import html +import json +from pathlib import Path +from typing import Any + + +SCRIPT_DIR = Path(__file__).resolve().parent +REPO_ROOT = SCRIPT_DIR.parents[2] +REFERENCES_DIR = SCRIPT_DIR.parent / "references" +SOURCE_ROOT = Path("/Users/bytedance/bd-projects/beautiful-html-templates") +MATRIX_PATH = REFERENCES_DIR / "beautiful-template-executable-matrix.json" +DEFAULT_OUTPUT_DIR = REFERENCES_DIR / "production-review" / "beautiful" +GENERATOR_VERSION = "svglide-beautiful-production-review-gallery/v1" + + +def read_json(path: Path) -> dict[str, Any]: + payload = json.loads(path.read_text(encoding="utf-8")) + if not isinstance(payload, dict): + raise ValueError(f"expected JSON object: {path}") + return payload + + +def read_json_optional(path: Path | None) -> dict[str, Any]: + if path is None or not path.exists(): + return {} + try: + return read_json(path) + except (OSError, json.JSONDecodeError, ValueError): + return {} + + +def file_sha256(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as handle: + for chunk in iter(lambda: handle.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def optional_sha256(path: Path | None) -> str | None: + return file_sha256(path) if path is not None and path.is_file() else None + + +def resolve_path(value: object) -> Path | None: + raw = str(value or "").strip() + if not raw: + return None + path = Path(raw) + if path.is_absolute(): + return path + if raw.startswith(f"{SOURCE_ROOT.name}/"): + return SOURCE_ROOT.parent / raw + if raw.startswith("screenshots/") or raw.startswith("templates/"): + return SOURCE_ROOT / raw + return REPO_ROOT / raw + + +def relpath(path: Path | None, base: Path = REPO_ROOT) -> str | None: + if path is None: + return None + try: + return path.resolve().relative_to(base.resolve()).as_posix() + except ValueError: + return path.as_posix() + + +def matrix_rows() -> list[dict[str, Any]]: + payload = read_json(MATRIX_PATH) + rows = payload.get("candidates") + if not isinstance(rows, list): + raise ValueError("beautiful-template-executable-matrix.json must contain candidates[]") + return [row for row in rows if isinstance(row, dict)] + + +def matrix_status_counts() -> dict[str, int]: + rows = matrix_rows() + return { + "candidate_count": len(rows), + "default_selectable_count": sum(1 for row in rows if row.get("default_selectable") is True), + "production_count": sum(1 for row in rows if row.get("promotion_status") == "production"), + "production_default_selectable_count": sum( + 1 + for row in rows + if row.get("promotion_status") == "production" and row.get("default_selectable") is True + ), + } + + +def _as_list(value: object) -> list[Any]: + return value if isinstance(value, list) else [] + + +def _as_dict(value: object) -> dict[str, Any]: + return value if isinstance(value, dict) else {} + + +def _visual_contract(row: dict[str, Any]) -> tuple[dict[str, Any], Path | None]: + path = resolve_path(row.get("visual_contract_path") or _as_dict(row.get("visual_contract")).get("path")) + return read_json_optional(path), path + + +def _variant_records(contract: dict[str, Any], row: dict[str, Any]) -> list[dict[str, Any]]: + variants = contract.get("page_variants") + if isinstance(variants, dict): + return [ + { + "page_variant_id": str(variant_id), + "page_role": value.get("page_role") if isinstance(value, dict) else None, + "source_class": value.get("source_class") if isinstance(value, dict) else None, + "source_slide_index": value.get("source_slide_index") if isinstance(value, dict) else None, + } + for variant_id, value in sorted(variants.items()) + ] + source_variants = row.get("source_page_variants") + if isinstance(source_variants, list): + return [ + { + "page_variant_id": str(item.get("variant_id") or item.get("page_variant_id") or item.get("source_class")), + "page_role": item.get("page_role"), + "source_class": item.get("source_class"), + "source_slide_index": item.get("source_slide_index"), + } + for item in source_variants + if isinstance(item, dict) + ] + page_type = contract.get("page_type") + layout_variants = page_type.get("layout_variants") if isinstance(page_type, dict) else None + if isinstance(layout_variants, list): + return [ + { + "page_variant_id": str(item.get("variant_id") or item.get("source_class")), + "page_role": None, + "source_class": item.get("source_class"), + "source_slide_index": item.get("source_slide_index"), + } + for item in layout_variants + if isinstance(item, dict) + ] + return [] + + +def _smoke_summary(row: dict[str, Any]) -> dict[str, Any]: + deck_path = resolve_path(row.get("page_family_smoke_deck")) + receipt_path = resolve_path(row.get("page_family_smoke_receipt")) + receipt = read_json_optional(receipt_path) + status = str(receipt.get("status") or "missing") + if not receipt_path or not receipt_path.is_file(): + status = "missing" + return { + "artifact_kind": "page-family-smoke", + "status": status, + "deck_path": row.get("page_family_smoke_deck"), + "deck_sha256": optional_sha256(deck_path), + "receipt_path": row.get("page_family_smoke_receipt"), + "receipt_sha256": optional_sha256(receipt_path), + "degraded": bool(receipt.get("degraded")) if receipt else None, + "rendered_pages": receipt.get("rendered_pages"), + "page_variant_coverage": receipt.get("page_variant_coverage") if isinstance(receipt.get("page_variant_coverage"), dict) else {}, + "missing_required_roles": _as_list(receipt.get("missing_required_roles")), + "input_hashes": _as_dict(receipt.get("input_hashes")), + } + + +def _fidelity_summary(row: dict[str, Any]) -> dict[str, Any]: + gate = _as_dict(row.get("fidelity_gate")) + receipt_path = resolve_path(row.get("fidelity_receipt") or gate.get("receipt_path")) + receipt = read_json_optional(receipt_path) + return { + "status": gate.get("status") or receipt.get("status") or "missing", + "score": gate.get("score") if gate.get("score") is not None else receipt.get("score"), + "threshold": gate.get("threshold") if gate.get("threshold") is not None else receipt.get("threshold"), + "receipt_path": row.get("fidelity_receipt") or gate.get("receipt_path"), + "receipt_sha256": optional_sha256(receipt_path), + } + + +def _promotion_gate_summary(row: dict[str, Any]) -> dict[str, Any]: + gate = _as_dict(row.get("page_family_promotion_gate")) + return { + "status": gate.get("status") or "missing", + "required_evidence": _as_list(gate.get("required_evidence")), + "claim_boundary": gate.get("claim_boundary"), + } + + +def _known_blockers(row: dict[str, Any], smoke: dict[str, Any], variant_count: int) -> list[str]: + blockers = [str(item) for item in _as_list(row.get("blocking_issues")) if str(item)] + if variant_count <= 0: + blockers.append("page_variants_missing") + if smoke.get("status") != "passed": + blockers.append("page_family_smoke_missing_or_failed") + if row.get("promotion_status") != "production": + blockers.append("production_review_pending") + return sorted(set(blockers)) + + +def _family_review(row: dict[str, Any]) -> dict[str, Any]: + contract, contract_path = _visual_contract(row) + variant_records = _variant_records(contract, row) + smoke = _smoke_summary(row) + fidelity = _fidelity_summary(row) + promotion_gate = _promotion_gate_summary(row) + implemented_variants = [str(item) for item in _as_list(row.get("implemented_page_variants")) if str(item)] + family_id = str(row.get("family_id") or "") + runtime_template_id = str(row.get("runtime_template_id") or row.get("template_id") or "") + blockers = _known_blockers(row, smoke, len(variant_records)) + return { + "artifact_kind": "production_review_family_card", + "family_id": family_id, + "runtime_template_id": runtime_template_id, + "template_id": row.get("template_id"), + "visual_contract_path": row.get("visual_contract_path") or _as_dict(row.get("visual_contract")).get("path"), + "visual_contract_sha256": optional_sha256(contract_path), + "reference_screenshot": row.get("reference_screenshot"), + "reference_screenshot_sha256": optional_sha256(resolve_path(row.get("reference_screenshot"))), + "promotion_status": row.get("promotion_status"), + "default_selectable": row.get("default_selectable") is True, + "page_variant_count": len(variant_records), + "page_variants": variant_records, + "implemented_page_variants": implemented_variants, + "implemented_page_variant_count": len(implemented_variants), + "smoke_status": smoke["status"], + "smoke": smoke, + "fidelity_status": fidelity["status"], + "fidelity": fidelity, + "page_family_promotion_gate_status": promotion_gate["status"], + "page_family_promotion_gate": promotion_gate, + "known_blockers": blockers, + "review_decision": "pending_review", + "review_claim_boundary": "gallery_input_only_not_promotion_receipt", + } + + +def build_gallery_manifest() -> dict[str, Any]: + rows = sorted(matrix_rows(), key=lambda row: str(row.get("family_id") or "")) + families = [_family_review(row) for row in rows] + counts = matrix_status_counts() + smoke_status_counts: dict[str, int] = {} + for family in families: + status = str(family.get("smoke_status") or "missing") + smoke_status_counts[status] = smoke_status_counts.get(status, 0) + 1 + return { + "schema_version": GENERATOR_VERSION, + "artifact_kind": "production_review_gallery", + "not_promotion_receipt": True, + "generated_by": "beautiful_template_production_review_gallery.py", + "source_matrix": relpath(MATRIX_PATH), + "source_matrix_sha256": file_sha256(MATRIX_PATH), + "summary": { + **counts, + "smoke_status_counts": smoke_status_counts, + "review_pending_count": len(families), + "families_with_implemented_page_variants": sum( + 1 for family in families if family["implemented_page_variant_count"] > 0 + ), + }, + "policy": { + "gallery_is_review_input_only": True, + "does_not_modify_matrix": True, + "does_not_promote_family": True, + "promotion_requires_separate_review_receipt": True, + }, + "families": families, + } + + +def _render_html(manifest: dict[str, Any]) -> str: + summary = manifest["summary"] + rows = [] + for family in manifest["families"]: + blocker_text = ", ".join(family["known_blockers"]) or "none" + rows.append( + "" + f"{html.escape(family['family_id'])}
{html.escape(family['runtime_template_id'])}" + f"{html.escape(str(family['promotion_status']))}
default={html.escape(str(family['default_selectable']).lower())}" + f"{family['page_variant_count']} source
{family['implemented_page_variant_count']} implemented" + f"{html.escape(str(family['smoke_status']))}
{html.escape(str(family['smoke'].get('rendered_pages') or ''))} pages" + f"{html.escape(str(family['fidelity_status']))}" + f"{html.escape(str(family['page_family_promotion_gate_status']))}" + f"{html.escape(blocker_text)}" + f"{html.escape(str(family['visual_contract_path']))}
{html.escape(str(family['reference_screenshot']))}" + "" + ) + return """ + + + + SVGlide Beautiful Production Review Gallery + + + +
+

SVGlide Beautiful Production Review Gallery

+
This gallery is review input only. It is not a promotion receipt and does not change production/default_selectable status.
+
+
%(candidate_count)scandidates
+
%(production_default)sproduction + default
+
%(default_count)sdefault selectable
+
%(smoke_counts)ssmoke status counts
+
+
+ + + + + + + + + + + + + + + %(rows)s + +
FamilyStatusVariantsSmokeFidelityGateKnown BlockersEvidence
+ + +""" % { + "candidate_count": html.escape(str(summary["candidate_count"])), + "production_default": html.escape(str(summary["production_default_selectable_count"])), + "default_count": html.escape(str(summary["default_selectable_count"])), + "smoke_counts": html.escape(json.dumps(summary["smoke_status_counts"], sort_keys=True)), + "rows": "\n".join(rows), + } + + +def write_gallery_artifacts(output_dir: Path = DEFAULT_OUTPUT_DIR) -> dict[str, Any]: + output_dir.mkdir(parents=True, exist_ok=True) + families_dir = output_dir / "families" + families_dir.mkdir(parents=True, exist_ok=True) + manifest = build_gallery_manifest() + for family in manifest["families"]: + family_path = families_dir / f"{family['family_id']}.json" + family["review_artifact_path"] = relpath(family_path, output_dir) + family_path.write_text(json.dumps(family, ensure_ascii=False, indent=2, sort_keys=True) + "\n", encoding="utf-8") + manifest_path = output_dir / "manifest.json" + html_path = output_dir / "index.html" + manifest_path.write_text(json.dumps(manifest, ensure_ascii=False, indent=2, sort_keys=True) + "\n", encoding="utf-8") + html_path.write_text(_render_html(manifest), encoding="utf-8") + return { + "manifest_path": str(manifest_path), + "html_path": str(html_path), + "candidate_count": manifest["summary"]["candidate_count"], + "production_default_selectable_count": manifest["summary"]["production_default_selectable_count"], + "default_selectable_count": manifest["summary"]["default_selectable_count"], + } + + +def main() -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--output-dir", default=str(DEFAULT_OUTPUT_DIR)) + parser.add_argument("--stdout", action="store_true", help="print manifest only and do not write artifacts") + parser.add_argument("--pretty", action="store_true") + args = parser.parse_args() + if args.stdout: + manifest = build_gallery_manifest() + print(json.dumps(manifest, ensure_ascii=False, indent=2 if args.pretty else None, sort_keys=True)) + return 0 + result = write_gallery_artifacts(Path(args.output_dir)) + print(json.dumps(result, ensure_ascii=False, indent=2 if args.pretty else None, sort_keys=True)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/skills/lark-slides/scripts/beautiful_template_production_review_gallery_test.py b/skills/lark-slides/scripts/beautiful_template_production_review_gallery_test.py new file mode 100644 index 000000000..6110ab6fe --- /dev/null +++ b/skills/lark-slides/scripts/beautiful_template_production_review_gallery_test.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3 +# Copyright (c) 2026 Lark Technologies Pte. Ltd. +# SPDX-License-Identifier: MIT +from __future__ import annotations + +import json +import sys +import tempfile +import unittest +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent)) + +import beautiful_template_production_review_gallery as gallery + + +REQUIRED_FAMILY_FIELDS = { + "family_id", + "runtime_template_id", + "visual_contract_path", + "reference_screenshot", + "promotion_status", + "default_selectable", + "page_variant_count", + "implemented_page_variants", + "smoke_status", +} + + +class BeautifulTemplateProductionReviewGalleryTest(unittest.TestCase): + def test_gallery_manifest_contains_all_34_candidates_with_review_fields(self) -> None: + manifest = gallery.build_gallery_manifest() + + self.assertEqual("production_review_gallery", manifest["artifact_kind"]) + self.assertTrue(manifest["not_promotion_receipt"]) + self.assertEqual(34, manifest["summary"]["candidate_count"]) + self.assertEqual(34, len(manifest["families"])) + + family_ids = set() + for family in manifest["families"]: + self.assertTrue(REQUIRED_FAMILY_FIELDS.issubset(family), family) + self.assertTrue(family["family_id"]) + self.assertTrue(family["runtime_template_id"]) + self.assertTrue(family["visual_contract_path"]) + self.assertTrue(family["reference_screenshot"]) + self.assertIsInstance(family["default_selectable"], bool) + self.assertIsInstance(family["page_variant_count"], int) + self.assertGreater(family["page_variant_count"], 0) + self.assertIsInstance(family["implemented_page_variants"], list) + self.assertIn(family["smoke_status"], {"passed", "failed", "missing"}) + self.assertIn(family["review_decision"], {"pending_review"}) + family_ids.add(family["family_id"]) + + self.assertEqual(34, len(family_ids)) + + def test_blue_professional_smoke_is_evidence_not_promotion_receipt(self) -> None: + manifest = gallery.build_gallery_manifest() + blue = next(item for item in manifest["families"] if item["family_id"] == "blue-professional") + + self.assertEqual("executive-dashboard", blue["runtime_template_id"]) + self.assertEqual("production", blue["promotion_status"]) + self.assertTrue(blue["default_selectable"]) + self.assertEqual("passed", blue["smoke_status"]) + self.assertEqual("page-family-smoke", blue["smoke"]["artifact_kind"]) + self.assertTrue(blue["smoke"]["receipt_path"]) + self.assertTrue(blue["smoke"]["receipt_sha256"]) + self.assertGreaterEqual(blue["page_variant_count"], 10) + self.assertEqual("production_review_gallery", manifest["artifact_kind"]) + self.assertNotEqual("promotion_receipt", blue.get("artifact_kind")) + + def test_non_smoke_families_remain_needs_review_and_missing_smoke(self) -> None: + manifest = gallery.build_gallery_manifest() + candidate = next(item for item in manifest["families"] if item["family_id"] == "8-bit-orbit") + + self.assertEqual("needs_review", candidate["promotion_status"]) + self.assertFalse(candidate["default_selectable"]) + self.assertEqual("missing", candidate["smoke_status"]) + self.assertIn("production_review_pending", candidate["known_blockers"]) + + def test_write_artifacts_keeps_production_default_counts_unchanged(self) -> None: + before = gallery.matrix_status_counts() + with tempfile.TemporaryDirectory() as tmpdir: + result = gallery.write_gallery_artifacts(Path(tmpdir)) + manifest_path = Path(result["manifest_path"]) + html_path = Path(result["html_path"]) + + self.assertTrue(manifest_path.is_file()) + self.assertTrue(html_path.is_file()) + manifest = json.loads(manifest_path.read_text(encoding="utf-8")) + + after = gallery.matrix_status_counts() + self.assertEqual(before, after) + self.assertEqual(before["production_default_selectable_count"], manifest["summary"]["production_default_selectable_count"]) + self.assertEqual(before["default_selectable_count"], manifest["summary"]["default_selectable_count"]) + self.assertEqual(34, manifest["summary"]["candidate_count"]) + self.assertTrue(manifest["not_promotion_receipt"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/skills/lark-slides/scripts/beautiful_template_visual_contract_lint.py b/skills/lark-slides/scripts/beautiful_template_visual_contract_lint.py index dd975a8c6..861737b00 100644 --- a/skills/lark-slides/scripts/beautiful_template_visual_contract_lint.py +++ b/skills/lark-slides/scripts/beautiful_template_visual_contract_lint.py @@ -6,6 +6,7 @@ from __future__ import annotations import json import argparse +import hashlib from pathlib import Path from typing import Any @@ -16,6 +17,7 @@ REFERENCES_DIR = SCRIPT_DIR.parent / "references" SOURCE_ROOT = Path("/Users/bytedance/bd-projects/beautiful-html-templates") MATRIX_PATH = REFERENCES_DIR / "beautiful-template-executable-matrix.json" FAMILIES_PATH = REFERENCES_DIR / "beautiful-html-template-families.json" +PRODUCTION_REVIEW_GALLERY_PATH = REFERENCES_DIR / "production-review" / "beautiful" / "manifest.json" REQUIRED_MATRIX_FIELDS = { "family_id", @@ -196,6 +198,15 @@ PAGE_VARIANT_REQUIRED_FIELDS = { "source_refs", "extraction_confidence", } +PRODUCTION_REVIEW_REQUIRED_EVIDENCE = ( + "renderer_module", + "golden_spec", + "page_variant_golden_specs", + "fidelity_receipt", + "page_family_smoke_deck", + "page_family_smoke_receipt", + "visual_contract_path", +) def read_json(path: Path) -> dict[str, Any]: @@ -212,6 +223,10 @@ def read_json_or_empty(path: Path) -> dict[str, Any]: return {} +def file_sha256(path: Path) -> str: + return hashlib.sha256(path.read_bytes()).hexdigest() + + def resolve_path(value: object) -> Path: raw = str(value or "") path = Path(raw) @@ -232,6 +247,12 @@ def is_non_empty(value: object) -> bool: return value is not None +def string_list(value: object) -> list[str]: + if not isinstance(value, list): + return [] + return [item.strip() for item in value if isinstance(item, str) and item.strip()] + + def source_paths_for_family(family: dict[str, Any]) -> dict[str, str]: source = family.get("source") if isinstance(family.get("source"), dict) else {} return { @@ -480,6 +501,33 @@ def validate_page_family_candidate(row: dict[str, Any]) -> list[dict[str, str]]: issues.append(issue("page_family_smoke_receipt_input_hashes_missing", "page_family_smoke_receipt must include non-empty input_hashes", family_id=family_id, path="page_family_smoke_receipt.input_hashes")) if not isinstance(receipt.get("provenance"), dict) or not receipt.get("provenance"): issues.append(issue("page_family_smoke_receipt_provenance_missing", "page_family_smoke_receipt must include provenance", family_id=family_id, path="page_family_smoke_receipt.provenance")) + implemented_variants = string_list(row.get("implemented_page_variants")) + if implemented_variants: + pages = receipt.get("pages") if isinstance(receipt.get("pages"), list) else [] + receipt_variants = { + str(page.get("page_variant_id")).strip() + for page in pages + if isinstance(page, dict) and is_non_empty(page.get("page_variant_id")) + } + for variant_id in implemented_variants: + if variant_id not in receipt_variants: + issues.append( + issue( + "page_family_smoke_receipt_missing_implemented_variant", + "page_family_smoke_receipt pages must cover every implemented page variant", + family_id=family_id, + path=f"page_family_smoke_receipt.pages.{variant_id}", + ) + ) + for variant_id in sorted(receipt_variants - set(implemented_variants)): + issues.append( + issue( + "page_family_smoke_receipt_uses_unimplemented_variant", + "page_family_smoke_receipt pages must not use variants outside implemented_page_variants", + family_id=family_id, + path=f"page_family_smoke_receipt.pages.{variant_id}", + ) + ) if isinstance(golden_specs, dict): for variant_id, raw_path in sorted(golden_specs.items()): if not is_non_empty(raw_path) or not resolve_path(raw_path).is_file(): @@ -512,6 +560,290 @@ def validate_page_family_candidate(row: dict[str, Any]) -> list[dict[str, str]]: return issues +def production_review_expected_evidence(row: dict[str, Any]) -> tuple[dict[str, Any], list[dict[str, str]]]: + family_id = str(row.get("family_id") or "") + evidence: dict[str, Any] = {} + issues: list[dict[str, str]] = [] + for key in PRODUCTION_REVIEW_REQUIRED_EVIDENCE: + value = row.get(key) + if not is_non_empty(value): + issues.append( + issue( + "candidate_production_review_evidence_missing", + f"production review requires {key}", + family_id=family_id, + path=key, + ) + ) + continue + evidence[key] = value + return evidence, issues + + +def production_review_expected_hashes(evidence: dict[str, Any]) -> dict[str, str]: + hashes: dict[str, str] = {} + for key, value in sorted(evidence.items()): + if isinstance(value, str): + path = resolve_path(value) + if path.is_file(): + hashes[key] = file_sha256(path) + elif isinstance(value, dict): + for nested_key, nested_value in sorted(value.items()): + path = resolve_path(nested_value) + if path.is_file(): + hashes[f"{key}.{nested_key}"] = file_sha256(path) + return hashes + + +def _production_review_gallery_path(row: dict[str, Any]) -> Path: + gallery = row.get("production_review_gallery") + if isinstance(gallery, dict) and is_non_empty(gallery.get("manifest_path")): + return resolve_path(gallery.get("manifest_path")) + if is_non_empty(row.get("production_review_gallery_manifest")): + return resolve_path(row.get("production_review_gallery_manifest")) + return PRODUCTION_REVIEW_GALLERY_PATH + + +def validate_pending_production_review_gallery(row: dict[str, Any], *, matrix_path: Path) -> tuple[bool, list[dict[str, str]]]: + family_id = str(row.get("family_id") or "") + runtime_template_id = str(row.get("runtime_template_id") or "") + manifest_path = _production_review_gallery_path(row) + issues: list[dict[str, str]] = [] + if not manifest_path.is_file(): + return False, issues + manifest = read_json_or_empty(manifest_path) + if not manifest: + issues.append( + issue( + "candidate_production_review_gallery_invalid", + "production review gallery manifest must be readable JSON object", + family_id=family_id, + path="production_review_gallery", + ) + ) + return False, issues + if manifest.get("artifact_kind") != "production_review_gallery" or manifest.get("not_promotion_receipt") is not True: + issues.append( + issue( + "candidate_production_review_gallery_claim_invalid", + "production review gallery must be marked as review input only and not a promotion receipt", + family_id=family_id, + path="production_review_gallery.not_promotion_receipt", + ) + ) + if manifest.get("source_matrix_sha256") != file_sha256(matrix_path): + issues.append( + issue( + "candidate_production_review_gallery_stale", + "production review gallery source_matrix_sha256 must match the current matrix", + family_id=family_id, + path="production_review_gallery.source_matrix_sha256", + ) + ) + families = manifest.get("families") if isinstance(manifest.get("families"), list) else [] + card = next( + ( + item + for item in families + if isinstance(item, dict) + and item.get("family_id") == family_id + and item.get("runtime_template_id") == runtime_template_id + ), + None, + ) + if not isinstance(card, dict): + issues.append( + issue( + "candidate_production_review_gallery_family_missing", + "production review gallery must include the production/default family card", + family_id=family_id, + path="production_review_gallery.families", + ) + ) + return False, issues + if card.get("review_decision") != "pending_review": + issues.append( + issue( + "candidate_production_review_gallery_decision_invalid", + "production review gallery card must remain pending_review until a separate production receipt exists", + family_id=family_id, + path="production_review_gallery.review_decision", + ) + ) + if card.get("artifact_kind") == "promotion_receipt": + issues.append( + issue( + "candidate_production_review_gallery_card_claim_invalid", + "production review gallery family card must not be a promotion receipt", + family_id=family_id, + path="production_review_gallery.families.artifact_kind", + ) + ) + if card.get("promotion_status") != row.get("promotion_status") or card.get("default_selectable") != (row.get("default_selectable") is True): + issues.append( + issue( + "candidate_production_review_gallery_status_mismatch", + "production review gallery card status must match the candidate matrix", + family_id=family_id, + path="production_review_gallery.families.status", + ) + ) + return not issues, issues + + +def validate_production_review_receipt(row: dict[str, Any], *, matrix_path: Path = MATRIX_PATH) -> list[dict[str, str]]: + family_id = str(row.get("family_id") or "") + issues: list[dict[str, str]] = [] + evidence, evidence_issues = production_review_expected_evidence(row) + issues.extend(evidence_issues) + receipt_ref = row.get("production_review_receipt") + if not is_non_empty(receipt_ref): + gallery_ok, gallery_issues = validate_pending_production_review_gallery(row, matrix_path=matrix_path) + if gallery_ok: + return issues + issues.extend(gallery_issues) + issues.append( + issue( + "candidate_production_review_receipt_missing", + "production/default selectable beautiful family must have a production review receipt", + family_id=family_id, + path="production_review_receipt", + ) + ) + return issues + receipt_path = resolve_path(receipt_ref) + if not receipt_path.is_file(): + issues.append( + issue( + "candidate_production_review_receipt_missing_file", + "production_review_receipt must point to an existing receipt", + family_id=family_id, + path="production_review_receipt", + ) + ) + return issues + receipt = read_json_or_empty(receipt_path) + if not receipt: + issues.append( + issue( + "candidate_production_review_receipt_invalid", + "production_review_receipt must be readable JSON object", + family_id=family_id, + path="production_review_receipt", + ) + ) + return issues + if receipt.get("status") != "passed": + issues.append( + issue( + "candidate_production_review_receipt_not_passed", + "production_review_receipt.status must be passed", + family_id=family_id, + path="production_review_receipt.status", + ) + ) + if receipt.get("family_id") != row.get("family_id"): + issues.append( + issue( + "candidate_production_review_receipt_family_mismatch", + "production_review_receipt.family_id must match candidate", + family_id=family_id, + path="production_review_receipt.family_id", + ) + ) + if receipt.get("runtime_template_id") != row.get("runtime_template_id"): + issues.append( + issue( + "candidate_production_review_receipt_template_mismatch", + "production_review_receipt.runtime_template_id must match candidate", + family_id=family_id, + path="production_review_receipt.runtime_template_id", + ) + ) + if receipt.get("review_type") != "production_promotion": + issues.append( + issue( + "candidate_production_review_receipt_type_invalid", + "production_review_receipt.review_type must be production_promotion", + family_id=family_id, + path="production_review_receipt.review_type", + ) + ) + decision = receipt.get("review_decision") if isinstance(receipt.get("review_decision"), dict) else {} + if decision.get("allow_production") is not True or decision.get("allow_default_selectable") is not True: + issues.append( + issue( + "candidate_production_review_decision_invalid", + "production_review_receipt.review_decision must explicitly allow production and default selectable", + family_id=family_id, + path="production_review_receipt.review_decision", + ) + ) + claim_boundary = str(receipt.get("claim_boundary") or "").lower() + if "does not replace" not in claim_boundary or "fidelity" not in claim_boundary: + issues.append( + issue( + "candidate_production_review_claim_boundary_invalid", + "production_review_receipt must state it does not replace fidelity", + family_id=family_id, + path="production_review_receipt.claim_boundary", + ) + ) + receipt_evidence = receipt.get("required_evidence") + if not isinstance(receipt_evidence, dict): + issues.append( + issue( + "candidate_production_review_required_evidence_missing", + "production_review_receipt.required_evidence must be an object", + family_id=family_id, + path="production_review_receipt.required_evidence", + ) + ) + receipt_evidence = {} + for key, expected_value in sorted(evidence.items()): + if receipt_evidence.get(key) != expected_value: + issues.append( + issue( + "candidate_production_review_required_evidence_mismatch", + "production_review_receipt.required_evidence must match candidate matrix evidence", + family_id=family_id, + path=f"production_review_receipt.required_evidence.{key}", + ) + ) + input_hashes = receipt.get("input_hashes") + if not isinstance(input_hashes, dict) or not input_hashes: + issues.append( + issue( + "candidate_production_review_input_hashes_missing", + "production_review_receipt.input_hashes must be a non-empty object", + family_id=family_id, + path="production_review_receipt.input_hashes", + ) + ) + input_hashes = {} + for key, expected_hash in sorted(production_review_expected_hashes(evidence).items()): + actual_hash = input_hashes.get(key) + if not is_non_empty(actual_hash): + issues.append( + issue( + "candidate_production_review_input_hash_missing", + "production_review_receipt.input_hashes must include every evidence file", + family_id=family_id, + path=f"production_review_receipt.input_hashes.{key}", + ) + ) + elif actual_hash != expected_hash: + issues.append( + issue( + "candidate_production_review_receipt_stale", + "production_review_receipt.input_hashes must match current evidence files", + family_id=family_id, + path=f"production_review_receipt.input_hashes.{key}", + ) + ) + return issues + + def _role_font_name(value: object) -> str: if isinstance(value, str): return value.strip() @@ -830,6 +1162,7 @@ def validate_candidate_matrix( if not resolve_path(row.get(key)).is_file(): issues.append(issue("candidate_production_evidence_missing_file", f"production candidate.{key} must exist", family_id=family_id, path=key)) issues.extend(validate_production_role_consumption(row)) + issues.extend(validate_production_review_receipt(row, matrix_path=matrix_path)) if status not in PRODUCTION_STATUSES or not is_default: issues.append(issue("candidate_production_status_inconsistent", "production candidates must be default selectable and vice versa", family_id=family_id)) elif status not in NON_PRODUCTION_STATUSES: diff --git a/skills/lark-slides/scripts/beautiful_template_visual_contract_lint_test.py b/skills/lark-slides/scripts/beautiful_template_visual_contract_lint_test.py index 7d9e0c69f..883a5142d 100644 --- a/skills/lark-slides/scripts/beautiful_template_visual_contract_lint_test.py +++ b/skills/lark-slides/scripts/beautiful_template_visual_contract_lint_test.py @@ -5,6 +5,7 @@ from __future__ import annotations import json +import hashlib import sys import tempfile import unittest @@ -24,6 +25,46 @@ def write_json(path: Path, payload: dict[str, object]) -> None: path.write_text(json.dumps(payload, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") +def file_sha256(path: Path) -> str: + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def production_review_receipt_for_row(row: dict[str, object], *, status: str = "passed") -> dict[str, object]: + evidence = { + "renderer_module": row.get("renderer_module"), + "golden_spec": row.get("golden_spec"), + "fidelity_receipt": row.get("fidelity_receipt"), + "page_family_smoke_deck": row.get("page_family_smoke_deck"), + "page_family_smoke_receipt": row.get("page_family_smoke_receipt"), + "visual_contract_path": row.get("visual_contract_path"), + } + golden_specs = row.get("page_variant_golden_specs") + if isinstance(golden_specs, dict): + evidence["page_variant_golden_specs"] = golden_specs + input_hashes: dict[str, str] = {} + for key, raw_path in evidence.items(): + if isinstance(raw_path, str) and raw_path: + input_hashes[key] = file_sha256(lint.resolve_path(raw_path)) + elif isinstance(raw_path, dict): + for variant_id, variant_path in raw_path.items(): + input_hashes[f"{key}.{variant_id}"] = file_sha256(lint.resolve_path(variant_path)) + return { + "version": "svglide-beautiful-production-review/v1", + "family_id": row.get("family_id"), + "runtime_template_id": row.get("runtime_template_id"), + "status": status, + "review_type": "production_promotion", + "review_decision": { + "allow_production": status == "passed", + "allow_default_selectable": status == "passed", + }, + "required_evidence": evidence, + "input_hashes": input_hashes, + "scope": "production review receipt fixture for lint tests", + "claim_boundary": "human/production review evidence only; does not replace fidelity or page-family smoke", + } + + def minimal_page_family_contract() -> dict[str, object]: return { "family_id": "blue-professional", @@ -199,6 +240,28 @@ class BeautifulTemplateVisualContractLintTest(unittest.TestCase): {(item.get("code"), item.get("family_id"), item.get("path")) for item in issues}, ) + def test_strict_page_family_matrix_lint_blocks_smoke_receipt_missing_implemented_variant(self) -> None: + matrix = json.loads((REFERENCES_DIR / "beautiful-template-executable-matrix.json").read_text(encoding="utf-8")) + row = next(item for item in matrix["candidates"] if item["promotion_status"] == "production") + receipt = json.loads(lint.resolve_path(row["page_family_smoke_receipt"]).read_text(encoding="utf-8")) + receipt["pages"] = [ + page for page in receipt["pages"] if page.get("page_variant_id") != "bars" + ] + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + receipt_path = tmp_path / "smoke.json" + write_json(receipt_path, receipt) + row["page_family_smoke_receipt"] = receipt_path.as_posix() + matrix_path = tmp_path / "matrix.json" + write_json(matrix_path, matrix) + + issues = lint.validate_candidate_matrix(matrix_path=matrix_path, page_family_mode="strict") + + self.assertIn( + ("page_family_smoke_receipt_missing_implemented_variant", row["family_id"], "page_family_smoke_receipt.pages.bars"), + {(item.get("code"), item.get("family_id"), item.get("path")) for item in issues}, + ) + def test_lint_rejects_candidate_missing_font_typography_text_style_strategy(self) -> None: matrix = json.loads((REFERENCES_DIR / "beautiful-template-executable-matrix.json").read_text(encoding="utf-8")) family = matrix["candidates"][0]["family_id"] @@ -444,6 +507,79 @@ class BeautifulTemplateVisualContractLintTest(unittest.TestCase): {(item.get("code"), item.get("family_id"), item.get("path")) for item in issues}, ) + def test_lint_blocks_default_selectable_without_production_review_receipt(self) -> None: + matrix = json.loads((REFERENCES_DIR / "beautiful-template-executable-matrix.json").read_text(encoding="utf-8")) + row = next(item for item in matrix["candidates"] if item["promotion_status"] == "production") + row.pop("production_review_receipt", None) + with tempfile.TemporaryDirectory() as tmp: + matrix_path = Path(tmp) / "matrix.json" + write_json(matrix_path, matrix) + + issues = lint.validate_candidate_matrix(matrix_path=matrix_path) + + self.assertIn( + ("candidate_production_review_receipt_missing", row["family_id"], "production_review_receipt"), + {(item.get("code"), item.get("family_id"), item.get("path")) for item in issues}, + ) + + def test_lint_blocks_default_selectable_with_failed_production_review_receipt(self) -> None: + matrix = json.loads((REFERENCES_DIR / "beautiful-template-executable-matrix.json").read_text(encoding="utf-8")) + row = next(item for item in matrix["candidates"] if item["promotion_status"] == "production") + receipt = production_review_receipt_for_row(row, status="failed") + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + receipt_path = tmp_path / "production-review.json" + write_json(receipt_path, receipt) + row["production_review_receipt"] = receipt_path.as_posix() + matrix_path = tmp_path / "matrix.json" + write_json(matrix_path, matrix) + + issues = lint.validate_candidate_matrix(matrix_path=matrix_path) + + self.assertIn( + ("candidate_production_review_receipt_not_passed", row["family_id"], "production_review_receipt.status"), + {(item.get("code"), item.get("family_id"), item.get("path")) for item in issues}, + ) + + def test_lint_blocks_default_selectable_with_stale_production_review_receipt(self) -> None: + matrix = json.loads((REFERENCES_DIR / "beautiful-template-executable-matrix.json").read_text(encoding="utf-8")) + row = next(item for item in matrix["candidates"] if item["promotion_status"] == "production") + receipt = production_review_receipt_for_row(row) + receipt["input_hashes"]["renderer_module"] = "stale" + with tempfile.TemporaryDirectory() as tmp: + tmp_path = Path(tmp) + receipt_path = tmp_path / "production-review.json" + write_json(receipt_path, receipt) + row["production_review_receipt"] = receipt_path.as_posix() + matrix_path = tmp_path / "matrix.json" + write_json(matrix_path, matrix) + + issues = lint.validate_candidate_matrix(matrix_path=matrix_path) + + self.assertIn( + ("candidate_production_review_receipt_stale", row["family_id"], "production_review_receipt.input_hashes.renderer_module"), + {(item.get("code"), item.get("family_id"), item.get("path")) for item in issues}, + ) + + def test_lint_does_not_require_production_review_receipt_for_needs_review_family(self) -> None: + matrix = json.loads((REFERENCES_DIR / "beautiful-template-executable-matrix.json").read_text(encoding="utf-8")) + row = next(item for item in matrix["candidates"] if item["promotion_status"] == "needs_review") + row.pop("production_review_receipt", None) + with tempfile.TemporaryDirectory() as tmp: + matrix_path = Path(tmp) / "matrix.json" + write_json(matrix_path, matrix) + + issues = lint.validate_candidate_matrix(matrix_path=matrix_path) + + self.assertNotIn( + row["family_id"], + { + item.get("family_id") + for item in issues + if str(item.get("code") or "").startswith("candidate_production_review") + }, + ) + if __name__ == "__main__": unittest.main() diff --git a/skills/lark-slides/scripts/svglide_quality_gate_test.py b/skills/lark-slides/scripts/svglide_quality_gate_test.py index d2fbb869f..3f82c6916 100644 --- a/skills/lark-slides/scripts/svglide_quality_gate_test.py +++ b/skills/lark-slides/scripts/svglide_quality_gate_test.py @@ -43,8 +43,9 @@ def write_selected_beautiful_page_family_plan(project: Path) -> None: roles = [ ("cover", "cover"), ("agenda", "agenda"), - ("content", "content"), + ("content", "dashboard"), ("data", "metrics"), + ("data", "bars"), ("comparison", "split"), ("quote", "quote"), ("process", "timeline"),