- [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.
유닛 테스트 및 통합 테스트 클라이언트 계획서 추가.