Registry of every rule that more than one runtime file needs. Each rule has exactly one owner section, stated in full there; every other file in the “pointer only” column carries a one-line pointer to that section and no paraphrase. When a report-driven fix touches one of these rules, edit the owner, not the file where the report was noticed. When a new cross-file rule appears, add a row before writing the rule a second time.
prompt-layers.md§2 owns the one-owner principle; this file is its index.
| ID | Rule (one line) | Owner | Pointer only |
|---|---|---|---|
| R01 | Final carrier-receipt review and “absence needs a reason”: compare [CARRIERS] with retained page jobs, resource roles, and geometry signatures; a deck-wide zero or an under-carried relationship needs one stated reason per family or page |
references/executor-base.md §3 Checkpoints |
workflows/generate-pptx.md Step 6, workflows/profiles/quick-generate.md §4 |
| R02 | Checker cadence: every checker invocation follows a gate point whose pages all exist, or the end of one consolidated repair pass; early gate after P05 on rosters of seven or more pages | Default: workflows/generate-pptx.md Step 6; Quick: workflows/profiles/quick-generate.md §3 |
references/executor-base.md §3 (“owned by the route”), the route completion checklists (ticks only) |
| R03 | Page SVG is hand-written by the current main agent; helpers emit fragments only after the agent chooses role, operands, paint, and z-order | references/executor-base.md §3 Technical contract |
workflows/generate-pptx.md, workflows/profiles/quick-generate.md |
| R04 | Module loading: evaluate every routing trigger once over the roster before P01, read triggered modules in one batch, read an unforeseen module at the page that reaches it, write the per-page module line | references/executor-base.md routing table + §3 Checkpoints |
workflows/generate-pptx.md Step 6, workflows/profiles/quick-generate.md §3, references/shared-standards-core.md routing table (non-Generate triggers only), references/shared-standards.md |
| R05 | Text width is calibrated once before P01 (text_measure.py calibrate) and estimated per role afterwards; no per-page measuring; never trim wording to satisfy an estimate |
Default: workflows/generate-pptx.md Step 6 Design Parameter Confirmation; Quick: workflows/profiles/quick-generate.md §3 Typography |
references/executor-base.md §3 bounds paragraph |
| R06 | Reference vs (binding): a Reference is a starting sketch Executor adjusts freely without upstream repair or stated reason; (binding) is followed literally and appears only when the user, a template, or a resource contract requires the property |
Plan side: references/strategist.md §1 Confirmed-value table; execution side: references/executor-base.md §2.1; artifact grammar: templates/design_spec_reference.md §2.4 |
references/strategist.md Authority chain and §6.2, references/artifact-ownership.md, docs/rules/ownership.md (rule definition, not a runtime file) |
| R07 | Reading mode (text / balanced / presentation): what each carries on the page and in notes |
Plan side: references/plan-core.md §2 table; execution side (Executor does not load plan-core): references/executor-base.md §2.2 table |
references/strategist.md §c and §6.1, templates/design_spec_reference.md, references/executor-notes.md §3 (notes-side consumer) |
| R08 | Prose vs bullets: the semantic relationship chooses the form; bullets only for genuinely parallel or ordered material, never because a list is easier to lay out or a template exposes a list slot | Plan side: references/plan-core.md §3 Per-block expression; execution side: references/executor-base.md §2.2 authored texture |
— |
| R09 | Font-size anchor band: a structural role uses its anchor or a value within ±2 px; a short non-structural display size may stay undeclared for at most two occurrences, the third needs a named role | references/executor-base.md §2.1 (Sizes, Sparse display-size exception, Outside-band recovery); templates/spec_lock_reference.md §6 owns only the lock-extension step |
references/plan-core.md §6.2, references/strategist.md §g, templates/design_spec_reference.md §2.2, templates/spec_lock_reference.md §3/§4, references/executor-structured.md §1.0, references/visual-review.md §0 |
| R10 | Font delivery target: an explicit user/template target, otherwise Windows PowerPoint; the authoring host’s fonts never select a face; fonts are not embedded | references/shared-standards-core.md §4.1 |
references/plan-core.md §6.2, references/strategist.md §g, workflows/profiles/quick-generate.md §2 and §3, references/executor-base.md §5 |
| R11 | Icon library: one primary bundled stylistic library per pool; simple-icons for real brand marks only, never a confirmation choice; search by drawable object; complete case-sensitive library/name |
templates/icons/README.md |
references/plan-core.md §6.3 (option table and library line), references/strategist.md §f (confirmation procedure only), references/executor-base.md §4 (authoring syntax only), templates/design_spec_reference.md, templates/spec_lock_reference.md §4, references/artifact-ownership.md |
| R12 | Sound: selected only after the visual motion solution is final, from the complete vocabulary, one exact id, synced with sound_sync.py; no cue means no sounds/; never a planning resource |
references/animations.md §2.2 |
workflows/stages/customize-animations.md §3.3, workflows/generate-pptx.md Step 7.3, workflows/profiles/quick-generate.md §4, templates/sounds/README.md, templates/README.md, docs/rules/ownership.md |
| R13 | Chart/Table reference is a flexible page-local construction reference, never a type/geometry/style lock; native readiness is a separate per-object decision; --native-charts-and-tables is a second opt-in |
Execution: references/executor-visualization.md §2; native marker contract: references/native-data-interface.md §2; planning: references/plan-core.md §5.2 |
references/strategist.md Resource Need (§VII row grammar and Native-ready map grammar only), references/executor-chart.md, references/executor-table.md, templates/charts/README.md, templates/tables/README.md, templates/VISUALIZATION_TEMPLATE_AUTHORING.md, workflows/profiles/quick-generate.md §2, templates/design_spec_reference.md, templates/spec_lock_reference.md, scripts/docs/visualization-recall.md |
| R14 | Motion is authored as page states (two pages for a continuous action) while pages are written; effects, pairing, order, and timing are post-processing; a §IX Motion suggestion never activates the custom stage | Execution side: references/executor-base.md §1 Default paragraph; recall: references/animations.md capability menu + §2.1 |
references/executor-image.md, workflows/generate-pptx.md Step 6, workflows/profiles/quick-generate.md §1 (Quick’s own discovery table stays), workflows/stages/customize-animations.md When to Run |
| ID | Rule (one line) | Owner | Pointer only |
|---|---|---|---|
| R20 | Three-direction construction: author three whole-solution intents first, freeze every basis id from the three indexes, read once only the deduplicated detail files, a novel custom reads none | references/strategist.md §d Hard rule |
references/strategist.md §1 first paragraph, Layer 1 / Layer 2 GATEs, §2; workflows/generate-pptx.md Step 4; references/modes/_index.md §1/§3, references/visual-styles/_index.md §1/§4, references/image-renderings/_index.md §1 |
| R21 | A template never rewrites the Stage-1 goal: audience, intent, outcome, message, delivery, and afterlife come from request, sources, and initialization; template facts in context may inform canvas and page range only | workflows/generate-pptx.md Step 4 |
references/strategist.md §1, references/strategist-template.md §1, references/confirm-surface.md §2, scripts/docs/confirm_ui.md |
| R22 | Template discovery reads only the four *_index.json files; never scan kind directories; a bare name never resolves to a path; one root per kind, Layout precedes Deck |
workflows/routing.md §7 |
workflows/generate-pptx.md Step 3, workflows/stages/apply-template-workspace.md §1, templates/README.md, the four kind READMEs, references/artifact-ownership.md, references/strategist-template.md |
| R23 | Resource need is decided while composing the roster: which pages need a prepared image, lettering, or illustrated-icon file; the carrier mix itself is never planned | references/plan-core.md §5 |
references/strategist.md Resource Need and Reference Planning (Design Spec handoff only), workflows/profiles/quick-generate.md §2, references/strategist-image.md §1 |
| R24 | Whole-roster rhythm check: neighbors and section arcs compared, chapter entries reset, same-density runs intentional, motif carries a continuity job | references/plan-core.md §4 |
references/strategist.md §6.2, workflows/profiles/quick-generate.md §2 |
| R25 | Refine Spec reviews the one Design Spec on the surface the run confirmed on (review page on the page branch, otherwise chat); direct edits and comments revise that same file, and approval is given only in chat | workflows/stages/refine-spec.md Step 2 |
workflows/generate-pptx.md Step 4, workflows/stages/resume-execute.md Step 1; scripts/docs/spec_review.md documents tool behavior |
| ID | Rule (one line) | Owner | Pointer only |
|---|---|---|---|
| R30 | Slot contract: a slot is one direct root <g id> with data-pptx-placeholder, positive design-zone data-pptx-bounds, and exactly one compatible data-pptx-carrier child; object + proxy for composites; zero-slot Layouts valid; ordinary Master/Layout <g> forbidden with the compact preset <g> as sole exception |
references/pptx-structure-interface.md §2 |
references/semantic-svg.md §2–§3 (canonical forms only), references/executor-structured.md §1.2, references/template-designer.md §2.2, workflows/create-template.md Step 4/5, workflows/stages/apply-template-workspace.md §3, templates/layouts/README.md, templates/decks/README.md, scripts/docs/svg-pipeline.md (exporter behavior may restate) |
| R31 | Legacy structured contracts (baseline, template, preserve, layout_strategy, data-pptx-layout-kind, distilled / utility, direct atomic placeholders) are never upgraded in place; create a new workspace |
references/pptx-structure-interface.md §3 |
workflows/routing.md §4, references/executor-structured.md, references/strategist-template.md, workflows/stages/apply-template-workspace.md, references/artifact-ownership.md, scripts/docs/svg-pipeline.md |
| R32 | Mirror preserves the reachable Slide → Layout → Master chain, text-node topology, placeholder facts, and similar presentation; it never synthesizes, renames, re-parents, or redesigns | references/template-designer.md Mirror mode |
workflows/create-template.md Step 1A/1B/4, workflows/create-template/create-layout.md, workflows/create-template/create-deck.md, references/executor-structured.md §1.1 |
Decided 2026-09-02 and applied in one sweep. Each row names the old term, the new term, and every file the rename touched; a later file that still uses the old term is a defect.
| Old term | New term | Meaning kept | Files touched |
|---|---|---|---|
§IX Layout line |
Composition |
The page’s macro-composition Reference | templates/design_spec_reference.md, templates/scaffolds/design_spec.md, references/plan-core.md §4, references/strategist.md §4, references/executor-base.md §2.1, SKILL.md Vocabulary |
§VIII Layout pattern column |
Image pattern |
One image-composition suggestion per placed row | templates/design_spec_reference.md, templates/scaffolds/design_spec.md, templates/spec_lock_reference.md, references/image-base.md, references/svg-image-embedding.md, references/strategist-image.md, references/strategist.md, references/image-generator.md, references/executor-image.md, scripts/svg_quality/checker.py (reads the new column, falls back to the old spelling), scripts/docs/advanced-image-motion-smoke.md, docs/technical-design.md, docs/zh/technical-design.md, ownership.md, SKILL.md Vocabulary |
Structure decision (Structure=yes|no) |
topology decision (topology=yes|no) |
The per-page yes/no on whether geometry carries Relationships |
references/executor-base.md, references/executor-structure.md, references/topology-assembly.md, references/native-shape-authoring.md, references/plan-core.md §5, workflows/profiles/quick-generate.md, workflows/stages/resume-execute.md, scripts/prompt_audit_manifest.json, ownership.md, prompt-layers.md, SKILL.md Vocabulary |
| “content carrier” (second sense of carrier) | carrier (single sense); data-pptx-carrier is an attribute, not the term |
What a page unit sits in | SKILL.md Vocabulary, scripts/pptx_shapes/data/presetShapeSemantics.json |
Layout now means only a PowerPoint Layout under a Master or the Layout template kind. pptx_structure.mode and the retired §VII Structure catalog key are unchanged.