Record excerpt

Shows a real record from the repository, a contract, the governance file, the MCP tools or the GitHub App's permissions, as a table, so the reader sees what 'as data' means.

Organism · stable · v1.0.0 · owner: Site system lead · contract 19 of 20 points (open: figma)

Do and don't

Do: Governance

Rendered by contract-excerpt.ts

Open example: Record excerpt · Do: Governance Use the full-page example to follow page links.

The real file, with its own status.

Do: MCP tools

Rendered by contract-excerpt.ts

Open example: Record excerpt · Do: MCP tools Use the full-page example to follow page links.

The real tool list.

Don't: An edited record

Rendered by contract-excerpt.ts

Open example: Record excerpt · Don't: An edited record Use the full-page example to follow page links.

Records are shown as they are in the repository.

Don't: Without the file name

Rendered by contract-excerpt.ts

Open example: Record excerpt · Don't: Without the file name Use the full-page example to follow page links.

The source must be named.

Rules

RuleWhyCheck
The record excerpt is drawn from Loom Base's contracts, governance file, the MCP tool list or the GitHub App manifest, read at build time at build time.A figure read from the real records cannot drift from them.Automated: npm run site:build (reads the data; fails if it is missing)
The caption names the file the excerpt was read from.Anyone can open the same file.Automated: tests/unit/site-static-context.test.ts (source-linked governance and token data)

API

PropTypeRequiredDefaultWhat it does
kindcontract | governance | mcp-calls | github-permissionsYesWhich record.
variantstringNoThe contract id for kind=contract.
langen | jaNo"en"Caption language (mcp-calls).

Contract details

The full contract: identity, anatomy, variants, states, tokens, layout, motion, accessibility, content, tests

Identity

AspectValue
Idcontract-excerpt
LayerOrganisms
Categoryfigure
OwnerSite system lead
Statusstable
Version1.0.0
Sourceapps/showcase/site/system/organisms/contract-excerpt.ts (private repository; the contract and the render function are this one module)
VersionDateChange
1.0.02026-10-26Record excerpt, drawn at build time from Loom Base's contracts, governance file, the MCP tool list or the GitHub App manifest, read at build time.

Use when

  • Where a page says something is recorded as data. Why: The record itself is the proof.

Do not use when

  • For an invented record. Why: Every excerpt is read from a real file when the page is built.

Anatomy

PartWhat it is
rootfigure.visual.contract-x
tableTable of fields
chainToken chain (component → semantic → primitive) for contracts
captionThe file it was read from

Made of: figure-frame, token-chain, table, tag, caption.

Used in: pages directly.

Variants

VariantWhenWhy
contractShape: one contract and how its tokens resolve.Shows the contract format.
governanceGovern.Governance as a file.
mcp-callsAgents and MCP.The tools agents call.
github-permissionsSecurity.What the App may do, and nothing more.

States

StateRendered or not applicable
defaultdefault
hoverNot applicable: The record excerpt is not interactive, so it has no hover state.
focus-visibleNot applicable: The record excerpt does not take focus; links and buttons inside it carry their own focus ring.
activeNot applicable: The record excerpt cannot be pressed.
disabledNot applicable: The record excerpt has nothing to disable.
loadingNot applicable: The record excerpt is rendered at build time and is complete when the page loads.
emptyNot applicable: The record excerpt is not rendered without content; the builder skips it.
errorNot applicable: The record excerpt shows no data that can fail.
currentNot applicable: The record excerpt has no current item.
visitedNot applicable: The record excerpt is not a link.
expandedNot applicable: The record excerpt does not open or close.

Tokens

PartToken
table.font--type-small
chain.tier--type-label
--contract-excerpt-margin-top-space-5var(--space-5)

Layout

AspectValue
breakpointsRequired review at 390, 768, 1024 and 1440 px; execution is not implied by this declaration; the figure reflows to one column under 768 px.
wrappingLabels wrap; drawings scale to the column.
textExpansionJapanese labels are 20 to 40% longer and wrap inside their cells.

Spacing and rhythm

AspectValue
internalInside the Figure frame's --space-7 padding.
external--space-9 above and below in prose.
rhythmAfter the text whose claim it proves.

Motion

AspectValue
NoneA record is evidence: it holds still so it can be read.

Runtime and reuse

  1. Render-only element; mount any registered child enhancements separately. Preserve required Site CSS, fonts, responsive and locale rules from nativeElement.

Accessibility passport

AspectValue
rolefigure, named by its caption
nameThe caption, and a text alternative for any drawing
keyboardNot interactive unless stated.
focusLinks inside are in reading order.
screenReaderReads the figure's text and caption; drawings have role=img with a description.
contrastInk on surface 14:1; dyes used only as marks with their words.
targetNot a target.

Content

SlotLengthVoice
caption1 sentenceRead from <file> when this page is built

Good: “Read from packages/base/governance.json when this page is built.”

Bad: “Example configuration”

Japanese: Captions translated with the page; field names stay as in the file.

Icons and illustrations

None: this element uses no icon or illustration of its own.

Decisions and exceptions

Usage

4 uses across the built pages (measured by npm run site:system).

Tests

AspectValue
unittests/unit/site-system.test.ts: renders every do and don't example through the registry and checks the classes it owns
visualNot yet: there are no screenshot baselines; the Library page is checked for sideways scroll at 1440 px by tests/site/system.spec.ts
a11ytests/site/system.spec.ts: axe (0 serious or critical) on the element's Library page in light and dark
parityscripts/site/system/check.ts: Library examples are rendered by the same render function the site imports

Figma

not-yet: The Loom Site Figma library is the last stage of the plan; this element is not mapped yet.

Open in Storybook

Start with a conversation about your system.

We read your system, show you what we found, and agree with your team what to fix first.