feat(creative): deck_builder v0.2.0 baseline — placeholders, quality linting, archetypes, and new layouts (#336) - #337
Conversation
…linting, archetypes, and new layouts (ARPAHLS#336)
…n sample image is absent
|
Thanks @tusharjamunkar, very solid v0.2.0 baseline direction for #336. Architecture split ( Before merge:
Scope note: This is a reasonable baseline (placeholders, fit, 3 layouts, lint, archetypes, chain). Full v0.2 (#336 parent roadmap) still defers Happy to re-review after the additions. <3 |
…ead fields cleanup, and manifest params
|
Thanks for the meticulous review @rosspeili! All 6 pre-merge items have been addressed in commit 07e7e78:
All 24 deck_builder tests pass, and all 6 GitHub Actions CI checks are 100% green. Ready for your re-review! <3 |
Summary
Part of #336 (v0.2.0 Baseline)
Implements the v0.2.0 baseline upgrade for
creative/deck_builder, advancing it from a proof-of-concept slide assembler to an enterprise-grade presentation platform layer for autonomous agents as outlined in #336.Following maintainer guidance (@rosspeili), this baseline PR establishes the core architectural foundations, layout extensions, heuristic linting gates, archetype outlines, and skill chaining pipelines in an incremental, reviewable step.
Scope & Roadmap Alignment
hero,logo,icon,chart_backdrop,headshot) with zero remote dependencies.fitpolicies (contain,cover,crop_center,stretch,native) with EXIF transposition and color-space normalization.timeline,metrics, andcomparison.lint_deck(scoring 0–100, 9 heuristic rules).suggest_outline(5 archetypes + constraint filtering).metadata.classification) and legal disclaimers (metadata.legal_footer).examples/deck_builder_chain_demo.py) and.skillware.yaml.examplepipeline.extract_spec&render_patchactions.teamandagendalayout templates.Key Capabilities Added
Procedural Neutral Image Placeholders & Fit Policies (
placeholders.py):hero,logo,icon,chart_backdrop, andheadshotwith subtle geometric motifs and typography badges.fitpolicies:contain,cover/crop_center,stretch, andnative.3 New Slide Layout Types (
timeline,metrics,comparison):timeline: Horizontal milestone roadmaps with chronological connectors, dates, titles, descriptions, and color-coded status pills (completed,in_progress,planned).metrics: KPI big-number cards (up to 4 per slide) with primary numeric callouts, metric labels, trend direction indicators (up,down,neutral), and delta badges.comparison: Structured two-column comparative matrix supporting card dictionaries (title+items) or bullet arrays for contrasting features, tradeoffs, or before/after paradigms.Presentation Quality Gates (
lint_deck):WALL_OF_TEXT,DECK_TOO_LONG,MISSING_ALT,ORPHAN_BULLET,EMPTY_TITLE,CHART_NO_TITLE,METRIC_WITHOUT_LABEL,LOW_SLIDE_COUNT,MONOTONOUS_LAYOUT.min_scoreandstrict_a11yparameters declared inmanifest.yaml.Deterministic Archetype Outlines (
suggest_outline):investor_pitch,technical_brief,quarterly_review,product_launch,training_workshop).constraints=["no pricing", "no financial"]) automatically removes sensitive sections while keeping narrative coherence.Enterprise Governance Support:
deck_spec.metadata.classificationheader ribbons (CONFIDENTIAL,INTERNAL,PUBLIC,RESTRICTED) stamped on slides (with backward-compatible root fallback).deck_spec.metadata.legal_footerdisclaimer banner stamped on all slides.Skill Chaining Pipeline Demo & Tooling:
examples/deck_builder_chain_demo.pyshowcasing composability withcreative/bg_remover+creative/deck_builder(suggest_outline→bg_remover→lint_deck→render).deck_build_pipelinenamed chain to.skillware.yaml.example.examples/README.mdand added totests/test_examples_smoke.py.Verification & Test Coverage
skills/creative/deck_builder/test_skill.py.tests/skills/creative/test_deck_builder.py.tests/test_examples_smoke.py.black --checkclean,flake8clean (0 errors),scripts/sync_extras.py --checkOK.test_constitution_offline_no_remote_apisverifies no banned imports in any skill module).