Skip to content

v6.2.0

Latest

Choose a tag to compare

@hugohe3 hugohe3 released this 02 Sep 08:07
· 9 commits to main since this release

Important

The prompt corpus is now written for readers, not for compression. After v6.1.0's slimming, this release makes every runtime rule live in one place, restores the catalog-style format in the core files that had been compressed, and shares one planning core between the Default and Quick routes. Rules did not change; where they read differently, the difference was reviewed commit by commit against the v6.1.0 baseline. Both routes were exercised end-to-end on a real source (Default 18 pages, Quick 15 pages) and the friction found there is fixed here. Create Template and Edit Native PPTX remain paused (bug fixes only).

Prompts

  • One owner per rule. docs/rules/ownership.md states how ownership is decided and docs/rules/rule-owners.md registers every cross-file rule with its single owner; other files keep a one-line pointer. The same rule used to be restated in five to ten places (slot contract, Chart/Table reference, sounds, template discovery, size band, icons, reading mode), each drifting on its own.
  • Shared planning core. references/plan-core.md holds the page-planning rules both routes read; strategist.md keeps only the confirmation surface, the three directions, and its artifacts; quick-generate.md §2 keeps only commands and contracts.
  • Readable core files. executor-base.md, strategist.md, generate-pptx.md, quick-generate.md, image-generator.md, animations.md, create-template.md, and template-designer.md are rewritten in the catalog format the well-read files already used: fixed skeleton, short labeled paragraphs, one decision per example, exceptions as their own sentence. Every code span, number, and link was verified present before and after.
  • One ordered per-page chain. Executor §2.2 lists the roughly ten decisions a page goes through, in order, from module line to coordinates, instead of scattering them across sections.
  • Four overloaded terms renamed. §IX LayoutComposition; §VIII Layout patternImage pattern; "Structure decision" → "topology decision" (topology=yes|no); carrier now has one meaning. The checker reads the new column names and falls back to the old ones, so existing projects still validate.
  • Vocabulary in SKILL.md, read by every route, defines the terms the corpus uses (Structure, Layout, mode, template, style, Reference, carrier).
  • Fonts: each script names one concrete face, at most one Latin plus one CJK per role, no fallback list; the "at most four families" ceiling is back after being lost in the ownership pass.
  • Dogfood follow-ups: data-pptx-bounds is defined as the union of child geometry plus margin, recomputed whenever a size or line count changes; roles without a <role>_family fall to body_family (title-family roles to title_family); the role scan names chapter numerals and hero figures as display roles that recur per anchor page; downscaling to the planned size is an allowed image derivative; a single character-only look is allowed for CJK lettering; preset shapes with repeated vertices are registry output and are not to be "cleaned"; Quick's closing checklist gains the motion gate.

Scripts and checker

  • P05 early gate replaces the first-page gate on both routes (svg_quality_checker.py --stage early); rosters of six or fewer pages skip it. Checker runs follow a gate point or the end of one consolidated repair pass.
  • Presets gain a carrier-and-field family in the receipt, the routing trigger, and §3.0.
  • project_manager.py init is idempotent on names that already carry a _YYYYMMDD suffix (no more _2 directories).
  • svg_quality_checker.py --json semantics are stated everywhere the command appears: it writes the report the exporter reads; stdout stays the human summary. The exporter's repair hint now includes --canonical-authoring; the checker flag set is aligned across the quick reference, Quick §4, and the exporter message.
  • source_to_md.py -o <dir> with a single input writes into that directory instead of treating it as a file path.
  • image_gen.py --manifest validates each request's aspect ratio against the selected backend before spending a generation.
  • image_treat.py --fit WxH downscales an image to fit inside a box (new).
  • import-sources log wording matches what the tool does (no false "namespace" claim).
  • Tool behavior that lived in prompts moved to scripts/docs/ (Chart/Table payload grammar in native-data.md, exporter flags, image tools, import semantics); the prompts point there.
  • svg_to_pptx.py completes a preset's avLst when a placeholder or roundtrip source leaves it partial, so PowerPoint no longer offers to repair the deck.

Docs

  • docs/rules/prompt-style.md now covers every runtime file and is prescriptive: recall before craft before boundary, sentence and paragraph limits, one meaning per term, catalog exemplars.
  • docs/rules/prompt-layers.md adds Procedure as a fourth content layer.
  • conversion.md sidecar naming corrected to <stem>.

What's next

Maintenance continues as report-driven fixes from real generation runs. No prompt or workflow restructuring is planned.