From 159150c9b4d7af46c3dd54d4c1b686bf9524f6c1 Mon Sep 17 00:00:00 2001 From: toki Date: Wed, 17 Jun 2026 15:05:10 +0900 Subject: [PATCH] =?UTF-8?q?update:=20=EB=B3=80=EA=B2=BD=20=EC=82=AC?= =?UTF-8?q?=ED=95=AD=20=EB=B0=98=EC=98=81=20-=20test=20script,=20roadmap,?= =?UTF-8?q?=20csharp-port=20milestone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scripts/run_test_by_change.sh | 60 +++++++++++++++++++ agent-roadmap/ROADMAP.md | 4 +- agent-roadmap/milestones/csharp-port.md | 7 ++- 3 files changed, 67 insertions(+), 4 deletions(-) diff --git a/agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh b/agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh index 626773c..7779c46 100755 --- a/agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh +++ b/agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh @@ -86,6 +86,65 @@ get_record_git_ref() { awk '/^- git ref: / { print $NF; exit }' "$file" } +# ----------------------------------------------------------------------- +# 헬퍼: runner/docs self-check 결과 record 작성 +# ----------------------------------------------------------------------- +write_runner_selfcheck_record() { + local kind="$1" cmd="$2" exit_code="$3" reason="$4" + local ts created_at file git_ref overall status_summary + + mkdir -p "$runs_dir" + ts="$(date -u +%Y%m%d-%H%M%S)" + created_at="$(date -u +%Y-%m-%dT%H:%M:%SZ)" + file="$runs_dir/${ts}-proto-socket-runner-docs-selfcheck.md" + git_ref="$(git -C "$repo_root" rev-parse --short HEAD 2>/dev/null || printf 'unknown')" + status_summary="$(git -C "$repo_root" status --short 2>/dev/null || true)" + [ -n "$status_summary" ] || status_summary="clean" + + if [ "$exit_code" -eq 0 ]; then + overall="PASS" + else + overall="FAIL" + fi + + cat > "$file" <&2 bash -n "$script_dir/run_test_by_change.sh" >&2 exit_code=$? + record_path="$(write_runner_selfcheck_record "$kd" "$cmd" "$exit_code" "${reco_reasons[$i]}")" ;; esac diff --git a/agent-roadmap/ROADMAP.md b/agent-roadmap/ROADMAP.md index 166ddec..0033e7a 100644 --- a/agent-roadmap/ROADMAP.md +++ b/agent-roadmap/ROADMAP.md @@ -11,7 +11,7 @@ Proto Socket은 여러 언어와 플랫폼에서 일관되게 동작하는 얇 - 프로토콜 기반: 프로토콜 버전 `0.1`, 와이어 포맷, 버전 정책, canonical proto 원본, 레퍼런스 구현 패턴을 정의한다. - 검증과 호환성: 동일 언어 테스트, 크로스 언어 테스트, proto 동기화 검사, 지속 검증으로 사용 가능한 구현체들을 정렬한다. - 안정화와 유지: 현재 5개 언어 구현을 완성형 후보로 보고 안정성 판단, 문서 정합성, 유지 기준을 정리한다. -- 남은 native platform 포팅: 사용자 요청에 따라 C# Unity/.NET 포트를 다음 진행 대상으로 두고, Swift 구현 추가는 실제 수요가 생길 때까지 보류한다. +- 남은 native platform 포팅: C# Unity/.NET 포트와 Swift 구현 추가는 실제 수요 또는 명시적 재개 요청이 생길 때까지 보류한다. - 릴리즈 준비: 현재 릴리즈 표준은 Git ref/tag 기반 소비로 둔다. 외부 package registry 릴리즈는 별도 수요가 생길 때 후속 작업으로 분리한다. ## Milestone 목록 @@ -39,7 +39,7 @@ Proto Socket은 여러 언어와 플랫폼에서 일관되게 동작하는 얇 ### 남은 native platform 포팅 -- [C# Unity/.NET 포트](milestones/csharp-port.md) - 상태: [진행중]; 목표: 프로토콜 `0.1` 계약과 native-first 런타임 방향을 유지하면서 Unity 및 .NET 소비자를 지원하는 C# 구현을 추가한다. +- [C# Unity/.NET 포트](milestones/csharp-port.md) - 상태: [보류]; 목표: 실제 Unity/.NET 소비 수요 또는 명시적 재개 요청이 생길 때까지 C# 구현 추가를 보류한다. - [Swift Apple 플랫폼 포트](milestones/swift-port.md) - 상태: [보류]; 목표: 실제 iOS/macOS 소비 수요가 생길 때까지 Swift 구현 추가를 보류한다. ### 릴리즈 준비 diff --git a/agent-roadmap/milestones/csharp-port.md b/agent-roadmap/milestones/csharp-port.md index d1471db..7669741 100644 --- a/agent-roadmap/milestones/csharp-port.md +++ b/agent-roadmap/milestones/csharp-port.md @@ -10,12 +10,14 @@ ## 상태 -[진행중] +[보류] ## 구현 잠금 - 상태: 잠금 +- SDD: 확인 필요 (보류 해제 시 C# API/lifecycle 설계 범위를 보고 판단한다.) - 결정 필요: + - C# Unity/.NET 포트 재개 여부를 선택한다. - 지원할 .NET 및 Unity version target을 선택한다. ## 범위 @@ -46,7 +48,8 @@ ## 작업 컨텍스트 - 관련 경로: `PORTING_GUIDE.md`, `PROTOCOL.md`, `VERSIONING.md` -- 선행 작업: 안정화 기준선 완료 및 사용자 요청으로 C# 포트를 다음 마일스톤으로 지정 +- 선행 작업: 안정화 기준선 완료 +- 보류 사유: 실제 Unity/.NET 소비 수요 또는 명시적 재개 요청이 생길 때까지 구현하지 않는다. - 후속 작업: 릴리즈 준비 - 참고 구현: 동시성과 close-once 패턴은 Go를, public API 형태와 parser map 예시는 Dart를 참고한다. - 확인 필요: 지원할 .NET 및 Unity version target