# Table Cell/Badge — Figma Assembly Rules
<!-- figma-assembly.v2
{ "schemaVersion":"figma-assembly.v2", "id":"component.table-cell-badge", "level":"atom", "kind":"published", "aliases":["Table Cell/Badge","table-cell-badge"], "uxSpec":"specs/ux/components/atoms/table-cell-badge.md", "inventoryTarget":"table-cell-badge", "componentKeys":["ce5a2122da4fbef48f8c949197cab49a54d9a5dc"], "dependencies":["component.badge"], "optionalDependencies":[], "coveredBy":[] }
-->

Status: active Figma assembly contract.

## Scope

Use this contract for a compact badge placed in a table body cell. Badge
semantics are owned by the nested Badge component.

## Source Evidence

- Identity and exposed anatomy rechecked read-only on 2026-09-05 at
  [exact node](https://www.figma.com/design/EO9tuCsqwuHL8cZ4Eb2psR/?node-id=18296-100293).
  This confirms the documented owner/reference, not every assembly predicate or runtime token parity.

- Direct Figma evidence:
  node `18296:100293` passed context, screenshot (`256×48`), and variable checks.

## Required Assembly

- Dependency classification: `component.badge` is required because the
  published cell's semantic content is its retained nested Badge instance.
- Rule ID: `table.cell.badge` — use the published cell with its nested Badge;
  never recreate the badge pill or express status by recoloring the cell.
- Set the status label and semantic appearance on the nested Badge.
- Use the inspected compact Badge `S` treatment for the standard cell. Add a
  hint only through the component's optional icon/content anatomy.
- Apply fixed-column treatment only through the table context.

## Tokens And Sizing

- Preserve compact cell padding, the Badge's `20px` S height, pill radius,
  `2px` internal gap, caption typography, semantic surface/text, and
  secondary-stroke sticky separator bindings.

## Verification Checklist

- `table.cell.badge`: the cell retains the published nested Badge instance.
- Status is expressed by readable Badge text as well as semantic color.
- Hint behavior, filters, and screen-specific values stay outside this contract.
