chore(roadmap): 외부 통합 마일스톤 완료 상태를 동기화한다
This commit is contained in:
parent
b505b7d0f1
commit
d3baf31165
2 changed files with 11 additions and 12 deletions
|
|
@ -21,9 +21,9 @@ Work Item Provider Pipeline Design과 Workflow Core 완료 이후 Plane 확장,
|
||||||
- 경로: `agent-roadmap/archive/phase/external-integration/milestones/mattermost-nexo-messaging-alignment.md`
|
- 경로: `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 상태로 확인했다.
|
- 요약: 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`
|
- 경로: `agent-roadmap/phase/external-integration/milestones/external-integration.md`
|
||||||
- 요약: Plane, Jira-compatible provider 추상화, Mattermost, Agent Integrator, IOP 호출 경계를 실제 통합 adapter 흐름으로 확장했다. OpenAI-compatible Responses request의 `metadata` 실행 문맥 전달과 sibling IOP Edge `/v1/responses` 표면 smoke는 충족됐고, 남은 작업은 NomadCode Core 원격 enqueue/poll smoke다.
|
- 요약: Plane, Jira-compatible provider 추상화, Mattermost, Agent Integrator, IOP 호출 경계를 실제 통합 adapter 흐름으로 확장했다. OpenAI-compatible Responses request의 `metadata` 실행 문맥 전달과 sibling IOP Edge `/v1/responses` 표면 smoke, NomadCode Core 원격 create/enqueue/poll smoke가 모두 완료돼 사용자 완료 확인 대기 중이다.
|
||||||
|
|
||||||
## Phase 경계
|
## Phase 경계
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane 확장,
|
||||||
|
|
||||||
## 상태
|
## 상태
|
||||||
|
|
||||||
[진행중]
|
[검토중]
|
||||||
|
|
||||||
## 구현 잠금
|
## 구현 잠금
|
||||||
|
|
||||||
|
|
@ -21,7 +21,7 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane 확장,
|
||||||
- [x] Agent Integrator를 유지할지 IOP/A2A 또는 다른 연결 지점으로 대체할지 결정한다.
|
- [x] Agent Integrator를 유지할지 IOP/A2A 또는 다른 연결 지점으로 대체할지 결정한다.
|
||||||
- [x] A2A는 이 Milestone 범위로 들이지 않고, 외부 agent-to-agent delegation 필요가 명확해질 때 후속 Milestone에서 재검토한다.
|
- [x] A2A는 이 Milestone 범위로 들이지 않고, 외부 agent-to-agent delegation 필요가 명확해질 때 후속 Milestone에서 재검토한다.
|
||||||
- 외부 의존 잠금:
|
- 외부 의존 잠금:
|
||||||
- 충족됨: `iop:agent-roadmap/phase/automation-runtime-bridge/milestones/openai-responses-input-surface.md`가 `[검토중]`으로 전환됐고 workspace lock `nomadcode:external-integration`의 rely-on 상태가 `enable`로 동기화됐다. 남은 잠금은 없으며, `iop-responses` 완료 판단은 NomadCode Core 원격 enqueue/poll smoke evidence에 달려 있다.
|
- 충족됨: `iop:agent-roadmap/phase/automation-runtime-bridge/milestones/openai-responses-input-surface.md`가 `[검토중]`으로 전환됐고 workspace lock `nomadcode:external-integration`의 rely-on 상태가 `enable`로 동기화됐다. 남은 잠금은 없다.
|
||||||
|
|
||||||
## 범위
|
## 범위
|
||||||
|
|
||||||
|
|
@ -46,28 +46,27 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane 확장,
|
||||||
- [x] [mattermost-adapter] Mattermost 메시지 발송 adapter 구현과 `../nexo/packages/messaging_flutter` host notification boundary 정합성 유지. 검증: core가 Mattermost에 메시지를 발송하고, server-generated signed push smoke가 `agent-test/local/mattermost-server-generated-push-smoke.md` 기준으로 FCM/ACK/opened/reply/dismiss evidence를 남긴다.
|
- [x] [mattermost-adapter] Mattermost 메시지 발송 adapter 구현과 `../nexo/packages/messaging_flutter` host notification boundary 정합성 유지. 검증: core가 Mattermost에 메시지를 발송하고, server-generated signed push smoke가 `agent-test/local/mattermost-server-generated-push-smoke.md` 기준으로 FCM/ACK/opened/reply/dismiss evidence를 남긴다.
|
||||||
- [x] [adapter-boundary] 외부 provider별 구현 경계 점검. 검증: provider 세부 구현이 adapter 경계 밖으로 새지 않는다.
|
- [x] [adapter-boundary] 외부 provider별 구현 경계 점검. 검증: provider 세부 구현이 adapter 경계 밖으로 새지 않는다.
|
||||||
- [x] [agent-integrator] Agent Integrator를 별도 runtime이 아닌 IOP Node agent interface용 thin execution connector/adapter 경계로 재정의한다. 검증: Agent Integrator 또는 그 대체 연결 지점이 명확히 정의되어 있다.
|
- [x] [agent-integrator] Agent Integrator를 별도 runtime이 아닌 IOP Node agent interface용 thin execution connector/adapter 경계로 재정의한다. 검증: Agent Integrator 또는 그 대체 연결 지점이 명확히 정의되어 있다.
|
||||||
- [ ] [iop-responses] IOP OpenAI-compatible Responses API 경로와 metadata 확장을 NomadCode의 기본 실행 호출 경로로 정리. 검증: `services/core/internal/adapters/openai` request가 `model.GenerateInput.Metadata`를 OpenAI-compatible `metadata` field로 전송하고, scheduler가 task/source 실행 문맥을 채우며, OpenAI client/unit tests가 metadata 전송을 검증한다. IOP 쪽 handler/service metadata 수신과 `/v1/responses` smoke는 sibling IOP Milestone에서 PASS했고, 남은 완료 조건은 원격 runner에서 NomadCode Core task enqueue/poll smoke가 실제 IOP Responses listener를 통해 완료되는 것이다.
|
- [x] [iop-responses] IOP OpenAI-compatible Responses API 경로와 metadata 확장을 NomadCode의 기본 실행 호출 경로로 정리. 검증: `services/core/internal/adapters/openai` request가 `model.GenerateInput.Metadata`를 OpenAI-compatible `metadata` field로 전송하고, scheduler가 task/source 실행 문맥을 채우며, OpenAI client/unit tests가 metadata 전송을 검증한다. IOP 쪽 handler/service metadata 수신과 `/v1/responses` smoke는 sibling IOP Milestone에서 PASS했으며, 원격 runner에서 NomadCode Core task enqueue/poll smoke도 완료됐다.
|
||||||
- [x] [model-reclass] direct model endpoint / Ollama fallback 표현과 설정을 IOP 경유 호출 기준으로 재분류. 검증: NomadCode의 기본 실행 경로가 직접 모델 호출이 아니라 IOP 경유 호출임이 로드맵과 운영 문서에서 일관되게 읽힌다.
|
- [x] [model-reclass] direct model endpoint / Ollama fallback 표현과 설정을 IOP 경유 호출 기준으로 재분류. 검증: NomadCode의 기본 실행 경로가 직접 모델 호출이 아니라 IOP 경유 호출임이 로드맵과 운영 문서에서 일관되게 읽힌다.
|
||||||
|
|
||||||
## 완료 리뷰
|
## 완료 리뷰
|
||||||
|
|
||||||
- 상태: 보완 필요
|
- 상태: 요청됨
|
||||||
- 요청일: 2026-06-05
|
- 요청일: 2026-06-08
|
||||||
- 완료 근거:
|
- 완료 근거:
|
||||||
- 기존 완료 근거로 Mattermost REST post adapter 및 completed task event sink가 `services/core/internal/adapters/mattermost/`에 구현되어 server wiring에 연결되었다.
|
- 기존 완료 근거로 Mattermost REST post adapter 및 completed task event sink가 `services/core/internal/adapters/mattermost/`에 구현되어 server wiring에 연결되었다.
|
||||||
- `agent-test/local/mattermost-server-generated-push-smoke.md`의 redacted evidence checklist가 FCM/ACK/opened/inline reply/dismiss 항목 PASS를 기록한다.
|
- `agent-test/local/mattermost-server-generated-push-smoke.md`의 redacted evidence checklist가 FCM/ACK/opened/inline reply/dismiss 항목 PASS를 기록한다.
|
||||||
- `services/core/internal/adapters/openai`가 `model.GenerateInput.Metadata`를 Responses request `metadata` field로 전송하도록 보완했고, scheduler metadata 생성 경로와 OpenAI request body 테스트를 추가했다.
|
- `services/core/internal/adapters/openai`가 `model.GenerateInput.Metadata`를 Responses request `metadata` field로 전송하도록 보완했고, scheduler metadata 생성 경로와 OpenAI request body 테스트를 추가했다.
|
||||||
- sibling IOP `OpenAI Responses Input Surface` Milestone이 `[검토중]`으로 전환됐고, `agent-task/archive/2026/06/m-external-integration/01_iop_responses_surface/complete.log`가 flat metadata alias, four-step `iop-edge smoke openai`, `./scripts/e2e-openai-ollama.sh` PASS를 기록했다.
|
- sibling IOP `OpenAI Responses Input Surface` Milestone이 `[검토중]`으로 전환됐고, `agent-task/archive/2026/06/m-external-integration/01_iop_responses_surface/complete.log`가 flat metadata alias, four-step `iop-edge smoke openai`, `./scripts/e2e-openai-ollama.sh` PASS를 기록했다.
|
||||||
- workspace lock `nomadcode:external-integration`의 IOP 선행 조건은 `enable` 상태다.
|
- workspace lock `nomadcode:external-integration`의 IOP 선행 조건은 `enable` 상태다.
|
||||||
- 검증: remote standard local runner에서 `cd services/core && go test ./internal/adapters/openai ./internal/scheduler && go test ./... && go vet ./...` PASS.
|
- `agent-task/archive/2026/06/m-external-integration/02+01_nomadcode_core_iop_smoke/complete.log` 최종 판정(PASS)에서 `iop-responses` 완결, remote create/enqueue/poll smoke, IOP Edge smoke, openai-adapter unit test가 모두 통과했다.
|
||||||
- 미충족: NomadCode Core를 원격 standard runner에서 실제 IOP Responses listener에 연결한 task create/enqueue/poll smoke가 아직 완료되지 않았다.
|
|
||||||
- 리뷰 필요:
|
- 리뷰 필요:
|
||||||
- [x] `iop-responses` metadata 전송 보완 결과를 확인한다
|
- [x] `iop-responses` metadata 전송 보완 결과를 확인한다
|
||||||
- [x] IOP Edge `/v1/responses` non-streaming 표면을 실제 edge service 경로로 구현하고 handler/service tests와 `iop-edge smoke openai` 또는 동등 smoke를 남긴다
|
- [x] IOP Edge `/v1/responses` non-streaming 표면을 실제 edge service 경로로 구현하고 handler/service tests와 `iop-edge smoke openai` 또는 동등 smoke를 남긴다
|
||||||
- [ ] NomadCode Core를 원격 standard runner에서 실제 IOP Responses listener에 연결해 task create/enqueue/poll smoke를 통과시킨다
|
- [x] NomadCode Core를 원격 standard runner에서 실제 IOP Responses listener에 연결해 task create/enqueue/poll smoke를 통과시킨다
|
||||||
- [ ] 사용자가 완료 결과를 다시 확인한다
|
- [ ] 사용자가 완료 결과를 다시 확인한다
|
||||||
- [ ] archive 이동을 다시 승인한다
|
- [ ] archive 이동을 다시 승인한다
|
||||||
- 리뷰 코멘트: 2026-06-05 사용자 요청으로 완료/archive 처리했으나, 2026-06-08 코드/작업 히스토리 재검토에서 `model.GenerateInput.Metadata`가 `services/core/internal/adapters/openai`의 Responses request로 직렬화되지 않는 누락을 확인했다. 같은 날 해당 누락을 보완했고 sibling IOP `/v1/responses` 표면과 smoke도 PASS로 닫았다. 현재 `iop-responses`는 IOP 선행 조건을 충족했지만, NomadCode Core 원격 enqueue/poll smoke evidence가 남아 있어 진행중 보완 작업으로 유지한다.
|
- 리뷰 코멘트: 2026-06-05 사용자 요청으로 완료/archive 처리했으나, 2026-06-08 코드/작업 히스토리 재검토에서 `model.GenerateInput.Metadata`가 `services/core/internal/adapters/openai`의 Responses request로 직렬화되지 않는 누락을 확인했다. 같은 날 해당 누락을 보완했고 sibling IOP `/v1/responses` 표면과 smoke도 PASS로 닫았다. 현재 `iop-responses`는 IOP 선행 조건을 충족하고 NomadCode Core 원격 task create/enqueue/poll smoke까지 완료되어 리뷰 요청 상태로 전환했다.
|
||||||
|
|
||||||
## 범위 제외
|
## 범위 제외
|
||||||
|
|
||||||
|
|
@ -86,7 +85,7 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane 확장,
|
||||||
- 주요 작업 영역: `services/core/internal/adapters/`, `services/core/internal/scheduler/`, `services/core/internal/workflow/`
|
- 주요 작업 영역: `services/core/internal/adapters/`, `services/core/internal/scheduler/`, `services/core/internal/workflow/`
|
||||||
- 선행 작업: Work Item Provider Pipeline Design, Workflow Core, Mattermost Nexo Messaging Alignment
|
- 선행 작업: Work Item Provider Pipeline Design, Workflow Core, Mattermost Nexo Messaging Alignment
|
||||||
- 후속 작업: Project Workspace Management UX
|
- 후속 작업: Project Workspace Management UX
|
||||||
- 현재 지점: Workflow Core Phase가 `[완료]`로 archive되었고, External Integration의 대부분 기능 Task는 현재 checkout과 tracked smoke evidence 기준으로 완료되었다. 2026-06-08 재검토에서 발견한 `iop-responses` metadata 전송 누락은 `services/core/internal/adapters/openai/client.go`, `services/core/internal/adapters/openai/client_test.go`, `services/core/internal/scheduler/jobs_test.go` 보완으로 코드 단위에서 닫았다. sibling IOP Edge `/v1/responses` 표면과 flat metadata alias, four-step `iop-edge smoke openai`, `./scripts/e2e-openai-ollama.sh`는 `agent-task/archive/2026/06/m-external-integration/01_iop_responses_surface/complete.log` 기준으로 PASS다. 현재 active 작업은 `agent-task/m-external-integration/02+01_nomadcode_core_iop_smoke`이며, 남은 완료 조건은 NomadCode Core 원격 task create/enqueue/poll smoke다. Jira는 현재 테스트 환경이 없으므로 live provider 구현 완료가 아니라 provider-neutral 추상화 적합성까지만 이 Milestone에서 다뤘다. `구현 잠금`의 직접 결정 항목과 IOP 선행 잠금은 해소되었다.
|
- 현재 지점: Workflow Core Phase가 `[완료]`로 archive되었고, External Integration의 기능 Task는 현재 completion 로그 기준으로 완료되었다. `iop-responses` 보완은 `services/core/internal/adapters/openai/client.go`, `services/core/internal/adapters/openai/client_test.go`, `services/core/internal/scheduler/jobs_test.go`에서 마무리됐고, `NomadCode Core 원격 task create/enqueue/poll smoke`는 `agent-task/archive/2026/06/m-external-integration/02+01_nomadcode_core_iop_smoke/complete.log`로 PASS 확인됐다. Jira는 현재 테스트 환경이 없으므로 live provider 구현 완료가 아니라 provider-neutral 추상화 적합성까지만 이 Milestone에서 다뤘다. `구현 잠금`의 직접 결정 항목과 IOP 선행 잠금은 해소되었다.
|
||||||
- 선행 IOP Milestone: `../iop/agent-roadmap/phase/automation-runtime-bridge/milestones/openai-responses-input-surface.md`
|
- 선행 IOP Milestone: `../iop/agent-roadmap/phase/automation-runtime-bridge/milestones/openai-responses-input-surface.md`
|
||||||
- Mattermost signed push smoke 재현 가이드: `agent-test/local/mattermost-server-generated-push-smoke.md`
|
- 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)
|
- private 환경값 router: `agent-test/local/mattermost-server-generated-push-smoke.md` (ignored local file)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue