Glossary

Authoritative definitions for the Rho ecosystem. All docs unify their term references here.


A

AINP

AI-native Interaction Protocol — the open protocol behind this documentation, defining the standard for AI-generated declarative interactive content.

  • License: CC BY 4.0
  • Vendor-neutral; anyone can implement an AINP-conformant reader
  • Protocol document: AINP protocol
  • ⚠️ AINP ≠ Rho — AINP is the protocol; Rho is its reference implementation

AI-native

The protocol's primary design goal — reliable LLM generation. Concretely: compact syntax, unambiguous, machine-validatable, errors recover gracefully, safe (no eval). See AINP §3.5.

Anchor (STL)

Bracketed node [NodeName] in STL syntax. Used to express knowledge graph nodes. See STL syntax.

Annotate

Capability: in-line multi-color annotation (label + color per fragment). See Annotate.


B

Blockquote (markdown)

Markdown blockquote, prefixed with >. AINP uses it for callout markers (> [!INFO]).

Build-time

The first half of AINP's pipeline — markdown source → HTML string (with marker classes). Runs in Node / build pipeline; doesn't require a browser. Compare Runtime.


C

Callout

Capability: single-passage semantic highlight block (INFO / WARN / ZEN / GFM types). See Callout.

Capability

A feature defined by AINP protocol. v1 has 15 capabilities total. See AINP Part III.

Card (layout)

A single card inside a layout grid. Declared :::card accent=COLOR.

Carrier

AINP protocol's serialization format. v1 standard = Markdown. Other carriers (HTML / JSON) may come via future extensions. See AINP §3.1.

Computed

Capability: derived value declaration computed name = expression. Auto-recomputes when source controls change. See Computed.

Conformance

A reader's degree of conformance to AINP — declares which capabilities are implemented + which fallback / safety requirements are met. 4 levels: Full / Static-only / Reader (no animation) / Partial. See AINP §19.

Container (DSL)

Capability that can contain other DSL blocks: callout / layout / tabs / stepper / modal / timeline. See Nested DSL.

Container directive

Markdown directive container syntax, :::name ... :::. AINP uses for layout cards / tabs / steps / events.


D

Declarative

AINP charter Article 4 — all interaction expressed via declaration ("here's a slider"), not imperative code. See AINP §3.2.

Directive

See Container directive.

DSL block

Domain-specific language block — a source block embodying a capability (fenced code or directive container).


F

Fallback (carrier)

AINP charter Article 3 — protocol content degrades to legal carrier in non-supporting readers (markdown carrier: plain markdown / code-block literals). See Plain-text fallback.

Fallback reader

A reader without AINP support but supporting the carrier's base format (GitHub web / VS Code default preview / cat / default Obsidian / etc.).

Fenced code block

Markdown code block syntax ```. AINP uses lang label to trigger capabilities (e.g., ```layout).

Frame budget

AINP animation sub-protocol's recommended per-frame budget < 16ms (60fps target). See AINP protocol.


H

Hydration

The runtime stage — turning build-time output (static HTML with marker classes) into interactive components in the browser (sliders / charts / animations). See Hydration utilities.


I

Implementation

A specific reader / library / app implementing AINP protocol.

  • Reference impl: Rho (@rho/md)
  • Other impls: see AINP protocol
  • ⚠️ Distinct from Rho — anyone can build a new implementation

Inner processor

The mechanism enabling nested DSL — when parsing inner content of a container capability, re-runs the complete markdown + AINP DSL pipeline. See Inner processor.

Interact

Capability: container of interactive controls + output template. The root of all AINP dynamic behavior. See Interact controls.


L

Layout

Capability: N-column grid + cards. See Layout.


M

Marker class

CSS class on AINP output HTML (prefix rho-), used by readers to identify + hydrate. e.g., rho-callout, rho-tabs, rho-interact. See HTML output schema.

Mini DSL

The pure-function expression language inside AINP, used in {} placeholders + computed declarations. Not JavaScript — no eval / no IO / no side effects. See Computed §expression mini DSL or AINP §20.

Capability: click-to-expand overlay. See Modal.

Modifier (STL)

In STL syntax, the ::mod(key=value, key=value) part attached to an edge expressing the edge's properties.


N

Namespace

Capability: makes multiple interact blocks share state — declared namespace finance. See Shared state.

Nested DSL

Any DSL block can embed another DSL block. See Nested DSL.


P

Plain-text fallback

See Fallback (carrier).

Profile (scenario)

AINP protocol's typical application scenario capability set (Education / Calculator / Data viz / Animation / Documentation / AI-Generated). See AINP protocol.


R

Reactive store

In-memory state container in AINP runtime, isolated by namespace. Source variables / computed all live here.

Reactive update

Source change → topological propagation to all dependent computeds → template re-renders. See AINP §7.

Reader (AINP-conformant)

A reader / library / app implementing AINP. Vendor-/language-agnostic.

Rho

scos-lab's AINP reference implementation:

  • npm library @rho/md (currently published as stl-md, rename in progress)
  • Desktop reader app Rho (Tauri 2 + React 19)
  • Cloud SaaS cloud.rho.md (in development)
  • Documentation site rho.md/docs.html (this site)

⚠️ Rho ≠ AINP — Rho is an implementation of AINP, not the protocol itself.

Runtime

The second half of AINP's pipeline — after HTML is injected into DOM, hydrate to interactive components. Must run in a browser. Compare Build-time.


S

Sanitizer (SVG)

Strips dangerous SVG elements / attributes (<script> / on* events / javascript: URLs / etc.). See AINP §17.3.

scos-lab

The maintaining organization of AINP protocol + Rho reference implementation.

Slider

One of AINP's interact controls: slider name min max initial step.

Spec

AINP's early v0.0-v0.6 historical versions were called "Markview Display Spec"; unified into AINP v1, retained as historical reference.

State container

The only state-mutable capability in AINP: interact. All other containers are structural (don't hold state).

Stepper

Capability: sequential step display with Prev/Next. See Stepper.

STL

Semantic Tension Language — another open protocol from scos-lab, expressing knowledge-graph relations via [A] -> [B] ::mod(...) syntax. AINP includes one capability: STL syntax highlighting (highlight only; doesn't interpret STL semantics).


T

Tabs

Capability: same-space multi-view switching. See Tabs.

Template

The output portion of an interact block, three types:

  • template stl: — text / STL output (actually any plain text)
  • template vega-lite: — Vega-Lite chart spec
  • template svg: — SVG scene

See Interact text template.

Timeline

Capability: vertical timeline display of event sequences. See Timeline.

Timer

Capability: auto-stepping value, drives animation. 4 modes: loop / once / pause / pingpong. See Timer.


V

Vega-Lite

External chart library — AINP integrates via template vega-lite:. See Interact + Vega-Lite chart or Vega-Lite official site.


Acronym lookup

Acronym Full name
AINP AI-native Interaction Protocol
BNF Backus-Naur Form (grammar notation)
CC BY 4.0 Creative Commons Attribution 4.0
CSP Content Security Policy
DSL Domain-Specific Language
GFM GitHub-Flavored Markdown
LLM Large Language Model
RFC Request for Comments (IETF)
SaaS Software as a Service
SemVer Semantic Versioning
SSR Server-Side Rendering
STL Semantic Tension Language
SVG Scalable Vector Graphics
WCAG Web Content Accessibility Guidelines
XSS Cross-Site Scripting

See also