---
ui_doc_type: component
component_id: record-list
status: 구현됨
source_evidence:
  - type: code
    path: packages/flutter/oto_console/lib/src/oto_runners_surface.dart
    notes: "runner list rows"
  - type: code
    path: packages/flutter/oto_console/lib/src/oto_jobs_surface.dart
    notes: "job list rows"
  - type: code
    path: packages/flutter/oto_console/lib/src/oto_executions_surface.dart
    notes: "execution list rows"
  - type: code
    path: packages/flutter/oto_console/lib/src/oto_artifacts_surface.dart
    notes: "artifact list rows"
---

# Record List

Component ID: `record-list`

Status: `구현됨`

## Source Evidence

| Type | Path | Notes |
|------|------|-------|
| code | `packages/flutter/oto_console/lib/src/oto_runners_surface.dart` | runner list rows |
| code | `packages/flutter/oto_console/lib/src/oto_jobs_surface.dart` | job list rows |
| code | `packages/flutter/oto_console/lib/src/oto_executions_surface.dart` | execution list rows |
| code | `packages/flutter/oto_console/lib/src/oto_artifacts_surface.dart` | artifact list rows |

## Purpose

runner, job, execution, artifact 같은 운영 record를 카드형 row 목록으로 스캔하게 한다.

## Used By

- `runners`: `runners.runner-list`
- `pipelines`: `pipelines.job-list`
- `executions`: `executions.execution-list`, `executions.execution-detail`
- `artifacts`: `artifacts.artifact-list`

## Anatomy

- primary id/name
- secondary metadata
- status badge
- optional inline action/link
- optional expanded detail

## Jenkins Reference Alignment

- Jenkins dashboard job rows, Build History rows, Nodes/Agents rows를 공통 reference로 삼는다.
- primary name/id, status, recent execution/context, quick action/link가 한눈에 보이는 밀도를 유지한다.
- 현재 OTO는 table 대신 card row를 사용한다. 많은 record가 생기면 Jenkins job/build history처럼 더 dense한 table/list variant를 후속 후보로 둔다.

## Target Layout Delta

- repeated record는 large card보다 dense list row를 우선한다.
- primary identity, status, context metadata, action/link 영역이 같은 row 안에서 예측 가능하게 배치되어야 한다.
- expanded detail은 executions에만 허용하고, runners/pipelines/artifacts는 row action 또는 detail pane 후보로 분리한다.
- 현재 row 구현은 목표 density 반영이 완료되어 `구현됨` 상태다.

## Variants

- runner row
- job row
- execution row
- artifact row

## States

- default
- expanded
- actionable
- truncated

## Rules

- row 안의 id/path/date 값은 긴 문자열을 ellipsis 처리한다.
- execution row 확장 시 action/log/artifact 영역은 definition region과 함께 갱신한다.

## Decision History

- 2026-06-24: 반복 row 목록을 `record-list` component로 정의했다.
