누적된 잠금·승인·증거 체인이 구현과 완료를 반복 차단해 작업 비용을 키웠다. 보안·데이터 손상·명시적 외부 의존성만 차단 조건으로 남기고 로드맵과 스킬의 기본 흐름을 단순화한다.
93 lines
3.6 KiB
Markdown
93 lines
3.6 KiB
Markdown
---
|
|
test_env: dev
|
|
test_profile: platform-common-smoke
|
|
domain: platform-common
|
|
verification_type: smoke
|
|
last_rule_updated_at: 2026-06-12
|
|
---
|
|
|
|
# platform-common-smoke dev 테스트
|
|
|
|
## 읽기 조건
|
|
|
|
- `packages/go/**`, `proto/**`, `configs/**` 변경 또는 공통 설정, protobuf 계약, host setup dev 검증 판단이 필요한 경우
|
|
|
|
## 적용 범위
|
|
|
|
- `packages/go/**`
|
|
- `proto/iop/**`
|
|
- `proto/gen/iop/**`
|
|
- `configs/**`
|
|
- dev env/compose/config 계약
|
|
|
|
## 분류
|
|
|
|
- domain: platform-common
|
|
- verification_type: smoke
|
|
- scope: 공통 패키지, 설정, protobuf 계약 baseline
|
|
|
|
## 환경
|
|
|
|
- host: local checkout. dev field/runtime evidence가 필요한 경우에만 원격 runner를 사용한다.
|
|
- port: dev Edge-Node TCP transport `19003`, dev Edge OpenAI-compatible HTTP 후보 `18083`, dev Portal/Control Plane wire test endpoint `19001`, dev artifact/bootstrap 후보 `18082`.
|
|
- runtime: Go `1.24`
|
|
- package manager: Go modules / Makefile
|
|
- docker: unit/codegen quick check는 Docker를 요구하지 않는다. compose dev 검증은 `docker compose --env-file .env.dev.example ...`로 수행한다.
|
|
- external service: dev artifact/base URL 후보 `http://toki-labs.com:18082`
|
|
- model endpoint: dev OpenAI-compatible base URL 후보 `http://toki-labs.com:18083/v1`
|
|
- credential: token/secret 원문은 문서에 기록하지 않는다.
|
|
|
|
## 명령
|
|
|
|
- setup:
|
|
- lint:
|
|
- unit: `go test ./packages/go/... ./proto/gen/...`
|
|
- smoke: `go test ./...`
|
|
- e2e: `make test-e2e`
|
|
- model:
|
|
- full-cycle: 설정/proto 변경이 사용자 실행 파이프라인에 닿으면 edge-node 실제 구동 검증
|
|
|
|
## 최소 검증
|
|
|
|
- 공통 패키지 변경 시 변경 패키지 테스트 또는 `go test ./packages/go/... ./proto/gen/...`를 실행한다.
|
|
- protobuf 원본 변경 시 `make proto`로 Go 생성물을 갱신하고 생성물 diff를 확인한다.
|
|
- config 계약 변경 시 `packages/go/config` struct/default와 `configs/*.yaml` 예시가 일치하는지 확인한다.
|
|
- provider long-context admission field 변경 시 모든 model group 참조 provider가 `total_context_tokens >= context_window_tokens * long_context_capacity`를 만족하는지 `go run ./apps/edge/cmd/edge config check`로 확인한다. dev 기준값은 `agent-test/inventory-dev.yaml`(GX10/mac `long_context_capacity=1`, OneXPlayer `2`, `786432` 금지)을 따른다.
|
|
- dev env/compose 계약 변경 시 `.env.dev.example`, `docker-compose.yml`, `agent-test/dev/rules.md`의 포트가 서로 일치하는지 확인한다.
|
|
|
|
## 보조 검증
|
|
|
|
- `go test ./...`는 저장소 전체 회귀 확인으로 사용한다.
|
|
- 실행 경로에 닿는 config/proto 변경은 `make test-e2e`를 보조 확인으로 사용할 수 있다.
|
|
|
|
## 판정 기준
|
|
|
|
- 공통 패키지는 앱 내부 패키지를 import하지 않는다.
|
|
- proto 생성물은 원본 proto와 `make proto` 결과로만 갱신된다.
|
|
- 설정 예시는 loader/default와 어긋나지 않는다.
|
|
- dev 포트는 local/test 포트를 덮어쓰지 않고 dev profile에서만 사용된다.
|
|
|
|
## 기준 출력 예시
|
|
|
|
```text
|
|
go test ./packages/go/... ./proto/gen/...
|
|
```
|
|
|
|
## 차단 기준
|
|
|
|
- `protoc` 또는 `protoc-gen-go`가 없어서 proto 생성 검증을 실행할 수 없다.
|
|
- config 변경이 실제 환경값이나 credential 없이는 판정 불가능하다.
|
|
|
|
## 보고 항목
|
|
|
|
- 실행한 명령:
|
|
- 성공한 검증:
|
|
- 실패/차단된 검증:
|
|
- 생략 사유:
|
|
- 남은 위험:
|
|
|
|
## 금지 사항
|
|
|
|
- `proto/gen/iop/*.pb.go` 생성 파일을 직접 수정하지 않는다.
|
|
- 앱 하나만을 위한 임시 타입을 충분한 근거 없이 공통 패키지로 승격하지 않는다.
|
|
- secret, token, 개인 endpoint 원문은 tracked 파일에 기록하지 않는다.
|