v6.1.0
Added 5
- Relationships section joins every Slide block to document semantic units and their order, link, parent, membership, contrast, and overlap
- Carrier-receipt review now requires stating a reason when no presets, inline emphasis, gradients, or filters are used
- Four premium devices join the everyday menu: gradient or glow display text, accent gradient rule, elevated primary object, and duotone or brand-wash image
- Text width calibration now performed once before P01 using text_measure.py to report characters per 100px per role
- Carrier receipt gains an Effects line documenting inline emphasis runs, gradient uses, filter uses, and text effects
Changed 8
- Plan and Executor now have stated ownership boundaries across three tiers: Plan-only, Execution-only, and Reference sketch
- Executor core is re-ordered with Page Expression Core (typographic features, layout structures, image composition) evaluated first before Blueprint Intake and per-page composition
- Planning prompts reduced from 82.4K to 73.6K tokens and Quick prompts from 78.6K to 70.4K tokens
- Image-layout catalog and placement geometry moved from planning batch to Executor ownership
- Content fidelity clarified to use quotation marks and first person only for wording sourced as a quote, with organizing frameworks labeled as the deck's reading
- Spec lock baseline and user prohibitions documented in spec_lock.md with user prohibitions quoted verbatim and tagged as (user)
- Routing triggers evaluated once over entire roster before P01 and every triggered module read in that batch
- Image upscale advisory fires only above 2.0× source scale and states the threshold, no longer reporting smaller upscales
Removed 2
- First-exercise page gate removed from workflow
- Preset exit clauses removed from receipt validation
From ppt-master
[!IMPORTANT] Plan and execution now have a stated boundary. This release follows v6.0.0's prompt slimming with the first round of generation-driven prompt work: what the plan owns, what the Executor owns, and what is only a sketch are written down as three tiers, and the Executor core is re-cut so the craft that makes pages look designed comes first. Create Template and Edit Native PPTX remain paused (bug fixes only).
Prompts
- Three ownership tiers (
docs/rules/prompt-style.md§4.1). Plan-only: anything that needs a prepared file, holds across the whole roster, needs user confirmation, or comes from source semantics. Execution-only: anything judged with the objects on the canvas — carrier mix, geometry, presets, composition, treatment. Reference: a starting sketch the Executor adjusts freely, binding only when labeled(binding). Depth test: one plan given to two Executors yields the same content with different looks. Relationshipsjoins every §IX Slide block — the page's semantic units and theirorder/link/parent/membership/contrast/overlap, written by the plan and consumed by the Executor's Structure decision.project_manager.py validatereports a missing line like a missingAudience move.- The Executor core is re-cut: the Page Expression Core (typographic features, native contour families, the everyday device menu, layout structures, page recipes, image composition families, the visual job router, everyday effects) comes first; then Blueprint Intake; then per-page composition, the technical contract, and checkpoints. Default-pipeline mechanics moved to
generate-pptx.mdStep 6 as their single owner. - Planning reads less: the image-layout catalog and placement geometry leave the planning batch (they are the Executor's and load on any image page); Strategist sheds execution vocabulary and internal duplicates. Planning set 82.4K → 73.6K tokens, Quick 78.6K → 70.4K.
- Absence needs a reason. The final carrier-receipt review asks, per family or page, what carries the job when the receipt shows no presets, no inline emphasis, no gradients, or no filters — or fewer preset/connector pages than pages declaring a relationship. Style, speed, restraint, "text was enough", or "it is editable anyway" are not answers; a missing answer is repaired. Choosing not to use a device stays valid — only an unstated reason is not. Four premium devices (gradient or glow display text, accent gradient rule, elevated primary object, duotone / brand-wash image) join the everyday menu as capability recall.
- Content fidelity clarified: quotation marks and first person only for wording the source gives as a quote; an organizing framework the source does not state is labeled as the deck's reading; when text does not fit, switch texture before dropping a qualifier.
- Lock prohibitions are the user's:
spec_lock.md forbiddenholds the technical baseline plus prohibitions the user stated in their own words, quoted verbatim and tagged(user); a confirmedvisual_style_behaviorbinds as identity prose and is never projected into a prohibition.
Workflow
- Uninterrupted page loop. Routing triggers are evaluated once over the whole roster before P01 and every triggered module is read in that batch; a page reaching an unforeseen capability reads its module then. The first-exercise page gate is gone — P01 gate, then pages, then the final gate.
- Text width calibrated once, before P01:
text_measure.py calibrate <project> [--outline] [--role NAME:FAMILY:SIZE]reports ≈ chars per 100 px per role (CJK and Latin, the checker's own estimator) and each role's longest planned §IX line, written tovalidation/text_calibration.json. Later pages estimate by arithmetic and measure nothing.
Scripts and checker
- The carrier receipt gains an
Effects:line — inline emphasis runs, gradient uses, filter uses, text effects — informational, never a quota. validatechecks the per-slideRelationshipsline and, on versioned locks, the(user)tag on non-baselineforbiddenrows (legacy marker-less locks are untouched).- The image upscale advisory fires only above 2.0× source scale (about 3× on a 1080p projector) and says so; smaller upscales are no longer reported.
- Preset exit clauses ("no preset quota", "zero preset use proves nothing", "a neutral primitive when neutrality is useful") are removed; a directional or step relationship drawn as a hand path where §3.0 names a preset is a receipt contradiction to repair.
What's next
Continuous generation testing against these prompts; report-driven fixes only. Early runs show stronger cross-page consistency with the uninterrupted page loop and pre-P01 calibration.