{
  "code": "S25",
  "name": "Plan on a page",
  "shape": "matrix",
  "family": "Lists and comparisons",
  "fits": "A whole plan on one grid: a banner line, a strategy row, three audience columns, rows of terse cells, and full-width always-on rows at the foot.",
  "use_when": "The strategic spine of a deck, audiences across and workstreams down. A reference page the speaker walks; one per deck at most.",
  "slots": [
    {
      "name": "title",
      "holds": "page title, top left",
      "budget": "under 6 words"
    },
    {
      "name": "banner",
      "holds": "the platform line in a lime bar across the three columns",
      "budget": "under 8 words"
    },
    {
      "name": "row-label",
      "holds": "row names in the left column (strategy, audience, lead story, ongoing, always-on)",
      "budget": "1-3 words each"
    },
    {
      "name": "strategy",
      "holds": "the strategy, one full-width cell",
      "budget": "under 16 words"
    },
    {
      "name": "column-head",
      "holds": "three audience names in plum cells",
      "budget": "1-2 words each"
    },
    {
      "name": "cell",
      "holds": "terse labels per audience; the tall row takes two bullets each",
      "budget": "under 8 words each"
    },
    {
      "name": "footer-row",
      "holds": "two full-width always-on rows",
      "budget": "under 20 words each"
    }
  ],
  "columns": 4,
  "density": "dense",
  "surface": "paper",
  "works_on": [
    "deck"
  ],
  "library": "Hoffman",
  "dir": "S25-plan-on-a-page",
  "semantic": {
    "audience_question": "How do the strategy and activities address each audience within one plan?",
    "intent": "Trace each audience column through the common strategy and activity rows.",
    "reasoning_relation": "strategy hierarchy and audience cross-mapping",
    "message_pattern": "To achieve [objective], we will [strategy], reaching [audiences] through [corresponding actions].",
    "required_content": [
      "One agreed objective and strategic choice.",
      "Three distinct audiences with different information needs.",
      "One lead story and two continuing angles for each audience.",
      "Two activities that genuinely serve all three audiences."
    ],
    "narrative_positions": [
      "strategy overview"
    ],
    "requires_before": [
      "Establish barriers to repair adoption and why these three audiences matter."
    ],
    "enables_after": [
      "Develop the activity owners, timing, cost and honest measures of trial success."
    ],
    "slot_roles": {
      "title": "Name the plan or decision scope.",
      "banner": "Express the common platform all audience stories support.",
      "row-label": "Keep the matrix categories explicit: strategy, audience, lead story, ongoing stories and two shared programmes. Only the first label is annotated; edit all corresponding labels in markup.",
      "strategy": "Describe the chosen way to move the audiences toward the objective.",
      "column-head": "Three audience names, used consistently down their columns. Only the first is annotated; map all three.",
      "cell": "Map lead stories and two ongoing angles per audience. The annotation marks only the first cell; fill every peer in row/column order.",
      "footer-row": "Two shared programmes and their contribution. Only the first is annotated; preserve both full-width rows."
    },
    "avoid_when": [
      "An unprioritised task inventory",
      "Independent programmes with incompatible row meanings",
      "A detailed schedule requiring dates and dependencies"
    ],
    "layout_specific_contract": "A whole plan on one grid: a banner line, a strategy row, three audience columns, rows of terse cells, and full-width always-on rows at the foot.",
    "provenance": {
      "basis": "interpretation of the existing layout and slot contracts",
      "review": "Tessel model-authored guidance; implementation approved by Nic, 2026-10-10",
      "corpus_evidence_status": "not yet established",
      "guide": "../SEMANTICS.md"
    },
    "reader_outcome": "Trace each audience column through the common strategy and activity rows.",
    "matching": {
      "audience_question": "How do the strategy and activities address each audience within one plan?",
      "reader_outcome": "Trace each audience column through the common strategy and activity rows.",
      "reasoning_relation": "strategy hierarchy and audience cross-mapping",
      "content_shape": {
        "composition": "A whole plan on one grid: a banner line, a strategy row, three audience columns, rows of terse cells, and full-width always-on rows at the foot.",
        "selected_state": "A whole plan on one grid: a banner line, a strategy row, three audience columns, rows of terse cells, and full-width always-on rows at the foot.",
        "density": "dense",
        "columns": 4,
        "column_note": "Base metadata only; selected option can replace the base geometry."
      },
      "required_slots": [
        {
          "name": "title",
          "reader_question": "How do the strategy and activities address each audience within one plan?",
          "semantic_role": "Name the plan or decision scope.",
          "content_unit_count": {
            "min": 1,
            "max": 1,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · title · page title, top left]",
          "layout_budget": {
            "authored": "under 6 words",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "title",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              5
            ]
          }
        },
        {
          "name": "banner",
          "reader_question": "What does the banner contribute to this page’s reader outcome?",
          "semantic_role": "Express the common platform all audience stories support.",
          "content_unit_count": {
            "min": 1,
            "max": 1,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · banner · the platform line in a lime bar across the three columns]",
          "layout_budget": {
            "authored": "under 8 words",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "banner",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              5
            ]
          }
        },
        {
          "name": "row-label",
          "reader_question": "What kind of content or argument section am I reading?",
          "semantic_role": "Keep the matrix categories explicit: strategy, audience, lead story, ongoing stories and two shared programmes. Only the first label is annotated; edit all corresponding labels in markup.",
          "content_unit_count": {
            "min": 6,
            "max": 6,
            "basis": "Authored visible members in the selected arrangement; annotation occurrences can differ."
          },
          "placeholder": "[REAL CONTENT · row-label · row names in the left column (strategy, audience, lead story, ongoing, always-on)]",
          "layout_budget": {
            "authored": "1-3 words each",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "row-label",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              1
            ]
          }
        },
        {
          "name": "strategy",
          "reader_question": "What does the strategy contribute to this page’s reader outcome?",
          "semantic_role": "Describe the chosen way to move the audiences toward the objective.",
          "content_unit_count": {
            "min": 1,
            "max": 1,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · strategy · the strategy, one full-width cell]",
          "layout_budget": {
            "authored": "under 16 words",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "strategy",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              10
            ]
          }
        },
        {
          "name": "column-head",
          "reader_question": "What does the column head contribute to this page’s reader outcome?",
          "semantic_role": "Three audience names, used consistently down their columns. Only the first is annotated; map all three.",
          "content_unit_count": {
            "min": 3,
            "max": 3,
            "basis": "Authored visible members in the selected arrangement; annotation occurrences can differ."
          },
          "placeholder": "[REAL CONTENT · column-head · three audience names in plum cells]",
          "layout_budget": {
            "authored": "1-2 words each",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "column-head",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              2
            ]
          }
        },
        {
          "name": "cell",
          "reader_question": "What does the cell contribute to this page’s reader outcome?",
          "semantic_role": "Map lead stories and two ongoing angles per audience. The annotation marks only the first cell; fill every peer in row/column order.",
          "content_unit_count": {
            "min": 6,
            "max": 6,
            "basis": "Authored visible members in the selected arrangement; annotation occurrences can differ."
          },
          "placeholder": "[REAL CONTENT · cell · terse labels per audience; the tall row takes two bullets each]",
          "layout_budget": {
            "authored": "under 8 words each",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "cell",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              5
            ]
          }
        },
        {
          "name": "footer-row",
          "reader_question": "What does the footer row contribute to this page’s reader outcome?",
          "semantic_role": "Two shared programmes and their contribution. Only the first is annotated; preserve both full-width rows.",
          "content_unit_count": {
            "min": 2,
            "max": 2,
            "basis": "Authored visible members in the selected arrangement; annotation occurrences can differ."
          },
          "placeholder": "[REAL CONTENT · footer-row · two full-width always-on rows]",
          "layout_budget": {
            "authored": "under 20 words each",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "footer-row",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              13
            ]
          }
        }
      ],
      "rejection_constraints": [
        "Three independent plans without common row meanings, or unexplained blanks mistaken for exclusion.",
        "An inventory of unrelated tasks, empty mappings or text compressed into illegible cells."
      ],
      "option_guidance": {
        "option": "default",
        "composition_delta": "A whole plan on one grid: a banner line, a strategy row, three audience columns, rows of terse cells, and full-width always-on rows at the foot.",
        "semantic_change": "retains base content relationship; changes presentation or disclosure",
        "matching_instruction": "Select S25 default when the supplied material answers “How do the strategy and activities address each audience within one plan?” through strategy hierarchy and audience cross-mapping. Respect this state: A whole plan on one grid: a banner line, a strategy row, three audience columns, rows of terse cells, and full-width always-on rows at the foot."
      },
      "provenance": {
        "status": "inferred composition evidence",
        "author_intent": "not independently confirmed",
        "basis": [
          "retained source composition where available",
          "authored layout and slot contracts",
          "static implementation inspection"
        ],
        "source_visual_count": 1,
        "source_visual_sha256": [
          "43d33ae79cf11a17daa4aab498ceab7654ead9b97ca4ceb421636783ab938858"
        ],
        "source_export": "private source images remain outside this draft site",
        "markup_sha256": "7833e8eb05517b6580828279eaeaae9d9e241708ae2de8ac6748a69b61a65c34",
        "limits": [
          "Static parsing inventories authored nodes; it does not certify rendered visibility, responsive fit or interactive state.",
          "Budgets are authored layout guidance, not a content-writing limit or proof of fit.",
          "Matching guidance is a draft inference; it does not establish facts, endorsement, causation or source author intent."
        ]
      },
      "adaptation_rules": [
        "Choose by audience question, reasoning relation and required content before aesthetic preference.",
        "Supply every required semantic role; retain visible unknowns as labelled real-content placeholders.",
        "A number needs source, scope and units; a quotation needs faithful wording and attribution.",
        "Do not infer importance from area, colour, depth or movement unless the content explicitly defines that encoding.",
        "Keep colour token roles, structural objects, licences and source records; changing content does not authorize changing them."
      ],
      "previous_required_slots": [
        {
          "name": "title",
          "reader_question": "How do the strategy and activities address each audience within one plan?",
          "semantic_role": "page title, top left",
          "content_unit_count": {
            "min": 1,
            "max": 1,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · title · page title, top left]",
          "layout_budget": {
            "authored": "under 6 words",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "title",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              5
            ]
          }
        },
        {
          "name": "banner",
          "reader_question": "What does the banner contribute to this page’s reader outcome?",
          "semantic_role": "the platform line in a lime bar across the three columns",
          "content_unit_count": {
            "min": 1,
            "max": 1,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · banner · the platform line in a lime bar across the three columns]",
          "layout_budget": {
            "authored": "under 8 words",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "banner",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              5
            ]
          }
        },
        {
          "name": "row-label",
          "reader_question": "What kind of content or argument section am I reading?",
          "semantic_role": "row names in the left column (strategy, audience, lead story, ongoing, always-on)",
          "content_unit_count": {
            "min": 1,
            "max": 1,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · row-label · row names in the left column (strategy, audience, lead story, ongoing, always-on)]",
          "layout_budget": {
            "authored": "1-3 words each",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "row-label",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              1
            ]
          }
        },
        {
          "name": "strategy",
          "reader_question": "What does the strategy contribute to this page’s reader outcome?",
          "semantic_role": "the strategy, one full-width cell",
          "content_unit_count": {
            "min": 1,
            "max": 1,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · strategy · the strategy, one full-width cell]",
          "layout_budget": {
            "authored": "under 16 words",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "strategy",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              10
            ]
          }
        },
        {
          "name": "column-head",
          "reader_question": "What does the column head contribute to this page’s reader outcome?",
          "semantic_role": "three audience names in plum cells",
          "content_unit_count": {
            "min": 3,
            "max": 3,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · column-head · three audience names in plum cells]",
          "layout_budget": {
            "authored": "1-2 words each",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "column-head",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              2
            ]
          }
        },
        {
          "name": "cell",
          "reader_question": "What does the cell contribute to this page’s reader outcome?",
          "semantic_role": "terse labels per audience; the tall row takes two bullets each",
          "content_unit_count": {
            "min": 1,
            "max": 1,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · cell · terse labels per audience; the tall row takes two bullets each]",
          "layout_budget": {
            "authored": "under 8 words each",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "cell",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              5
            ]
          }
        },
        {
          "name": "footer-row",
          "reader_question": "What does the footer row contribute to this page’s reader outcome?",
          "semantic_role": "two full-width always-on rows",
          "content_unit_count": {
            "min": 1,
            "max": 1,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · footer-row · two full-width always-on rows]",
          "layout_budget": {
            "authored": "under 20 words each",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "footer-row",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              13
            ]
          }
        }
      ],
      "contract_correction": {
        "date": "2026-10-13",
        "basis": "Actual selected HTML/CSS inspection; previous required slots retained for review.",
        "records": [
          {
            "code": "S25",
            "option": "default",
            "counts": {
              "row-label": 6,
              "column-head": 3,
              "cell": 6,
              "footer-row": 2
            }
          }
        ]
      }
    },
    "rejection_constraints": [
      "Three independent plans without common row meanings, or unexplained blanks mistaken for exclusion.",
      "An inventory of unrelated tasks, empty mappings or text compressed into illegible cells."
    ],
    "markup_inventory": {
      "file": "spread.html",
      "sha256": "7833e8eb05517b6580828279eaeaae9d9e241708ae2de8ac6748a69b61a65c34",
      "method": "static lxml markup plus authored option description; no rendered-visibility claim",
      "all_markup_slot_counts": {
        "title": 1,
        "grid": 1,
        "banner": 1,
        "row-label": 1,
        "strategy": 1,
        "column-head": 1,
        "cell": 1,
        "footer-row": 1
      },
      "slot_evidence": {
        "title": [
          {
            "tag": "h2",
            "classes": "head",
            "sample_word_count": 5,
            "repeated_children": 0
          }
        ],
        "grid": [
          {
            "tag": "div",
            "classes": "plan",
            "sample_word_count": 93,
            "repeated_children": 20
          }
        ],
        "banner": [
          {
            "tag": "div",
            "classes": "banner span3",
            "sample_word_count": 5,
            "repeated_children": 0
          }
        ],
        "row-label": [
          {
            "tag": "div",
            "classes": "lbl",
            "sample_word_count": 1,
            "repeated_children": 0
          }
        ],
        "strategy": [
          {
            "tag": "div",
            "classes": "cell span3",
            "sample_word_count": 10,
            "repeated_children": 0
          }
        ],
        "column-head": [
          {
            "tag": "div",
            "classes": "cell colhead",
            "sample_word_count": 2,
            "repeated_children": 0
          }
        ],
        "cell": [
          {
            "tag": "div",
            "classes": "cell hero",
            "sample_word_count": 5,
            "repeated_children": 0
          }
        ],
        "footer-row": [
          {
            "tag": "div",
            "classes": "cell span3",
            "sample_word_count": 13,
            "repeated_children": 0
          }
        ]
      },
      "option_selectors": [],
      "linked_implementation": [
        {
          "file": "../spreads.css",
          "sha256": "32da94472b0c9131e4d5dae7d5bf0498b09202a9e66294b4e4f23e6ddfbf37ba"
        },
        {
          "file": "../spread.js",
          "sha256": "3d99948b83f750bd4ae95dac08e3e50a395de7c149c90a6f1a1c0ea36a2634a4"
        }
      ]
    },
    "variations": {
      "audience-journey": {
        "audience_question": "What should help people move from first awareness to a meaningful action?",
        "intent": "The reader can trace the intended progression and see which content and activities support each state.",
        "reader_outcome": "The reader can trace the intended progression and see which content and activities support each state.",
        "reasoning_relation": "ordered audience states cross-mapped to content and activity",
        "message_pattern": "Each audience stage needs suitable information and an invitation; some content can support more than one stage.",
        "required_content": [
          "An audience objective and feasible actions.",
          "Evidence for audience needs, or visibly labelled planning assumptions.",
          "A reason for any content band shared across stages."
        ],
        "narrative_positions": [
          "plan-audience-progression"
        ],
        "requires_before": [
          "Establish the audience, desired action and organising idea."
        ],
        "enables_after": [
          "Specify delivery responsibilities, timing and how the assumed progression will be tested."
        ],
        "slot_roles": {
          "title": "Governing claim about differentiated invitations",
          "goal": "Intended destination of the campaign",
          "grid": "The rendered stages crossed with three kinds of input",
          "stage-1": "Defines each successive audience state",
          "stage-2": "Defines each successive audience state",
          "stage-3": "Defines each successive audience state",
          "stage-4": "Defines each successive audience state",
          "mindset-label": "Marks the audience-state row as assumed",
          "mindset-1": "Illustrative first-person mindset, explicitly assumed",
          "mindset-2": "Illustrative first-person mindset, explicitly assumed",
          "mindset-3": "Illustrative first-person mindset, explicitly assumed",
          "mindset-4": "Illustrative first-person mindset, explicitly assumed",
          "content-label": "Names the shared campaign-content row",
          "content-early": "Shared introductory material spanning stages 1 and 2",
          "content-late": "Shared later-stage material spanning stages 3 and 4",
          "tactics-label": "Names the delivery-activity row",
          "tactics-1": "Feasible activities responding to that stage",
          "tactics-2": "Feasible activities responding to that stage",
          "tactics-3": "Feasible activities responding to that stage",
          "tactics-4": "Feasible activities responding to that stage"
        },
        "avoid_when": [
          "A delivery calendar requiring dates, owners and resource dependencies.",
          "A universal or empirically proven conversion funnel."
        ],
        "variation_rule": "Rebuild shared content spans when stages change; no other stage count is certified.",
        "provenance": {
          "basis": "Reviewed sanitised teaching case; private correspondence excluded",
          "payload_sha256": "b07e3385b6553faf317716f148b4f9db908d807a80819df902fb61d16d4fa0be"
        },
        "matching": {
          "id": "S25--audience-journey",
          "code": "S25",
          "name": "Audience journey",
          "dir": "S25-plan-on-a-page",
          "option": "audience-journey",
          "files": {
            "html": "cases/sc-2103f6392c5f4ca785923a829e21f134/spread.html",
            "preview": "cases/sc-2103f6392c5f4ca785923a829e21f134/preview.webp",
            "case": "cases/sc-2103f6392c5f4ca785923a829e21f134/case.json",
            "reuse": "cases/sc-2103f6392c5f4ca785923a829e21f134/reuse.json",
            "guide": "cases/sc-2103f6392c5f4ca785923a829e21f134/index.html",
            "prompt": "cases/sc-2103f6392c5f4ca785923a829e21f134/prompt.txt"
          },
          "case_id": "SC-2103f6392c5f4ca785923a829e21f134",
          "audience_question": "What should help people move from first awareness to a meaningful action?",
          "reader_outcome": "The reader can trace the intended progression and see which content and activities support each state.",
          "reasoning_relation": "ordered audience states cross-mapped to content and activity",
          "content_shape": {
            "composition": "Each audience stage needs suitable information and an invitation; some content can support more than one stage.",
            "selected_state": "Audience journey",
            "cardinality": {
              "semantic": "Audience stages may vary with the real journey; four is the inspected instance.",
              "tested": [
                4
              ],
              "adaptation": "Rebuild shared content spans when stages change; no other stage count is certified."
            }
          },
          "required_slots": [
            {
              "name": "title",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Governing claim about differentiated invitations",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Governing claim about differentiated invitations]",
              "markup": {
                "slot": "title",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "goal",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Intended destination of the campaign",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Intended destination of the campaign]",
              "markup": {
                "slot": "goal",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "grid",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "The rendered stages crossed with three kinds of input",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: The rendered stages crossed with three kinds of input]",
              "markup": {
                "slot": "grid",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "stage-1",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Defines each successive audience state",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Defines each successive audience state]",
              "markup": {
                "slot": "stage-1",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "stage-2",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Defines each successive audience state",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Defines each successive audience state]",
              "markup": {
                "slot": "stage-2",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "stage-3",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Defines each successive audience state",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Defines each successive audience state]",
              "markup": {
                "slot": "stage-3",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "stage-4",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Defines each successive audience state",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Defines each successive audience state]",
              "markup": {
                "slot": "stage-4",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "mindset-label",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Marks the audience-state row as assumed",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Marks the audience-state row as assumed]",
              "markup": {
                "slot": "mindset-label",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "mindset-1",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Illustrative first-person mindset, explicitly assumed",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Illustrative first-person mindset, explicitly assumed]",
              "markup": {
                "slot": "mindset-1",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "mindset-2",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Illustrative first-person mindset, explicitly assumed",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Illustrative first-person mindset, explicitly assumed]",
              "markup": {
                "slot": "mindset-2",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "mindset-3",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Illustrative first-person mindset, explicitly assumed",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Illustrative first-person mindset, explicitly assumed]",
              "markup": {
                "slot": "mindset-3",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "mindset-4",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Illustrative first-person mindset, explicitly assumed",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Illustrative first-person mindset, explicitly assumed]",
              "markup": {
                "slot": "mindset-4",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "content-label",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Names the shared campaign-content row",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Names the shared campaign-content row]",
              "markup": {
                "slot": "content-label",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "content-early",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Shared introductory material spanning stages 1 and 2",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Shared introductory material spanning stages 1 and 2]",
              "markup": {
                "slot": "content-early",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "content-late",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Shared later-stage material spanning stages 3 and 4",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Shared later-stage material spanning stages 3 and 4]",
              "markup": {
                "slot": "content-late",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "tactics-label",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Names the delivery-activity row",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Names the delivery-activity row]",
              "markup": {
                "slot": "tactics-label",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "tactics-1",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Feasible activities responding to that stage",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Feasible activities responding to that stage]",
              "markup": {
                "slot": "tactics-1",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "tactics-2",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Feasible activities responding to that stage",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Feasible activities responding to that stage]",
              "markup": {
                "slot": "tactics-2",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "tactics-3",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Feasible activities responding to that stage",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Feasible activities responding to that stage]",
              "markup": {
                "slot": "tactics-3",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "tactics-4",
              "reader_question": "What should help people move from first awareness to a meaningful action?",
              "semantic_role": "Feasible activities responding to that stage",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Feasible activities responding to that stage]",
              "markup": {
                "slot": "tactics-4",
                "annotation_status": "present in selected case HTML"
              }
            }
          ],
          "rejection_constraints": [
            "A delivery calendar requiring dates, owners and resource dependencies.",
            "A universal or empirically proven conversion funnel."
          ],
          "option_guidance": [
            "Keep the stage order and the mapping between each state, its content and its activity.",
            "Do not relabel assumed mindsets as interview quotations.",
            "Spanning content must genuinely serve every stage it crosses."
          ],
          "provenance": {
            "basis": "Reviewed sanitised teaching case; private correspondence excluded",
            "payload_sha256": "b07e3385b6553faf317716f148b4f9db908d807a80819df902fb61d16d4fa0be"
          },
          "adaptation_rules": [
            "Keep the stage order and the mapping between each state, its content and its activity.",
            "Do not relabel assumed mindsets as interview quotations.",
            "Spanning content must genuinely serve every stage it crosses."
          ],
          "format_readiness": {
            "html": "Reviewed static HTML at widths 1600, 960 and 390 on eight surfaces; changed content requires fresh review.",
            "pptx": "unverified",
            "motion": "complete static composition only"
          },
          "alternative": {
            "layout": "S25",
            "description": "Use parallel audience columns when the decision is how one strategy serves different groups. This loses staged progression and needs group-specific messages.",
            "basis": "conditional contract comparison; replacement not tested"
          }
        },
        "narrative_profile": {
          "central_point": "Each audience stage needs suitable information and an invitation; some content can support more than one stage.",
          "communication_job": "plan-audience-progression",
          "audience_value": "Orientation and relevance: explains why activities belong in the programme without claiming that people must follow a funnel.",
          "reading_path": [
            "Read the governing headline.",
            "Follow the mapped relationships in the actual slot order.",
            "Read the qualification and use the closing implication to prepare the next page."
          ],
          "adaptation": {
            "required_inputs": [
              "An audience objective and feasible actions.",
              "Evidence for audience needs, or visibly labelled planning assumptions.",
              "A reason for any content band shared across stages."
            ],
            "slot_guidance": {
              "title": "Governing claim about differentiated invitations",
              "goal": "Intended destination of the campaign",
              "grid": "The rendered stages crossed with three kinds of input",
              "stage-1": "Defines each successive audience state",
              "stage-2": "Defines each successive audience state",
              "stage-3": "Defines each successive audience state",
              "stage-4": "Defines each successive audience state",
              "mindset-label": "Marks the audience-state row as assumed",
              "mindset-1": "Illustrative first-person mindset, explicitly assumed",
              "mindset-2": "Illustrative first-person mindset, explicitly assumed",
              "mindset-3": "Illustrative first-person mindset, explicitly assumed",
              "mindset-4": "Illustrative first-person mindset, explicitly assumed",
              "content-label": "Names the shared campaign-content row",
              "content-early": "Shared introductory material spanning stages 1 and 2",
              "content-late": "Shared later-stage material spanning stages 3 and 4",
              "tactics-label": "Names the delivery-activity row",
              "tactics-1": "Feasible activities responding to that stage",
              "tactics-2": "Feasible activities responding to that stage",
              "tactics-3": "Feasible activities responding to that stage",
              "tactics-4": "Feasible activities responding to that stage"
            },
            "can_change": [
              "Scenario, brand, authorised content and imagery.",
              "Audience stages may vary with the real journey; four is the inspected instance.",
              "Rebuild shared content spans when stages change; no other stage count is certified."
            ],
            "must_survive": [
              "Keep the stage order and the mapping between each state, its content and its activity.",
              "Do not relabel assumed mindsets as interview quotations.",
              "Spanning content must genuinely serve every stage it crosses."
            ]
          },
          "narrative_fit": {
            "before": "Establish the audience, desired action and organising idea.",
            "after": "Specify delivery responsibilities, timing and how the assumed progression will be tested.",
            "good_uses": [
              "Use when audience readiness changes across encounters. For parallel audience groups, use the base strategy-to-audience map instead."
            ],
            "poor_fits": [
              "A delivery calendar requiring dates, owners and resource dependencies.",
              "A universal or empirically proven conversion funnel."
            ]
          },
          "worked_example": {
            "fictional": true,
            "scenario": "A fictional Open Lab Week wants residents to discover, understand and reserve hands-on community sessions.",
            "slot_fills": {
              "title": [
                "content: Each stage needs a different invitation."
              ],
              "goal": [
                "content: Help residents move from discovering Open Lab Week to reserving a session they want to try."
              ],
              "grid": [
                "content: Discover Understand Consider Join Assumed audience mindset Discover I did not know these local labs were open to me. Understand I can see what a beginner would do there. Consider One of these demonstrations sounds worth trying. Join I am ready to choose a session and reserve a place. Campaign content Discover + Understand Meet Open Lab Week. What visitors can try and how the sessions work. Consider + Join Meet the demonstrations. What happens in each session and how to join. Amplification tactics Discover Introduce the open week through neighbourhood channels. Understand Explain beginner access. Show a typical session. Answer practical questions. Consider Show the demonstration choices. Explain time and access requirements. Join Link to session reservations. Send useful preparation information."
              ],
              "stage-1": [
                "content: Discover"
              ],
              "stage-2": [
                "content: Understand"
              ],
              "stage-3": [
                "content: Consider"
              ],
              "stage-4": [
                "content: Join"
              ],
              "mindset-label": [
                "content: Assumed audience mindset"
              ],
              "mindset-1": [
                "content: Discover I did not know these local labs were open to me."
              ],
              "mindset-2": [
                "content: Understand I can see what a beginner would do there."
              ],
              "mindset-3": [
                "content: Consider One of these demonstrations sounds worth trying."
              ],
              "mindset-4": [
                "content: Join I am ready to choose a session and reserve a place."
              ],
              "content-label": [
                "content: Campaign content"
              ],
              "content-early": [
                "content: Discover + Understand Meet Open Lab Week. What visitors can try and how the sessions work."
              ],
              "content-late": [
                "content: Consider + Join Meet the demonstrations. What happens in each session and how to join."
              ],
              "tactics-label": [
                "content: Amplification tactics"
              ],
              "tactics-1": [
                "content: Discover Introduce the open week through neighbourhood channels."
              ],
              "tactics-2": [
                "content: Understand Explain beginner access. Show a typical session. Answer practical questions."
              ],
              "tactics-3": [
                "content: Consider Show the demonstration choices. Explain time and access requirements."
              ],
              "tactics-4": [
                "content: Join Link to session reservations. Send useful preparation information."
              ]
            },
            "reasoning": "The same event introduction supports discovery and understanding; demonstrations then support interest and booking. These shared bands and stage-specific invitations remain distinct.",
            "qualification": "Fictional teaching material. Proposed activity, planning assumptions and conceptual illustrations are not evidence of delivery, demand or results. Supply authorised facts and preserve necessary qualifications for a real project."
          },
          "evidence": {
            "observations": [
              "Reviewed fictional reconstruction and explicit slot map.",
              "Five populated instances checked across eight surfaces and three widths."
            ],
            "interpretations": [
              "Orientation and relevance: explains why activities belong in the programme without claiming that people must follow a funnel."
            ],
            "not_verified": [
              "Native editable PowerPoint, audience effectiveness and proposed replacements.",
              "Counts beyond those explicitly tested."
            ],
            "references": [
              "cases/sc-2103f6392c5f4ca785923a829e21f134/case.json",
              "cases/sc-2103f6392c5f4ca785923a829e21f134/reuse.json",
              "case-batch-review.json"
            ]
          },
          "review": {
            "status": "reviewed",
            "basis": "Version-bound semantic/privacy review of sanitised case plus static HTML checks; recheck any populated adaptation."
          },
          "variation_relationship": "different-job"
        }
      },
      "story-planning": {
        "audience_question": "Which distinct stories can one theme support, and what would make each publishable?",
        "intent": "The reader can identify several non-duplicative angles and the inputs needed to develop each one.",
        "reader_outcome": "The reader can identify several non-duplicative angles and the inputs needed to develop each one.",
        "reasoning_relation": "shared theme cross-mapped to story angles, supporting material and distribution",
        "message_pattern": "A shared theme can support complementary angles, each requiring its own material and a suitable route to an audience.",
        "required_content": [
          "One governing theme and distinct audience-relevant angles.",
          "Available or explicitly pending evidence and contributor access.",
          "A reason each proposed outlet category fits the material."
        ],
        "narrative_positions": [
          "develop-story-angles"
        ],
        "requires_before": [
          "Establish the communication platform, audience questions and available material."
        ],
        "enables_after": [
          "Confirm access and evidence, then develop assignments, owners and delivery dates."
        ],
        "slot_roles": {
          "title": "Governing claim about complementary stories",
          "grid": "Theme, angle, content, tactic and outlet cross-map",
          "theme-label": "Name of the governing-theme row",
          "theme": "One platform spanning all the rendered angle columns",
          "angles-label": "Name of the complementary-angle row",
          "angle-1": "Distinct editorial angle within the shared theme",
          "angle-2": "Distinct editorial angle within the shared theme",
          "angle-3": "Distinct editorial angle within the shared theme",
          "components-label": "Name of the supporting-material row",
          "components-1": "Sourceable material needed to substantiate that angle",
          "components-2": "Sourceable material needed to substantiate that angle",
          "components-3": "Sourceable material needed to substantiate that angle",
          "tactics-label": "Name of the distribution-method row",
          "tactics-1": "Suitable delivery methods for that angle",
          "tactics-2": "Suitable delivery methods for that angle",
          "tactics-3": "Suitable delivery methods for that angle",
          "outlets-label": "Name of the target-channel row",
          "outlets": "Shared appropriate outlet categories, not guaranteed placements"
        },
        "avoid_when": [
          "A set of alternative strategies from which only one must be chosen.",
          "A message house that needs hierarchical proof rather than a story production plan."
        ],
        "variation_rule": "The four-angle specimen extends all mapped rows and both shared bands; it is a tested instance, not unlimited capacity.",
        "provenance": {
          "basis": "Reviewed sanitised teaching case; private correspondence excluded",
          "payload_sha256": "ad539f39a56b534d583c2d718bfe6c8319e8a4a5dbd7e7521e0b7efdda43679a"
        },
        "matching": {
          "id": "S25--story-planning",
          "code": "S25",
          "name": "Story planning",
          "dir": "S25-plan-on-a-page",
          "option": "story-planning",
          "files": {
            "html": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/spread.html",
            "preview": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/preview.webp",
            "case": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/case.json",
            "reuse": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/reuse.json",
            "guide": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/index.html",
            "prompt": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/prompt.txt",
            "four_items_html": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/four-items.html",
            "four_items_case": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/four-items.case.json"
          },
          "case_id": "SC-54cd5cef24754c68ba6a586d9a457a7b",
          "audience_question": "Which distinct stories can one theme support, and what would make each publishable?",
          "reader_outcome": "The reader can identify several non-duplicative angles and the inputs needed to develop each one.",
          "reasoning_relation": "shared theme cross-mapped to story angles, supporting material and distribution",
          "content_shape": {
            "composition": "A shared theme can support complementary angles, each requiring its own material and a suitable route to an audience.",
            "selected_state": "Story planning",
            "cardinality": {
              "semantic": "Story angles are repeatable; count follows distinct sourceable material.",
              "tested": [
                3,
                4
              ],
              "adaptation": "The four-angle specimen extends all mapped rows and both shared bands; it is a tested instance, not unlimited capacity."
            }
          },
          "required_slots": [
            {
              "name": "title",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Governing claim about complementary stories",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Governing claim about complementary stories]",
              "markup": {
                "slot": "title",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "grid",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Theme, angle, content, tactic and outlet cross-map",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Theme, angle, content, tactic and outlet cross-map]",
              "markup": {
                "slot": "grid",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "theme-label",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Name of the governing-theme row",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Name of the governing-theme row]",
              "markup": {
                "slot": "theme-label",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "theme",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "One platform spanning all the rendered angle columns",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: One platform spanning all the rendered angle columns]",
              "markup": {
                "slot": "theme",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "angles-label",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Name of the complementary-angle row",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Name of the complementary-angle row]",
              "markup": {
                "slot": "angles-label",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "angle-1",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Distinct editorial angle within the shared theme",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Distinct editorial angle within the shared theme]",
              "markup": {
                "slot": "angle-1",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "angle-2",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Distinct editorial angle within the shared theme",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Distinct editorial angle within the shared theme]",
              "markup": {
                "slot": "angle-2",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "angle-3",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Distinct editorial angle within the shared theme",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Distinct editorial angle within the shared theme]",
              "markup": {
                "slot": "angle-3",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "components-label",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Name of the supporting-material row",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Name of the supporting-material row]",
              "markup": {
                "slot": "components-label",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "components-1",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Sourceable material needed to substantiate that angle",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Sourceable material needed to substantiate that angle]",
              "markup": {
                "slot": "components-1",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "components-2",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Sourceable material needed to substantiate that angle",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Sourceable material needed to substantiate that angle]",
              "markup": {
                "slot": "components-2",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "components-3",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Sourceable material needed to substantiate that angle",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Sourceable material needed to substantiate that angle]",
              "markup": {
                "slot": "components-3",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "tactics-label",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Name of the distribution-method row",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Name of the distribution-method row]",
              "markup": {
                "slot": "tactics-label",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "tactics-1",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Suitable delivery methods for that angle",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Suitable delivery methods for that angle]",
              "markup": {
                "slot": "tactics-1",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "tactics-2",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Suitable delivery methods for that angle",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Suitable delivery methods for that angle]",
              "markup": {
                "slot": "tactics-2",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "tactics-3",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Suitable delivery methods for that angle",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Suitable delivery methods for that angle]",
              "markup": {
                "slot": "tactics-3",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "outlets-label",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Name of the target-channel row",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Name of the target-channel row]",
              "markup": {
                "slot": "outlets-label",
                "annotation_status": "present in selected case HTML"
              }
            },
            {
              "name": "outlets",
              "reader_question": "Which distinct stories can one theme support, and what would make each publishable?",
              "semantic_role": "Shared appropriate outlet categories, not guaranteed placements",
              "content_unit_count": {
                "min": 1,
                "max": 1,
                "basis": "This populated instance; see cardinality for tested alternatives."
              },
              "layout_budget": {
                "authored": "Follow the inspected instance; preserve complete claims and qualifications.",
                "policy": "Adapt geometry or split a passage when content does not fit."
              },
              "placeholder": "[AUTHORISED CONTENT: Shared appropriate outlet categories, not guaranteed placements]",
              "markup": {
                "slot": "outlets",
                "annotation_status": "present in selected case HTML"
              }
            }
          ],
          "rejection_constraints": [
            "A set of alternative strategies from which only one must be chosen.",
            "A message house that needs hierarchical proof rather than a story production plan."
          ],
          "option_guidance": [
            "Keep theme, angle, sourceable components and tactics as separate roles.",
            "Each angle must have relevant supporting material.",
            "Outlet categories are targets, never guaranteed placements."
          ],
          "provenance": {
            "basis": "Reviewed sanitised teaching case; private correspondence excluded",
            "payload_sha256": "ad539f39a56b534d583c2d718bfe6c8319e8a4a5dbd7e7521e0b7efdda43679a"
          },
          "adaptation_rules": [
            "Keep theme, angle, sourceable components and tactics as separate roles.",
            "Each angle must have relevant supporting material.",
            "Outlet categories are targets, never guaranteed placements."
          ],
          "format_readiness": {
            "html": "Reviewed static HTML at widths 1600, 960 and 390 on eight surfaces; changed content requires fresh review.",
            "pptx": "unverified",
            "motion": "complete static composition only"
          },
          "alternative": {
            "layout": "S76",
            "description": "Use a message house when the job is agreeing a governing message and supporting proof. It clarifies hierarchy but does not replace story assignments or distribution routes.",
            "basis": "conditional contract comparison; replacement not tested"
          }
        },
        "narrative_profile": {
          "central_point": "A shared theme can support complementary angles, each requiring its own material and a suitable route to an audience.",
          "communication_job": "develop-story-angles",
          "audience_value": "Comprehension and credibility planning: makes the story system and its evidence gaps visible.",
          "reading_path": [
            "Read the governing headline.",
            "Follow the mapped relationships in the actual slot order.",
            "Read the qualification and use the closing implication to prepare the next page."
          ],
          "adaptation": {
            "required_inputs": [
              "One governing theme and distinct audience-relevant angles.",
              "Available or explicitly pending evidence and contributor access.",
              "A reason each proposed outlet category fits the material."
            ],
            "slot_guidance": {
              "title": "Governing claim about complementary stories",
              "grid": "Theme, angle, content, tactic and outlet cross-map",
              "theme-label": "Name of the governing-theme row",
              "theme": "One platform spanning all the rendered angle columns",
              "angles-label": "Name of the complementary-angle row",
              "angle-1": "Distinct editorial angle within the shared theme",
              "angle-2": "Distinct editorial angle within the shared theme",
              "angle-3": "Distinct editorial angle within the shared theme",
              "components-label": "Name of the supporting-material row",
              "components-1": "Sourceable material needed to substantiate that angle",
              "components-2": "Sourceable material needed to substantiate that angle",
              "components-3": "Sourceable material needed to substantiate that angle",
              "tactics-label": "Name of the distribution-method row",
              "tactics-1": "Suitable delivery methods for that angle",
              "tactics-2": "Suitable delivery methods for that angle",
              "tactics-3": "Suitable delivery methods for that angle",
              "outlets-label": "Name of the target-channel row",
              "outlets": "Shared appropriate outlet categories, not guaranteed placements"
            },
            "can_change": [
              "Scenario, brand, authorised content and imagery.",
              "Story angles are repeatable; count follows distinct sourceable material.",
              "The four-angle specimen extends all mapped rows and both shared bands; it is a tested instance, not unlimited capacity."
            ],
            "must_survive": [
              "Keep theme, angle, sourceable components and tactics as separate roles.",
              "Each angle must have relevant supporting material.",
              "Outlet categories are targets, never guaranteed placements."
            ]
          },
          "narrative_fit": {
            "before": "Establish the communication platform, audience questions and available material.",
            "after": "Confirm access and evidence, then develop assignments, owners and delivery dates.",
            "good_uses": [
              "Add or remove angles only when the theme supports distinct stories. A missing source becomes a development task, not an invented claim."
            ],
            "poor_fits": [
              "A set of alternative strategies from which only one must be chosen.",
              "A message house that needs hierarchical proof rather than a story production plan."
            ]
          },
          "worked_example": {
            "fictional": true,
            "scenario": "A fictional community science programme wants to explain why neighbourhood experiments are worth joining.",
            "slot_fills": {
              "title": [
                "content: One theme can earn different stories."
              ],
              "grid": [
                "content: Common theme Neighbourhood science. Useful questions, shared discoveries. Story angles Learning by doing Useful close to home The next generation Story components Learning A beginner explains one experiment. A facilitator shows the learning steps. Local usefulness A group defines a local question. A demonstration makes the method visible. Next generation A mentor describes the skills involved. A student shows a first investigation. Story tactics Learning Facilitator interview. Illustrated learning guide. Local usefulness Local feature pitch. Community demonstration. Next generation Mentor-and-student interview. Education feature pitch. Outlet categories Community news, education media and programme-owned channels. Relevance and access must be checked."
              ],
              "theme-label": [
                "content: Common theme"
              ],
              "theme": [
                "content: Neighbourhood science. Useful questions, shared discoveries."
              ],
              "angles-label": [
                "content: Story angles"
              ],
              "angle-1": [
                "content: Learning by doing"
              ],
              "angle-2": [
                "content: Useful close to home"
              ],
              "angle-3": [
                "content: The next generation"
              ],
              "components-label": [
                "content: Story components"
              ],
              "components-1": [
                "content: Learning A beginner explains one experiment. A facilitator shows the learning steps."
              ],
              "components-2": [
                "content: Local usefulness A group defines a local question. A demonstration makes the method visible."
              ],
              "components-3": [
                "content: Next generation A mentor describes the skills involved. A student shows a first investigation."
              ],
              "tactics-label": [
                "content: Story tactics"
              ],
              "tactics-1": [
                "content: Learning Facilitator interview. Illustrated learning guide."
              ],
              "tactics-2": [
                "content: Local usefulness Local feature pitch. Community demonstration."
              ],
              "tactics-3": [
                "content: Next generation Mentor-and-student interview. Education feature pitch."
              ],
              "outlets-label": [
                "content: Outlet categories"
              ],
              "outlets": [
                "content: Community news, education media and programme-owned channels. Relevance and access must be checked."
              ]
            },
            "reasoning": "Learning, local usefulness and the next generation are different angles under one theme. Each column names material and an appropriate delivery route.",
            "qualification": "Fictional teaching material. Proposed activity, planning assumptions and conceptual illustrations are not evidence of delivery, demand or results. Supply authorised facts and preserve necessary qualifications for a real project."
          },
          "evidence": {
            "observations": [
              "Reviewed fictional reconstruction and explicit slot map.",
              "Five populated instances checked across eight surfaces and three widths."
            ],
            "interpretations": [
              "Comprehension and credibility planning: makes the story system and its evidence gaps visible."
            ],
            "not_verified": [
              "Native editable PowerPoint, audience effectiveness and proposed replacements.",
              "Counts beyond those explicitly tested."
            ],
            "references": [
              "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/case.json",
              "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/reuse.json",
              "case-batch-review.json"
            ]
          },
          "review": {
            "status": "reviewed",
            "basis": "Version-bound semantic/privacy review of sanitised case plus static HTML checks; recheck any populated adaptation."
          },
          "variation_relationship": "different-job"
        }
      }
    },
    "narrative_profile": {
      "central_point": "One strategic choice becomes different stories for three audiences, supported by shared ongoing work.",
      "communication_job": "Make a plan traceable from its governing idea to audience-specific activity.",
      "audience_value": "Explanation of why the activities belong together and which audience each serves; addresses the objection that the plan is merely a list of tactics.",
      "reading_path": [
        "Read the banner and shared strategy first: they state the unifying promise and approach.",
        "Choose one audience column, then read its lead story and ongoing angles vertically.",
        "Compare across a row to check that the same communication job is being answered for each audience.",
        "Read the full-width footer rows as work shared across all audiences, not a fourth audience."
      ],
      "adaptation": {
        "required_inputs": [
          "One agreed objective and strategic choice.",
          "Three distinct audiences with different information needs.",
          "One lead story and two continuing angles for each audience.",
          "Two activities that genuinely serve all three audiences."
        ],
        "slot_guidance": {
          "title": "Name the plan or decision scope.",
          "banner": "Express the common platform all audience stories support.",
          "row-label": "Keep the matrix categories explicit: strategy, audience, lead story, ongoing stories and two shared programmes. Only the first label is annotated; edit all corresponding labels in markup.",
          "strategy": "Describe the chosen way to move the audiences toward the objective.",
          "column-head": "Three audience names, used consistently down their columns. Only the first is annotated; map all three.",
          "cell": "Map lead stories and two ongoing angles per audience. The annotation marks only the first cell; fill every peer in row/column order.",
          "footer-row": "Two shared programmes and their contribution. Only the first is annotated; preserve both full-width rows."
        },
        "can_change": [
          "Audience names and platform.",
          "Story topics and shared programme types, keeping each row comparable."
        ],
        "must_survive": [
          "Every story has an audience and supports the shared strategy.",
          "Rows retain one meaning across columns.",
          "Shared rows genuinely span all audiences.",
          "No empty cell is silently interpreted as exclusion."
        ]
      },
      "worked_example": {
        "fictional": true,
        "scenario": "A fictional municipal repair cooperative needs residents, landlords and employers to try a repair-first service.",
        "slot_fills": {
          "title": "Make repair the first choice",
          "banner": "Keep useful things working",
          "row-label": [
            "Strategy",
            "Audience",
            "Lead story",
            "Ongoing stories",
            "Shared explainers",
            "Shared evidence"
          ],
          "strategy": "Replace disposal habits with credible examples of convenient local repair.",
          "column-head": [
            "Residents",
            "Landlords",
            "Employers"
          ],
          "cell": [
            "Lead / Residents: Repair a favourite household item",
            "Lead / Landlords: Keep rental fixtures in service",
            "Lead / Employers: Extend office equipment life",
            "Ongoing / Residents: What can be repaired; Booking without guesswork",
            "Ongoing / Landlords: Tenant handover checks; Parts worth stocking",
            "Ongoing / Employers: Repair approval guide; Equipment care routines"
          ],
          "footer-row": [
            "Monthly explainers clarify repair limits, warranties and safe disposal when repair is unsuitable.",
            "An openly labelled pilot log records attempted repairs, failures and follow-up checks."
          ]
        },
        "reasoning": "The same adoption strategy is translated into each audience’s practical situation; the shared explainers and log support every column.",
        "qualification": "Fictional teaching example only; proposed actions and testimony are not measured outcomes or real endorsements."
      },
      "narrative_fit": {
        "before": "Establish barriers to repair adoption and why these three audiences matter.",
        "after": "Develop the activity owners, timing, cost and honest measures of trial success.",
        "good_uses": [
          "Campaign architecture",
          "Stakeholder communication plans",
          "An overview before workstream detail"
        ],
        "poor_fits": [
          "An unprioritised task inventory",
          "Independent programmes with incompatible row meanings",
          "A detailed schedule requiring dates and dependencies"
        ]
      },
      "evidence": {
        "observations": [
          "The source capture has a campaign platform spanning three audience columns, then strategy, hero stories, ongoing angles and two always-on rows.",
          "Current markup retains that hierarchy; repeated row labels, audience headings, cells and second footer are only partly annotated."
        ],
        "interpretations": [
          "The communication job and adaptation rules below are an interpretation of the viewed composition and current implementation, not a statement from the source author."
        ],
        "not_verified": [
          "Original author intent, surrounding source-deck argument, factual sample claims and audience effects have not been independently verified."
        ],
        "references": [
          "02_product/spreads/S25-plan-on-a-page/source.webp",
          "dist/S25-plan-on-a-page/spread.html",
          "dist/S25-plan-on-a-page/spread.json"
        ]
      },
      "review": {
        "status": "reviewed",
        "basis": "Viewed retained source capture and inspected current markup/slot contract; reviewed reasoning and example mapping. This is layout-contract review, not source-intent confirmation."
      },
      "variation_relationship": "base"
    }
  },
  "options": [
    {
      "id": "audience-journey",
      "what": "Each audience stage needs suitable information and an invitation; some content can support more than one stage.",
      "label": "Audience journey",
      "surface": "paper",
      "files": {
        "html": "cases/sc-2103f6392c5f4ca785923a829e21f134/spread.html",
        "preview": "cases/sc-2103f6392c5f4ca785923a829e21f134/preview.webp",
        "case": "cases/sc-2103f6392c5f4ca785923a829e21f134/case.json",
        "reuse": "cases/sc-2103f6392c5f4ca785923a829e21f134/reuse.json",
        "guide": "cases/sc-2103f6392c5f4ca785923a829e21f134/index.html",
        "prompt": "cases/sc-2103f6392c5f4ca785923a829e21f134/prompt.txt"
      },
      "case_id": "SC-2103f6392c5f4ca785923a829e21f134",
      "cardinality": {
        "semantic": "Audience stages may vary with the real journey; four is the inspected instance.",
        "tested": [
          4
        ],
        "adaptation": "Rebuild shared content spans when stages change; no other stage count is certified."
      }
    },
    {
      "id": "story-planning",
      "what": "A shared theme can support complementary angles, each requiring its own material and a suitable route to an audience.",
      "label": "Story planning",
      "surface": "paper",
      "files": {
        "html": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/spread.html",
        "preview": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/preview.webp",
        "case": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/case.json",
        "reuse": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/reuse.json",
        "guide": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/index.html",
        "prompt": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/prompt.txt",
        "four_items_html": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/four-items.html",
        "four_items_case": "cases/sc-54cd5cef24754c68ba6a586d9a457a7b/four-items.case.json"
      },
      "case_id": "SC-54cd5cef24754c68ba6a586d9a457a7b",
      "cardinality": {
        "semantic": "Story angles are repeatable; count follows distinct sourceable material.",
        "tested": [
          3,
          4
        ],
        "adaptation": "The four-angle specimen extends all mapped rows and both shared bands; it is a tested instance, not unlimited capacity."
      }
    }
  ],
  "also_seen_in": [],
  "source": {
    "ref": "Hoffman L10 Plan-on-a-page",
    "url": "https://github.com/neekchan/hoffman-agency-design-system/blob/main/templates/deck/Deck.dc.html"
  }
}
