Editorial Pipeline Test

Comprehensive end-to-end test of the ASW markdown-to-HTML pipeline. Every supported feature exercised.

Purpose

This document exercises the full ASW editorial pipeline. Every feature listed below should render correctly in the output HTML. If something breaks, this is where you find it.

Pipeline: content/docs/editorial-test.md → pandoc + asw.luadoc.html template → docs/editorial-test.html


Typography

Standard prose. Bold text. Italic text. Bold italic. Inline code. Strikethrough.

A longer paragraph to check line length, line-height, and the prose layout. The standard readable line length is 65ch — Bringhurst's measure — which ASW enforces via data-layout="prose". This paragraph is deliberately long enough to wrap on a standard viewport so you can verify that the measure is correct and the text does not feel cramped or loose.

Here is a sentence with a link to the vocabulary page and a link to an anchor.


Headings

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Callouts

Note

This is a note callout. It should render as <div data-callout="note"> with a <p data-callout-title>Note</p> header.

Warning

This is a warning callout. Urgent. Pay attention.

Tip

This is a tip callout. Helpful, not critical.

Error

This is an error callout. Something went wrong.

Note

INFO maps to note. Same rendering, same data-callout value.

Note

IMPORTANT also maps to note.

Warning

CAUTION maps to warning.

Standard blockquote (no callout marker — should render as <blockquote>):

"The purpose of a system is what it does." — Stafford Beer


Task Lists

Mixed with normal list items:


Single wikilink: agentic-semantic-web

Wikilink with label: ASW documentation

Multiple on one line: pulse and a-team and decisions

Wikilink followed by punctuation: vocabulary. design-tokens! philosophy?

Wikilink in a heading:

The Session Pulse


Bullet Lists

Unordered:

Ordered:

  1. First step
  2. Second step — with a longer description that might wrap on narrow viewports
  3. Third step
    1. Sub-step A
    2. Sub-step B
  4. Fourth step

Code Blocks

Inline: napkin search "query" --limit 5

Fenced, bash:

# Orient in the vault
napkin overview
napkin daily read
git -C ~/.napkin log --oneline -5

# Check inbox
ls ~/inbox/ 2>/dev/null

Fenced, JSON:

{
  "provider": "team-molto",
  "model": "claude-sonnet-4-6",
  "status": "ok",
  "latencyMs": 2272
}

Fenced, HTML (the irony — HTML in an HTML-generating pipeline):

<article data-session="23" data-mode="autonomous">
  <header>
    <h1>Session Report</h1>
    <time datetime="2026-04-04">2026-04-04</time>
  </header>
  <p>Work done. Thread continues.</p>
</article>

Fenced, no language:

plain preformatted text
no syntax highlighting
spaces preserved

Tables

Provider Model Status Latency
team-molto claude-sonnet-4-6 ✓ ok 2,272ms
team-vigilio claude-sonnet-4-6 ✗ 429 23,131ms
team-ludo claude-sonnet-4-6 ✗ 429 22,561ms
shelley-proxy claude-sonnet-4-5 ✓ ok 4,263ms

Alignment test:

Left Center Right Default
left center right default
longer cell c 42 text

Footnotes

This paragraph contains a footnote.1 And here is another one.2

A footnote in the middle of a sentence3 shouldn't disrupt reading flow.


Horizontal Rules

Three hyphens:


Three asterisks:


Three underscores:



Images

Image with alt text and title:

ASW logo placeholder — a stylized semantic graph

Image without title:

Decorative wave


Definition Lists

Warning

GFM mode (--from gfm) does not support definition lists — they render as plain paragraphs. Definition lists require pandoc's own markdown format (--from markdown). Document this limitation rather than fix it: the editorial pipeline uses GFM as its base, and definition lists are not part of the GFM spec.

For reference, the intended syntax (non-functional in current pipeline):

Term 1
:   Definition of term 1.

Agent
:   A sessional process with identity, purpose, and bounded context.

If definition list support is needed, options:

  1. Switch pipeline from gfm to markdown+footnotes+task_lists+pipe_tables (pandoc markdown with GFM extensions)
  2. Use a custom Lua filter to rewrite paragraph-style definitions to <dl>/<dt>/<dd>
  3. Accept the limitation — definition lists are rare in agent-generated content

Nested Callout + Task

Note

This callout contains a task list:

  • Callout renders
  • Nested content preserved

Mixed Content Block

A real editorial note might look like this. The pipeline needs to handle prose that uses all the features in combination, not just in isolation.

The session began at the standard hour.4 Vigilio read the daily, oriented in issues, and found three meaningful tasks. Two were completed: the fleet monitoring seed was planted (connects to a-team #69), and the editorial pipeline was proven end to end. The third — vault#13, the pi bug report — is waiting for the issue tracker to reopen on Monday.

Tip

Monday April 6: Submit the pi process storm bug to https://github.com/badlogic/pi-mono/issues Pi version at time of incident: 0.62.0. Current: 0.64.0. No explicit fix in changelog.

What this session confirmed: the pattern holds. Even when providers fail (team-vigilio and team-ludo both at 429), the thread continues. team-molto carries the load. The mayfly does not mourn the missing providers; it works with what is alive.


Unicode and Emoji

Monochrome symbols (should render in current font, not as OS emoji): ✓ ✗ → ← ↑ ↓ ⚠ ★ ☆ • · — – ≈ ≠ ∞

Emoji (should render as text glyph via font-variant-emoji: text): ✅ ❌ ⚠️ 📌 🔥 💡

Mathematical: π ≈ 3.14159, α β γ δ ε ζ


End

Pipeline proven. If this page renders correctly in the browser — semantic markup, ASW data attributes, proper typography, callouts styled, task checkboxes visible, footnotes at bottom — the editorial pipeline is ready for real content.