iop/agent-test/dev-corp/platform-common-smoke.md
toki 8a4f6c55a1 sync: roadmap, skills, test inventory, streamgate package, docs updates
- Update roadmap milestones and phase docs across multiple phases
- Update plan, code-review, create-roadmap, update-roadmap, finalize-task-routing skills
- Update dev-corp-runtime-deploy, dev-runtime-deploy, orchestrate-agent-task-loop skills
- Refactor agent-task-loop dispatch script
- Add streamgate Go package (commit_boundary, evidence_tail, filter_registry, stream_release)
- Add test inventory files (dev, dev-corp, unified)
- Update test smoke tests and rules for dev/dev-corp
- Update docs/edge-local-dev-guide and e2e scripts
- Update inventory-query Go package
- Remove deprecated templates and inventory.yaml files
- Add orchestrate-agent-task-loop tests
2026-07-25 11:41:08 +09:00

4.5 KiB

test_env test_profile domain verification_type last_rule_updated_at
dev-corp platform-common-smoke platform-common smoke 2026-07-11

platform-common-smoke dev-corp 테스트

읽기 조건

  • packages/go/**, proto/**, configs/** 변경 또는 dev-corp 공통 설정, protobuf 계약, host setup 검증 판단이 필요한 경우

적용 범위

  • packages/go/**
  • proto/iop/**
  • proto/gen/iop/**
  • configs/**
  • dev-corp env/compose/config 계약
  • provider model alias와 provider-specific served_model mapping

분류

  • domain: platform-common
  • verification_type: smoke
  • scope: 공통 패키지, 설정, protobuf 계약 baseline

환경

  • host: local checkout. dev-corp field/runtime evidence가 필요한 경우에만 mac-mini runner를 사용한다.
  • port: dev-corp Edge-Node TCP transport 19006, native provider-pool Edge-Node TCP 후보 18087, Edge OpenAI-compatible HTTP 후보 18086, Client WS 19004, artifact/bootstrap 후보 18085.
  • runtime: Go 1.24
  • package manager: Go modules / Makefile
  • docker: unit/codegen quick check는 Docker를 요구하지 않는다. compose dev-corp 검증은 mac-mini에서 수행한다.
  • external service: dev-corp artifact/base URL 기본 후보 http://iop.ai.kr:18085; mac-mini runner/local legacy 경로는 bootstrap 기본 URL로 쓰지 않는다.
  • model endpoint: dev-corp OpenAI-compatible base URL 기본 후보 https://digitalplatform.iop.ai.kr/v1; direct Edge listener 확인이 필요할 때만 http://digitalplatform.iop.ai.kr:18086/v1
  • credential: token/secret/API key 원문은 문서에 기록하지 않는다.

명령

  • 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 예시가 일치하는지 확인한다.
  • dev-corp env/compose 계약 변경 시 .env.dev-corp.example, docker-compose.yml 또는 compose override, agent-test/dev-corp/rules.md의 포트가 서로 일치하는지 확인한다.
  • provider config 변경 시 IOP model alias 후보 gemma4:26b, ornith:35b 또는 작업에서 확정한 alias와 각 provider served_model 값이 agent-test/inventory-dev-corp.yaml과 맞는지 확인한다.
  • Mac Studio vLLM-MLX provider config는 catalog type: openai_compat를 사용하고, 실제 runtime 구분은 agent-test/inventory-dev-corp.yamlruntime_type: vllm-mlx로 추적한다.

보조 검증

  • go test ./...는 저장소 전체 회귀 확인으로 사용한다.
  • 실행 경로에 닿는 config/proto 변경은 make test-e2e를 보조 확인으로 사용할 수 있다.

판정 기준

  • 공통 패키지는 앱 내부 패키지를 import하지 않는다.
  • proto 생성물은 원본 proto와 make proto 결과로만 갱신된다.
  • 설정 예시는 loader/default와 어긋나지 않는다.
  • dev-corp 포트는 local/test/dev 포트를 덮어쓰지 않고 dev-corp profile에서만 사용된다.
  • provider-specific served model id 차이는 Edge/OpenAI-compatible 경계에서 내부 adapter + target 매핑으로 흡수된다.
  • provider catalog type은 config validator가 허용하는 값과 일치해야 하며, runtime implementation label을 catalog type으로 대신 쓰지 않는다.

기준 출력 예시

go test ./packages/go/... ./proto/gen/...

차단 기준

  • protoc 또는 protoc-gen-go가 없어서 proto 생성 검증을 실행할 수 없다.
  • config 변경이 실제 환경값이나 credential 없이는 판정 불가능하다.
  • dev-corp provider endpoint나 model alias 결정이 불명확해 config baseline을 확정할 수 없다.

보고 항목

  • 실행한 명령:
  • 성공한 검증:
  • 실패/차단된 검증:
  • 생략 사유:
  • 남은 위험:

금지 사항

  • proto/gen/iop/*.pb.go 생성 파일을 직접 수정하지 않는다.
  • 앱 하나만을 위한 임시 타입을 충분한 근거 없이 공통 패키지로 승격하지 않는다.
  • 사용자가 명시적으로 요청하지 않았는데 mac-mini runner/local legacy 경로를 Edge public runtime/config 기본값으로 사용하지 않는다.
  • secret, token, API key 원문은 tracked 파일에 기록하지 않는다.