--- ui_doc_type: view view_id: pipelines status: implemented frame: null source_evidence: - type: code path: packages/flutter/oto_console/lib/src/oto_jobs_surface.dart notes: "OtoJobsSurface 구현" - type: code path: apps/client/lib/src/app/oto_client_app.dart notes: "job snapshot, create action, execution navigation 연결" - type: docs path: agent-roadmap/sdd/control-plane-product-surface/control-plane-security-audit-surface/SDD.md notes: "create-job은 write action 감사 후보" - type: user path: null notes: "agent-ui 생성 요청" regions: - pipelines.header - pipelines.create-job-form - pipelines.state-panel - pipelines.job-list - pipelines.execution-link - pipelines.action-feedback --- # Pipelines View ID: `pipelines` Frame: - 없음 Status: `implemented` ## Source Evidence | Type | Path | Notes | |------|------|-------| | code | `packages/flutter/oto_console/lib/src/oto_jobs_surface.dart` | `OtoJobsSurface` 구현 | | code | `apps/client/lib/src/app/oto_client_app.dart` | job snapshot, create action, execution navigation 연결 | | docs | `agent-roadmap/sdd/control-plane-product-surface/control-plane-security-audit-surface/SDD.md` | create-job write action 경계 | | user | 없음 | agent-ui 생성 요청 | ## Purpose pipeline/job queue를 확인하고, 새 job을 만들며, 연결된 execution으로 이동한다. ## Primary Users - operator/admin - local developer ## Primary Tasks - job 목록과 상태 확인 - job id/name 기반 create 요청 - execution id가 있는 job에서 executions view로 이동 ## Information Priority 1. create job form 상태 2. job list와 상태 badge 3. execution link ## Regions | Region ID | Purpose | Component | Priority | Notes | |-----------|---------|-----------|----------|-------| | `pipelines.header` | 화면 제목 | 없음 | high | `Pipelines / Jobs` | | `pipelines.create-job-form` | job create draft 입력 | `job-create-form` | high | job id/name 필수 | | `pipelines.state-panel` | loading/empty/error 표현 | `state-panel` | high | snapshot state 기준 | | `pipelines.job-list` | job row 목록 | `record-list` | high | name, id, state, created/updated | | `pipelines.execution-link` | execution detail 이동 | 없음 | medium | execution id가 있을 때 표시 | | `pipelines.action-feedback` | job create 결과 표시 | `action-feedback` | medium | success/failed | ## Actions | Action ID | Trigger | Result | Guard | |-----------|---------|--------|-------| | `pipelines.create-job` | Create button | job create draft submit | job id/name 입력, not submitting | | `pipelines.open-execution` | execution id chip | `executions` view로 이동 | job execution id 존재 | ## States - loading: 중앙 progress indicator. - empty: `No pipeline jobs` state panel. - error: `Error loading jobs` state panel과 snapshot error message. - permission-denied: planned `authorization-state` component에서 operator/admin 권한 실패를 display-safe message로 표현한다. ## Planned Extensions - `authorization-state`: create job action의 허용/거부, disabled/error 상태. - `audit-action-summary`: create job action의 actor/action/target/outcome/timestamp/reason metadata 요약. ## Open Questions - 없음 ## Decision History - 2026-06-24: job create form과 job list를 주요 region으로 정의했다.