# ICU 실행 플랫폼

> **연동 검증용 참조 MVP** — 본 저장소는 주식회사 비아가 A-SW Hub 사용 흐름을 검증하기 위해 제작한 참조 구현입니다. 티와이엠아이씨티의 공식 납품 코드나 연구성과를 대체하지 않습니다.

## 목적

센서 프레임과 A-SW 목표값을 ICU 액추에이터 명령 봉투로 변환합니다.

- 사업 역할 기관: **티와이엠아이씨티**
- 기술 영역: **Runtime**
- 성숙도: 인터페이스 협의 및 파이프라인 검증용 MVP
- 실행환경: C++17

## 실행

```bash
python run.py examples/input.json
python -m unittest discover -s tests -v
```

CLI는 JSON 입력 하나를 받아 JSON 결과 하나를 출력합니다. 실제 기관 구현으로 교체할 때도 `contracts/component.interface.json`과 `release/manifest.json`의 식별자를 유지하면 통합 릴리스에서 버전을 추적할 수 있습니다.

## 저장소 구성

- `src/component.cpp`와 `include/component.hpp`: ACU 대상 최소 실행 로직
- `examples/input.json`: 재현 가능한 입력
- `contracts/`: 기계 판독형 인터페이스 계약
- `tests/`: 기준 동작 시험
- `release/manifest.json`: 소유기관·버전·호환성 선언
- `.asw/quality-profile.json`: 언어별 정적·동적 분석 정책
- `tools/quality_scan.py`: cpp 정적 정책과 동적 시나리오 어댑터
- `.gitea/workflows/verify.yml`: 계약→정적분석→동적분석→증빙 패키지 CI

## 완료 기준

1. 예제 입력이 오류 없이 실행됩니다.
2. 계약 JSON과 단위시험이 통과합니다.
3. Gitea Actions가 정적·동적 분석 결과, 증빙 패키지와 SHA-256을 생성합니다.
4. 실제 기관 코드는 동일 계약을 구현한 뒤 별도 승인·MIL/HIL 검증을 거칩니다.

## SDV 실행 프로파일

- 실행 노드: **ACU**
- 구현 언어: **cpp**
- 빌드 체계: **g++**
- 연동 규약: **CAN-FD**
- 로컬 검증: `make check`

이 프로파일은 실제 기관 구현의 기술 선택을 강제하지 않으며, A-SW Hub가 서로 다른 언어와 실행 노드의 품질 결과를 동일한 릴리스 게이트로 집계하는 방법을 보여줍니다.
