{
  "contract": "aesthetary.record/1.0",
  "record_spec": "1.1.0",
  "semantics": {
    "vocabulary": "aesthetary.public-evidence/1.0",
    "definitions": "vocabulary.json"
  },
  "slug": "terminal",
  "name": "Terminal",
  "identity": {
    "definition": {
      "state": "resolved",
      "text": "The on-screen register of the character-cell video terminal, for which DEC's VT100 (1978) is the reference device: fixed-pitch dot-matrix characters on a grid of 24 lines by 80 columns, lit in one monochrome phosphor hue (green, white or amber) on a dark ground, with a block or underscore cursor. The command prompt is a convention of command-line software rather than of the terminal, and the page-as-console behaviour is Aesthetary's reading."
    },
    "scope": {
      "state": "resolved",
      "text": "The visual register of the character-cell computer terminal: fixed-pitch text, block or underscore cursor, one phosphor hue on dark, as Aesthetary's console language; the page-as-console behaviour is our reading.",
      "ruling": "D0-1"
    },
    "aliases": [
      "CLI",
      "command line",
      "hacker",
      "cyberdeck"
    ],
    "layer_verdict": {
      "state": "ruled",
      "value": "belongs_at_another_layer",
      "ruling": "D0-1"
    }
  },
  "native_medium": {
    "state": "resolved",
    "value": [
      "screen"
    ],
    "evidence": {
      "quote": "the character-cell computer terminal",
      "field": "identity.scope (D0-1 approved scope)"
    },
    "ruling": "D0-5 MD-2 (2026-09-28)"
  },
  "research": {
    "line": "partly_sourced",
    "text": "Partly sourced",
    "sentence": "16 sources attached."
  },
  "areas": [
    {
      "area": "layout",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": "synthesis",
      "label": {
        "text": "Specified"
      }
    },
    {
      "area": "typography",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": "synthesis",
      "label": {
        "text": "Specified"
      }
    },
    {
      "area": "color",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": "synthesis",
      "label": {
        "text": "Specified"
      }
    },
    {
      "area": "imagery",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": null,
      "label": {
        "text": "Specified"
      }
    },
    {
      "area": "surface",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": null,
      "label": {
        "text": "Specified"
      }
    },
    {
      "area": "interface",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": null,
      "label": {
        "text": "Specified"
      }
    },
    {
      "area": "motion",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": null,
      "label": {
        "text": "Specified"
      }
    },
    {
      "area": "motif",
      "state": "owed",
      "owed": "research",
      "why": "No source has been examined for this yet."
    },
    {
      "area": "technique",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": null,
      "label": {
        "text": "Specified"
      }
    },
    {
      "area": "form",
      "state": "resolved",
      "canon": "not_applicable",
      "importance": "unknown",
      "posture_basis": null,
      "label": {
        "text": "Does not apply"
      }
    },
    {
      "area": "hierarchy",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": null,
      "label": {
        "text": "Specified"
      }
    },
    {
      "area": "density",
      "state": "resolved",
      "canon": "specified",
      "importance": "unknown",
      "posture_basis": null,
      "label": {
        "text": "Specified"
      }
    }
  ],
  "claims": [
    {
      "id": "te-r1",
      "text": "Text occupies a fixed character cell. Every glyph advances the same width and sits on the same line pitch, so columns align without being aligned.",
      "role": "rule",
      "area": "layout",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "named:terminal:vt100",
          "kcc-terminal-S3"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "seen",
        "text": "Seen in the work"
      },
      "derives_from": [],
      "ruling": "Knowledge Completion Campaign (founder instruction, 2026-09-29)"
    },
    {
      "id": "te-r2",
      "text": "The palette is restricted to what a phosphor display could produce: one foreground hue on a near-black ground, with the ANSI colour set as the only sanctioned extension.",
      "role": "rule",
      "area": "color",
      "basis": "documentary",
      "support": {
        "state": "cited_unverified",
        "for": [
          "named:terminal:ansi-x3-64"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "unverified",
        "text": "Documented · Source not yet verified"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "intent",
      "text": "Presents the interface as a command environment rather than a document, asserting technical competence and direct access by adopting an interaction model that predates graphical convention.",
      "role": "argument",
      "area": null,
      "basis": "synthesis",
      "support": {
        "state": "none",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "reading",
        "text": "Our reading"
      },
      "derives_from": [],
      "ruling": "D0-3 C1 prose"
    },
    {
      "id": "intent-negation",
      "text": "Refuses the graphical affordances of contemporary web design — buttons, cards, imagery — in favour of typed exchange.",
      "role": "argument",
      "area": null,
      "basis": "synthesis",
      "support": {
        "state": "none",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "reading",
        "text": "Our reading"
      },
      "derives_from": [],
      "ruling": "D0-3 C1 prose"
    },
    {
      "id": "intent-cost",
      "text": "Costs accepted: Accessibility; Discoverability; Conversion for non-technical audiences",
      "role": "argument",
      "area": null,
      "basis": "synthesis",
      "support": {
        "state": "none",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "reading",
        "text": "Our reading"
      },
      "derives_from": [],
      "ruling": "D0-3 C1 prose"
    },
    {
      "id": "intent-audience",
      "text": "Audience: A viewer who has used a command line and reads its conventions as a credential.",
      "role": "argument",
      "area": null,
      "basis": "synthesis",
      "support": {
        "state": "none",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "reading",
        "text": "Our reading"
      },
      "derives_from": [],
      "ruling": "D0-3 C1 prose"
    },
    {
      "id": "v1-distinguishing",
      "text": "A console as a website; interaction metaphor, not just a type choice",
      "role": "diagnostic",
      "area": null,
      "basis": "inherited",
      "support": {
        "state": "inherited",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "catalogue",
        "text": "From our catalogue entry"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "v1-era",
      "text": "Era: contemporary",
      "role": "context",
      "area": null,
      "basis": "inherited",
      "support": {
        "state": "inherited",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "catalogue",
        "text": "From our catalogue entry"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "v1-mood",
      "text": "Mood: technical, rebellious",
      "role": "context",
      "area": null,
      "basis": "inherited",
      "support": {
        "state": "inherited",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "catalogue",
        "text": "From our catalogue entry"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "v1-cross-library",
      "text": "Cross-library: Typography: monospace · Color: phosphor on black",
      "role": "context",
      "area": null,
      "basis": "inherited",
      "support": {
        "state": "inherited",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "catalogue",
        "text": "From our catalogue entry"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "typography-block",
      "text": "Typography: monospace; class monospace; role all",
      "role": "rule",
      "area": "typography",
      "basis": "inherited",
      "support": {
        "state": "inherited",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "catalogue",
        "text": "From our catalogue entry"
      },
      "derives_from": [],
      "ruling": "D0-3 C2 typo"
    },
    {
      "id": "interface-scope-reading",
      "text": "The page-as-console behaviour is our reading.",
      "role": "context",
      "area": "interface",
      "basis": "synthesis",
      "support": {
        "state": "none",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "reading",
        "text": "Our reading"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:hierarchy-1",
      "text": "Rank can be made with per-character rendition attributes: bold (or increased intensity), underline, blink and reverse video.",
      "role": "rule",
      "area": "hierarchy",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S2",
          "kcc-terminal-S4"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "seen",
        "text": "Seen in the work"
      },
      "scope": {
        "practice": "DEC VT100/VT200 family; the 'Advanced video' attributes"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:hierarchy-2",
      "text": "The maker states the purpose of these attributes as formatting, prompting and highlighting portions of text.",
      "role": "context",
      "area": "hierarchy",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S4"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "seen",
        "text": "Seen in the work"
      },
      "scope": {
        "practice": "VT200 family, DEC handbook"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:hierarchy-3",
      "text": "A whole line can be set double-width, or double-height double-width, which halves the characters that fit on that line.",
      "role": "rule",
      "area": "hierarchy",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S2",
          "kcc-terminal-S1"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "seen",
        "text": "Seen in the work"
      },
      "scope": {
        "practice": "DEC VT100 and later; not all terminals"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:hierarchy-4",
      "text": "Quite a few terminals implemented 'bold' as a brighter colour rather than a different font.",
      "role": "context",
      "area": "hierarchy",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S15"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "ANSI-escape terminals generally; encyclopedia support only"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:imagery-1",
      "text": "Pictures are built from characters: the VT100 added a box-drawing set whose pieces join into unbroken lines, used to draw on-screen forms.",
      "role": "rule",
      "area": "imagery",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S2",
          "kcc-terminal-S11"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "DEC VT100 Special Graphics set"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:imagery-2",
      "text": "The box-drawing set existed to draw on-screen forms, and the terminal supported fill-in-the-blanks form applications.",
      "role": "context",
      "area": "imagery",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S11",
          "kcc-terminal-S4"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:interface-1",
      "text": "The cursor marks the active position; the VT100 offers two cursor representations, and text-mode displays used an underscore or block cursor.",
      "role": "rule",
      "area": "interface",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S1",
          "kcc-terminal-S9"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "VT100; the block/underscore form follows from text mode"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:interface-2",
      "text": "The prompt belongs to command-line software, not to the terminal: it is a character sequence signalling readiness for a command and is often user-modifiable.",
      "role": "context",
      "area": "interface",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S10"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "CLI convention"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:interface-3",
      "text": "Beyond the command line, the terminal supports fill-in-the-blanks forms, which can be drawn with the box-drawing characters.",
      "role": "rule",
      "area": "interface",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S4",
          "kcc-terminal-S11"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "VT100/VT200 era"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:interface-4",
      "text": "The command-line environment may not provide GUI enhancements such as different fonts or extended edit windows.",
      "role": "negative",
      "area": "interface",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S10"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:motion-1",
      "text": "Blinking cursors are attributed to Charles Kiesling Sr.'s US Patent 3531796; the VT100 offered two cursor representations.",
      "role": "rule",
      "area": "motion",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S1",
          "kcc-terminal-S9"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:motion-2",
      "text": "Text can carry a blink attribute.",
      "role": "rule",
      "area": "motion",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S4",
          "kcc-terminal-S8"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:motion-3",
      "text": "New lines scroll up from the bottom, either as fast as they arrive (jump scroll) or at a capped smooth rate of at most six lines per second.",
      "role": "rule",
      "area": "motion",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S1"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "seen",
        "text": "Seen in the work"
      },
      "scope": {
        "practice": "DEC VT100"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:motion-4",
      "text": "On heavy-phosphor monochrome screens, scrolled text left an afterglow or 'ghost image'.",
      "role": "context",
      "area": "motion",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S14"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "encyclopedia support only"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:technique-1",
      "text": "Characters are dot-matrix glyphs from ROM placed in fixed cells (VT220: 7 x 10 dots in a 10 x 10 cell at 80 columns); the text mode addresses the screen as a regular grid of tiles.",
      "role": "rule",
      "area": "technique",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S3",
          "kcc-terminal-S8",
          "kcc-terminal-S13"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "DEC VT220; the DEC handbook gives 7 x 9 for the same terminal"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:technique-2",
      "text": "DEC VT terminals used a technique called dot stretching, which a specialist reconstruction calls an extreme example of the medium instructing typographic form.",
      "role": "rule",
      "area": "technique",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S6"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "DEC VT100/VT220"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:technique-3",
      "text": "Screen content is composed by the host through encoded control functions (ANSI X3.64 escape sequences) interleaved with text.",
      "role": "context",
      "area": "technique",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S12",
          "kcc-terminal-S2"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "seen",
        "text": "Seen in the work"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:density-1",
      "text": "The VT100 screen in 80-column mode is 80 characters by 24 lines; double-width characters halve a line's capacity.",
      "role": "rule",
      "area": "density",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S1"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "seen",
        "text": "Seen in the work"
      },
      "scope": {
        "practice": "DEC VT100; 132-column mode had 14 lines without the Advanced Video Option"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:density-2",
      "text": "The 132-column mode was sold for seeing full report and spreadsheet formats, i.e. maximum density was a feature.",
      "role": "context",
      "area": "density",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S4"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "seen",
        "text": "Seen in the work"
      },
      "scope": {
        "practice": "VT200 family"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:surface-1",
      "text": "The surface is a monochrome CRT: one phosphor colour, offered as green, white or amber (sometimes blue), with a non-glare screen on DEC's VT200 series.",
      "role": "rule",
      "area": "surface",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S7",
          "kcc-terminal-S14",
          "kcc-terminal-S4"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:surface-2",
      "text": "Discernible scanlines, and brightness-dependent variation in apparent font weight, shaped how VT text looked.",
      "role": "rule",
      "area": "surface",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S6"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "DEC VT100/VT220; specialist reconstruction"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:surface-3",
      "text": "High-intensity phosphors produced afterglow and screen burn; the retro imitation of this look is a later visual shorthand, not the original.",
      "role": "context",
      "area": "surface",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S14"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "scope": {
        "practice": "encyclopedia support only; separates the device from its later imitation"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:form-1",
      "text": "Three-dimensional form belongs to the device (a monitor/system unit plus keyboard), which is the historical subject; the approved scope is the on-screen register.",
      "role": "context",
      "area": "form",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S3",
          "kcc-terminal-S7"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:motif-1",
      "text": "The maker supplies a functional line-drawing set whose pieces join into unbroken lines.",
      "role": "context",
      "area": "motif",
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S2"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "seen",
        "text": "Seen in the work"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "kcc:definition",
      "text": "The on-screen register of the character-cell video terminal, for which DEC's VT100 (1978) is the reference device: fixed-pitch dot-matrix characters on a grid of 24 lines by 80 columns, lit in one monochrome phosphor hue (green, white or amber) on a dark ground, with a block or underscore cursor. The command prompt is a convention of command-line software rather than of the terminal, and the page-as-console behaviour is Aesthetary's reading.",
      "role": "definition",
      "area": null,
      "basis": "documentary",
      "support": {
        "state": "cited",
        "for": [
          "kcc-terminal-S11",
          "kcc-terminal-S1",
          "kcc-terminal-S3",
          "kcc-terminal-S7",
          "kcc-terminal-S9",
          "kcc-terminal-S10"
        ],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "documented",
        "mark": "attached",
        "text": "Documented · Source attached"
      },
      "derives_from": [],
      "ruling": null
    },
    {
      "id": "dcc:gestalt",
      "text": "Fixed-pitch characters in a grid of cells used for everything including headings and navigation, a block or underscore cursor marking the active position, rank made by rendition (brightness, underline, reverse video) rather than by face, and one phosphor hue on a near-black ground. The diagnostic property is the interaction metaphor, not the typeface: monospace type on a dark ground is Developer Dark or Monospace Minimal. It is Terminal only when the page behaves as a console, with the prompts, typed commands and sequential output of the command-line software a terminal runs, which means the recognition test is partly behavioural and cannot be made from a static screenshot alone.",
      "role": "diagnostic",
      "area": null,
      "basis": "synthesis",
      "support": {
        "state": "none",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "reading",
        "text": "Our reading"
      },
      "derives_from": [
        "kcc:definition",
        "kcc:technique-1",
        "kcc:interface-1",
        "kcc:interface-2",
        "kcc:surface-1",
        "kcc:hierarchy-1"
      ],
      "ruling": null
    },
    {
      "id": "dcc:te-r3",
      "text": "The page behaves as a console: a prompt precedes input, output is sequential, and the cursor marks position. Monospace type on a dark ground without this behaviour is a different Aesthetic.",
      "role": "rule",
      "area": null,
      "basis": "synthesis",
      "support": {
        "state": "none",
        "for": [],
        "against": [],
        "contested": false
      },
      "label": {
        "kind": "reading",
        "text": "Our reading"
      },
      "derives_from": [],
      "ruling": null
    }
  ],
  "web_translations": [],
  "standard_practice": [],
  "sources": [
    {
      "id": "named:terminal:ansi-x3-64",
      "kind": "source",
      "title": "ANSI X3.64",
      "url": null,
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "named:terminal:vt100",
      "kind": "work",
      "title": "DEC VT100 (August 1978)",
      "url": null,
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S1",
      "kind": "source",
      "title": "VT100 User Guide, Chapter 1: Operator Information",
      "url": "https://vt100.net/docs/vt100-ug/chapter1.html",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S10",
      "kind": "source",
      "title": "Command-line interface",
      "url": "https://en.wikipedia.org/wiki/Command-line_interface",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S11",
      "kind": "source",
      "title": "VT100",
      "url": "https://en.wikipedia.org/wiki/VT100",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S12",
      "kind": "source",
      "title": "Ann Arbor Ambassador User Guide, Section 13: ANSI X3.64 Standard",
      "url": "https://vt100.net/annarbor/aaa-ug/section13.html",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S13",
      "kind": "source",
      "title": "VT220",
      "url": "https://en.wikipedia.org/wiki/VT220",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S14",
      "kind": "source",
      "title": "Monochrome monitor",
      "url": "https://en.wikipedia.org/wiki/Monochrome_monitor",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S15",
      "kind": "source",
      "title": "ANSI escape code",
      "url": "https://en.wikipedia.org/wiki/ANSI_escape_code",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S2",
      "kind": "source",
      "title": "VT100 User Guide, Chapter 3: Programmer Information",
      "url": "https://vt100.net/docs/vt100-ug/chapter3.html",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S3",
      "kind": "source",
      "title": "VT220 Programmer Reference Manual, Chapter 1: Terminal Overview",
      "url": "https://vt100.net/docs/vt220-rm/chapter1.html",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S4",
      "kind": "source",
      "title": "Terminals & Printers Handbook, Chapter 3 (VT200 series)",
      "url": "https://vt100.net/docs/tp83/chapter3.html",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S6",
      "kind": "source",
      "title": "Raster CRT Typography (According to DEC)",
      "url": "https://www.masswerk.at/nowgobang/2019/dec-crt-typography",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S7",
      "kind": "source",
      "title": "Computer terminal",
      "url": "https://en.wikipedia.org/wiki/Computer_terminal",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S8",
      "kind": "source",
      "title": "Monospaced font",
      "url": "https://en.wikipedia.org/wiki/Monospaced_font",
      "status": "verified",
      "retrieval": "retrieved"
    },
    {
      "id": "kcc-terminal-S9",
      "kind": "source",
      "title": "Cursor (user interface)",
      "url": "https://en.wikipedia.org/wiki/Cursor_(user_interface)",
      "status": "verified",
      "retrieval": "retrieved"
    }
  ],
  "relations": [
    {
      "slug": "monospace-minimal",
      "kind": "confused_with",
      "status": "proposed"
    },
    {
      "slug": "developer-dark",
      "kind": "confused_with",
      "status": "proposed"
    },
    {
      "slug": "cassette-futurism",
      "kind": "confused_with",
      "status": "proposed"
    },
    {
      "slug": "teletext",
      "kind": "confused_with",
      "status": "proposed"
    },
    {
      "slug": "monospace-system",
      "kind": "uses_module",
      "status": "confirmed"
    }
  ],
  "open": [
    {
      "kind": "open_question",
      "question": "[architecture_question] Terminal's defining property is behavioural: prompt, typed input, sequential output. Not a module, dimension or motion character. V2 section 3.7 rejected interaction paradigm as an entity type on the grounds it always decomposes; here the decomposition leaves a residue."
    },
    {
      "state": "withheld"
    },
    {
      "kind": "open_question",
      "question": "Module gap: A typography module for fixed-pitch type used as a whole-page system."
    },
    {
      "kind": "open_question",
      "question": "Module gap: A color module for a single saturated hue (green or amber) on near-black, derived from CRT phosphor displays."
    },
    {
      "kind": "missing_research",
      "question": "Is the line-drawing set a motif?"
    },
    {
      "kind": "missing_research",
      "question": "VT220 character matrix: 7 x 10 or 7 x 9?"
    },
    {
      "kind": "missing_research",
      "question": "Does te-r2's 'ANSI colour set as the only sanctioned extension' hold?"
    }
  ],
  "aesthetary_build": {
    "note": "Values Aesthetary built with. Not claims about the Aesthetic.",
    "measured": {
      "note": "Read from the page's own stylesheet at build time. Values Aesthetary built with, not claims about the Aesthetic.",
      "slug": "terminal",
      "stylesheet": "terminal.css",
      "bytes": 11363,
      "colours": [
        "#53E08C",
        "#3DBA72",
        "#2E9B5E",
        "#060A07",
        "#0A120C",
        "#16321F",
        "#8CFFB6"
      ],
      "radii": [],
      "fontSizes": [
        "0.72rem",
        "0.75rem",
        "0.78rem",
        "0.8rem",
        "0.82rem",
        "0.85rem",
        "0.88rem",
        "0.9rem",
        "0.92rem",
        "1rem",
        "1.02rem",
        "1.05rem",
        "1.25rem"
      ],
      "faces": [],
      "tokens": [
        {
          "name": "--tm-bg",
          "value": "#060A07"
        },
        {
          "name": "--tm-bg-2",
          "value": "#0A120C"
        },
        {
          "name": "--tm-ph",
          "value": "#53E08C"
        },
        {
          "name": "--tm-ph-mid",
          "value": "#3DBA72"
        },
        {
          "name": "--tm-ph-dim",
          "value": "#2E9B5E"
        },
        {
          "name": "--tm-line",
          "value": "#16321F"
        },
        {
          "name": "--tm-mono",
          "value": "ui-monospace, \"SF Mono\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace"
        }
      ],
      "animates": true,
      "absent": [
        "no rounded corner anywhere",
        "no text-shadow anywhere"
      ]
    },
    "design_grammar": {
      "note": "Aesthetary's translation of this record into web primitives. Every value carries a basis: \"record\" is a rule the record holds (cites names it), \"translation\" is our choice derived from the cited rules (because says how), \"not_recorded\" means the record is silent (guidance says what to do). A \"record\" value restates a claim the record holds; its standing is that claim's own kind in the record (a requirement, period practice, modern practice, or our interpretation), which the cited rule states. \"record\" does not by itself make a value a property of the language.",
      "slug": "terminal",
      "version": "2026-09-29",
      "summary": "A starting grammar for a website in Terminal: fixed character cells, one phosphor hue on a near-black ground, a block cursor, rank by rendition rather than by face, and frames drawn with the line-drawing set.",
      "color": {
        "roles": [
          {
            "role": "ground",
            "value": "#060A07",
            "use": "The tube: near-black.",
            "basis": "record",
            "cites": [
              "token_rule:te-r2"
            ]
          },
          {
            "role": "phosphor",
            "value": "#53E08C",
            "contrast": "11.5:1",
            "use": "Text: the one hue.",
            "basis": "translation",
            "cites": [
              "token_rule:te-r2",
              "claim:kcc:surface-1"
            ]
          },
          {
            "role": "bright",
            "value": "#8CFFB6",
            "contrast": "14.5:1",
            "use": "Bold, drawn as brightness.",
            "basis": "translation",
            "cites": [
              "claim:kcc:hierarchy-4"
            ]
          },
          {
            "role": "mid",
            "value": "#3DBA72",
            "contrast": "7.6:1",
            "use": "Rules and secondary text.",
            "basis": "translation",
            "cites": [
              "token_rule:te-r2"
            ]
          },
          {
            "role": "dim",
            "value": "#2E9B5E",
            "contrast": "5.2:1",
            "use": "Glosses and metadata.",
            "basis": "translation",
            "cites": [
              "token_rule:te-r2"
            ]
          }
        ],
        "alternates": [
          {
            "label": "Green",
            "recorded": "green phosphor",
            "value": "#53E08C",
            "basis": "translation",
            "cites": [
              "claim:kcc:surface-1"
            ]
          },
          {
            "label": "Amber",
            "recorded": "amber phosphor",
            "value": "#FFB547",
            "basis": "translation",
            "cites": [
              "claim:kcc:surface-1"
            ]
          },
          {
            "label": "White",
            "recorded": "white phosphor",
            "value": "#E8EDE9",
            "basis": "translation",
            "cites": [
              "claim:kcc:surface-1"
            ]
          }
        ],
        "rules": [
          {
            "rule": "Use one foreground hue on a near-black ground; the ANSI colour set is the only extension.",
            "basis": "record",
            "cites": [
              "token_rule:te-r2"
            ]
          },
          {
            "rule": "Choose the one phosphor from green, white or amber (sometimes blue).",
            "basis": "record",
            "cites": [
              "claim:kcc:surface-1"
            ]
          },
          {
            "rule": "Make bold a brighter tint of the same hue.",
            "basis": "translation",
            "cites": [
              "claim:kcc:hierarchy-4"
            ],
            "because": "Quite a few terminals implemented bold as a brighter colour rather than a different font."
          }
        ]
      },
      "typography": {
        "family": {
          "stack": "ui-monospace, \"SF Mono\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace",
          "class": "monospace, supplied by the reader's machine (the record names the class, never a face)"
        },
        "roles": [
          {
            "role": "line",
            "size": "1rem",
            "weight": 400,
            "lineHeight": "1.6",
            "case": null,
            "tracking": null,
            "measure": "80ch",
            "use": "Everything: headings, navigation and text are one size."
          },
          {
            "role": "double",
            "size": "1rem, scaled 2 x wide",
            "weight": 400,
            "lineHeight": "1.6",
            "case": null,
            "tracking": null,
            "measure": "40ch",
            "setting": "transform: scaleX(2)",
            "use": "A whole line set double-width, for a title."
          }
        ],
        "tokens": {
          "cols": "80",
          "lines": "24"
        },
        "rules": [
          {
            "rule": "Set monospace for everything, headings and navigation included.",
            "basis": "record",
            "cites": [
              "claim:typography-block",
              "claim:dcc:gestalt"
            ]
          },
          {
            "rule": "Put every glyph in a fixed cell: the same advance, the same line pitch.",
            "basis": "record",
            "cites": [
              "token_rule:te-r1"
            ]
          },
          {
            "rule": "Rank with rendition attributes: bold (or brightness), underline, blink, reverse video.",
            "basis": "record",
            "cites": [
              "claim:kcc:hierarchy-1"
            ]
          },
          {
            "rule": "Set a whole line double-width for a title; it holds half the characters.",
            "basis": "record",
            "cites": [
              "claim:kcc:hierarchy-3"
            ]
          },
          {
            "rule": "The sources do not specify a typeface.",
            "basis": "not_recorded",
            "cites": [
              "claim:kcc:technique-1"
            ],
            "guidance": "Use the system monospace; the dot-matrix ROM glyphs are the device's, and a pixel font imitating them is a choice to declare.",
            "silence": "source"
          }
        ]
      },
      "gridLayout": {
        "summary": "The screen is a grid of character cells, 80 columns by 24 lines on the VT100; columns align because every cell is the same, not because a grid is drawn.",
        "columns": [
          {
            "width": "reading",
            "columns": 80
          },
          {
            "width": "double-width lines",
            "columns": 40
          }
        ],
        "module": "1ch x 1 line",
        "gutter": "0",
        "margin": "1ch",
        "tokens": {
          "measure": "80ch"
        },
        "rules": [
          {
            "rule": "Let text occupy fixed character cells, so columns align without being aligned.",
            "basis": "record",
            "cites": [
              "token_rule:te-r1"
            ]
          },
          {
            "rule": "Take the screen as 80 characters by 24 lines.",
            "basis": "record",
            "cites": [
              "claim:kcc:density-1"
            ]
          },
          {
            "rule": "Treat density as a feature: the 132-column mode sold for seeing whole reports.",
            "basis": "record",
            "cites": [
              "claim:kcc:density-2"
            ]
          },
          {
            "rule": "Cap the reading measure at 80ch and let the page run on below.",
            "basis": "translation",
            "cites": [
              "claim:kcc:density-1",
              "claim:kcc:motion-3"
            ],
            "because": "The screen is 80 columns; a web page scrolls where the screen scrolled up line by line."
          }
        ]
      },
      "shapeGeometry": {
        "tokens": {
          "radius": "0",
          "rule": "1px solid #3DBA72"
        },
        "rules": [
          {
            "rule": "Draw lines and boxes with the line-drawing set, joined unbroken.",
            "basis": "record",
            "cites": [
              "claim:kcc:motif-1"
            ]
          },
          {
            "rule": "No radius and no shadow anywhere.",
            "basis": "translation",
            "cites": [
              "token_rule:te-r1",
              "claim:kcc:imagery-1"
            ],
            "because": "Everything on the screen is a cell or a joined line; there is nothing to round."
          }
        ]
      },
      "imagery": {
        "rules": [
          {
            "rule": "Build pictures from characters; the line-drawing set draws on-screen forms.",
            "basis": "record",
            "cites": [
              "claim:kcc:imagery-1"
            ]
          },
          {
            "rule": "Use box-drawn fill-in-the-blanks forms beyond the command line.",
            "basis": "record",
            "cites": [
              "claim:kcc:interface-3"
            ]
          },
          {
            "rule": "Leave out afterglow, screen burn and bloom: they are the later imitation, not the screen. Faint static scanlines are the most the documented surface supports.",
            "basis": "record",
            "cites": [
              "claim:kcc:surface-3",
              "claim:kcc:surface-2"
            ]
          }
        ]
      },
      "components": {
        "button": {
          "name": "Button",
          "becomes": "A label in reverse video: the ground colour on a phosphor block, in brackets when it is waiting.",
          "anatomy": [
            "phosphor block",
            "label in the ground colour",
            "no radius, no shadow"
          ],
          "tokens": {
            "background": "#53E08C",
            "color": "#060A07",
            "radius": "0",
            "padding": "0 1ch"
          },
          "states": {
            "default": "Reverse video: dark label on the phosphor.",
            "hover": "Underline added under the label.",
            "focus": "2px phosphor outline, 3px outside.",
            "active": "Normal video: phosphor label on the ground.",
            "disabled": "Dim phosphor label in brackets, no block."
          },
          "accessibility": [
            "11.5:1 either way round.",
            "At least 44px tall.",
            "The label is words; no action is a glyph alone."
          ],
          "values": [
            {
              "rule": "Mark the action with reverse video.",
              "basis": "translation",
              "cites": [
                "claim:kcc:hierarchy-1",
                "claim:kcc:hierarchy-2"
              ],
              "because": "Rendition attributes are how the screen ranks, and highlighting is their stated purpose; reverse is the strongest of them."
            }
          ]
        },
        "card": {
          "name": "Card",
          "becomes": "A box drawn in line-drawing characters, its title set into the top rule.",
          "anatomy": [
            "top rule with the title in it",
            "body in fixed cells",
            "bottom rule"
          ],
          "tokens": {
            "border": "1px solid #3DBA72 (the line-drawing set, drawn as rules)",
            "radius": "0",
            "padding": "1ch"
          },
          "states": {
            "default": "Mid-phosphor rules around bright text.",
            "hover": "The title goes to reverse video.",
            "focus": "2px phosphor outline."
          },
          "accessibility": [
            "Rules are borders, not box-drawing glyphs in the text, so screen readers do not read them.",
            "The title is a real heading."
          ],
          "values": [
            {
              "rule": "Draw frames with the line-drawing set, whose pieces join into unbroken lines.",
              "basis": "record",
              "cites": [
                "claim:kcc:imagery-1"
              ]
            },
            {
              "rule": "Draw the lines as CSS borders on the cell grid.",
              "basis": "translation",
              "cites": [
                "claim:kcc:imagery-2",
                "claim:kcc:motif-1"
              ],
              "because": "The set exists to draw on-screen forms; borders give the same unbroken line without glyphs for a screen reader to speak."
            }
          ]
        },
        "input": {
          "name": "Input",
          "becomes": "A command line: the prompt, what you type, and a block cursor at the active position.",
          "anatomy": [
            "prompt, a character sequence",
            "typed text in phosphor",
            "block or underscore cursor"
          ],
          "tokens": {
            "prompt": "\"$ \"",
            "caret": "block",
            "color": "#53E08C",
            "background": "transparent",
            "border": "none"
          },
          "states": {
            "default": "Prompt, then the cursor waiting.",
            "focus": "The cursor blinks; a 1px mid-phosphor rule under the line.",
            "error": "The next output line begins \"error:\" in bright phosphor.",
            "disabled": "Dim prompt, no cursor."
          },
          "accessibility": [
            "An accessible name on the field (\"Type a command\").",
            "Output lands in an aria-live region.",
            "Errors are words."
          ],
          "values": [
            {
              "rule": "Let a prompt precede input, output follow in sequence, and the cursor mark the position.",
              "basis": "record",
              "cites": [
                "claim:dcc:te-r3"
              ]
            },
            {
              "rule": "Use a block or underscore cursor at the active position.",
              "basis": "record",
              "cites": [
                "claim:kcc:interface-1"
              ]
            },
            {
              "rule": "Treat the prompt as software, not hardware: its text is yours to set.",
              "basis": "translation",
              "cites": [
                "claim:kcc:interface-2"
              ],
              "because": "The prompt belongs to command-line software and is often user-modifiable."
            }
          ]
        },
        "navigation": {
          "name": "Navigation",
          "becomes": "A list of commands you can type or follow, the current one in reverse video.",
          "anatomy": [
            "command names in bright phosphor",
            "a dim gloss after each",
            "current in reverse video"
          ],
          "tokens": {
            "color": "#53E08C",
            "gloss": "#2E9B5E",
            "current": "reverse video"
          },
          "states": {
            "default": "Bright command, dim gloss.",
            "hover": "Underline.",
            "focus": "2px phosphor outline.",
            "current": "Reverse video on the command name."
          },
          "accessibility": [
            "aria-current on the current item.",
            "Every command is also a link: typing is never the only way."
          ],
          "values": [
            {
              "rule": "Offer navigation as the commands the prompt would accept, each also a link.",
              "basis": "translation",
              "cites": [
                "claim:interface-scope-reading",
                "claim:kcc:interface-4"
              ],
              "because": "The page as a console is our reading; the command environment may not provide GUI enhancements, so links stand in without breaking it."
            }
          ]
        }
      },
      "motion": {
        "spec": {
          "durations": {
            "blink": "1s cycle",
            "scroll": "at most 6 lines a second (smooth scroll)"
          },
          "easing": {
            "all": "steps(1)"
          },
          "transforms": "none: lines arrive, the cursor blinks.",
          "entrance": "Output appears line by line from the bottom, or all at once (jump scroll).",
          "hover": "Underline, instant.",
          "reducedMotion": "The cursor stays solid; output appears at once."
        },
        "rules": [
          {
            "rule": "Blink the cursor.",
            "basis": "record",
            "cites": [
              "claim:kcc:motion-1"
            ]
          },
          {
            "rule": "Text may carry a blink attribute.",
            "basis": "record",
            "cites": [
              "claim:kcc:motion-2"
            ]
          },
          {
            "rule": "Scroll new lines up from the bottom, as they arrive or at no more than six lines a second.",
            "basis": "record",
            "cites": [
              "claim:kcc:motion-3"
            ]
          },
          {
            "rule": "Stop blinking text after four beats; keep only the cursor blinking.",
            "basis": "translation",
            "cites": [
              "claim:kcc:motion-2"
            ],
            "because": "Blink is an attribute of the screen; the web limits moving content to five seconds unless the reader can stop it (WCAG 2.2.2)."
          }
        ]
      },
      "notRecorded": [
        {
          "category": "typography",
          "what": "A typeface",
          "why": "The record names the monospace class; the device's ROM glyphs are not a web face."
        },
        {
          "category": "color",
          "what": "Which phosphor",
          "why": "Green, white and amber are all documented; green is this room's."
        },
        {
          "category": "components",
          "what": "A button, a card, navigation",
          "why": "The screen had rendition, forms and a cursor. These three components are translations; the command line is our reading of the page as a console."
        }
      ],
      "silence": {
        "color": "source",
        "typography": "source",
        "gridLayout": "source",
        "shapeGeometry": "source",
        "imagery": "source",
        "components": "source",
        "motion": "source"
      },
      "uiNote": "The record documents interface conventions for Terminal. These four components are contemporary builds on those conventions, not historical artefacts."
    }
  }
}