

# Naming What Prose Is Doing

### An End-to-End Demonstration of the Informative Authoring Semantics Profile (v0.1.0)


> *Complex writing benefits from having names for complexity.*
>
> — Informative Authoring Semantics Profile, Core Specification



<div class="note prelude" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:prelude" data-iasp-delivery="note" data-iasp-modifiers="prelude" data-iasp-concepts="urn:iasp:concept:note urn:iasp:concept:prelude" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/note https://vocabulary.majerus.us/api/schemes/iasp/slugs/prelude" style="background-color: #f9f9f9; border-left: 4px solid #aaaaaa; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #aaaaaa; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">◈ PRELUDE</div>

This short essay demonstrates the **Informative Authoring Semantics Profile (IASP)** across every target supported by `iasp-mcp`: standalone HTML, XeLaTeX PDF (screen and print), EPUB 3, and Ghost Markdown. Each semantic wrapper names *what a passage is doing* in the argument rather than how a particular format encodes it.

</div>


## 1. Intent Before Formatting

When authors revise a long-form manuscript or essay, their marginalia rarely speak in the language of HTML tags or LaTeX environments. Instead, an author asks: *Is this paragraph part of the spine of the chapter, or is it a parallel digression? Is this aside offering a concrete example, stating a methodological premise, or warning against an easy misreading?*

IASP separates those two questions into orthogonal axes that compose with a dot (`delivery.modifier`):

1. **Axis A — Delivery Roles** (`chapter`, `section`, `bridge`, `sidebar`, `callout`, `note`, `footnote`, `epigraph`, `appendix`) describe how a passage sits relative to the main narrative flow.
2. **Axis B — Modifiers** (`thesis`, `counterpoint`, `example`, `definition`, `insight`, `warning`, `methodology`, `scope`, `synthesis`, `breadcrumb`, `closing`, and others) describe the intellectual move, expository support, or epistemic stance the passage contributes.


<div class="definition" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:definition" data-iasp-modifiers="definition" data-iasp-concepts="urn:iasp:concept:definition" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/definition" style="background-color: #f0fdf4; border-left: 4px solid #22c55e; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #16a34a; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">≡ DEFINITION</div>

**Compositional Intent (`delivery.modifier`):** A two-part (or multi-part) Pandoc class token where the leftmost term names the *delivery role* and subsequent terms *qualify intent*. Writing `note.insight` does not mean "an insight is a subtype of note"; it means "this ancillary note functions as an insight at this point in the text."[^composition-note]

</div>



<div class="note contrast" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:contrast" data-iasp-delivery="note" data-iasp-modifiers="contrast" data-iasp-concepts="urn:iasp:concept:note urn:iasp:concept:contrast" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/note https://vocabulary.majerus.us/api/schemes/iasp/slugs/contrast" style="background-color: #fff3e0; border-left: 4px solid #f57c00; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<p style="margin: 0 0 4px 0; font-size: 1.1em;">⇆</p>

**Structural markup vs. authoring intent:** EPUB Structural Semantics (`epub:type="aside"`) and DPUB-ARIA (`role="doc-example"`) name document structure for assistive technologies and reading systems. IASP names the author's rhetorical and epistemic intent first, then lets the Lua filter (`iasp-semantics.lua`) project that intent onto `epub:type`, ARIA roles, LaTeX `mdframed` environments, and Ghost HTML cards.

</div>


## 2. Parallel Tracks, Examples, and Included Fragments

Not every supporting illustration belongs in the main column of an argument. A `sidebar` signals that a reader can pause for context or skip ahead without losing the thread. Composing `sidebar` with `example` or `background` records *why* the digression is there.


<div class="sidebar sidebar-block example" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:example" data-iasp-delivery="sidebar" data-iasp-modifiers="example" data-iasp-concepts="urn:iasp:concept:sidebar urn:iasp:concept:example" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/sidebar https://vocabulary.majerus.us/api/schemes/iasp/slugs/example" style="background-color: #f8f9fa; border-left: 4px solid #6b7280; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #374151; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">🗒 SIDEBAR</div>

## Case Illustration: One Source, Four Renderings

Consider a passage marked `::: note.warning`. During a build:

- **EPUB / HTML** receives `<div class="note warning" epub:type="note">` styled via CSS custom properties (`--note-border-color`, `--note-background-color`).
- **XeLaTeX PDF** wraps the block in `\begin{noteboxwarning}` with `\notevariant{warning}` injecting the calm `※` badge header.
- **Ghost Markdown** emits a CommonMark Type-6 HTML `<div>` container with an inline badge so inner Markdown (links, emphasis, footnotes) continues to parse natively.

</div>


Long-form works also reuse sidebars or case studies across chapters and annexes via `.include` directives:


<div class="sidebar-inline" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:sidebar-inline" data-iasp-delivery="sidebar-inline" data-iasp-concepts="urn:iasp:concept:sidebar-inline" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/sidebar-inline" style="background-color: #f8f9fa; border-left: 4px solid #6b7280; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #374151; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">🗒 SIDEBAR</div>

**Included Fragment (`lexical-precision-sidebar.md`):** This inline sidebar was pulled into the essay at build time via `::: {.include path="demo/fragments/lexical-precision-sidebar.md"}`. Both the Pandoc Lua filter (`iasp/include.lua`) and the Ghost exporter (`src/ghost.ts`) expand `.include` directives before rendering inner semantic blocks.

</div>




<div class="callout" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:callout" data-iasp-delivery="callout" data-iasp-concepts="urn:iasp:concept:callout" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/callout" style="background-color: #f0f7ff; border-left: 4px solid #3b82f6; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #3b82f6; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">◆ CALLOUT</div>

Unmarked prose is always assumed to be part of the main flow. Silence is a valid authorial decision; IASP exists to support thinking, not to enforce exhaustive tagging.

</div>



<div class="bridge reflection" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:reflection" data-iasp-delivery="bridge" data-iasp-modifiers="reflection" data-iasp-concepts="urn:iasp:concept:bridge urn:iasp:concept:reflection" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/bridge https://vocabulary.majerus.us/api/schemes/iasp/slugs/reflection" style="background-color: #f6f2ff; border-left: 4px solid #6f58b9; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #6f58b9; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">⬡ BRIDGE</div>

Having seen how delivery roles and modifiers compose on individual blocks, we can examine how note variants and stage guards behave during iterative drafting and verification.

</div>


## 3. Note Variants and Epistemic Stance

While any Axis B modifier may compose with any Axis A delivery role, the build pipeline recognizes twenty-two `note-variants` (tracked as a profile set in `terminology-mcp`), each with its own visual cadence:


<div class="note insight major" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:insight-major" data-iasp-delivery="note" data-iasp-modifiers="insight-major" data-iasp-concepts="urn:iasp:concept:note urn:iasp:concept:insight-major" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/note https://vocabulary.majerus.us/api/schemes/iasp/slugs/insight-major" style="background-color: #dce8f5; border-left: 4px solid #2a5fa5; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #2a5fa5; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">⁂ INSIGHT</div>

**Taxonomy as a living replica:** Because `iasp-mcp` follows `terminology-mcp`'s numbered changelog for the `iasp` scheme, adding or refining a modifier in `terminology-mcp` propagates automatically to the local SQLite store, MCP lookup tools, and Markdown validator.

</div>



<div class="note methodology" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:methodology" data-iasp-delivery="note" data-iasp-modifiers="methodology" data-iasp-concepts="urn:iasp:concept:note urn:iasp:concept:methodology" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/note https://vocabulary.majerus.us/api/schemes/iasp/slugs/methodology" style="background-color: #e8eaf6; border-left: 4px solid #3949ab; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #3949ab; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">⊢ METHODOLOGY</div>

**Static verification before Pandoc runs:** The `validate_markdown` tool checks fence balance (`:::`), catches level-1 headers (`#`) inside sidebars before they corrupt LaTeX `mdframed` badge placement, verifies `.include` paths, and flags unknown or retired IASP classes against `terminology-mcp`.

</div>



<div class="note warning" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:warning" data-iasp-delivery="note" data-iasp-modifiers="warning" data-iasp-concepts="urn:iasp:concept:note urn:iasp:concept:warning" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/note https://vocabulary.majerus.us/api/schemes/iasp/slugs/warning" style="background-color: #fff8eb; border-left: 4px solid #d97706; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #d97706; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">⚠ WARNING</div>

Avoid using level-1 headings (`# Heading`) inside `.sidebar` or `.aside` wrappers. In XeLaTeX builds, `\section` spacing interacts poorly with framed sidebar boxes; use `##` or `###` instead.

</div>



<div class="note checklist" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:checklist" data-iasp-delivery="note" data-iasp-modifiers="checklist" data-iasp-concepts="urn:iasp:concept:note urn:iasp:concept:checklist" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/note https://vocabulary.majerus.us/api/schemes/iasp/slugs/checklist" style="background-color: #e0f7f4; border-left: 4px solid #00838f; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #00838f; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">☐ CHECKLIST</div>

- **Delivery role chosen?** Leftmost class names placement relative to the main flow (`note`, `sidebar`, `bridge`, `callout`).
- **Modifier specific?** Qualifier names the rhetorical or expository work (`insight`, `contrast`, `methodology`, `warning`).
- **Fences balanced?** Every opening `:::` has a matching closing `:::` on its own line.

</div>





<div class="note synthesis final" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:synthesis" data-iasp-delivery="note" data-iasp-modifiers="synthesis" data-iasp-concepts="urn:iasp:concept:note urn:iasp:concept:synthesis" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/note https://vocabulary.majerus.us/api/schemes/iasp/slugs/synthesis" style="background-color: #e8f5e9; border-left: 4px solid #388e3c; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #388e3c; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">⊕ SYNTHESIS</div>

**Takeaway:** When authoring vocabulary, validation, and rendering share one semantic profile, writers can focus on prose and structure while agents handle verification and multi-format output.

</div>



<div class="note closing" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:closing" data-iasp-delivery="note" data-iasp-modifiers="closing" data-iasp-concepts="urn:iasp:concept:note urn:iasp:concept:closing" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/note https://vocabulary.majerus.us/api/schemes/iasp/slugs/closing" style="background-color: #f5f5f5; border-left: 4px solid #9e9e9e; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #757575; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">∎ CLOSING NOTE</div>

End of the `iasp-mcp` reference demonstration. Use `render_document` with `source: "demo"` to rebuild this essay in `html`, `ghost`, `pdf`, `epub`, `docx`, or `rtf`.

</div>



<div class="note ai" vocab="http://www.w3.org/2004/02/skos/core#" typeof="Concept" resource="urn:iasp:concept:disclosure" data-iasp-delivery="note" data-iasp-modifiers="disclosure" data-iasp-concepts="urn:iasp:concept:note urn:iasp:concept:disclosure" data-iasp-terms="https://vocabulary.majerus.us/api/schemes/iasp/slugs/note https://vocabulary.majerus.us/api/schemes/iasp/slugs/disclosure" style="background-color: #eef6ff; border-left: 4px solid #2563eb; padding: 14px 18px; margin: 18px 0; border-radius: 0 6px 6px 0; font-family: Georgia, 'Times New Roman', serif; line-height: 1.5;">
<div style="display: inline-block; background-color: #1d4ed8; color: #ffffff; font-size: 0.68em; font-weight: bold; text-transform: uppercase; letter-spacing: 0.1em; padding: 2px 9px; border-radius: 3px; margin-bottom: 4px; font-family: 'Helvetica Neue', Arial, sans-serif;">◇ AI DISCLOSURE</div>

AI Disclosure: This demonstration essay was co-authored with an AI coding agent using the iasp-mcp server and the iasp concept scheme on terminology-mcp.

Technical Note: Rendered end to end via the Informative Authoring Semantics Profile (IASP) Pandoc and Ghost pipeline.

</div>

## Works Cited

- Majerus, John. *Informative Authoring Semantics Profile (IASP) — Core Specification*. 2026.

[^composition-note]: In Pandoc's fenced-div syntax, `::: note.insight` and `::: {.note .insight}` produce the same AST classes (`["note", "insight"]`) once processed by `iasp-semantics.lua`.

