---
ui_doc_type: component
component_id: artifact-list
status: 구현됨
source_evidence:
  - type: code
    path: packages/flutter/oto_console/lib/src/oto_artifacts_surface.dart
    notes: "Artifacts tab list 구현"
  - type: code
    path: packages/flutter/oto_console/lib/src/oto_executions_surface.dart
    notes: "execution detail artifact preview 구현"
  - type: code
    path: packages/flutter/oto_console/lib/src/oto_console_contract.dart
    notes: "OtoArtifactViewModel"
  - type: docs
    path: agent-roadmap/sdd/control-plane-product-surface/control-plane-security-audit-surface/SDD.md
    notes: "artifact 내용/full path 감사 복제 금지 기준"
---

# Artifact List

Component ID: `artifact-list`

Status: `구현됨`

## Source Evidence

| Type | Path | Notes |
|------|------|-------|
| code | `packages/flutter/oto_console/lib/src/oto_artifacts_surface.dart` | Artifacts tab list 구현 |
| code | `packages/flutter/oto_console/lib/src/oto_executions_surface.dart` | execution detail artifact preview 구현 |
| code | `packages/flutter/oto_console/lib/src/oto_console_contract.dart` | `OtoArtifactViewModel` |
| docs | `agent-roadmap/sdd/control-plane-product-surface/control-plane-security-audit-surface/SDD.md` | artifact 내용/full path 감사 복제 금지 기준 |

## Purpose

artifact name과 path를 row 목록으로 보여준다.

## Used By

- `artifacts`: `artifacts.artifact-list`
- `executions`: `executions.artifacts-preview`

## Anatomy

- file icon
- artifact name
- artifact path
- compact card/list row

## Jenkins Reference Alignment

- Jenkins build artifacts와 workspace/artifact browser row를 러프 참조로 삼는다.
- 현재는 name/path 목록이며, artifact detail, download, browser navigation은 후속 후보로 둔다.
- path가 길거나 민감할 수 있으므로 ellipsis와 masking 기준을 우선한다.

## Target Layout Delta

- artifact list는 full tab과 execution detail preview에서 같은 row anatomy를 공유하는 것을 목표로 둔다.
- row는 name/path/context/action slot을 분리하고, content preview/download는 후속 확장 slot으로 남긴다.
- 현재 row 구현은 목표 artifact browser anatomy 반영이 완료되어 `구현됨` 상태다.

## Variants

- full tab row
- execution detail compact card

## States

- default
- empty
- loading
- error
- truncated

## Rules

- artifact path는 길면 ellipsis 처리한다.
- audit UI에서는 artifact content나 민감한 full path를 복제 노출하지 않는다.

## Decision History

- 2026-06-24: artifact tab과 execution detail preview를 `artifact-list` component로 묶었다.
