Application library

Application library — 6 of 6 promoted.

Canon-tier organisms whose canonical source has lifted to @gyrum-labs/svelte per ADR-182 (Svelte source, the canonical promotion path) plus the residual Lit-shipped organism (<gy-epic-card>, ADR-181 legacy in maintenance under @gyrum-labs/components). Each row carries the canon contract — single named data shape, token-only styles, storybook story, smoke spec. The headline count is auto-derived from the same data feed the rows render against (warp#2907 single-source-of-truth, extended to the page header by warp#2986). The migration guide covers the lift from application-local source to @gyrum-labs/svelte.

Application organisms · 6 primitives

Each row pairs the organism's text + tracking ticket with its canonical preview. Pre-promotion rows (none today) would show a "Promotion in progress" panel pointing at the warp ticket (warp#2688 retired the cross-origin iframe approach — canon's "every primitive renders natively" property is non-negotiable). Post-promotion rows render their canonical preview directly: the Lit-shipped <gy-epic-card> (warp#2706, the first organism to flip, ADR-181 legacy now in maintenance) renders as a live Lit custom element with sample data; the five Svelte-shipped organisms under @gyrum-labs/svelte (ADR-182, the canonical path) render as SSR pre-rendered panels via canon's build pipeline (warp#2985 / Sub-2 of warp#2982). Gate 2 of the canon-tier promotion contract (warp#2666) refuses rows that declare neither a preview route nor a component tag.

EpicCard — Active-epics rollup card; renders title + in-flight indicator + N/M subtask counter + priority chip; clicks through to the epic detail on warp.
warp#2501 · promoted · source on GitHub
Promoted to @gyrum-labs/svelte.

Canonical source: @gyrum-labs/svelte/organisms/epic-card/GyEpicCard.svelte. Live consumer surface: ai-frontend (see warp#2501). In-page Svelte preview lands in a follow-up (warp#2907 phase-2).

TicketPanel — Open-tickets list for project overview pages; carries the warp#2494 id-no-wrap fix as a structural property of the canon component (the bug cannot recur from a canonical consumer).
warp#2502 · promoted · source on GitHub
Promoted to @gyrum-labs/svelte.

Canonical source: @gyrum-labs/svelte/organisms/ticket-panel/GyTicketPanel.svelte. Live consumer surface: ai-frontend (see warp#2502). In-page Svelte preview lands in a follow-up (warp#2907 phase-2).

VersionPill — Compact pill rendering one git-describe version + tone dot + commit-link to GitHub. Survivor of the runtime-band footer retirement (warp#2489); the noisy two-tier widget is gone, the discoverable chip remains.
warp#2511 · promoted · source on GitHub
Promoted to @gyrum-labs/svelte.

Canonical source: @gyrum-labs/svelte/organisms/version-pill/GyVersionPill.svelte. Live consumer surface: ai-frontend (see warp#2511). In-page Svelte preview lands in a follow-up (warp#2907 phase-2).

RecentFailuresPanel — 24h CI / cron failure rollup; renders timestamp, repo, workflow filename + branch, status pill. Used on the home page (warp#2491 moved it to footer position) and /operate/deploys (its primary surface).
warp#2505 · promoted · source on GitHub
Promoted to @gyrum-labs/svelte.

Canonical source: @gyrum-labs/svelte/organisms/recent-failures-panel/GyRecentFailuresPanel.svelte. Live consumer surface: ai-frontend (see warp#2505). In-page Svelte preview lands in a follow-up (warp#2907 phase-2).

Why a separate library?

Two reasons the application library exists as a distinct page rather than rows on the main components catalogue:

  1. Honesty about coupling. Even when the source has lifted to @gyrum-labs/svelte, these organisms retain direct dependencies on ai-frontend's API client + types — they render meaningfully only against live ai-frontend data shapes. Surfacing them next to fully-decoupled canon primitives would imply parity that doesn't yet exist.
  2. A promotion-history surface. Each row carries a warp ticket reference + a state badge so the canon→gyrum-ui lift history is observable from the canon site itself. Per warp#2907 the badge is build-time-derived from upstream package presence — canon never claims a promotion that hasn't happened, and never misses one that has.

The promotion path is documented in the Migration guide; the substrate EPIC is warp#2278 (Phase 4 — promote local-first work to Svelte source under @gyrum-labs/svelte per ADR-182; the legacy Lit path under @gyrum-labs/components is in maintenance).