# 소스 및 fixture provenance

## Repository history

- 2D standalone source: `cyhan/dwg-dxf-viewer-sample`
  - upstream fork source: `kimminsung/dwg-dxf-viewer-sample`
  - exact commit: `95fa6a452b50394ff11fba60db482dd038fe2355`
  - 두 Gitea remote가 동일 commit을 가리키는 것을 확인했습니다.
- 3D source: `cyhan/hmwebviewer`
  - upstream fork source: `kimminsung/hmwebviewer`
  - exact commit: `a71790070dd479abc2707a5dd63b0e8c872db412`
  - 두 Gitea remote가 동일 commit을 가리키는 것을 확인했습니다.

3D source는 non-squash subtree commit으로 전체 tree와 commit ancestry를
보존해 가져왔습니다. 2D standalone rollback tag와 3D import provenance tag를
로컬 Git에 생성했습니다.

## 2D fixture

| Fixture | SHA-256 | 상태 |
|---|---|---|
| `BasicSample.dwg` | `ef9f1a225931df62cd25a7897771d0d4fcebf0f79d312e3b7888bba9834b7429` | standalone initial commit에서 이관. 외부 재배포 원출처 확인 필요 |
| `simple.dxf` | `ce8fc0735b78e912e1ddd26c1535e3e53c429332a7495ae50b749687892bd336` | standalone initial commit의 최소 ASCII DXF test fixture |

원출처가 확인되지 않은 fixture는 내부 회귀 test에만 사용합니다. 공개 배포 전에
소유권이 확인된 fixture로 교체하거나 명시적 재배포 승인을 기록해야 합니다.

## Policy

- source와 binary는 exact commit 또는 SHA-256으로 고정합니다.
- 출처가 불명확한 binary와 fixture를 새 외부 package나 공개 demo에 추가하지 않습니다.
- generated decoder는 설치된 exact dependency에서 매 clean install마다 다시 staging합니다.
- package 전체의 공개 배포 자동화와 SBOM은 Gitea issue #3의 범위입니다.
