docs(roadmap): Chronos 분리 마일스톤을 종료한다

canonical 승격 검증과 Agent UI 정합화 결과를 고정하고 완료된 Milestone과 SDD를 archive해 후속 Chronos 잠금 해제 상태를 보존한다.
This commit is contained in:
toki 2026-08-02 21:52:44 +09:00
parent 81243284cb
commit 4879bcf6f2
9 changed files with 106 additions and 45 deletions

View file

@ -80,8 +80,49 @@ chronos_connection_surfaces: 0
cli_agent_terminal_workspace_surfaces: 0
chronos_repository_mutations: 0
external_mutations: 0
canonical_promotion: pending
canonical_promotion: applied
staging_promotion_commit: 7b90b7e5af9035fae2b5349c65eb322096d21b1b
canonical_base_commit: c3a24ec5febab9fc978fd62392efcb6c96e12ec9
canonical_promotion_commit: c8e98d4e10b30114de7bafe426a4045abd6c1205
canonical_promotion_verified_at: 2026-08-02T11:42:32Z
staging_boundary_correction_commit: 7cc9f2d142fac863eff173515f2a81e0a5c9e0f4
canonical_boundary_correction_commit: 81243284cb89206911ec45e99f80701b591c88ae
canonical_boundary_correction_verified_at: 2026-08-02T12:13:14Z
canonical_origin_dev_commit: c3a24ec5febab9fc978fd62392efcb6c96e12ec9
canonical_promotion_push_status: not-pushed
canonical_user_roadmap_restore_status: pass
canonical_user_roadmap_path_count: 3
canonical_recovery_patch_initial_path: /tmp/iop-canonical-promotion.QOCOar/canonical-roadmap.patch
canonical_recovery_patch_initial_sha256: 1f1afe533e910b6311390071e07799bf6cc24ca742853bb45a3eceb3da1d4575
canonical_recovery_stash_initial_commit: a91e4af2bc23c7fab2ef0ea026e2b453e9393848
canonical_recovery_stash_initial_name: iop-canonical-promotion-roadmap-20260802T102956Z
canonical_recovery_patch_prepromotion_path: /tmp/iop-canonical-promotion.QOCOar/canonical-roadmap-prepromotion-20260802T112929Z.patch
canonical_recovery_patch_prepromotion_sha256: 314132fd4943d5a49e47a0fd499c39761bf4ff65f725f129c3a949f7e2927db6
canonical_recovery_stash_prepromotion_commit: ff81ecb5e8b16fc81ecce4273afe24ff06236287
canonical_recovery_stash_prepromotion_name: iop-canonical-promotion-roadmap-20260802T112929Z
integration_conflict_inventory_path: /tmp/iop-canonical-promotion.QOCOar/integration-unmerged.txt
integration_conflict_inventory_sha256: 15e564744e83accd74981a5976432d14d8638815cab0fefc1d1eaabe97a4aca4
integration_conflict_count: 34
integration_unexpected_conflicts_path: /tmp/iop-canonical-promotion.QOCOar/unexpected-conflicts.txt
integration_unexpected_conflicts_sha256: 15e564744e83accd74981a5976432d14d8638815cab0fefc1d1eaabe97a4aca4
integration_qualification_worktree: /config/workspace/iop-canonical-integration
integration_evidence_directory: /tmp/iop-canonical-promotion.QOCOar/evidence
canonical_full_go_regression: pass
canonical_flutter_test_count: 44
canonical_flutter_regression: pass
canonical_web_build: pass
canonical_control_plane_edge_wire: pass
canonical_credential_slot_smoke: pass
canonical_readability_audit: pass
canonical_reconnect_diagnostic: pass
canonical_generation_idempotency: pass
canonical_provider_only_boundary_audit: pass
agent_ui_reconciliation: pass
agent_ui_sync_state_sha256: abce070a46563ebd9b45599882c91814ac1236966c4d3c6a53ce3dbb840f1788
downstream_lock: chronos:chronos-architecture-ownership-boundary
downstream_lock_status: enable
milestone_archive_status: completed
milestone_archived_at: 2026-08-02T12:34:51Z
staging_lock_identity: iop-s1:agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md
staging_lock_result: none
canonical_lock_identity: iop:agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md
@ -93,9 +134,20 @@ canonical_lock_result: rely-on:chronos:chronos-architecture-ownership-boundary
- 작성일: 2026-07-31 (2026-08-02 D04 정리)
- 현재 타겟: IOP standalone surface 제거 및 D04 경계 수립
- 상태: D04 분리 진행 중
- Status: canonical promotion verified; milestone closure and archive completed.
- 기록 위치: IOP 선행 분리 원본은 IOP Roadmap/SDD에, 완료 뒤 제품 개발 원본은 Chronos Roadmap에 둔다.
## Canonical Promotion Receipt
- The reviewed staging commit `7b90b7e5af9035fae2b5349c65eb322096d21b1b` was rebuilt as the single canonical promotion commit `c8e98d4e10b30114de7bafe426a4045abd6c1205` on base `c3a24ec5febab9fc978fd62392efcb6c96e12ec9`.
- A post-promotion boundary correction removed the residual standalone-Agent and terminal-session ownership wording from `packages/go/execution/doc.go`, `packages/go/execution/types.go`, and `apps/node/cmd/node/main.go`, and added the `TestRootCmdUsesProviderOnlyDescription` Node CLI regression. It landed as the staging child commit `7cc9f2d142fac863eff173515f2a81e0a5c9e0f4` on parent `7b90b7e5af9035fae2b5349c65eb322096d21b1b` and the canonical child commit `81243284cb89206911ec45e99f80701b591c88ae` on parent `c8e98d4e10b30114de7bafe426a4045abd6c1205`. Both children carry the identical four-path change set and the same stable patch id `2e89dc0ed8a45542531af2e16efaf397dd3b2602`; neither rewrites the reviewed promotion commit, and canonical-only credential support in `types.go` remains untouched.
- The exact 34-path conflict inventory is stored at `/tmp/iop-canonical-promotion.QOCOar/integration-unmerged.txt` with SHA-256 `15e564744e83accd74981a5976432d14d8638815cab0fefc1d1eaabe97a4aca4`. Every conflict was resolved in favor of the current managed projection, mTLS, credential-recipient, lease, and provider-runtime boundaries while removing standalone Agent, workspace, terminal, and session ownership.
- The canonical `dev` branch was fast-forwarded locally. `origin/dev` remains at the base commit and no push was performed.
- All three pre-existing roadmap edits were restored as unstaged user changes. Both patch generations and both retained stash commits above remain available for recovery.
- The final integration and canonical verification matrix passed full Go tests, 44 Flutter tests, the Flutter web build, Control Plane/Edge wire checks, deterministic credential-slot smoke profiles, readability audit, reconnect diagnostics, generated-source idempotency, and provider-only forbidden-surface scans.
- `console-shell` is reconciled as implemented with no Agent enum, slot, or rail action. The milestone reconciliation record is stored in `agent-ui/.sync-state.json`.
- The Milestone and SDD were archived after the canonical verification gates passed, and the Chronos dependency was changed to `enable`. The canonical branch remains local and was not pushed.
## 사용자 확정 사항
1. `/config/workspace/iop-s0`에서 진행했던 `IOP Agent CLI Runtime` Milestone은 기존 범위대로 완료됐다.

View file

@ -1,9 +1,9 @@
# Milestone: IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거
# Milestone: [separation-01] IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거
## 위치
- Roadmap: [ROADMAP.md](../../../ROADMAP.md)
- Phase: [PHASE.md](../PHASE.md)
- Roadmap: [ROADMAP.md](../../../../ROADMAP.md)
- Phase: [PHASE.md](../../../../phase/automation-runtime-bridge/PHASE.md)
## 목표
@ -11,7 +11,7 @@
## 상태
[검토중]
[완료]
## 승격 조건
@ -55,13 +55,15 @@
## 완료 리뷰
- 상태: 보완 필요
- 상태: 통과
- 요청일: 2026-08-02
- 완료 근거: `inventory`는 Task 03/16/10/13의 303행 historical baseline, corrected 300행 manifest, 137행 delta·addendum과 437행 effective matrix로 충족했다. `transfer`는 Task 04~06/16의 versioned bundle, 격리 behavior test, 12-record owner-state 이전과 digest evidence로 충족했다.
- 완료 근거: `decouple`·`retain-node`는 Task 07~10의 제거/audit·provider-only focused regression과 현재 금지 surface 재스캔으로, `handoff-gate`는 Task 13~15의 pre-deletion receipt·최종 삭제 evidence·tracked `HANDOFF.md` 복합 receipt로 충족했다.
- 완료 근거: 2026-08-02 fresh 검증에서 `go test -count=1 ./...`, `make client-test`(44 tests), `make client-build-web`, `make test-control-plane-edge-wire`, `make readability-audit`, initial/reconnect diagnostic, 삭제 surface scan과 `git diff --check`가 모두 통과했다. 삭제된 reconnect spec 포인터와 제거된 domain-agent UI 활성 정의는 현행 service test와 Node/provider operation UI 기준으로 바로 동기화했다.
- 검토 항목: [canonical promotion closure plan](../../../../agent-task/m-iop-agent-chronos-extraction-decoupling/17+15,16_canonical_promotion_closure/PLAN-cloud-G10.md)에 따라 검토된 staging commit을 정식 `/config/workspace/iop`에 반영하고 canonical 회귀·Agent UI reconciliation·promotion receipt를 확보한 뒤 종료 검토를 재개한다.
- 리뷰 코멘트: 구현·계약·테스트 결함은 발견되지 않았다. 큰 잔여 이슈는 canonical `/config/workspace/iop``dev...origin/dev [behind 1]`이면서 `[separation-01]` 관련 roadmap 3개 파일이 별도 수정 상태라는 점이다. `iop-s1` identity는 workspace lock에 없고 canonical `iop:` identity는 Chronos lock의 `rely-on` target으로 아직 `disable`이므로, plan PASS와 정식 checkout 반영 전에 아카이브하거나 잠금을 해제하지 않는다.
- 완료 근거: staging task archive의 `17+15,16_canonical_promotion_closure/complete.log`가 세 차례 review loop와 최종 PASS를 기록하며, canonical [HANDOFF.md](../../../../../HANDOFF.md)가 승격 receipt를 보존한다. 검토된 승격은 canonical `dev``c8e98d4e10b30114de7bafe426a4045abd6c1205`에, provider-only 경계 정정은 `81243284cb89206911ec45e99f80701b591c88ae`에 반영됐다.
- Spec sync: Spec update not needed. [Edge-Node 실행](../../../../../agent-spec/runtime/edge-node-execution.md), [Provider Pool 설정 갱신](../../../../../agent-spec/runtime/provider-pool-config-refresh.md), [OpenAI-compatible 입력](../../../../../agent-spec/input/openai-compatible-surface.md), [Control Plane 운영](../../../../../agent-spec/control/control-plane-operations.md)의 상태와 evidence 포인터가 현행 구현과 일치한다.
- 검토 항목: 없음
- 리뷰 코멘트: canonical provider/Node Go tests, Flutter 44 tests, Control PlaneEdge wire smoke, Agent UI reconciliation, 충돌·whitespace 검사가 모두 통과했다. Milestone과 SDD를 archive하고 Chronos `rely-on``enable`로 전환했다.
## 범위 제외
@ -73,7 +75,7 @@
## 작업 컨텍스트
- 관련 기준: 완료된 [IOP Agent CLI Runtime](../../../archive/phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md), 기준 source revision의 legacy contract snapshot, `apps/agent`, `packages/go/agent*`, `proto/iop/agent.proto`, `Makefile`, `scripts/e2e-iop-agent-logged-smoke.sh`, `../chronos`
- 관련 기준: 완료된 [IOP Agent CLI Runtime](iop-agent-cli-runtime.md), 기준 source revision의 legacy contract snapshot, `apps/agent`, `packages/go/agent*`, `proto/iop/agent.proto`, `Makefile`, `scripts/e2e-iop-agent-logged-smoke.sh`, `../chronos`
- 표준선(선택): 이 Milestone이 전체 이전 bundle 생성과 IOP 제거의 유일한 실행 owner다. source 삭제 전 bundle의 격리 staging build와 동작 검증을 확인하고, 삭제 뒤에는 git revision과 transfer receipt로만 rollback한다. Chronos repository import와 최종 source layout 결정은 외부 잠금 해제 뒤 Chronos 수용 Milestone이 소유한다.
- 표준선(선택): IOP Node는 IOP model/provider/device 운영 경계만 유지한다. standalone workflow/state/client lifecycle, CLI agent session, terminal/PTY, workspace·원격 호스트 제어 또는 Chronos 전용 bridge/API/proto/config를 보유하지 않는다.
- 표준선(선택): Chronos는 자체 Server와 IOP Node와 별개인 Chronos Node를 소유한다. Chronos가 추론을 사용할 때는 IOP의 외부 API를 일반 client로 호출하며 IOP Node를 연결·등록·제어하지 않는다.
@ -82,7 +84,7 @@
- Workspace 잠금 identity: `.agent-roadmap-sync/locks.yaml`의 선행 target은 정식 프로젝트 `iop:agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md`다. 현재 별도 checkout `iop-s1`의 완료 상태를 같은 identity로 간주하지 않으며, 검토된 commit이 `/config/workspace/iop`에 반영되고 그 정식 Milestone 상태가 동기화되기 전에는 Chronos 잠금을 해제하지 않는다.
- 기준 source revision: `3155be0e275437a8eedc1aa93497955a7d30465b`
- 구현 분류 기준: 모든 기존 `apps/agent/**``packages/go/agent*/**` source는 Chronos 이전 입력에 포함하고 IOP의 기존 agent-named 경로에서는 제거한다. IOP Node가 model/provider/device 운영에 실제로 사용하는 최소 부분만 비(非)Agent 이름의 중립 패키지로 재배치하며 CLI agent·workspace·terminal·Chronos 연결 의미를 포함하지 않는다.
- 큐 배치: Chronos 전체 Roadmap의 선행 gate이므로 전역 실행 순서 1번이다.
- 선행 작업: 완료된 [IOP Agent CLI Runtime](../../../archive/phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md)
- 후속 작업: [Chronos 아키텍처와 프로젝트 소유권 경계 확정](../../../../../chronos/agent-roadmap/phase/runtime-ownership-transition/milestones/chronos-architecture-ownership-boundary.md)
- 큐 배치: [전역 마일스톤 실행 순서](../../../../priority-queue.md)의 완료된 `[separation-01]` lane이며 Chronos 전체 Roadmap의 선행 gate였다.
- 선행 작업: 완료된 [IOP Agent CLI Runtime](iop-agent-cli-runtime.md)
- 후속 작업: [Chronos 아키텍처와 프로젝트 소유권 경계 확정](../../../../../../chronos/agent-roadmap/phase/runtime-ownership-transition/milestones/chronos-architecture-ownership-boundary.md)
- 사용자 결정: [user_review_0.log](../../../sdd/automation-runtime-bridge/iop-agent-chronos-extraction-decoupling/user_review_0.log), [user_review_1.log](../../../sdd/automation-runtime-bridge/iop-agent-chronos-extraction-decoupling/user_review_1.log)에서 해결됨. 후자가 IOP Node와 Chronos의 연결 가능성을 남긴 이전 D02 해석을 대체한다.

View file

@ -3,7 +3,7 @@
## 위치
- Milestone: [Milestone 문서](../../../phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md)
- Phase: [PHASE.md](../../../phase/automation-runtime-bridge/PHASE.md)
- Phase: [PHASE.md](../../../../phase/automation-runtime-bridge/PHASE.md)
## 상태
@ -51,7 +51,7 @@
## Interface Contract
- 이전 계약 기준: 완료된 [IOP Agent CLI Runtime](../../../archive/phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md)과 `source_revision`에서 고정한 legacy contract snapshot. 활성 IOP 계약 파일은 decouple 단계에서 제거한다.
- 이전 계약 기준: 완료된 [IOP Agent CLI Runtime](../../../phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md)과 `source_revision`에서 고정한 legacy contract snapshot. 활성 IOP 계약 파일은 decouple 단계에서 제거한다.
- 입력:
- `source_revision`: Task 03 inventory 기준으로 고정된 historical IOP commit
- `disposition_manifest`: Task 03의 source revision·303행(`file=293`, `state=10`)·`universe·duplicate=0` historical evidence를 승계하고, Task 16 corrected pinned-transfer manifest 300행(`file=290`, `state=10`, `retain-generic=135`)과 SHA `d8598134dee99d96fc05a045091dd3d8932d4708d2c980c2a78c8b11825d2ccf`를 current pinned-transfer baseline으로 추가로 고정한 original historical `transfer | retain-generic | remove | reference` 분류. Task 16 이후 manifest bytes는 pinned-tree 파생으로 교정되었다. D04 반영을 위해 원본 bytes는 다시 쓰지 않는다.
@ -107,7 +107,7 @@
- [x] Milestone 기능 Task와 Acceptance Scenario가 일치한다.
- [x] Evidence Map이 IOP 완료 검토와 Chronos lock 해제 근거로 검증 가능하다.
- [x] 완료된 [IOP Agent CLI Runtime](../../../archive/phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md)과 source revision의 legacy contract snapshot을 복제하지 않고 이전 입력으로 참조했다.
- [x] 완료된 [IOP Agent CLI Runtime](../../../phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md)과 source revision의 legacy contract snapshot을 복제하지 않고 이전 입력으로 참조했다.
- [x] 사용자 결정이 SDD에 반영되고 해결 기록이 [user_review_0.log](user_review_0.log), [user_review_1.log](user_review_1.log)로 보존되어 있다.
## 사용자 리뷰 이력
@ -118,7 +118,7 @@
## 작업 컨텍스트
- 표준선: ownership manifest 기반의 parity-before-delete, cross-repo application import 금지, 전체 상태의 읽기 전용 이전과 repository-local execution ownership을 적용한다. 깨진 잔여 기록은 재개 가능한 상태로 포장하지 않고 격리 보관 자료로 전달한다. 실제 Chronos state import와 Chronos Server/Node·loop/agent/terminal 설계는 후속 Chronos SDD가 소유하고, IOP는 외부 추론 API 외의 Chronos 연결점을 제공하지 않는다.
- 후속 SDD: [Chronos Architecture SDD](../../../../../chronos/agent-roadmap/sdd/runtime-ownership-transition/chronos-architecture-ownership-boundary/SDD.md)
- 후속 SDD: [Chronos Architecture SDD](../../../../../../chronos/agent-roadmap/sdd/runtime-ownership-transition/chronos-architecture-ownership-boundary/SDD.md)
### 승격 기준 분류표

View file

@ -8,7 +8,7 @@
과거 IOP 안에서 공통화한 CLI Agent/Automation 자산을 독립 Chronos 플랫폼으로 이전하고, IOP를 추론 provider 운영 책임으로 되돌린다.
완료된 CLI 실행, workspace agent, Agent Task selector와 standalone `iop-agent`는 이전 기준선일 뿐 IOP의 장기 제품 경계가 아니다.
[IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거](milestones/iop-agent-chronos-extraction-decoupling.md)가 모든 관련 자산을 repository-neutral Chronos acceptance bundle로 전달하고 IOP의 agent·workspace·terminal·host/client lifecycle surface와 Chronos 연결점을 제거한다. 이 Milestone 완료 전에는 Chronos Roadmap을 시작하지 않으며, 이후 실제 repository import, 최종 layout 결정, 외부 접근 가능한 Chronos Server, 독립 Chronos Node, 작업 루프·agent·terminal·원격 호스트 제어는 Chronos가 소유한다.
[[separation-01] IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거](../../archive/phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md)가 모든 관련 자산을 repository-neutral Chronos acceptance bundle로 전달하고 IOP의 agent·workspace·terminal·host/client lifecycle surface와 Chronos 연결점을 제거했다. 이후 실제 repository import, 최종 layout 결정, 외부 접근 가능한 Chronos Server, 독립 Chronos Node, 작업 루프·agent·terminal·원격 호스트 제어는 Chronos가 소유한다.
IOP Control Plane·Edge·IOP Node에는 model/provider/device 서빙에 필요한 route·실행·취소·상태·usage·lifecycle만 남긴다. Chronos는 필요할 때 IOP의 외부 추론 API를 일반 client로 소비하며 IOP Node에 연결하거나 제어하지 않는다.
## Milestone 흐름
@ -98,9 +98,9 @@ Phase를 가로지르는 실제 다음 작업 선택은 [전역 마일스톤 실
- 경로: [iop-agent-cli-runtime](../../archive/phase/automation-runtime-bridge/milestones/iop-agent-cli-runtime.md)
- 요약: Python 감시·dispatcher와 Node CLI runtime 동등성을 공통 Go CLI Provider·AgentTaskManager 및 개인 장비당 단일 `iop-agent` binary로 이전하고, 다중 project 관측·수동 시작/자동 재개·client subprocess 소유 경계를 완료했다.
- [검토중] IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거
- 경로: [IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거](milestones/iop-agent-chronos-extraction-decoupling.md)
- 요약: 완료된 `iop-agent`의 모든 관련 자산과 저장 상태를 repository-neutral Chronos acceptance bundle로 전달하고 IOP의 agent·terminal·workspace·Chronos 연결 surface를 제거한 뒤, 추론 provider 운영 경계만 남은 IOP Node 회귀와 downstream 잠금 해제 evidence를 남긴다.
- [완료] [separation-01] IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거
- 경로: [[separation-01] IOP Agent Runtime의 Chronos 전체 이전과 IOP 의존성 제거](../../archive/phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md)
- 요약: `iop-agent` 자산과 상태를 repository-neutral Chronos acceptance bundle로 전달하고 IOP의 agent·terminal·workspace·Chronos 연결 surface를 제거했다. canonical `dev`의 provider-only 회귀와 Agent UI 정합화가 통과해 Chronos 선행 잠금을 활성화했다.
- [폐기] oto 자동화 스케줄러와 CI-CD 연동 (2차)
- 경로: [oto-automation-scheduler-second-wave](../../archive/phase/automation-runtime-bridge/milestones/oto-automation-scheduler-second-wave.md)

View file

@ -2,25 +2,35 @@
"schema_version": 4,
"surface_type": "ops-dev",
"baseline_mode": "migration",
"last_sync_mode": "baseline",
"last_synced_head": "bebd95f909db96413aecd6873fdfddd17bac4c74",
"last_synced_at": "2026-06-25T01:54:27Z",
"last_sync_mode": "milestone-reconcile",
"last_synced_head": "c8e98d4e10b30114de7bafe426a4045abd6c1205",
"last_synced_at": "2026-08-02T11:33:33Z",
"agent_ui_paths": [
"agent-ui/README.md",
"agent-ui/definition/index.md",
"agent-ui/definition/views",
"agent-ui/definition/components",
"agent-ui/frame/index.md"
"agent-ui/definition/components/console-shell/index.md"
],
"code_paths": [
"apps/client/Dockerfile",
"apps/client/README.md",
"apps/client/lib/client_home_page.dart",
"apps/client/lib/main.dart",
"apps/client/pubspec.lock",
"apps/client/pubspec.yaml",
"packages/flutter/iop_console/lib/src/iop_console_contract.dart",
"packages/flutter/iop_console/lib/src/iop_console_shell.dart",
"packages/flutter/iop_console/pubspec.yaml",
"packages/flutter/iop_console/test/iop_console_shell_test.dart"
],
"code_paths": [],
"notes": [
"Legacy agent-ui baseline migration. No code sync performed."
"Legacy agent-ui baseline migration. No code sync performed.",
"milestone reconcile: milestone=agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md; closure=Closure-ready (complete-milestone check-only): all five feature tasks are checked; the SDD is approved and unlocked; canonical commit c8e98d4e10b30114de7bafe426a4045abd6c1205 passed Go, 44 Flutter tests, web build, Edge wire, credential-slot smoke, readability, reconnect, generation, and provider-only boundary audits; update-spec check-only found the current provider/runtime specs synchronized and no update needed.; validation=validate-agent-ui PASS (component:console-shell, sync-intent=skip): frontmatter and body status agree at implemented; code and documentation evidence paths exist; the component index agrees; the implementation has no Agent enum, slot, or rail action; no active agent-ui USER_REVIEW exists.; baseline=updated:c8e98d4e10b30114de7bafe426a4045abd6c1205"
],
"pending_code_work": [],
"reconciled_code_work": [],
"pending_milestone_work": [
"pending_milestone_work": [],
"reconciled_milestone_work": [
{
"milestone_path": "agent-roadmap/phase/automation-runtime-bridge/milestones/iop-agent-chronos-extraction-decoupling.md",
"closure_evidence": "Closure-ready (complete-milestone check-only): all five feature tasks are checked; the SDD is approved and unlocked; canonical commit c8e98d4e10b30114de7bafe426a4045abd6c1205 passed Go, 44 Flutter tests, web build, Edge wire, credential-slot smoke, readability, reconnect, generation, and provider-only boundary audits; update-spec check-only found the current provider/runtime specs synchronized and no update needed.",
"scope": "component:console-shell",
"status_paths": [
"agent-ui/definition/components/console-shell/index.md"
@ -38,13 +48,9 @@
"packages/flutter/iop_console/pubspec.yaml",
"packages/flutter/iop_console/test/iop_console_shell_test.dart"
],
"verification_requirements": [
"make client-test: exit code 0",
"make client-build-web: exit code 0"
],
"prepared_at": "2026-08-01T05:51:34Z",
"state": "pending"
"validation_evidence": "validate-agent-ui PASS (component:console-shell, sync-intent=skip): frontmatter and body status agree at implemented; code and documentation evidence paths exist; the component index agrees; the implementation has no Agent enum, slot, or rail action; no active agent-ui USER_REVIEW exists.",
"reconciled_at": "2026-08-02T11:33:33Z",
"sync_result_head": "c8e98d4e10b30114de7bafe426a4045abd6c1205"
}
],
"reconciled_milestone_work": []
]
}

View file

@ -1,7 +1,7 @@
---
ui_doc_type: component
component_id: console-shell
status: 계획
status: 구현됨
source_evidence:
- type: code
path: packages/flutter/iop_console/lib/src/iop_console_shell.dart
@ -21,7 +21,7 @@ source_evidence:
Component ID: `console-shell`
Status: `계획`
Status: `구현됨`
## Source Evidence
@ -72,3 +72,4 @@ IOP console view들을 좌측 rail navigation과 section content slot으로 묶
- 2026-06-25: `IopConsoleShell` 구현을 기준으로 component를 정의했다.
- 2026-08-01: 승인된 extraction SDD를 근거로 Agent section 제거 계획을 반영했다.
- 2026-08-02: `agent` enum/slot/rail action을 `IopConsoleShell`에서 제거했다.
- 2026-08-02: Canonical promotion verified the provider-only shell with no standalone Agent section; client tests and the web build passed.

View file

@ -20,7 +20,7 @@ components:
| Component ID | Status | Evidence | Description |
|--------------|--------|----------|-------------|
| `console-shell` | 계획 | `packages/flutter/iop_console/lib/src/iop_console_shell.dart` | standalone Agent section을 제거하고 범용 운영 section만 남길 console shell이다. |
| `console-shell` | 구현됨 | `packages/flutter/iop_console/lib/src/iop_console_shell.dart` | The implemented provider-only console shell exposes generic operations sections and no standalone Agent section. |
| `status-badge` | 구현됨 | `apps/client/lib/widgets/*.dart`, `packages/flutter/iop_console/lib/src/iop_console_overview.dart` | connection, node, command, lifecycle 상태를 색상 badge/chip으로 표시한다. |
| `endpoint-card` | 구현됨 | `packages/flutter/iop_console/lib/src/iop_console_overview.dart` | endpoint 또는 token reference 값을 label과 icon으로 표시한다. |
| `edge-selector` | 구현됨 | `apps/client/lib/widgets/nodes_panel.dart`, `apps/client/lib/widgets/runtime_panel.dart`, `apps/client/lib/widgets/execution_logs_panel.dart` | active/filter Edge dropdown과 refresh control이다. |