layer
누가 무엇을 하는지에 따라 세 layer로 나눈다.
1. 지도
섹션 제목: “1. 지도”┌──────────────────────────────────────────────────────────────┐│ layer 2 앱 (창구) secretary ││ 사람이 기록하고 읽고 고치는 곳. 원본을 갖지 않는다 │├──────────────────────────────────────────────────────────────┤│ layer 1 저장고 (원본) arkive ││ 원본과 장부와 지문을 맡아 두는 곳. 주인이 아니다 │├──────────────────────────────────────────────────────────────┤│ layer 0 규약 hgp (이 문서) ││ 아무것도 갖지 않고 약속만 정한다 │└──────────────────────────────────────────────────────────────┘| layer | 이 문서 이름 | HGP 9월 규격 이름 | arkive 프로토콜 이름 | 하는 일 |
|---|---|---|---|---|
| layer 0 | 규약 | 프로토콜층 | 약속층 | 원칙, 권한, 지문, manifest 모양을 정한다. 하나뿐이다 |
| layer 1 | 저장고 | 주권층 | 원본층 | 원본을 받아 지문을 확인하고, 잠근 채 보관하고, 장부를 쓴다 |
| layer 2 | 앱 | 창구층 | 서비스층 | 녹음, 읽기, 전사, 교정, 비서. 여럿일 수 있다 |
layer 사이의 약속:
- 아래 layer는 위 layer를 모른다. layer 0 문서는 특정 앱을 위해 고치지 않는다. layer 1은 어느 앱이 올렸든 같은 방식으로 받는다.
- layer 2는 원본을 갖지 않는다. 기기에서 만든 원본과 지문을 layer 1에 넘기고, 해석층을 만들 때는 기탁자가 허락한 만큼만 읽는다.
- layer 0이 바뀌면 layer 1과 layer 2가 따라간다. 모든 장부 줄에 따른 규격 판(
hgp)이 적혀 있어, 어느 판을 따른 기록인지 늘 알 수 있다.
2. layer와 원본격을 섞지 않는다
섹션 제목: “2. layer와 원본격을 섞지 않는다”예전에는 layer를 「0층, 1층, 2층」으로, 원본격(원본에서 얼마나 멀어졌나)을 「L0~L3」으로 썼다. 둘 다 숫자가 붙어 헷갈렸고, 「layer」로 이름을 바꾸면 「L+숫자」와 더 헷갈린다. 그래서 원본격에서 숫자를 뺐다. (결정 0005)
| 쓰는 말 | 뜻 | 예 |
|---|---|---|
| layer 0, layer 1, layer 2 | 누가 무엇을 하나 (조직) | 「secretary는 layer 2다」 |
| 원본, 초벌, 확인본, 파생 (원본격) | 원본에서 얼마나 멀어졌나 | 「녹음 파일은 원본, 기계 전사는 초벌」 |
- layer는 늘 소문자 영어 낱말
layer와 숫자로 쓴다. 「층」, 「Layer」, 「L1」로 줄이지 않는다. - 원본격은 늘 우리말 낱말로 쓴다. 장부의
level칸에는original,draft,confirmed,derived로 적는다. 「L0」처럼 L과 숫자로 쓰지 않는다. - 진본층 = 원본, 해석층 = 초벌·확인본·파생. 「진본층」, 「해석층」의 「층」은 layer가 아니다. 노드원 공통 규칙이 쓰는 말이라 그대로 둔다.
- 9월 규격과 hgp v0.1의 L0, L1, L2, L3은 차례대로 원본(9월 규격은 「원음」), 초벌, 확인본, 파생이다. 옛 문서를 읽을 때만 이렇게 바꿔 읽는다.
- 받침: 「layer 0」, 「layer 1」은 「영」, 「일」로 읽어 「은/이/을/과」를, 「layer 2」는 「이」로 읽어 「는/가/를/와」를 붙인다.
- 다른 프로젝트가 같은 낱말을 다른 뜻으로 쓰는 곳(siltare의 Layer, windandflow의 L0~L4 등)은 05-용어.
3. 지금 폴더들
섹션 제목: “3. 지금 폴더들”| 폴더 | 층 | 무엇 | HGP를 얼마나 따르나 (2026-10-12) |
|---|---|---|---|
| hgp | layer 0 | 이 문서들 | |
| 9월 규격 초안 (비공개) | layer 0의 바탕 | 9월 규격 초안 44개 (HGP-0000~0203, Layer0 v0.3), 정본화 결정, 용어 정본, 외부 표준 매핑. 이 문서들의 근거 자료 | 읽기만 한다. 고치지 않는다 |
| arkive | layer 1 | 고문서 저장고. 원본 스캔, 장부, 판독 겹, IIIF 내보내기 | 원본 읽기 전용, 서버 지문 한 번, 덧붙이기 장부. 잠금·로그인·머클·하루 지문 없음 |
| secretary | layer 2 | 녹음 비서 앱과 서버. 9월 규격의 「HGP 녹음기 v0.1」이 이것이 되었다(코드는 secretary에서 새로 썼다). secretary 작업 규칙은 「Secretary(Haru)」라 부르고, 앱에 뜨는 이름은 아직 「Secretary」 | 폰·서버 지문 두 번, 원본 읽기 전용, manifest. arkive 입구가 생기기 전까지 임시 저장고를 둔다(4절). 잠금은 v0.2, 서명·머클은 그 뒤 |
| secretary 임시 저장고 폴더 | 임시 저장고 (store: staging) |
secretary 서버가 쌓는 기탁자별 하루 폴더. arkive로 옮겨 갈 원본 | secretary와 같음 |
| cheroki | HGP 이전 | 텔레그램 녹음 받기와 전사 | 따르지 않음. 오디오 지문 없음, 원본 이름을 바꿈. 읽기만 한다 |
| 개인 아카이브 | HGP 이전 | 개인 기록 볼트. 전사 글 지문 장부(hashes.jsonl) |
일부 (전사 글만 지문). 읽기만 한다 |
| 사초 (sacho) | HGP 이전 | 사초 프로토콜. 1인 구술 원기록 | 지문 장부와 git으로 지킴. HGP의 선행 실험 |
4. layer 1 저장고는 하나다
섹션 제목: “4. layer 1 저장고는 하나다”원본을 오래 지키는 곳은 arkive 하나다. 앱이 여럿이 되어도 저장고는 늘리지 않는다. (노드원 공통 규칙, secretary 결정 0009, hgp 결정 0004)
- 앱은 원본을 직접 오래 쌓지 않는다. 기기에 먼저 저장하고(원칙 2), 지문을 떠서 arkive에 맡긴다.
- arkive 입구(원본을 받는 창구)가 생기기 전까지 앱 서버는 임시 저장고를 둘 수 있다. 약속은 layer 1과 똑같다: 읽기 전용, 덮어쓰지 않음, 지문 두 번, manifest. 장부의
store칸에staging이라 적는다. - 옮길 때는 복사하고, 지문을 다시 맞춰 보고, 같으면 장부에 새 줄(
store: arkive)만 더한다. 임시 저장고의 원본은 따로 승인 없이 지우지 않는다. - 언제: secretary의 잠금(v0.2, 11/16 목표)과 함께 옮긴다. 잠근 원본을 arkive에 맡기는 것이 처음부터의 모양이다. 앱이 기탁자 열쇠로 잠근 뒤 넘기므로 arkive(관리자)는 내용을 보지 못한다(원칙 3).
- 해석층(전사, 교정, 비서 글)은 당분간 앱 서버에 둔다.
저장고는 하나, 원본의 몸은 둘 이상이다 (결정 0010, 9월 규격 HGP-0007 3절).
- 원본과 사본은 다른 장소에 둔다. 같은 컴퓨터의 다른 폴더나 같은 방의 다른 디스크는 다른 장소가 아니다.
- 국내에 둔다.
- 바깥 회사(클라우드 등)에 둘 때는 잠근 채로만 보낸다. 그 회사가 원본을 보지 못해야 한다.
- 정기 지문 확인(02-지문 3절)은 사본에도 돈다. 원본이 바뀌었으면 같은 지문의 사본으로 되살린다.
- 장부(지문 목록, 권 지문, 허락 기록)도 원본과 함께 두 곳에 둔다.
- 지금(2026-10-12) arkive 원본은 본체 한 대에만 있다. 둘째 자리는 외장 디스크로 정했고, 사기 전이다.