A-SW Hub / Repositories
Local Gitea · READ ONLY
← 저장소 Repositories
REPOSITORY

jbnu/environment-adaptive-perception Private

[참조 MVP] 환경 적응형 인지 A-SW — 조도·강우·먼지 조건에 따라 탐지 임계값과 센서 우선순위를 조정합니다.

https://git.agrithing.ai/jbnu/environment-adaptive-perception.git
7 commits
COMMIT DETAIL

feat: adopt python VPU SDV reference implementation

A-SW Reference Factory <[email protected]> · 2026. 8. 2. 오후 9:25:58
58161743e0e619738ea8bedbe44a7db0969669b1
5 changed files +48 −13 parent ae4151f
modified .asw/quality-profile.json +3−1 View file
@@ -4,6 +4,8 @@
4 4 "scope": "runtime-component",
5 5 "language": "python",
6 6 "runtime": "python>=3.11",
7 + "executionTarget": "vpu",
8 + "buildSystem": "unittest",
7 9 "staticAnalysis": {
8 10 "adapter": "python-ast-policy",
9 11 "command": "python tools/quality_scan.py static --output dist/quality/static-analysis.json",
@@ -12,7 +14,7 @@
12 14 "thresholds": {
13 15 "critical": 0,
14 16 "high": 0,
15 "complexityWarning": 12
17 + "warnings": 0
16 18 }
17 19 },
18 20 "dynamicAnalysis": {
added .asw/sdv-component.json +17−0 View file
@@ -0,0 +1,17 @@
1 + {
2 + "schemaVersion": "asw.sdv-component/v1",
3 + "repository": "jbnu/environment-adaptive-perception",
4 + "executionTarget": "vpu",
5 + "language": "python",
6 + "runtime": "python>=3.11",
7 + "buildSystem": "unittest",
8 + "transport": "ROS2-adapter",
9 + "lifecycle": [
10 + "source",
11 + "static-analysis",
12 + "build",
13 + "dynamic-test",
14 + "package",
15 + "release-gate"
16 + ]
17 + }
modified .gitea/workflows/verify.yml +6−5 View file
@@ -1,4 +1,4 @@
1 name: Verify reference MVP
1 + name: Verify SDV reference MVP
2 2
3 3 on:
4 4 push:
@@ -10,19 +10,20 @@ jobs:
10 10 runs-on: ubuntu-latest
11 11 steps:
12 12 - uses: actions/checkout@v4
13 - name: Validate quality profile and interface contract
13 + - name: Validate SDV metadata and interface contract
14 14 run: |
15 + python -m json.tool .asw/sdv-component.json >/dev/null
15 16 python -m json.tool .asw/quality-profile.json >/dev/null
16 17 python -m json.tool contracts/component.interface.json >/dev/null
17 - name: Static analysis · Python AST policy
18 + - name: Static analysis · python-ast-policy
18 19 run: python tools/quality_scan.py static --output dist/quality/static-analysis.json
19 - name: Dynamic analysis · unittest and scenario
20 + - name: Dynamic analysis · unittest-scenario
20 21 run: python tools/quality_scan.py dynamic --output dist/quality/dynamic-analysis.json
21 22 - name: Assemble quality summary
22 23 run: python tools/quality_scan.py summary --output dist/quality/summary.json
23 24 - name: Build evidence package
24 25 run: |
25 tar -czf dist/reference-mvp.tar.gz asw_component contracts examples release .asw README.md run.py
26 + tar -czf dist/reference-mvp.tar.gz asw_component tests run.py pyproject.toml contracts examples release .asw README.md
26 27 sha256sum dist/reference-mvp.tar.gz > dist/checksums.sha256
27 28 - name: Upload evidence
28 29 uses: christopherhx/gitea-upload-artifact@v4
modified README.md +13−3 View file
@@ -9,7 +9,7 @@
9 9 - 사업 역할 기관: **전북대학교**
10 10 - 기술 영역: **Perception**
11 11 - 성숙도: 인터페이스 협의 및 파이프라인 검증용 MVP
12 - 실행환경: Python 3.11 이상, 외부 패키지 없음
12 + - 실행환경: python>=3.11
13 13
14 14 ## 실행
15 15
@@ -22,13 +22,13 @@ CLI는 JSON 입력 하나를 받아 JSON 결과 하나를 출력합니다. 실
22 22
23 23 ## 저장소 구성
24 24
25 - `asw_component/component.py`: 최소 실행 로직
25 + - `asw_component/component.py`: VPU 대상 최소 실행 로직
26 26 - `examples/input.json`: 재현 가능한 입력
27 27 - `contracts/`: 기계 판독형 인터페이스 계약
28 28 - `tests/`: 기준 동작 시험
29 29 - `release/manifest.json`: 소유기관·버전·호환성 선언
30 30 - `.asw/quality-profile.json`: 언어별 정적·동적 분석 정책
31 - `tools/quality_scan.py`: Python AST 정책 검사와 unittest·시나리오 동적분석
31 + - `tools/quality_scan.py`: python 정적 정책과 동적 시나리오 어댑터
32 32 - `.gitea/workflows/verify.yml`: 계약→정적분석→동적분석→증빙 패키지 CI
33 33
34 34 ## 완료 기준
@@ -37,3 +37,13 @@ CLI는 JSON 입력 하나를 받아 JSON 결과 하나를 출력합니다. 실
37 37 2. 계약 JSON과 단위시험이 통과합니다.
38 38 3. Gitea Actions가 정적·동적 분석 결과, 증빙 패키지와 SHA-256을 생성합니다.
39 39 4. 실제 기관 코드는 동일 계약을 구현한 뒤 별도 승인·MIL/HIL 검증을 거칩니다.
40 +
41 + ## SDV 실행 프로파일
42 +
43 + - 실행 노드: **VPU**
44 + - 구현 언어: **python**
45 + - 빌드 체계: **unittest**
46 + - 연동 규약: **ROS2-adapter**
47 + - 로컬 검증: `python -m unittest discover -s tests -v`
48 +
49 + 이 프로파일은 실제 기관 구현의 기술 선택을 강제하지 않으며, A-SW Hub가 서로 다른 언어와 실행 노드의 품질 결과를 동일한 릴리스 게이트로 집계하는 방법을 보여줍니다.
modified release/manifest.json +9−4 View file
@@ -4,7 +4,7 @@
4 4 "displayName": "환경 적응형 인지 A-SW",
5 5 "owner": "전북대학교",
6 6 "implementationAuthor": "주식회사 비아 (연동 검증용 참조 구현)",
7 "version": "0.1.0-mvp",
7 + "version": "0.2.0-multilang-mvp",
8 8 "domain": "Perception",
9 9 "status": "REFERENCE_MVP",
10 10 "compatibility": {
@@ -12,9 +12,14 @@
12 12 "api": "asw-component/v1"
13 13 },
14 14 "evidence": [
15 "unit-test",
15 + "static-analysis",
16 + "dynamic-test",
16 17 "interface-contract",
17 "example-run",
18 + "quality-summary",
18 19 "sha256"
19 ]
20 + ],
21 + "language": "python",
22 + "executionTarget": "vpu",
23 + "buildSystem": "unittest",
24 + "transport": "ROS2-adapter"
20 25 }