SemText

Showcase

A command spec, for the operator and the model

Commands accumulate lore — arguments in one place, steps in another, the caution that saves you at 2am in a third. As one SemText document, the argument table, the ordered procedure and the invariants are records: an agent can execute the procedure or answer “what does --verify-schema do?” from the same file the operator skims.

The document

The properties block renders a definition grid (the aria-label repeats the key for assistive tech), and the procedure's current step shows where a run stands.

command example

command.md · authored SemText
source
<sem-enhanced-document>
<h1 data-kind="title">/release</h1>
<p>Files a release: verify the schema, merge the release branch, watch the deploy.</p>
<sem-properties kind="arguments">
<sem-property key="target" role="definition" aria-label="target">develop | stage | main — the branch receiving the release</sem-property>
<sem-property key="--verify-schema" role="definition" aria-label="--verify-schema">Re-check pending changesets before merging (default: on)</sem-property>
</sem-properties>
<sem-procedure kind="runbook" role="list">
<sem-step role="listitem">Verify applied changesets in the migrations table</sem-step>
<sem-step role="listitem" status="current">Open the release PR</sem-step>
<sem-step role="listitem">Watch checks and the deployed image</sem-step>
<sem-step role="listitem">Back-merge main into develop</sem-step>
</sem-procedure>
<sem-facts view-as="list">
<sem-fact id="rel-schema" kind="invariant">
<statement>Schema lands before code</statement>
<conclusion>The migration must be applied and present in the changelog table before the image deploys.</conclusion>
</sem-fact>
</sem-facts>
<sem-note variant="danger">A red guard on a promotion means a back-merge is owed — never force it.</sem-note>
</sem-enhanced-document>
render

Render view: this block wires to the SemText runtime bundle in the full example viewer (port-reference lane) — the source beside it is the same file, byte for byte.

Why this works

  • sem-property pairs are a closed set: key is the term, content is the value — a definition list, not a layout.
  • kind qualifies every block (arguments, runbook, invariant) — the machine reading knows what each record is.
  • The danger note renders beside the flow in every tier — cautions are content, not chrome.

Elements used: sem-properties, sem-procedure, sem-facts, sem-note. Their contracts live on the reference pages .