{
  "code": "S108",
  "name": "Terminal walkthrough",
  "shape": "terminal-walkthrough",
  "family": "Inputs and interaction",
  "fits": "A broad terminal window with command/output above a bottom-centred scenario rail.",
  "use_when": "What does this command or technical step actually show?",
  "slots": [
    {
      "name": "command",
      "holds": "Actual command or explicitly labelled illustrative instruction",
      "budget": "one line"
    },
    {
      "name": "output",
      "holds": "Corresponding progress and completion transcript; identify simulations.",
      "budget": "3–12 lines per panel"
    },
    {
      "name": "tabs",
      "holds": "Four related operations; code-tabs instead uses four equivalent environments.",
      "budget": "4 panels"
    }
  ],
  "columns": 1,
  "density": "standard",
  "surface": "plum",
  "works_on": [
    "page",
    "deck"
  ],
  "library": "Cult UI",
  "dir": "S108-terminal-walkthrough",
  "semantic": {
    "audience_question": "What happens when I install, build, deploy or test this project?",
    "intent": "Understand a developer workflow through a typed command and its staged output.",
    "reasoning_relation": "command and ordered response within related CLI scenarios",
    "message_pattern": "Run [command] to [operation]; read [progress] and [completion] in order.",
    "required_content": [
      "Four related operations in one real or clearly fictional project.",
      "One exact command for each operation and the corresponding output, including progress and a clear end state.",
      "Identify simulated examples versus captured output; keep actual versions, values and results grounded when claiming a real run."
    ],
    "narrative_positions": [
      "utility interaction",
      "reference"
    ],
    "requires_before": [
      "Establish the developer task, the project and any prerequisites."
    ],
    "enables_after": [
      "Offer the real setup instructions or explain the next decision using actual project evidence."
    ],
    "slot_roles": {
      "command": "Four commands, each initiating the operation named by its tab. Avoid generic evidence placeholders.",
      "output": "Four matching transcripts. Preserve line order, the distinction between progress and completion, and each line’s reveal delay and colour role.",
      "tabs": "Install, build, deploy and test name the four operations in this example. Other related CLI operations can replace them."
    },
    "avoid_when": [
      "A general-purpose evidence or decision ledger.",
      "A live terminal or deployment control.",
      "Invented successful output presented as a measured result."
    ],
    "layout_specific_contract": "A broad terminal window with command/output above a bottom-centred scenario rail.",
    "variation_rule": "Read the selected markup and option source before adapting; maintain honest state and keyboard equivalents.",
    "provenance": {
      "basis": "Captured source arrangement and independent native adaptation",
      "review": "Facet model-authored guidance for Nic-authorized catalogue intake, 2026-10-10",
      "corpus_evidence_status": "not established",
      "guide": "../SEMANTICS.md"
    },
    "reader_outcome": "Inspect commands and outputs within a bounded technical scenario.",
    "matching": {
      "audience_question": "What happens when I install, build, deploy or test this project?",
      "reader_outcome": "Understand a developer workflow through a typed command and its staged output.",
      "reasoning_relation": "command and ordered response within related CLI scenarios",
      "content_shape": {
        "composition": "A broad terminal window with command/output above a bottom-centred scenario rail.",
        "selected_state": "A broad terminal window with command/output above a bottom-centred scenario rail.",
        "density": "standard",
        "columns": 1,
        "column_note": "Base metadata only; selected option can replace the base geometry."
      },
      "required_slots": [
        {
          "name": "command",
          "reader_question": "What does this distinct step, state, scenario or observation contribute?",
          "semantic_role": "Four commands, each initiating the operation named by its tab. Avoid generic evidence placeholders.",
          "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 · command · Actual command or explicitly labelled illustrative instruction]",
          "layout_budget": {
            "authored": "one line",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "command",
            "occurrences": 4,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              5,
              3,
              3,
              3
            ]
          }
        },
        {
          "name": "output",
          "reader_question": "What does this distinct step, state, scenario or observation contribute?",
          "semantic_role": "Four matching transcripts. Preserve line order, the distinction between progress and completion, and each line’s reveal delay and colour role.",
          "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 · output · Verified output with source/date, or visibly bracketed placeholders]",
          "layout_budget": {
            "authored": "3–12 lines per panel",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "output",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              43
            ]
          }
        },
        {
          "name": "tabs",
          "reader_question": "What does this distinct step, state, scenario or observation contribute?",
          "semantic_role": "Install, build, deploy and test name the four operations in this example. Other related CLI operations can replace them.",
          "content_unit_count": {
            "min": 4,
            "max": 4,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · tabs · A finite set of distinct scenarios]",
          "layout_budget": {
            "authored": "4 panels",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "tabs",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              4
            ]
          }
        }
      ],
      "rejection_constraints": [
        "Illustrative output presented as executed, hidden environment assumptions or copy controls implying command execution.",
        "Implying a command ran or succeeded from illustrative output."
      ],
      "option_guidance": {
        "option": "default",
        "composition_delta": "A broad terminal window with command/output above a bottom-centred scenario rail.",
        "semantic_change": "retains base content relationship; changes presentation or disclosure",
        "matching_instruction": "Select S108 default when the supplied material answers “What command is being demonstrated, and what output supports it?” through technical instruction and observable output. Respect this state: A broad terminal window with command/output above a bottom-centred scenario rail."
      },
      "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": 2,
        "source_visual_sha256": [
          "528c2b3b8125a258731df6c706ee4f2bc2bb8a03d45ccdd9fdebc5cdd3c2486f",
          "0a2bad0ef388bdd6488f4baafc7fc7a2f3d37a63f30fa04c068630b96a07e1b2"
        ],
        "source_export": "private source images remain outside this draft site",
        "markup_sha256": "4133bb6b8de9f599a3906b97d4c1c5b6a8ac614c74f6f941d5d4f721c9863ff3",
        "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": "command",
          "reader_question": "What does this distinct step, state, scenario or observation contribute?",
          "semantic_role": "Actual command or explicitly labelled illustrative instruction",
          "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 · command · Actual command or explicitly labelled illustrative instruction]",
          "layout_budget": {
            "authored": "one line",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "command",
            "occurrences": 4,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              5,
              3,
              3,
              3
            ]
          }
        },
        {
          "name": "output",
          "reader_question": "What does this distinct step, state, scenario or observation contribute?",
          "semantic_role": "Verified output with source/date, or visibly bracketed placeholders",
          "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 · output · Verified output with source/date, or visibly bracketed placeholders]",
          "layout_budget": {
            "authored": "3–8 lines per panel",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "output",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              43
            ]
          }
        },
        {
          "name": "tabs",
          "reader_question": "What does this distinct step, state, scenario or observation contribute?",
          "semantic_role": "A finite set of distinct scenarios",
          "content_unit_count": {
            "min": 4,
            "max": 4,
            "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
          },
          "placeholder": "[REAL CONTENT · tabs · A finite set of distinct scenarios]",
          "layout_budget": {
            "authored": "4 panels",
            "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
          },
          "markup": {
            "slot": "tabs",
            "occurrences": 1,
            "annotation_status": "present",
            "visibility_status": "not asserted from static parsing",
            "sample_word_counts": [
              4
            ]
          }
        }
      ],
      "contract_correction": {
        "date": "2026-10-13",
        "basis": "Actual selected HTML/CSS inspection; previous required slots retained for review.",
        "records": [
          {
            "code": "S108",
            "option": "default",
            "semantic_overrides": {
              "audience_question": "What happens when I install, build, deploy or test this project?",
              "intent": "Understand a developer workflow through a typed command and its staged output.",
              "reasoning_relation": "command and ordered response within related CLI scenarios",
              "message_pattern": "Run [command] to [operation]; read [progress] and [completion] in order."
            },
            "budgets": {
              "output": "3–12 lines per panel"
            },
            "reason": "Restore the source communication job and playback instead of generic evidence-panel labels."
          }
        ]
      }
    },
    "rejection_constraints": [
      "Illustrative output presented as executed, hidden environment assumptions or copy controls implying command execution.",
      "Implying a command ran or succeeded from illustrative output."
    ],
    "markup_inventory": {
      "file": "spread.html",
      "sha256": "4133bb6b8de9f599a3906b97d4c1c5b6a8ac614c74f6f941d5d4f721c9863ff3",
      "method": "static lxml markup plus authored option description; no rendered-visibility claim",
      "all_markup_slot_counts": {
        "output": 1,
        "command": 4,
        "code": 1,
        "tabs": 1
      },
      "slot_evidence": {
        "output": [
          {
            "tag": "div",
            "classes": "terminal-playback",
            "sample_word_count": 43,
            "repeated_children": 4
          }
        ],
        "command": [
          {
            "tag": "pre",
            "classes": "terminal-command",
            "sample_word_count": 5,
            "repeated_children": 0
          },
          {
            "tag": "pre",
            "classes": "terminal-command",
            "sample_word_count": 3,
            "repeated_children": 0
          },
          {
            "tag": "pre",
            "classes": "terminal-command",
            "sample_word_count": 3,
            "repeated_children": 0
          },
          {
            "tag": "pre",
            "classes": "terminal-command",
            "sample_word_count": 3,
            "repeated_children": 0
          }
        ],
        "code": [
          {
            "tag": "div",
            "classes": "terminal-codes",
            "sample_word_count": 45,
            "repeated_children": 6
          }
        ],
        "tabs": [
          {
            "tag": "div",
            "classes": "terminal-tabs",
            "sample_word_count": 4,
            "repeated_children": 4
          }
        ]
      },
      "option_selectors": [],
      "linked_implementation": [
        {
          "file": "../spreads.css",
          "sha256": "32da94472b0c9131e4d5dae7d5bf0498b09202a9e66294b4e4f23e6ddfbf37ba"
        },
        {
          "file": "../cult-compositions.css",
          "sha256": "60b8f53285fa1744a3d11eed0ebdeeaea517f5da2b8789cc799a943f21cb3012"
        },
        {
          "file": "../spread.js",
          "sha256": "3d99948b83f750bd4ae95dac08e3e50a395de7c149c90a6f1a1c0ea36a2634a4"
        },
        {
          "file": "../cult-compositions.js",
          "sha256": "45b2e1a623a2e1eb56f5aa8cd1b295c9765a0965117852e5dd3cb585f3437d4c"
        }
      ]
    },
    "variations": {
      "code-tabs": {
        "audience_question": "Which equivalent install command belongs to my package manager?",
        "intent": "Choose and copy the command matching the reader’s environment.",
        "reader_outcome": "Inspect finite equivalent code examples and copy the chosen command.",
        "reasoning_relation": "environment-to-equivalent-command mapping",
        "slot_roles": {
          "tabs": "Four alternative package managers for the same installation job.",
          "code": "One equivalent command per package manager; each should stand alone within the stated project prerequisites."
        },
        "matching": {
          "audience_question": "Which equivalent install command belongs to my package manager?",
          "reader_outcome": "Choose and copy the command matching the reader’s environment.",
          "reasoning_relation": "environment-to-equivalent-command mapping",
          "content_shape": {
            "composition": "A broad terminal window with command/output above a bottom-centred scenario rail.",
            "selected_state": "Compact source-supported code window with tabs and copy feedback; no command playback.",
            "density": "standard",
            "columns": 1,
            "column_note": "Base metadata only; selected option can replace the base geometry."
          },
          "required_slots": [
            {
              "name": "code",
              "reader_question": "What does this distinct step, state, scenario or observation contribute?",
              "semantic_role": "One equivalent command per package manager; each should stand alone within the stated project prerequisites.",
              "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 · code · Exact labelled code for each supported environment; disclose placeholders and dependencies.]",
              "layout_budget": {
                "authored": "one bounded snippet per tab",
                "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
              },
              "markup": {
                "slot": "code",
                "occurrences": 1,
                "annotation_status": "present",
                "visibility_status": "not asserted from static parsing",
                "sample_word_counts": [
                  45
                ]
              }
            },
            {
              "name": "tabs",
              "reader_question": "What does this distinct step, state, scenario or observation contribute?",
              "semantic_role": "Four alternative package managers for the same installation job.",
              "content_unit_count": {
                "min": 4,
                "max": 4,
                "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
              },
              "placeholder": "[REAL CONTENT · tabs · Four named package-manager environments mapped to equivalent install snippets.]",
              "layout_budget": {
                "authored": "4 tabs",
                "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
              },
              "markup": {
                "slot": "tabs",
                "occurrences": 1,
                "annotation_status": "present",
                "visibility_status": "not asserted from static parsing",
                "sample_word_counts": [
                  4
                ]
              }
            }
          ],
          "rejection_constraints": [
            "Copy success implying execution, or sample package names treated as working installs.",
            "Implying a command ran or succeeded from illustrative output."
          ],
          "option_guidance": {
            "option": "code-tabs",
            "composition_delta": "Compact source-supported code window with tabs and copy feedback; no command playback.",
            "semantic_change": "changes content relationship",
            "matching_instruction": "Select S108 code-tabs when the supplied material answers “Which exact command belongs to my selected environment?” through environment-to-command mapping. Respect this state: Compact source-supported code window with tabs and copy feedback; no command playback."
          },
          "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": 2,
            "source_visual_sha256": [
              "528c2b3b8125a258731df6c706ee4f2bc2bb8a03d45ccdd9fdebc5cdd3c2486f",
              "0a2bad0ef388bdd6488f4baafc7fc7a2f3d37a63f30fa04c068630b96a07e1b2"
            ],
            "source_export": "private source images remain outside this draft site",
            "markup_sha256": "4133bb6b8de9f599a3906b97d4c1c5b6a8ac614c74f6f941d5d4f721c9863ff3",
            "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": "code",
              "reader_question": "What does this distinct step, state, scenario or observation contribute?",
              "semantic_role": "Exact labelled code for each supported environment; disclose placeholders and dependencies.",
              "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 · code · Exact labelled code for each supported environment; disclose placeholders and dependencies.]",
              "layout_budget": {
                "authored": "one bounded snippet per tab",
                "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
              },
              "markup": {
                "slot": "code",
                "occurrences": 1,
                "annotation_status": "present",
                "visibility_status": "not asserted from static parsing",
                "sample_word_counts": [
                  45
                ]
              }
            },
            {
              "name": "tabs",
              "reader_question": "What does this distinct step, state, scenario or observation contribute?",
              "semantic_role": "Four named package-manager environments mapped to equivalent install snippets.",
              "content_unit_count": {
                "min": 4,
                "max": 4,
                "basis": "authored composition members where a repeated group is specified; otherwise one named slot; not a required amount of evidence"
              },
              "placeholder": "[REAL CONTENT · tabs · Four named package-manager environments mapped to equivalent install snippets.]",
              "layout_budget": {
                "authored": "4 tabs",
                "policy": "Working composition guidance: preserve scope and qualification; change layout rather than truncate the argument."
              },
              "markup": {
                "slot": "tabs",
                "occurrences": 1,
                "annotation_status": "present",
                "visibility_status": "not asserted from static parsing",
                "sample_word_counts": [
                  4
                ]
              }
            }
          ],
          "contract_correction": {
            "date": "2026-10-13",
            "basis": "Actual selected HTML/CSS inspection; previous required slots retained for review.",
            "records": [
              {
                "code": "S108",
                "option": "code-tabs",
                "semantic_overrides": {
                  "audience_question": "Which equivalent install command belongs to my package manager?",
                  "intent": "Choose and copy the command matching the reader’s environment.",
                  "reasoning_relation": "environment-to-equivalent-command mapping",
                  "message_pattern": "For [package manager], use [equivalent command] to install [the same package]."
                },
                "reason": "Four alternatives do the same task; they are not sequential inspect/compare/verify/record steps."
              }
            ]
          }
        },
        "previous_semantic_contract": {
          "audience_question": "Which exact command belongs to my selected environment?",
          "intent": "Inspect finite equivalent code examples and copy the chosen command.",
          "reasoning_relation": "environment-to-command mapping"
        },
        "message_pattern": "For [package manager], use [equivalent command] to install [the same package].",
        "narrative_profile": {
          "central_point": "The same installation task needs different command syntax in different package managers.",
          "communication_job": "Map npm, pnpm, yarn and bun to equivalent copyable install commands. These are alternatives, not four consecutive steps.",
          "audience_value": "Reduces uncertainty about which exact snippet to use for the reader’s environment. Copy feedback confirms a clipboard action, not installation.",
          "reading_path": [
            "Choose your package manager.",
            "Read its equivalent installation command and package name.",
            "Copy that command; run it only in the appropriate project and environment."
          ],
          "adaptation": {
            "required_inputs": [
              "One package or installation task.",
              "Four correct command variants for npm, pnpm, yarn and bun.",
              "Any prerequisites and a clear indication when the package is fictional."
            ],
            "slot_guidance": {
              "tabs": "Four alternative package managers for the same installation job.",
              "code": "One equivalent command per package manager; each should stand alone within the stated project prerequisites."
            },
            "can_change": [
              "The package, equivalent environments and their verified syntax.",
              "The surrounding explanatory context."
            ],
            "must_survive": [
              "Every tab does the same job in a different environment.",
              "Only the selected command is copied.",
              "No typing playback or result transcript in this compact variant.",
              "A copy confirmation does not imply that installation occurred."
            ]
          },
          "worked_example": {
            "fictional": true,
            "scenario": "A fictional package named @example/ui is used to demonstrate package-manager syntax, following the source’s equivalent-installation example.",
            "slot_fills": {
              "tabs": [
                "npm",
                "pnpm",
                "yarn",
                "bun"
              ],
              "code": "npm: npm install @example/ui\n\npnpm: pnpm add @example/ui\n\nyarn: yarn add @example/ui\n\nbun: bun add @example/ui"
            },
            "reasoning": "The package and task stay constant while the syntax changes with the selected environment. The reader needs one applicable alternative, not a sequence across all tabs.",
            "qualification": "@example/ui is a fictional teaching placeholder. Replace it with the actual package and verify its installation instructions. The page copies text only."
          },
          "narrative_fit": {
            "before": "Name the package and establish project prerequisites.",
            "after": "Continue with configuration or usage instructions for the installed package.",
            "good_uses": [
              "Package installation instructions.",
              "Equivalent snippets for supported environments."
            ],
            "poor_fits": [
              "Four dependent stages of one process.",
              "A command-output playback.",
              "A promise that copying has installed anything."
            ]
          },
          "evidence": {
            "observations": [
              "Retained Code Block demo maps npm/pnpm/yarn/bun to the same placeholder package @acme/ui.",
              "The prior adaptation used inspect/compare/verify/record and unrelated snippets, changing alternatives into apparent steps.",
              "The local repair restores equivalent package-manager commands and retains the compact code window/copy interaction."
            ],
            "interpretations": [
              "The selection resolves environment choice; it does not advance a process."
            ],
            "not_verified": [
              "Original author intent, historical claims, persuasion and archive-wide frequency have not been independently verified."
            ],
            "references": [
              "02_product/spreads/S108-terminal-walkthrough/source.webp",
              "02_product/spreads-semantics-2026-10-13/dist/S108-terminal-walkthrough/spread.html",
              "02_product/spreads-semantics-2026-10-13/dist/S108-terminal-walkthrough/spread.json",
              "https://www.cult-ui.com/docs/components/terminal-animation",
              "02_product/spreads/S108-terminal-walkthrough/source-opt-code-tabs.webp",
              "02_product/spreads-intake-cult-ui-2026-10-10/items/code-block-demo/files/001-code-block-demo.tsx"
            ]
          },
          "review": {
            "status": "reviewed",
            "basis": "Compared original package-manager demo and selected implementation; restored the alternative-to-syntax relationship. Source author intent and usability outcomes remain unverified."
          },
          "variation_relationship": "different-job"
        },
        "required_content": [
          "One package or installation task.",
          "Four correct command variants for npm, pnpm, yarn and bun.",
          "Any prerequisites and a clear indication when the package is fictional."
        ],
        "requires_before": [
          "Name the package and establish project prerequisites."
        ],
        "enables_after": [
          "Continue with configuration or usage instructions for the installed package."
        ],
        "avoid_when": [
          "Four dependent stages of one process.",
          "A command-output playback.",
          "A promise that copying has installed anything."
        ]
      }
    },
    "previous_semantic_contract": {
      "audience_question": "What command is being demonstrated, and what output supports it?",
      "intent": "Inspect commands and outputs within a bounded technical scenario.",
      "reasoning_relation": "technical instruction and observable output",
      "message_pattern": "A broad terminal window with command/output above a bottom-centred scenario rail."
    },
    "narrative_profile": {
      "central_point": "Show what a developer can expect when running the project’s install, build, deploy and test commands.",
      "communication_job": "Demonstrate a CLI workflow through command typing, staged output and a waiting prompt. Four tabs offer related operations in the same project.",
      "audience_value": "Makes an unfamiliar developer workflow concrete: which command starts each operation, what its output looks like and how completion is reported. A simulation demonstrates the experience; it does not prove an actual run succeeded.",
      "reading_path": [
        "Choose the operation: install, build, deploy or test.",
        "Watch the command type, then read the output in its authored order as each line arrives.",
        "Distinguish ordinary progress, notable output and completion through wording and colour.",
        "The waiting prompt closes the demonstration. Replay or show all four complete panels when close reading matters."
      ],
      "adaptation": {
        "required_inputs": [
          "Four related operations in one real or clearly fictional project.",
          "One exact command for each operation and the corresponding output, including progress and a clear end state.",
          "Identify simulated examples versus captured output; keep actual versions, values and results grounded when claiming a real run."
        ],
        "slot_guidance": {
          "command": "Four commands, each initiating the operation named by its tab. Avoid generic evidence placeholders.",
          "output": "Four matching transcripts. Preserve line order, the distinction between progress and completion, and each line’s reveal delay and colour role.",
          "tabs": "Install, build, deploy and test name the four operations in this example. Other related CLI operations can replace them."
        },
        "can_change": [
          "Project, command syntax and corresponding output.",
          "Operation labels when they still describe related CLI scenarios.",
          "TDW surface and status colours through tokens, while retaining a distinct dark terminal and compact scenario selector."
        ],
        "must_survive": [
          "Command → paced output → waiting prompt, with automatic playback when the selected scenario changes.",
          "Every output belongs to the selected command; colour reinforces textual meaning.",
          "The source-like terminal silhouette, textured setting, monospace hierarchy and bottom scenario rail.",
          "Reduced motion shows the complete active scenario immediately; Show all exposes all four transcripts.",
          "Clearly label simulated output. Neither playback nor copying executes a command."
        ]
      },
      "worked_example": {
        "fictional": true,
        "scenario": "A fictional UI project demonstrates its four development operations. Package totals, times, routes and test outcomes are invented demo output; no commands were run.",
        "slot_fills": {
          "command": "install: npm install\n\nbuild: npm run build\n\ndeploy: npm run deploy\n\ntest: npm test",
          "output": "install:\n\nadded 146 packages in 4s\n\n38 packages are looking for funding\n  run `npm fund` for details\n\nDependencies ready.\n\nbuild:\n\nBuilding the example project...\n\n✓ Compiled application\n✓ Checked types\n✓ Generated pages (12/12)\n\nRoute           Size\n/               42 kB\n/guide          18 kB\n\n✓ Build completed in 2.4s\n\ndeploy:\n\nPreparing a preview deployment...\n\n✓ Building\n✓ Uploading assets\n✓ Finalizing preview\n\nPreview: https://example.invalid\n\nExample deployment complete.\n\ntest:\n\nPASS  components/Button.test.ts\n  ✓ renders its label\n  ✓ responds to activation\nPASS  utils/format.test.ts\n  ✓ formats the date\n  ✓ preserves empty values\n\nTest suites: 2 passed, 2 total\nTests:       4 passed, 4 total\nTime:        1.2s",
          "tabs": [
            "install",
            "build",
            "deploy",
            "test"
          ]
        },
        "reasoning": "The operations belong to one development workflow. Each command produces a different ordered transcript and ends in a waiting prompt. The timing reveals how the workflow unfolds instead of decorating unrelated facts.",
        "qualification": "Fictional simulated session; example.invalid is intentionally non-resolving. Project scripts would need actual implementations. None of these results establish that a real package installed, project built, deployment happened or test passed."
      },
      "narrative_fit": {
        "before": "Establish the developer task, the project and any prerequisites.",
        "after": "Offer the real setup instructions or explain the next decision using actual project evidence.",
        "good_uses": [
          "Developer-tool landing-page demonstrations.",
          "CLI documentation and guided setup examples.",
          "An explained replay of real command output when its source and context are supplied."
        ],
        "poor_fits": [
          "A general-purpose evidence or decision ledger.",
          "A live terminal or deployment control.",
          "Invented successful output presented as a measured result."
        ]
      },
      "evidence": {
        "observations": [
          "Retained Cult demo source has install/build/deploy/test tabs, a dark terminal over a textured backdrop, typed commands, per-line output delays and a trailing cursor.",
          "Source implementation starts after300ms, types at25–60ms per character, pauses250ms, then reveals each authored output line.",
          "The prior adaptation removed automatic scenario playback and line-by-line output, replaced the operations with inspect/compare/verify/record, and flattened the backdrop. Nic flagged the loss of essence.",
          "The local restoration uses deterministic40ms typing, source-style sequencing, token-drawn texture and explicitly fictional CLI examples; it does not reproduce the source image pixel-for-pixel."
        ],
        "interpretations": [
          "The staged transcript explains an operation as it unfolds. The terminal setting and waiting prompt identify it as a developer workflow; generic evidence labels change that communication job."
        ],
        "not_verified": [
          "Original author intent, historical claims, persuasion and archive-wide frequency have not been independently verified."
        ],
        "references": [
          "02_product/spreads/S108-terminal-walkthrough/source.webp",
          "02_product/spreads-semantics-2026-10-13/dist/S108-terminal-walkthrough/spread.html",
          "02_product/spreads-semantics-2026-10-13/dist/S108-terminal-walkthrough/spread.json",
          "https://www.cult-ui.com/docs/components/terminal-animation",
          "02_product/spreads-intake-cult-ui-2026-10-10/items/terminal-animation-demo/files/001-terminal-animation-demo.tsx",
          "02_product/spreads-intake-cult-ui-2026-10-10/items/terminal-animation/files/001-terminal-animation.tsx"
        ]
      },
      "review": {
        "status": "reviewed",
        "basis": "Source code/capture and current repair compared after Nic’s fidelity feedback. The prior static-contract review missed the motion/content drift. Targeted native playback, controls and responsive checks are recorded separately; original author intent and measured persuasion remain unverified."
      },
      "variation_relationship": "base"
    }
  },
  "behaviour": {
    "script": "../cult-compositions.js",
    "record": "motion-native.json",
    "reduced_motion": "Complete readable content, local controls retained; optional terminal typing skipped.",
    "no_script": "Complete authored content; native radio/input/select controls remain. No local confirmation, movement, tabs or playback without script.",
    "network": "Local preview only. No submission, command execution or file transmission.",
    "limits": "Volatile browser state; reload restores authored examples."
  },
  "options": [
    {
      "id": "code-tabs",
      "what": "Compact source-supported code window with tabs and copy feedback; no command playback.",
      "sources": [
        {
          "ref": "Cult UI Code Block",
          "url": "https://www.cult-ui.com/docs/components/code-block"
        }
      ]
    }
  ],
  "also_seen_in": [],
  "source": {
    "ref": "Cult UI Terminal Animation",
    "url": "https://www.cult-ui.com/docs/components/terminal-animation"
  }
}
