From 7b4d1b857018f6fd3c785cda98e7e81a00697916 Mon Sep 17 00:00:00 2001 From: toki Date: Mon, 1 Jun 2026 13:55:11 +0900 Subject: [PATCH] chore: archive workflow-core milestone and update roadmap --- agent-roadmap/ROADMAP.md | 2 +- .../workflow-core/milestones/workflow-core.md | 29 ++++++++++--------- agent-roadmap/current.md | 7 ++--- .../phase/external-integration/PHASE.md | 2 +- .../milestones/external-integration.md | 3 +- agent-roadmap/phase/workflow-core/PHASE.md | 6 ++-- 6 files changed, 25 insertions(+), 24 deletions(-) rename agent-roadmap/{ => archive}/phase/workflow-core/milestones/workflow-core.md (65%) diff --git a/agent-roadmap/ROADMAP.md b/agent-roadmap/ROADMAP.md index dbfac82..deaf005 100644 --- a/agent-roadmap/ROADMAP.md +++ b/agent-roadmap/ROADMAP.md @@ -27,7 +27,7 @@ NomadCode는 Flutter 기반 앱, core 서비스, 공유 계약, agent-operation - [완료] Mattermost Push Plugin Extraction - 경로: `agent-roadmap/archive/phase/mattermost-push-plugin-extraction/PHASE.md` - 요약: Flutter 앱에 섞인 Mattermost push notification migration을 분리했고, 현재 package 경로는 `../nexo/packages/messaging_flutter`다. -- [진행중] Workflow Core +- [검토중] Workflow Core - 경로: `agent-roadmap/phase/workflow-core/PHASE.md` - 요약: proto-socket 내부 통신 레일을 정리한 뒤 client-core 통신과 실제 e2e 흐름을 기준으로 task lifecycle, retry, timeout, notification event를 안정화한다. - [진행중] External Integration diff --git a/agent-roadmap/phase/workflow-core/milestones/workflow-core.md b/agent-roadmap/archive/phase/workflow-core/milestones/workflow-core.md similarity index 65% rename from agent-roadmap/phase/workflow-core/milestones/workflow-core.md rename to agent-roadmap/archive/phase/workflow-core/milestones/workflow-core.md index eb373ee..03acf49 100644 --- a/agent-roadmap/phase/workflow-core/milestones/workflow-core.md +++ b/agent-roadmap/archive/phase/workflow-core/milestones/workflow-core.md @@ -11,7 +11,7 @@ Plane 통신 토대와 별도 pipeline 설계가 정리된 뒤 실제 상태 변 ## 상태 -[진행중] +[완료] ## 구현 잠금 @@ -33,21 +33,24 @@ Plane 통신 토대와 별도 pipeline 설계가 정리된 뒤 실제 상태 변 Core task lifecycle과 상태 전이 책임, 실패/재시도/timeout/notification event 기준을 안정화한다. -- [ ] [lifecycle-model] task lifecycle 상태 모델 점검. 검증: task가 enqueue 이후 running, completed, failed 상태로 일관되게 전이된다. -- [ ] [transition-ownership] scheduler와 workflow service의 상태 전이 책임 정리. 검증: 상태 전이 책임이 code/docs/tests에서 중복 없이 읽힌다. -- [ ] [failure-policy] 실패 task 처리 기준. 검증: 실패와 timeout이 관찰 가능한 상태, metadata, error로 남는다. -- [ ] [retry-timeout] retry와 timeout의 최소 정책. 검증: retry 정책의 최소 동작 방식이 구현되거나 명확히 문서화된다. -- [ ] [notification-model] notification event 모델과 발행 지점. 검증: notification event가 workflow 상태 변화와 연결된다. +- [x] [lifecycle-model] task lifecycle 상태 모델 점검. 검증: task가 enqueue 이후 running, completed, failed 상태로 일관되게 전이된다. +- [x] [transition-ownership] scheduler와 workflow service의 상태 전이 책임 정리. 검증: 상태 전이 책임이 code/docs/tests에서 중복 없이 읽힌다. +- [x] [failure-policy] 실패 task 처리 기준. 검증: 실패와 timeout이 관찰 가능한 상태, metadata, error로 남는다. +- [x] [retry-timeout] retry와 timeout의 최소 정책. 검증: retry 정책의 최소 동작 방식이 구현되거나 명확히 문서화된다. +- [x] [notification-model] notification event 모델과 발행 지점. 검증: notification event가 workflow 상태 변화와 연결된다. ## 완료 리뷰 -- 상태: 없음 -- 요청일: 없음 -- 완료 근거: 없음 +- 상태: 승인됨 +- 요청일: 2026-06-01 +- 완료 근거: + - `workflow.Lifecycle`가 queue/start/complete/fail/cancel 상태 전이와 canonical metadata 병합을 소유하고, enqueue 실패도 lifecycle 실패 전이로 정규화한다. + - `scheduler.TaskWorker`가 `StartTask` -> 실행 -> `CompleteTask`/`FailTaskWithMetadata` 흐름을 사용하며 timeout, attempt, retryable, failure_type, status_reason을 남긴다. + - `notification.TaskEvent`와 proto-socket `task.status.changed` event가 running/completed/failed 상태 변화와 attempt/reason/occurred_at 컨텍스트를 전달한다. - 리뷰 필요: - - [ ] 사용자가 완료 결과를 확인했다 - - [ ] archive 이동을 승인했다 -- 리뷰 코멘트: 없음 + - [x] 사용자가 완료 결과를 확인했다 + - [x] archive 이동을 승인했다 +- 리뷰 코멘트: 최근 workflow-core 커밋 기준으로 문서와 체크리스트를 동기화했고, 사용자 요청에 따라 완료 처리 후 archive로 이동했다. 현재 환경의 local 테스트 실행은 `agent-test/local/rules.md`의 테스트 금지 규칙 때문에 생략했으며, 코드상 관련 테스트는 `services/core/internal/workflow/service_test.go`, `services/core/internal/scheduler/jobs_test.go`, `services/core/internal/notification/service_test.go`, `services/core/internal/protosocket/tasks_test.go`에 반영되어 있다. ## 범위 제외 @@ -63,7 +66,7 @@ Core task lifecycle과 상태 전이 책임, 실패/재시도/timeout/notificati - 선행 작업: Plane Communication Foundation, Work Item Provider Pipeline Design, Proto-Socket Infrastructure Communication Rail - 선행 조건: Proto-Socket Infrastructure Communication Rail이 client-core task 요청과 상태 이벤트가 오갈 수 있는 내부 통신 기준선을 제공한다. - 후속 작업: External Integration -- 현재 지점: Proto-Socket Infrastructure Communication Rail이 완료되어 client-core task 요청과 상태 이벤트가 오갈 수 있는 내부 통신 기준선이 마련되었다. 이제 workflow 상태 전이를 proto-socket client-core 통신 기준선을 반영해 진행한다. +- 현재 지점: workflow 상태 전이, scheduler 실행 책임, 실패/timeout metadata, retry/attempt 정책, notification/proto-socket 상태 이벤트 모델이 최근 workflow-core 작업으로 반영되어 완료되었다. - 책임 경계: - NomadCode Workflow Core는 task lifecycle 전이, retry/timeout envelope, heartbeat, terminal 상태 기록을 소유한다. - Roadmap Operations Control Plane과 MCP 외부 agent 제어 표면은 `Agent-Ops MCP Control Plane` Phase에서 후속으로 다룬다. diff --git a/agent-roadmap/current.md b/agent-roadmap/current.md index e2165c4..d6a68a2 100644 --- a/agent-roadmap/current.md +++ b/agent-roadmap/current.md @@ -2,7 +2,7 @@ ## 활성 Phase -- [진행중] Workflow Core +- [검토중] Workflow Core - 경로: `agent-roadmap/phase/workflow-core/PHASE.md` - [진행중] External Integration - 경로: `agent-roadmap/phase/external-integration/PHASE.md` @@ -11,10 +11,7 @@ ## 활성 Milestone -- [진행중] Workflow Core - - Phase: `agent-roadmap/phase/workflow-core/PHASE.md` - - 경로: `agent-roadmap/phase/workflow-core/milestones/workflow-core.md` -- [계획] External Integration +- [진행중] External Integration - Phase: `agent-roadmap/phase/external-integration/PHASE.md` - 경로: `agent-roadmap/phase/external-integration/milestones/external-integration.md` - [계획] Workbench Shell and Optional IOP Composition diff --git a/agent-roadmap/phase/external-integration/PHASE.md b/agent-roadmap/phase/external-integration/PHASE.md index f527d71..276780a 100644 --- a/agent-roadmap/phase/external-integration/PHASE.md +++ b/agent-roadmap/phase/external-integration/PHASE.md @@ -21,7 +21,7 @@ Work Item Provider Pipeline Design과 Workflow Core 이후 Plane/Jira 확장, Ma - 경로: `agent-roadmap/archive/phase/external-integration/milestones/mattermost-nexo-messaging-alignment.md` - 요약: Mattermost 메시지/알림 경계를 `../nexo/packages/messaging_flutter` 구조와 맞추고 Android runner에서 server-generated signed push 수신, ACK, notification, opened, inline reply, dismiss evidence를 redaction 상태로 확인했다. -- [계획] External Integration +- [진행중] External Integration - 경로: `agent-roadmap/phase/external-integration/milestones/external-integration.md` - 요약: Plane/Jira/Mattermost/Agent Integrator/IOP 호출 경계를 실제 통합 adapter 흐름으로 확장한다. diff --git a/agent-roadmap/phase/external-integration/milestones/external-integration.md b/agent-roadmap/phase/external-integration/milestones/external-integration.md index a5b454f..23a2b70 100644 --- a/agent-roadmap/phase/external-integration/milestones/external-integration.md +++ b/agent-roadmap/phase/external-integration/milestones/external-integration.md @@ -11,7 +11,7 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane/Jira 확 ## 상태 -[계획] +[진행중] ## 구현 잠금 @@ -71,6 +71,7 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane/Jira 확 - 주요 작업 영역: `services/core/internal/adapters/`, `services/core/internal/scheduler/`, `services/core/internal/workflow/` - 선행 작업: Work Item Provider Pipeline Design, Workflow Core, Mattermost Nexo Messaging Alignment - 후속 작업: Project Workspace Management UX +- 현재 지점: Workflow Core가 완료되어 Plane/Jira/Mattermost/Agent Integrator/IOP 호출 경계를 실제 adapter 흐름으로 확장하는 단계로 전환했다. 구현 전에는 `구현 잠금`의 결정 필요 항목을 먼저 확인한다. - Mattermost signed push smoke 재현 가이드: `agent-test/local/mattermost-server-generated-push-smoke.md` - private 환경값 router: `agent-test/local/mattermost-server-generated-push-smoke.md` (ignored local file) - Mattermost 책임 경계: core는 Mattermost REST 메시지 발송과 task notification 발행을 담당하고, `../nexo/packages/messaging_flutter`는 client-side FCM 수신, signature 검증, ACK, notification display, opened-routing, inline reply, dismiss를 담당한다. diff --git a/agent-roadmap/phase/workflow-core/PHASE.md b/agent-roadmap/phase/workflow-core/PHASE.md index e26b848..2d59f94 100644 --- a/agent-roadmap/phase/workflow-core/PHASE.md +++ b/agent-roadmap/phase/workflow-core/PHASE.md @@ -2,7 +2,7 @@ ## 상태 -[진행중] +[검토중] ## 목표 @@ -17,8 +17,8 @@ Plane 통신 토대와 provider-neutral pipeline 설계 이후, 내부 런타임 - 경로: `agent-roadmap/archive/phase/workflow-core/milestones/proto-socket-infrastructure-communication-rail.md` - 요약: 내부 런타임 간 신규 통신을 proto-socket 기본 레일로 통일하고, client-core task 요청과 상태 이벤트 기반을 닫았다. -- [진행중] Workflow Core - - 경로: `agent-roadmap/phase/workflow-core/milestones/workflow-core.md` +- [완료] Workflow Core + - 경로: `agent-roadmap/archive/phase/workflow-core/milestones/workflow-core.md` - 요약: proto-socket client-core 통신 기준을 반영해 task lifecycle, 상태 전이 책임, 실패 정책, retry/timeout, notification event 모델을 안정화한다. ## Phase 경계