asw-v01: archive deferred content (packs, site, lab, legacy examples)

- 2.1: packs/ -> archive/packs/
- 2.2: site/ -> archive/site/
- 2.3: src/lab/ -> archive/lab/
- 2.4: examples/ -> archive/examples-legacy/ (SSI-based)
This commit is contained in:
exe.dev user 2026-06-07 10:39:21 +02:00
parent 416fe2f180
commit e47a9f4401
173 changed files with 11 additions and 5 deletions

View file

@ -0,0 +1,399 @@
<!doctype html>
<html lang="en">
<head>
<!--#include virtual="/_include/head.html" -->
<title>Editorial Pipeline Test — ASW Docs</title>
<meta name="description" content="Comprehensive end-to-end test of the
ASW markdown-to-HTML pipeline. Every supported feature exercised.">
</head>
<body>
<!--#include virtual="/_include/nav.html" -->
<div data-layout="docs">
<!--#include virtual="/_include/sidebar.html" -->
<article>
<h1>Editorial Pipeline Test</h1>
<p data-text="lead">Comprehensive end-to-end test of the ASW
markdown-to-HTML pipeline. Every supported feature exercised.</p>
<h2 id="purpose">Purpose</h2>
<p>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.</p>
<p>Pipeline: <code>content/docs/editorial-test.md</code> → pandoc +
<code>asw.lua</code><code>doc.html</code> template →
<code>docs/editorial-test.html</code></p>
<hr />
<h2 id="typography">Typography</h2>
<p>Standard prose. <strong>Bold text.</strong> <em>Italic text.</em>
<em><strong>Bold italic.</strong></em> <code>Inline code</code>.
<del>Strikethrough</del>.</p>
<p>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 <code>data-layout="prose"</code>. 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.</p>
<p>Here is a sentence with a <a href="vocabulary.html">link to the
vocabulary page</a> and a <a href="#callouts">link to an anchor</a>.</p>
<hr />
<h2 id="headings">Headings</h2>
<h1 id="heading-1">Heading 1</h1>
<h2 id="heading-2">Heading 2</h2>
<h3 id="heading-3">Heading 3</h3>
<h4 id="heading-4">Heading 4</h4>
<h5 id="heading-5">Heading 5</h5>
<h6 id="heading-6">Heading 6</h6>
<hr />
<h2 id="callouts">Callouts</h2>
<div data-callout="note">
<p data-callout-title>Note</p>
<p>This is a <strong>note</strong> callout. It should render as
<code>&lt;div data-callout="note"&gt;</code> with a
<code>&lt;p data-callout-title&gt;Note&lt;/p&gt;</code> header.</p>
</div>
<div data-callout="warning">
<p data-callout-title>Warning</p>
<p>This is a <strong>warning</strong> callout. Urgent. Pay
attention.</p>
</div>
<div data-callout="tip">
<p data-callout-title>Tip</p>
<p>This is a <strong>tip</strong> callout. Helpful, not critical.</p>
</div>
<div data-callout="error">
<p data-callout-title>Error</p>
<p>This is an <strong>error</strong> callout. Something went wrong.</p>
</div>
<div data-callout="note">
<p data-callout-title>Note</p>
<p>INFO maps to note. Same rendering, same data-callout value.</p>
</div>
<div data-callout="note">
<p data-callout-title>Note</p>
<p>IMPORTANT also maps to note.</p>
</div>
<div data-callout="warning">
<p data-callout-title>Warning</p>
<p>CAUTION maps to warning.</p>
</div>
<p>Standard blockquote (no callout marker — should render as
<code>&lt;blockquote&gt;</code>):</p>
<blockquote>
<p>"The purpose of a system is what it does." — Stafford Beer</p>
</blockquote>
<hr />
<h2 id="task-lists">Task Lists</h2>
<ul>
<li data-task="done">
Pipeline builds without errors
</li>
<li data-task="done">
Callouts render with correct <code>data-callout</code> attribute
</li>
<li data-task="todo">
Footnotes appear at bottom of page
</li>
<li data-task="todo">
Table of contents populates (JS-dependent — check in browser)
</li>
<li data-task="todo">
Wikilinks render as <code>data-wikilink</code> anchors
</li>
</ul>
<p>Mixed with normal list items:</p>
<ul>
<li>Regular item before tasks</li>
</ul>
<ul>
<li data-task="todo">
Task item in mixed list
</li>
<li data-task="done">
Completed task in mixed list
</li>
</ul>
<ul>
<li>Another regular item after</li>
</ul>
<hr />
<h2 id="wikilinks">Wikilinks</h2>
<p>Single wikilink:
<a data-wikilink href="#agentic-semantic-web">agentic-semantic-web</a></p>
<p>Wikilink with label:
<a data-wikilink href="#agentic-semantic-web">ASW documentation</a></p>
<p>Multiple on one line: <a data-wikilink href="#pulse">pulse</a> and
<a data-wikilink href="#a-team">a-team</a> and
<a data-wikilink href="#decisions">decisions</a></p>
<p>Wikilink followed by punctuation:
<a data-wikilink href="#vocabulary">vocabulary</a>.
<a data-wikilink href="#design-tokens">design-tokens</a>!
<a data-wikilink href="#philosophy">philosophy</a>?</p>
<p>Wikilink in a heading:</p>
<h3
id="pulsethe-session-pulse"><a data-wikilink href="#pulse">The Session Pulse</a></h3>
<hr />
<h2 id="bullet-lists">Bullet Lists</h2>
<p>Unordered:</p>
<ul>
<li>First item</li>
<li>Second item with <strong>bold</strong> and <code>code</code></li>
<li>Third item
<ul>
<li>Nested first</li>
<li>Nested second
<ul>
<li>Double nested</li>
</ul></li>
<li>Back to single nest</li>
</ul></li>
<li>Fourth item</li>
</ul>
<p>Ordered:</p>
<ol type="1">
<li>First step</li>
<li>Second step — with a longer description that might wrap on narrow
viewports</li>
<li>Third step
<ol type="1">
<li>Sub-step A</li>
<li>Sub-step B</li>
</ol></li>
<li>Fourth step</li>
</ol>
<hr />
<h2 id="code-blocks">Code Blocks</h2>
<p>Inline: <code>napkin search "query" --limit 5</code></p>
<p>Fenced, bash:</p>
<div class="sourceCode" id="cb1"><pre
class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Orient in the vault</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="ex">napkin</span> overview</span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="ex">napkin</span> daily read</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> <span class="at">-C</span> ~/.napkin log <span class="at">--oneline</span> <span class="at">-5</span></span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="co"># Check inbox</span></span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="fu">ls</span> ~/inbox/ <span class="dv">2</span><span class="op">&gt;</span>/dev/null</span></code></pre></div>
<p>Fenced, JSON:</p>
<div class="sourceCode" id="cb2"><pre
class="sourceCode json"><code class="sourceCode json"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;provider&quot;</span><span class="fu">:</span> <span class="st">&quot;team-molto&quot;</span><span class="fu">,</span></span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;model&quot;</span><span class="fu">:</span> <span class="st">&quot;claude-sonnet-4-6&quot;</span><span class="fu">,</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;status&quot;</span><span class="fu">:</span> <span class="st">&quot;ok&quot;</span><span class="fu">,</span></span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;latencyMs&quot;</span><span class="fu">:</span> <span class="dv">2272</span></span>
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
<p>Fenced, HTML (the irony — HTML in an HTML-generating pipeline):</p>
<div class="sourceCode" id="cb3"><pre
class="sourceCode html"><code class="sourceCode html"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="dt">&lt;</span><span class="kw">article</span> <span class="er">data-session</span><span class="ot">=</span><span class="st">&quot;23&quot;</span> <span class="er">data-mode</span><span class="ot">=</span><span class="st">&quot;autonomous&quot;</span><span class="dt">&gt;</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">&lt;</span><span class="kw">header</span><span class="dt">&gt;</span></span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">&lt;</span><span class="kw">h1</span><span class="dt">&gt;</span>Session Report<span class="dt">&lt;/</span><span class="kw">h1</span><span class="dt">&gt;</span></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">&lt;</span><span class="kw">time</span> <span class="er">datetime</span><span class="ot">=</span><span class="st">&quot;2026-04-04&quot;</span><span class="dt">&gt;</span>2026-04-04<span class="dt">&lt;/</span><span class="kw">time</span><span class="dt">&gt;</span></span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">&lt;/</span><span class="kw">header</span><span class="dt">&gt;</span></span>
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">&lt;</span><span class="kw">p</span><span class="dt">&gt;</span>Work done. Thread continues.<span class="dt">&lt;/</span><span class="kw">p</span><span class="dt">&gt;</span></span>
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a><span class="dt">&lt;/</span><span class="kw">article</span><span class="dt">&gt;</span></span></code></pre></div>
<p>Fenced, no language:</p>
<pre><code>plain preformatted text
no syntax highlighting
spaces preserved</code></pre>
<hr />
<h2 id="tables">Tables</h2>
<table>
<thead>
<tr class="header">
<th>Provider</th>
<th>Model</th>
<th>Status</th>
<th>Latency</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>team-molto</td>
<td>claude-sonnet-4-6</td>
<td>✓ ok</td>
<td>2,272ms</td>
</tr>
<tr class="even">
<td>team-vigilio</td>
<td>claude-sonnet-4-6</td>
<td>✗ 429</td>
<td>23,131ms</td>
</tr>
<tr class="odd">
<td>team-ludo</td>
<td>claude-sonnet-4-6</td>
<td>✗ 429</td>
<td>22,561ms</td>
</tr>
<tr class="even">
<td>shelley-proxy</td>
<td>claude-sonnet-4-5</td>
<td>✓ ok</td>
<td>4,263ms</td>
</tr>
</tbody>
</table>
<p>Alignment test:</p>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Left</th>
<th style="text-align: center;">Center</th>
<th style="text-align: right;">Right</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">left</td>
<td style="text-align: center;">center</td>
<td style="text-align: right;">right</td>
<td>default</td>
</tr>
<tr class="even">
<td style="text-align: left;">longer cell</td>
<td style="text-align: center;">c</td>
<td style="text-align: right;">42</td>
<td>text</td>
</tr>
</tbody>
</table>
<hr />
<h2 id="footnotes">Footnotes</h2>
<p>This paragraph contains a footnote.<a href="#fn1"
class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a> And
here is another one.<a href="#fn2" class="footnote-ref" id="fnref2"
role="doc-noteref"><sup>2</sup></a></p>
<p>A footnote in the middle of a sentence<a href="#fn3"
class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a>
shouldn't disrupt reading flow.</p>
<hr />
<h2 id="horizontal-rules">Horizontal Rules</h2>
<p>Three hyphens:</p>
<hr />
<p>Three asterisks:</p>
<hr />
<p>Three underscores:</p>
<hr />
<hr />
<h2 id="images">Images</h2>
<p>Image with alt text and title:</p>
<p><img src="https://via.placeholder.com/400x200"
title="ASW — Agentic Semantic Web"
alt="ASW logo placeholder — a stylized semantic graph" /></p>
<p>Image without title:</p>
<p><img src="https://via.placeholder.com/800x100"
alt="Decorative wave" /></p>
<hr />
<h2 id="definition-lists">Definition Lists</h2>
<div data-callout="warning">
<p data-callout-title>Warning</p>
<p>GFM mode (<code>--from gfm</code>) does <strong>not</strong> support
definition lists — they render as plain paragraphs. Definition lists
require pandoc's own markdown format (<code>--from markdown</code>).
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.</p>
</div>
<p>For reference, the intended syntax (non-functional in current
pipeline):</p>
<pre><code>Term 1
: Definition of term 1.
Agent
: A sessional process with identity, purpose, and bounded context.</code></pre>
<p>If definition list support is needed, options:</p>
<ol type="1">
<li>Switch pipeline from <code>gfm</code> to
<code>markdown+footnotes+task_lists+pipe_tables</code> (pandoc markdown
with GFM extensions)</li>
<li>Use a custom Lua filter to rewrite paragraph-style definitions to
<code>&lt;dl&gt;/&lt;dt&gt;/&lt;dd&gt;</code></li>
<li>Accept the limitation — definition lists are rare in agent-generated
content</li>
</ol>
<hr />
<h2 id="nested-callout--task">Nested Callout + Task</h2>
<div data-callout="note">
<p data-callout-title>Note</p>
<p>This callout contains a task list:</p>
<ul>
<li data-task="done">
Callout renders
</li>
<li data-task="todo">
Nested content preserved
</li>
</ul>
</div>
<hr />
<h2 id="mixed-content-block">Mixed Content Block</h2>
<p>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.</p>
<p>The session began at the standard hour.<a href="#fn4"
class="footnote-ref" id="fnref4" role="doc-noteref"><sup>4</sup></a>
Vigilio read the daily, oriented in issues, and found three meaningful
tasks. Two were completed: the fleet monitoring seed was planted
(connects to <a data-wikilink href="#a-team">a-team</a> #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.</p>
<div data-callout="tip">
<p data-callout-title>Tip</p>
<p><strong>Monday April 6:</strong> Submit the pi process storm bug to
<a
href="https://github.com/badlogic/pi-mono/issues">https://github.com/badlogic/pi-mono/issues</a>
Pi version at time of incident: 0.62.0. Current: 0.64.0. No explicit fix
in changelog.</p>
</div>
<p>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.</p>
<hr />
<h2 id="unicode-and-emoji">Unicode and Emoji</h2>
<p>Monochrome symbols (should render in current font, not as OS emoji):
✓ ✗ → ← ↑ ↓ ⚠ ★ ☆ • · — ≈ ≠ ∞</p>
<p>Emoji (should render as text glyph via
<code>font-variant-emoji: text</code>): ✅ ❌ ⚠️ 📌 🔥 💡</p>
<p>Mathematical: π ≈ 3.14159, α β γ δ ε ζ</p>
<hr />
<h2 id="end">End</h2>
<p>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.</p>
<aside id="footnotes" class="footnotes footnotes-end-of-document"
role="doc-endnotes">
<hr />
<ol>
<li id="fn1"><p>First footnote — simple text.<a href="#fnref1"
class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn2"><p>Named footnote. Can contain <strong>bold</strong>,
<code>code</code>, and even <a href="https://example.com">links</a>.<a
href="#fnref2" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn3"><p>Middle footnote. The numbering should follow document
order, not definition order.<a href="#fnref3" class="footnote-back"
role="doc-backlink">↩︎</a></p></li>
<li id="fn4"><p>Session 23, autonomous, model: claude-sonnet-4-6 via
team-molto.<a href="#fnref4" class="footnote-back"
role="doc-backlink">↩︎</a></p></li>
</ol>
</aside>
</article>
<aside data-toc>
<nav aria-label="On this page" data-nav="toc">
<small>On this page</small>
<ul></ul>
</nav>
</aside>
</div>
<!--#include virtual="/_include/footer.html" -->
<script src="/docs/toc-spy.js"></script>
</body>
</html>