원격 터미널 브리지 선행 작업을 위해 PTY session core를 node-owned terminal package로 분리하고, CLI persistent executor가 새 경계를 사용하도록 정리한다.
검증 루프 산출물과 roadmap 컨텍스트도 함께 반영해 완료 근거와 후속 포트 표준화 범위를 남긴다.
- Move fleet polling logic to control orchestrator
- Split client state management into separate controller/repository
- Add client bootstrap and home page components
- Update HTTP fleet handlers and views
- Add unit tests for client bootstrap and status controller
- Archive completed subtask documents
터미널 세션 core와 CLI mode executor 경계를 분리해 후속 remote terminal bridge가 재사용할 내부 실행 기반을 만든다.
adapter 기본값과 vLLM experimental surface도 명시해 production 실행 경로가 mock fallback이나 미구현 실행으로 숨지 않게 한다.
Edge의 등록과 설정 표면을 generic node 기준으로 단순화하고, OTO 전용 bootstrap과 capability 분기 계약을 더 이상 노출하지 않도록 한다.
BREAKING CHANGE: iop-edge agent register, agent_kind=oto-agent, bootstrap OTO URL 필드를 제거한다.
- Refactor edge_registry.go and edge_server.go
- Update edge_server_test.go with new test cases
- Update main.go and main_test.go for edge integration
- Move completed tasks to archive
OTO agent bootstrap command 발급 전 Edge config가 OTO script URL과 release base URL을 보존하고 검증할 수 있어야 한다.\n\nRoadmap/task 산출물도 함께 기록해 다음 agent register command 작업이 같은 마일스톤 컨텍스트를 이어받도록 한다.
- Update edge node registry with snapshot tracking
- Fix mapper and store tests for registry changes
- Update transport server integration tests
- Add config support for new edge settings
- Sync roadmap with current phase progress
- Archive completed task groups
- Add ControlPlaneStatusClient for querying control plane state
- Add control plane status widgets for displaying status in client
- Update main.dart to integrate control plane status features
- Update widget_test.dart
- Archive completed task documents
Edge Dockerfile에서 envsubst를 사용해 환경 변수를 템플릿에
대입한 후 설정 파일을 생성하도록 변경한다.
- Dockerfile에 gettext 패키지를 추가한다
- configs/edge-compose.yaml을 configs/edge-compose.yaml.tmpl로
전환하여 환경 변수 대치 지원
- docker-compose.yml edge 서비스에 환경 변수를 명시적으로 전달
Add baselineAssistant tracking to prevent repainted/stale assistant
messages from being emitted when a new prompt is being entered.
Introduce latestClaudeAssistantMessageAfterPromptFromCleanOutput to
detect assistant messages that appear after the current prompt echo,
and isClaudePromptEchoLine to recognize prompt echo lines. Add tests
for suppression of previous replies while prompt echoes and for
allowing same text after current prompt.
- IopConsoleShell, IopAgentPanel 컴포넌트로 main.dart 리팩토링
- packages/iop_console 새 패키지 추가
- 클라이언트 pubspec에 iop_console 의존성 추가
- 로드맵 및 마일스톤에 embeddable-iop-console-workbench 추가
- 관련 규칙 및 문서 업데이트
- Add edge server registry and connection management
- Implement edge wire protocol with gRPC streaming
- Update proto definitions for control plane communication
- Add edge bootstrap runtime and connector
- Add code review and plan documentation for G08
- Add edge connector module (edge.go, edge_registry.go, edge_server.go)
- Add edge server tests (edge_server_test.go, edge_test.go)
- Update control.proto with edge-related messages and RPCs
- Generate proto files for Go, Dart
- Update control-plane Dockerfile and configuration
- Add client-side proto bindings
- Update roadmap and milestones for control-plane-edge-wire-baseline
- Add agent-task documentation for edge connector and local smoke tests
- Update docker-compose.yml for edge support
- Add artifact_server.go for edge node artifact serving
- Refactor bootstrap/runtime.go to use new artifact server
- Update Makefile for new build workflow
- Remove deprecated bin/build/field-binaries.sh
- Update edge README with new development workflow
- Update edge-local-dev-guide.md with artifact server info
- Add config and hostsetup updates for artifact serving
- Update agent-ops rules and testing domain rules
- Add streaming support and load balancing in OpenAI edge server
- Enhance Ollama adapter with runtime event handling and health checks
- Add new runtime event types for model loading/unloading
- Update e2e test script for OpenAI-Ollama flow
- node adapter CLI 내부 테스트 및 lifecycle 블랙박스 테스트 개선
- node adapter status 패키징 업데이트
- node controller 테스트 및 내부 로직 개선
- edge opsconsole 테스트 및 상태 로직 수정
- edge service 테스트 개선
- edge/node README 업데이트
- e2e smoke 스크립트 개선
- CLI command response archive 추가 (node/edge 테스트 결과)
- antigravity 기반 CLI status adapter 구현 (gemini 대체)
- milestone 파일명 통일 (接두어 제거)
- agent-ops roadmap/current.md 갱신
- edge/node README 및 설정 문서 업데이트
- e2e smoke 스크립트 개선
- Add CLI core setup for edge and node services
- Refactor edge transport layer (server, integration tests)
- Refactor node transport layer (parser, session, heartbeat, client)
- Add main_test.go files for edge and node commands
- Add input package for edge service
- Add go.work and go.work.sum for workspace support
- Update configs, docs, and project rules
- edge node registry: 노드 레지스트리 기능 개선
- edge opsconsole: 콘솔 및 이벤트 처리 로직 수정
- edge service: 서비스 레이어 변경
- agent-ops: init-agent-ops, sync-pull, sync-push 스킬 및 스크립트 업데이트
- 새 스크립트 추가: entry-files.sh
- Refactor edge node registry and store for improved management
- Update opsconsole console, events, and status components
- Enhance edge service and transport layers
- Improve CLI persistent adapter and output filter
- Update e2e smoke test script
- Update project and testing domain rules
- Update Makefile and documentation
- Add persistentOutputFilter interface with passthrough and Claude TUI filters
- Implement claudeTUIOutputFilter that renders visible screen and extracts assistant messages
- Add output filter integration to persistent adapter
- Improve status parser with additional test coverage
- Update edge opsconsole event handling with test coverage
- Add writePrompt with character-by-character typing for terminal profiles (2ms delay)
- Separate cliOutput into text and markerLine fields for precise completion matching
- Add consumeCompleteLines for buffered output parsing
- Add matchAny for multi-line completion marker checking
- Auto-accept Claude Code Bypass Permissions warning at startup
- Change PTY output reader from bufio.Scanner to ptmx.Read for raw byte output
- Improve drainUntilIdle with profile info and Claude bypass warning handling
- Add Claude status raw output fallback when usage parsing fails
- Add comprehensive blackbox tests for persistent sessions (21 test cases)
- Update e2e smoke test with proper wait functions, mock CLI script, and timeout variables
- Update edge.yaml console target from gemini to claude-tui, increase timeouts
- Update web app: add dev documentation, verify script, engines field, test message
- Add control-plane service with Dockerfile and internal packages
- Add web application (Next.js)
- Add docker-compose.yml for orchestration
- Update .gitignore and README.md
- Add edge runtime config and opsconsole package
- Refactor edge console to use new runtime config
- Add service source metadata support
- Update CLI adapter with target terminology
- Add edge operation contract and event bus replay
- Update node label and command ops surface
- Add E2E smoke tests and full validation
- Update proto runtime definitions
- Update documentation and agent-ops rules
- Add console events tracking in edge node
- Improve session management in node transport
- Add integration tests for edge and node transport
- Update events package with new event types
- Update README with current status
- Add edge_console_foreground_dedupe agent-task with plan and code review logs
- Update console_events.go with foreground dedupe support
- Update console_test.go with related test cases
- Update e2e-smoke SKILL.md
- CodexChecker에 waitForAny 패턴 지원 추가 (업데이트 프롬프트 처리)
- 'Skip' 자동 응답 추가하여 slash command 소비 방지
- 테스트 케이스 추가 및 edge config 업데이트
- 더 이상 사용되지 않는 run_codex.py 삭제
- opencode SSE 스트림 파서 어댑터 추가 (opencode_sse.go)
- 블랙박스/내부 테스트 파일 추가
- node/edge 애플리케이션의 CLI 어댑터 개선
- 설정 파일 및 README 업데이트
- agent-task opencode_sse_stream 추가
- edge node store 및 console 업데이트
- node adapters(cli, ollama, vllm, mock) 리팩토링
- node router, run_manager, store 개선
- proto 파일(control.proto, runtime.proto) 및 생성 코드 업데이트
- config 업데이트
- edge_config_mapper: 엣지 설정 매핑 기능 추가
- edge_node_id: 엣지 노드 ID 생성/관리 기능 추가
- node_router_registry: 노드 라우터 레지스트리 기능 추가
- node_writer_injection: 노드 writer 주입 기능 추가
- edge console 및 server 업데이트
- node bootstrap module 업데이트
- Refactor CLI emitters interface and internal test cases
- Update node.go to use new emitter patterns
- Add sink tests for node persistence validation
- Update edge.yaml for multi-point routing configuration
- Add runtime proto for CLI profile messages
- Update edge transport server with profile support
- Update node adapters factory for profile handling
- Regenerate protobuf code
codex-exec 모드를 명시적으로 지정하기 위해 CLIProfileConf에
mode와 resume_args 필드를 추가한다. 기존 isCodexExecProfile()의
명명 기반 판별을 삭제하고 설정 기반으로 전환한다.
주요 변경사항:
- CLIProfileConf에 mode, resume_args 필드 추가
- codex_exec.go에서 isCodexExecProfile(), codexResumeOptions() 삭제
- resume_args를 사용하여 resume 명령어 구성
- edge.yaml에 codex 프로필 mode와 resume_args 설정 추가
- codex-exec 모드 전용 테스트 케이스 추가
- add console_events.go for edge console event handling
- add codex_exec.go for CLI codex execution
- add codex_exec_test.go for persistent CLI tests
- update console.go and oneshot.go with new features
- update config and edge.yaml for new settings
- update README files for edge and node apps
- Add unbounded CLI sessions agent-task with plan and code review logs
- Add edge console with tests
- Add node run manager for session lifecycle management
- Add router and store tests
- Update transport session handling
- Add runtime proto definitions
- Update configurations and packages
- [2-1] executePersistent: add defer sess.mu.Unlock() so all return paths
release the session mutex. Remove explicit unlock calls.
- [2-2] Protect c.sessions map access in Execute with c.mu. Replace
c.Stop() in timeout/cancel path with per-session close/kill/delete so
only the affected profile session is cleaned up.
- [2-3] Add TestCLIExecutePersistentConsecutiveExecutes to verify the
same persistent profile can be executed consecutively without blocking.
Apply gofmt to all adapter files.
- CLI persistent 실행 중 ctx.Done() 발생 시 session을 정리하여 늦은 출력이
다음 run에 섞이는 문제 해결
- CLI Execute에서 mutex lock/unlock 구조를 개선하여 race condition 방지
- Registry.Stop이 모든 lifecycle adapter의 Stop을 시도하고, errors.Join 대신
first error 패턴으로 변경하여 한 adapter의 실패가 다른 adapter 정리를 막지 않도록 수정
- timeout 후 session 오염 방지 회귀 테스트 추가
- registry stop failure 후에도 preceding adapter stop이 호출되는 테스트 추가
- CLI partial profile rollback 테스트 강화
- Add node store implementation for edge app
- Add adapters factory for node app
- Update edge and node transport layers
- Update domain rules for edge and node
- Add bin scripts for edge and node
- Update configs and documentation
- Add agent-task node_centralized_mgmt directory
Edge Server와 Node Client 간 패킷(CapabilityRequest, RunRequest 등) 통신 흐름을 검증하는 통합 네트워크 테스트를 작성했다. Mock Client/Server를 사용하여 Go의 internal 패키지 규칙을 준수하면서 양측 통신을 완전하게 검증할 수 있다.
- Add edge node unit tests and transport package
- Add node test client and related artifacts
- Update bootstrap, node, and config modules
- Add proto generated files
- Update Makefile and configuration files
apps/node 중심 구현 — TCP+JSON transport, Hexagonal Architecture,
mock/cli adapter, fx DI, SQLite 실행 이력 저장.
edge/control-plane/worker는 cobra placeholder.
유닛 테스트 및 통합 테스트 클라이언트 계획서 추가.