From 4ea01f51f05eadb7d59236d2402f11303a00b8e6 Mon Sep 17 00:00:00 2001 From: toki Date: Fri, 22 May 2026 09:54:42 +0900 Subject: [PATCH] fix: mark YAML validation milestones as completed in structured-automation-surface --- .../roadmap/milestones/structured-automation-surface.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agent-ops/roadmap/milestones/structured-automation-surface.md b/agent-ops/roadmap/milestones/structured-automation-surface.md index 9ccc052..363a98b 100644 --- a/agent-ops/roadmap/milestones/structured-automation-surface.md +++ b/agent-ops/roadmap/milestones/structured-automation-surface.md @@ -23,14 +23,14 @@ CLI 자동화 표면 정리 ## 필수 기능 - [x] command catalog를 CLI 또는 다른 안정된 조회 경로로 노출하는 방식이 정의되어 있다. (oto catalog CLI 추가로 달성) -- [ ] YAML validation의 입력, 출력, 실패 기준이 외부 자동화용 계약으로 정의되어 있다. +- [x] YAML validation의 입력, 출력, 실패 기준이 외부 자동화용 계약으로 정의되어 있다. (`oto validate -f --json`, `YamlValidationResult` JSON 계약으로 달성) - [ ] 실행 결과의 성공/실패, exit code, 에러 정보 표현이 출력 envelope로 구조화되어 있다. - [ ] step event의 최소 필드와 발생 시점이 정의되어 있다. ## 완료 기준 - [x] 외부 자동화가 내부 Dart API에 직접 의존하지 않고 command catalog를 조회할 수 있다. -- [ ] 외부 자동화가 실행 전에 파이프라인 구성을 검증하고 실패 원인을 해석할 수 있다. +- [x] 외부 자동화가 실행 전에 파이프라인 구성을 검증하고 실패 원인을 해석할 수 있다. (`schemaVersion`, `type`, `valid`, `phase`, `message`, `exitCode` 출력으로 달성) - [ ] 외부 자동화가 실행 후 성공/실패와 실패 원인을 안정적으로 해석할 수 있다. - [ ] step 단위 진행 상황을 사람이 읽는 로그에만 의존하지 않고 소비할 수 있다. @@ -48,4 +48,5 @@ CLI 자동화 표면 정리 - 기존 기준선: - `Command.specs`와 `Command.catalogRows`가 등록된 커맨드의 내부 catalog 소스로 존재한다. - `Application.build()`와 `Pipeline.pipelineInitialize()` 경로에 YAML build/pipeline validation 흐름이 존재한다. + - `Application.validateYamlContent()`와 `CommandValidateCli`가 실행 없이 YAML을 검증하고 `YamlValidationResult.toJson()`으로 자동화용 결과를 출력한다. - `BuildResult`는 성공 여부와 exit code를 표현하지만, 외부 자동화용 출력 envelope는 아직 별도 계약으로 정리되지 않았다.