아카이빙과 온톨로지

티켓이 완료되면 그 일의 맥락은 티켓 본문 한 장에 남습니다. 무엇을 어떻게 했는지, 어떤 명령으로
확인했는지가 ## 결과에 적혀 있습니다. 문제는 다음 달에 생깁니다. 같은 부분을 다루는 세션이 그
본문을 찾아 읽으면 다행입니다. 찾지 못하면 처음부터 다시 알아냅니다.
아카이빙은 그 사이에 한 단계를 추가합니다. 티켓을 끝낸 세션이 티켓을 하나 더 냅니다. 그 티켓을 받은 세션은 방금 끝난 일에서 지금 참인 사실만 골라 카드 한 장으로 옮겨 적습니다. 무엇을 옮겼는지는 대상 티켓 본문 아래에 남깁니다. 카드가 쌓이는 자리가 온톨로지고, 앱에 전용 화면이 있습니다.
온톨로지 화면 - 경로 한 줄과 파일트리
왼쪽 내비게이션에서 온톨로지를 누르세요. 제목 밑 회색 글씨가 이 프로젝트의 카드가 실제로
놓인 경로입니다. 기본값은 페르소나와 프로토콜이 있는 큐 폴더 안 ontology/입니다. 읽기
전용인 줄이라 여기서는 고칠 수 없습니다. 다른 폴더로 바꾸는 칸은 설정에 있습니다(카드를
두는 자리 옮기기).
이 화면은 카드를 읽고 고치는 자리입니다. 온톨로지 위치와 지표 판, 가져올 폴더는 프로젝트
하나의 값을 정하는 것이라 설정의 프로젝트 노드에 있습니다(화면 소개
§설정 다이얼로그). 화면에 남은 것은 방금 본 경로 줄, 그리고 지금 이 폴더가 어떤 상태인지
알리는 경보 둘(스키마 위반과 dira 형식이 아닙니다)입니다.
생김새는 프로토콜 화면과 같습니다. 왼쪽이 파일트리이고 오른쪽이 편집기입니다. 목록을
접는 아이콘도 같은 자리에 같은 글자로 뜹니다(파일 목록 접기 - 파일 목록 펴기). 편집기도 그
장에 적힌 위지윅과 원문 그대로입니다. 들어가면 위지윅으로 열리고, 카드에 든 마크다운을 직접 볼 일이 있으면
칸 오른쪽 위 구석의 아이콘 버튼으로 넘깁니다. 파일을 고르면 그 파일이 주소에 남으니 그 자리를 그대로
링크할 수 있습니다. 한 글자라도 고치면 저장이 켜집니다. 오른쪽 위 새 파일도 같은 자리에
있습니다.
프로토콜 화면과 다른 점이 둘 있습니다. 하나, 이 화면은 미리 열어 두는 파일이 없습니다. 들어오면 편집기 자리에 카드 전체를 한 장에 그린 지식 지도가 뜹니다(파일을 고르기 전에는 지도가 뜹니다). 둘, 트리 안의 디렉터리 줄이 접히고 펴집니다. 앱에서 그렇게 도는 트리는 이 화면 하나입니다.
트리가 이렇게 뜹니다.
_ontology/SCHEMA.md- 지도 한 장. 이 프로젝트에 어떤 종류의 대상이 있고 서로 어떤 이름으로 이어지는지가 여기 있습니다. 처음 열 파일입니다._ontology/object-types/_ontology/link-types/- 종류마다, 관계마다 정의 한 장. 지도의 표는 이름과 한 줄 뜻만 들고, 어떤 속성이 필수인지 같은 세부는 여기로 내려갑니다.objects/<종류>/- 카드 본체. 파일 하나가 대상 하나고, 파일명이 곧 그 이름입니다.action-log/<날짜>.md- 언제 무엇이 생기고 무엇이 바뀌었는지 하루에 한 장씩 적어 두는 시간축 기록입니다.templates/- 새 카드를 시작할 때 복사해서 쓰는 빈 서식입니다.
디렉터리 이름도 내용입니다. 프루퍼주식회사/인물/임한솔.md처럼 무엇의 무엇인지가 경로에
드러납니다. 깊이 제한은 없습니다. 카드를 폴더째 옮겨도 서로 가리키는 링크는 안 깨집니다.
링크에 경로가 안 들어가고 이름만 들어가서입니다.
카드를 두는 자리 옮기기
이미 다른 데 쌓아 둔 폴더가 있다면 큐 안으로 옮겨 오지 않아도 됩니다. 바꾸는 칸은 설정에
있습니다. 헤더 우측 위 톱니를 누르고, 트리 첫 그룹 프로젝트 아래에 뜬 프로젝트 이름을
고르세요. 가져올 폴더 다음이 온톨로지 위치 편집입니다. 경로를 넣고 저장을 누르면 이
프로젝트의 워커 전부가 그 폴더를 봅니다. 온톨로지는 큐 하나의 것이라 워커마다 다른 값을 고르는
자리는 없습니다.
받는 값은 이 프로젝트의 git 작업 트리 밖 절대경로입니다. 빈 칸에 뜨는 안내가 그 문장
그대로입니다. ~/Notes처럼 물결로 시작해도 됩니다. 저장할 때 심링크를 푼 실제 경로로 바뀌어
들어갑니다. 데스크톱 앱이라면 칸 옆 찾아보기로 폴더를 직접 골라도 됩니다.
거절하는 경우는 셋입니다. 칸 아래에 붉은 상자가 뜨고 사유 뒤에 넣으신 값이 그대로 붙습니다.
절대경로여야 합니다:-../vault처럼 어디서부터 세는 경로인지 알 수 없는 값.실재하는 디렉터리가 아닙니다:- 없는 폴더, 또는 폴더가 아닌 파일. 없는 경로를 받아 두면 화면이 빈 트리를 정상 상태로 표시합니다.이 프로젝트의 git 작업 트리 안입니다- 레포 안이나worktrees/아래를 가리킨 경우. 거기 두면 워커마다 사본이 나뉘어서 어느 쪽이 정본인지 아무도 판별할 수 없습니다. 큐 폴더 자신은 git에 안 들어가니 받습니다.
되돌리려면 칸을 비우고 저장을 누르면 됩니다. 워커 파일에서 그 줄이 지워지고 온톨로지 화면의 경로
줄이 기본값으로 돌아갑니다 - 큐 폴더 안 ontology/로 돌아가고 줄 끝에 기본값 가정이 붙습니다. 지금 기본값이면 칸은
비어 있는 채로 열립니다. 되돌리기 버튼은 따로 없습니다.
워커 파일을 직접 열어 작업 트리 안쪽 경로를 적어 넣으면 엔진은 그대로 씁니다. 대신 온톨로지
화면의 경로 줄이 그 값을 보여주면서 옆에 이 프로젝트의 git 작업 트리 안입니다를 붙입니다. 워커
화면의 온톨로지 행은 워커 파일에 무엇이 적혀 있는지만 보여줍니다. 자리를 정하는 곳은 설정의
이 칸 하나입니다.
가리킨 폴더가 dira 형식이 아니어도 연결은 됩니다. 판정은 두 자리만 봅니다 -
_ontology/SCHEMA.md와 objects/. 둘 다 없는데 폴더에 무언가 들어 있으면 온톨로지 화면 제목
밑에 dira 형식이 아닙니다 한 장이 뜹니다. 위반 목록 수백 줄은 뜨지 않습니다. 폴더가 망가졌다는
뜻이 아니라 마이그레이션이 필요하다는 뜻이기 때문입니다. 공유 드라이브에 노트만 모아 둔 폴더를
가리켰을 때가 바로 이 경우입니다.
그 카드 안의 마이그레이션 시작을 누르세요. 큐에 티켓이 한 장 생기고 화면이 그 상세로
넘어갑니다. 아래 §이미 굴리던 프로젝트라면 - 마이그레이션에서 설명하는 것과 같은 티켓입니다.
워커는 원본 노트를 옮기지도, 고치지도, 지우지도 않습니다. 노트는 제자리에 두고 그 옆에
_ontology/와 objects/ 같은 dira 형식 층만 더합니다. 카드의 근거는 원본 노트를 그 자리 그대로
가리키니, 같은 폴더를 보던 사람의 경로도 바뀌지 않습니다. 끝나면 원본 노트는 지도에 그 밖의 노트로 남고 이 카드는 사라집니다.
가리킨 폴더가 아예 비어 있으면 카드 대신 아래 설문이 뜹니다.
디렉터리는 하나씩 폅니다
처음 들어오면 트리가 전부 접혀 있습니다. 보이는 것은 맨 위 줄들뿐입니다 - _ontology,
objects, action-log 같은 최상위 디렉터리. 카드가 몇백 장이어도 첫 화면은 그 몇 줄에서
끝납니다.
디렉터리 줄 왼쪽 끝에 오른쪽을 가리키는 작은 화살표가 있습니다. 줄 아무 데나 누르면 그 화살표가
아래로 돌고 안에 든 것이 나옵니다. 그 안에 또 디렉터리가 있으면 그건 접힌 채로 나오니 한 번 더
누르세요. objects/워커/의 카드를 찾는다면 objects를 열고 그 안의 워커를 엽니다. 나머지
갈래는 닫힌 채 그대로입니다. 같은 줄을 다시 누르면 도로 접힙니다.
펴 둔 상태는 주소에 안 남습니다. 파일을 고르면 다른 가지에서 폈던 것이 닫힙니다. 대신 주소로
파일을 열면 그 파일까지 내려가는 디렉터리만 펴진 채로 그려집니다. _ontology/SCHEMA.md를
가리키는 링크를 받아 들어오면 _ontology가 열려 있고 그 안 SCHEMA.md에 선택 표시가 붙어
있습니다. 남이 준 링크를 열고 트리에서 그 파일을 다시 찾을 일은 없습니다.
파일을 고르기 전에는 지도가 뜹니다
주소에 고른 파일이 없으면 편집기 자리에 지식 지도가 섭니다. 점 하나가 카드 한 장이고 점 사이의 선이 카드끼리의 관계입니다. 트리 목록을 접어 두면 지도가 넓어진 폭을 그대로 씁니다. 지도는 읽기 전용입니다. 여기서 무엇을 해도 파일은 한 글자도 바뀌지 않습니다.
넓은 화면에서는 지도 왼쪽 위에 범례가, 오른쪽 위에 검색 칸이 겹쳐 뜹니다. 창이 좁으면 둘 다 지도 위로 올라갑니다.
색은 종류, 모양은 카드와 문서를 가릅니다
- 색이 칠해진 동그라미 - 카드입니다. 색 하나가 종류 하나입니다. 범례의 각 줄에 종류 이름, 그 종류의 한 줄 뜻, 그리고 오른쪽 끝에 몇 장인지가 적혀 있습니다. 이름과 뜻은 지도 한 장(위 트리 목록의 첫 줄)에 적힌 그대로입니다. 카드가 한 장도 없는 종류는 범례에 안 나옵니다.
- 진한 네모 -
문서입니다. 범례의 뜻은여러 대상을 한 장에 모아 설명하는 글입니다. 대상 하나를 다루는 카드와 달리 여러 카드를 엮어 설명하는 글이라 색 대신 모양으로 구분합니다. - 속이 빈 동그라미 -
그 밖의 노트입니다. 어느 종류에도 속하지 않는 파일이고, 처음에는 꺼져 있습니다.
점의 크기는 거기 닿은 선의 수를 따릅니다. 많이 불리는 카드일수록 크게 그려지니 이 프로젝트의 중심 개념이 먼저 눈에 들어옵니다. 작은 점은 이름이 안 붙어 있습니다. 확대하거나 마우스를 올리면 나옵니다.
선은 두 가지입니다. 화살표가 달린 실선은 카드에 적어 둔 관계입니다. 선에 마우스를 올리면 관계
이름과 그 관계의 뜻이 뜹니다. 옅은 점선은 언급입니다. 본문에서 다른 카드의 이름만 부른
자리라 방향이 없습니다. 같은 두 카드 사이에 관계와 언급이 같이 있으면 관계 선 하나만 그립니다.
종류와 관계의 정의 파일, 날짜별 기록은 지도에 점으로 나오지 않습니다. 정의는 범례와 선 이름이 되고 날짜별 기록은 모든 카드에 닿아서 그리면 지도가 한 점으로 뭉치기 때문입니다.
범례 항목을 눌러 끄고 켭니다
범례의 줄 하나가 버튼입니다. 누르면 꺼지고 다시 누르면 켜집니다. 꺼진 줄은 이름에 취소선이
그어지고 색 견본이 테두리만 남습니다. 그 종류의 점과 거기 닿은 선이 지도에서 빠집니다.
언급을 끄면 점선만 사라지고 점은 그대로입니다. 숨어 있던 그 밖의 노트를 보려면 그 줄을
켜세요.
끄고 켠 상태는 주소에 남지 않습니다. 파일을 열었다가 돌아오면 처음 상태, 곧 그 밖의 노트만
꺼진 상태로 다시 그려집니다. 전부 끄면 지도 가운데에 켜진 항목이 없습니다. 범례에서 하나를 켜세요.가 뜹니다.
올리고, 누르고, 끕니다
점에 마우스를 올리면 그 점과 바로 이웃한 점, 그 사이의 선만 진하게 남고 나머지는 흐려집니다.
옆에 작은 카드가 뜹니다. 이름, 종류와 한 줄 뜻, 카드에 description:이 있으면 그 문장, 그리고
관계 3 - 언급 5처럼 선의 수입니다.
점을 누르면 그 파일이 편집기에 열립니다. 트리에서 고른 것과 같아서 주소에 파일이 남고, 트리는 그 파일까지 내려가는 디렉터리만 펴진 채 선택 표시가 붙습니다. 목록을 접어 둔 상태였다면 접힌 채로 열립니다. 지도로 돌아오는 버튼은 따로 없습니다. 브라우저의 뒤로 가기를 쓰세요.
점을 끌면 그 점이 손을 따라오고 이웃한 점이 끌려옵니다. 놓으면 다시 제자리를 찾아 풀립니다. 끌었다가 놓은 것은 누른 것으로 치지 않으니 파일이 열리지 않습니다. 빈 바닥을 끌면 지도 전체가 움직이고 휠이나 두 손가락으로 확대하고 축소합니다.
검색 칸으로 이름을 찾습니다
이름 검색 칸에 글자를 치면 이름에 그 글자가 든 점에 테두리가 생기고 나머지는 흐려집니다.
대소문자는 가리지 않습니다. 칸 오른쪽에 4건처럼 찾은 수가 뜨고 없으면 일치하는 이름 0건입니다. 범례에서 꺼 둔 점은 찾지 않습니다.
Enter를 누르면 첫 결과의 파일이 열립니다. 첫 결과는 이름이 친 글자로 시작하는 것이 먼저고 그 안에서는 선이 많은 것이 먼저입니다.
지도의 점은 Tab 키로 옮겨 다니지 않습니다. 키보드로 파일을 찾을 때는 트리나 이 검색 칸을 쓰세요.
dira 형식이 아닌 폴더라면
dira 형식이 아니라는 경보가 뜬 폴더에서도 지도는 섭니다. 다만
종류를 가르지 않습니다. 모든 .md가 같은 색 동그라미이고, [[이름]] 링크가 방향 없는 선이며,
범례는 없습니다. 올렸을 때 뜨는 카드에도 종류 줄이 빠지고, 선의 수는 언급 7처럼 하나로
셉니다.
지도가 안 뜨는 경우는 둘입니다. 폴더가 아예 비어 있으면 설문이
뜹니다. 폴더에 파일은 있는데 .md가 한 장도 없으면 트리에서 파일을 고르라는 안내 한 줄만
뜹니다.
프론트매터는 줄마다 칸이 둘입니다
카드 맨 위 --- 두 줄 사이가 프론트매터입니다. 위지윅으로 연 편집기에서는 이 자리가 본문 위에
가로선으로 갈린 채 따로 뜹니다. 줄 하나가 행 하나고, 왼쪽이 키 칸(키, 영어로는 Key),
오른쪽이 값 칸(값 - Value)입니다. 칸에 커서를 두고 바로 치면 됩니다. 한 글자라도 고치면 오른쪽 아래
저장이 켜지고, 그 옆 되돌리기로 저장 전 상태로 되돌립니다.
고친 행만 바뀝니다. 안 건드린 줄은 저장해도 바이트가 그대로입니다. 따옴표로 열어 다음 줄까지 이어지는 긴 값도 그 행을 안 건드리면 원문 그대로 남습니다.
행을 더하고 지우기
행 오른쪽 끝에 버튼이 둘 있습니다. +는 그 행 바로 아래에 빈 행을 하나 넣고, x는 그 행을
지웁니다. 행에 마우스를 올리면 둘 다 진해집니다. 지울 때 다시 묻지 않으니, 잘못 눌렀으면
저장하기 전에 되돌리기를 쓰세요.
새로 넣은 행은 바로 위 행과 같은 층에서 시작합니다. links: 아래 돌린다: 옆에서 +를
누르면 그 관계 층에 빈 행이 하나 더 생깁니다.
들여쓴 줄도 자기 행입니다
links: 아래는 관계타입 층과 대상 층으로 두 겹입니다. 돌린다:도 그 아래
- 디스패치 루프:도 각각 자기 행이고, 겹마다 왼쪽 여백이 한 칸씩 더 들어갈 뿐입니다. 여백은
네 겹에서 멈춥니다. 더 깊이 들어간 줄도 행으로는 그대로 나뉩니다.
links:처럼 값이 비고 아래에 더 깊은 줄이 오는 행은 키 칸만 뜹니다. 값 칸 자리는 비워 둡니다.
대괄호로 연 값은 항목마다 한 줄입니다
aliases: [헤더 브랜드 마크, BrandMark]는 항목 둘로 뜹니다. 줄 오른쪽 x가 그 항목 하나만
지우고, 목록 아래 항목 추가(Add item)가 빈 줄을 하나 늘립니다. 항목을 다 지워도 aliases:
줄은 []인 채로 남습니다. 스키마가 요구하는 키가 저 혼자 없어지지 않습니다.
대괄호가 없는 값에 든 콤마는 글자 그대로입니다. description:에 적은 긴 문장이 콤마마다
조각나지 않습니다.
[]로 비어 있는 값에는 항목 추가 버튼만 뜹니다. 눌러 빈 칸을 한 줄 만들고 거기에 첫 항목을
적으면 aliases: [헤더 브랜드 마크]가 됩니다. 만들어 놓고 아무것도 안 적으면 값은 [] 그대로입니다.
후보가 있는 칸에는 아래꺾쇠가 붙습니다
칸 오른쪽 끝의 작은 아래꺾쇠를 누르면 검색 칸(검색 - Search)이 달린 목록이 열립니다. 붙는
자리는 넷입니다.
type:의 값 칸 -_ontology/object-types/에 있는 종류 전부.links:아래 관계타입의 키 칸 -_ontology/link-types/에 있는 관계 전부.- 그 아래 대상 줄의 값 칸 - 이 온톨로지의 카드 이름 전부.
- 새 행의 키 칸 - 그 카드
type:이 가리키는 종류 정의의 속성과 공통 키 여섯(typenamealiasestagsdescriptionlinks).
이미 그 파일에 든 키는 후보에서 빠집니다. 쓸 키가 다 들어간 카드에서는 후보가 0개라 아래꺾쇠
자체가 안 붙습니다. description:처럼 문장을 적는 칸에도 안 붙습니다.
골라 넣은 값도 그대로 다시 고칩니다. 목록은 값을 채워 넣는 보조 수단일 뿐이라, 후보에 없는 이름을 직접 쳐도 막히지 않습니다.
화면은 프론트매터를 검사하지 않습니다
필수 속성이 빠졌다고, 종류 이름을 잘못 적었다고 화면이 알려 주지 않습니다. 잘못 쓰면 잘못 쓴
그대로 저장됩니다. 어긋난 자리는 제목 밑에 뜨는 스키마 위반 상자가 검출합니다.
평문으로 - 원문 그대로 봐야 할 때
행 목록 위 첫 줄 왼쪽 끝에 평문으로(Switch to plain text)가 있습니다. 누르면 행이 사라지고
--- 두 줄까지 든 프론트매터 원문이 한 칸에 뜹니다. 돌아올 때는 같은 자리에서
행으로(Switch to rows)입니다.
평문 칸을 쓰는 자리는 셋입니다. 여러 줄에 걸친 값을 줄바꿈까지 보면서 고칠 때, 행으로 안 읽혀 바로 위 행의 값에 붙어 버린 줄을 떼어낼 때, 그리고 위에 적은 빈 대괄호에 첫 항목을 넣을 때입니다.
고른 모드는 위지윅/원문과 같은 성질입니다. 이 컴퓨터에 남고 칸마다 값이 달라지지 않습니다. 기본은 행 편집기입니다.
편집기를 통째로 원문으로 넘기면 이 전환 버튼이 사라집니다. 그때는 프론트매터도 본문도 한 칸에
든 글자 그대로입니다.
프로토콜 문서와 페르소나 프로필에는 --- 블록이 없어서 이 자리가 아예 안 뜹니다. 행 편집기가
뜨는 화면은 온톨로지와 티켓 상세입니다(frontmatter 필드).
설정의 숫자 열두 칸 - 잘못 쌓이면 여기서 먼저 티가 납니다
지표 판은 설정의 프로젝트 노드, 온톨로지 위치 편집 바로 아래에 있습니다. 칸이 열두
개이고 전부 파일을 그 자리에서 읽어 셉니다. 카드 전량을 여는 계산이라 패널의 다른 자리보다
늦게 뜰 수 있습니다. 온톨로지가 없거나 dira 형식이 아닌 프로젝트에서는 이 자리가 아예 안
뜹니다. 열두 칸을 다 외울 필요는 없습니다. 자주 보게 되는 것만 추리면 이렇습니다.
| 칸 | 무엇을 말하나 |
|---|---|
객체 · 관계 | 카드가 몇 장이고 그 사이에 선이 몇 개인가. 카드만 늘고 선이 안 늘면 그건 그래프가 아니라 목록입니다 |
규범 문장 | "~해야 한다"로 끝나는 문장이 카드에 섞인 수. 0이 정상입니다 |
숨은 간선 | 본문에서 다른 카드를 부르는데 관계로는 안 걸어 둔 자리. 세어지지 않는 선입니다 |
빈손 비율 | 아카이빙을 돌렸는데 남길 사실이 없던 회차의 비율. 30~70%가 정상입니다. 10% 밑이면 색이 붙습니다 - 세션이 억지로 뭔가를 쓰고 있다는 뜻입니다 |
나머지 여덟 칸은 껍데기, 고립, 서술 한 문장처럼 카드의 성김을 재거나, 계층 순환, 다의적 요소,
잉여 클래스처럼 종류 정의가 어긋난 자리를 찾아냅니다. 마지막 반영은 가장 최근 기록의 날짜입니다.
이 값이 오래 멈춰 있으면 아카이빙 자체가 안 돌고 있는 것입니다.
지도에 없는 종류나 관계가 카드에 쓰이면 스키마 위반 상자가 뜹니다. 어긋난 파일과 줄이 열
개까지 그대로 나오고, 넘치면 외 N건으로 접힙니다.
이 상자 하나는 온톨로지 화면 제목 밑에 그대로 남아 있습니다. 나머지 열두 칸이 통계라면 이쪽은 경보입니다. 읽자마자 고치러 가는 버튼이 달려 있어서, 다이얼로그를 열어야 보이는 자리로 내리면 그 버튼을 누를 일이 없어집니다.
문제해결 - 위반을 티켓 한 장으로 넘깁니다
상자 안에 버튼이 하나 있습니다. 문제해결입니다.
누르면 그 자리에서 파일이 고쳐지는 것이 아닙니다. 큐에 티켓이 한 장 생깁니다. 화면은 방금
만든 티켓 상세로 넘어가니 무엇을 시킨 것인지 바로 읽으실 수 있습니다. 본문에는 상자에 떠 있던
위반 줄이 측정 시각과 함께 들어갑니다. 50줄까지고 넘치면 외 N건으로 접힙니다. 남은 것은 다음
회차 몫입니다.
받는 쪽은 아카이빙을 도는 세션과 같습니다(archive-manager). 그 세션은 줄마다 무엇을
고쳤는지, 아니면 왜 위반이 아닌지를 ## 결과에 적고 반영을 action-log/에 한 줄 남깁니다.
쉬고 있는 워커가 있으면 다음 순회를 기다리지 않고 바로 가져갑니다.
두 번 눌러도 티켓은 한 장입니다. 정리 티켓이 아직 안 끝났으면 버튼 자리에 정리 티켓 a1b2c3d4 진행중처럼 링크가 대신 뜨고, 누르면 그 티켓으로 갑니다. 탭을 둘 열어 두고 양쪽에서 눌러도
마찬가지입니다. 발행 직전에 큐를 한 번 더 훑어서, 이미 있으면 새로 만들지 않고 그것을 열어
주기 때문입니다.
정리 티켓이 완료됐는데 상자가 그대로 남아 있으면 버튼이 다시 뜹니다. 그 회차가 다 못 고쳤다는 뜻이니 한 번 더 보내시면 됩니다. 위반이 0건이 되면 상자째 사라집니다.
비어 있으면 질문 넷부터
온톨로지가 없는 프로젝트도 그냥 돕니다. 폴더가 비어 있으면 엔진은 아무 말 없이 넘어갑니다.
그래서 이 화면의 첫 상태는 설문입니다. 몇 가지만 답하면 시작할 자료를 만들어 드립니다.
묻는 것은 넷입니다. 이 프로젝트가 주로 무엇을 다루는지, 일하다 보면 자주 이름을 부르게 될 대상이 무엇인지, 나중에 무엇을 물어보게 될 것 같은지, 정리 대상이 아닌 것은 무엇인지. 마지막 질문의 첫 항목은 이 관리 도구 자신이고 처음부터 체크돼 있습니다.
만들기를 누르면 답을 그대로 지도로 옮깁니다. 종류가 셋에서 다섯, 관계가 둘에서 넷입니다.
그 하나하나에 정의 파일이 한 장씩 따라 뜨고, 종류에는 빈 템플릿도 붙습니다. 그게 전부입니다.
작게 시작하는 것이 설계입니다. 나머지는 일하면서 붙습니다.
그다음이 첫 채움입니다. 지도만 뜨고 카드가 0장이면 읽을 것이 없으니 세션 하나가 프로젝트
폴더를 훑어 첫 카드를 만듭니다. 그 세션도 만들기가 부릅니다. 누르는 순간 큐에
온톨로지 마이그레이션 티켓이 한 장 생기니 이 화면에서 기다리실 것은 없습니다. 보드에
가면 다른 티켓들 사이에 그 한 장이 archive-manager 몫으로 떠 있고 눌러 들어가면
무엇을 세우고 있는지가 보입니다.
답할 것이 마땅치 않으면 건너뛰어도 됩니다. 새 파일로 빈 파일부터 시작해도 됩니다. 아예 안
만들어도 프로젝트는 그대로 돕니다.
완료 뒤에 티켓이 하나 더 돕니다
여기부터가 평소에 도는 고리입니다.
세션이 티켓을 끝내는 순서는 정해져 있습니다. 작업을 마치고 push가 성공한 것을 확인한 다음
파일을 .done으로 바꿉니다. 아카이브 티켓을 내는 자리는 그 둘 사이입니다. push보다 앞서면
통합되지도 않은 일의 아카이브가 남고, .done 뒤로 미루면 그때는 세션이 이미 끝나 있을 수
있습니다.
새로 생기는 티켓에는 persona: archive-manager가 붙습니다. 프로젝트를 만들 때 같이 생기는 기본
페르소나 중 하나입니다(페르소나). 대상은 언제나 티켓 하나입니다. 여러 건을
묶지 않습니다.
deps도 한 줄 붙습니다. 대상이 .done이 되기 전에는 이 티켓이 큐에 안 뜬다는 뜻입니다. 이
줄이 없으면 앞 세션이 아직 ## 결과를 쓰고 있는 파일에 아카이브 세션이 절을 덧붙이는 일이
생깁니다. 실제로 한 번 발생했던 문제입니다. 그래서 막아 두었습니다.
아카이브 티켓은 아카이브 티켓을 내지 않습니다. 이 한 줄이 고리를 끊습니다.
치르는 대가도 있습니다. 완료 한 건이 티켓 한 건이니 워커 하나가 그만큼 다른 일을 못 합니다. 안 쓰기로 했으면 프로토콜 문서에서 그 절을 지우면 됩니다. 이 절차는 규약이 정한 것이고 엔진에 박혀 있지 않아서 끄는 자리가 파일 한 군데입니다.
어디서 보이나 - 완료 카드 아래 한 줄
아카이브 티켓은 보드에 자기 카드로 뜨지 않습니다. 대신 대상 카드 맨 아래에 한 줄이 붙습니다.
.wip 카드가 방금 한 일을 보여 주는 그 자리, 같은 슬롯입니다.
문구는 셋입니다. 아카이빙 대기, 아카이빙중, 아카이빙 답변 대기. 눌러 들어가면 그
아카이브 티켓의 상세입니다. 보드에서 거기로 가는 길이 이 줄 하나뿐입니다. 아카이빙이 끝나면
줄이 사라집니다. 끝난 상태가 기본이라 따로 알릴 내용이 없습니다.
티켓 상세에서는 관계 절에 한 줄이 뜹니다. 대상 티켓 쪽에는 아카이브, 아카이브 티켓 쪽에는
아카이브 대상. 양쪽에서 서로를 가리킵니다.
대상 티켓 본문 맨 아래에는 ## 아카이브 절이 붙습니다. 이번 회차에 무엇을 온톨로지에
옮겼는지가 여기 적힙니다. ## 결과를 고쳐 쓰지는 않습니다. 위는 그 일을 한 세션의 글이고
아래는 아카이브 세션의 글이라 둘이 나란히 남습니다.
카드에 적히는 것 - 사실만, 없으면 빈손
카드 한 장은 서술, 속성, 관계 세 층입니다. 층은 셋인데 자리는 둘이라 속성과 관계가 파일 위쪽
frontmatter를 같이 씁니다. 종류와 이름 아래 scriptPath: branch:처럼 그 대상 자체의 값을
적은 줄이 속성이고, links: 아래에서 다른 카드를 가리키는 줄이 관계입니다. 서술은 그 아래
본문에 산문으로 남아 그 대상은 무엇이며 왜 지금 이런 상태인지를 말합니다. 새로 알아낸 사실도
이 셋으로 갈라 적습니다. 값이면 속성, 다른 카드를 가리키면 관계, 까닭이나 경위면 서술입니다.
기준은 하나입니다. 지금 참인 상태를 적고, 앞으로 이렇게 하자는 판단은 안 적습니다.
- 적습니다 - "이 워커는 옛 문구가 남아 있어 실측 경로와 어긋난다"
- 안 적습니다 - "재디스패치 전에 로그를 먼저 보는 게 낫다"
뒤엣것도 버리지는 않습니다. 자리가 다를 뿐이라 페르소나 메모리로 갑니다. 구분하지 않으면 온톨로지가 메모리와 같아집니다. 파일만 두 벌이 되는 것입니다.
남길 사실이 없으면 아무것도 안 적는 것이 정상 종료입니다. 세션은 ## 아카이브 절에
"이번엔 줄 것이 없음"이라고 쓰고 기록에 한 줄 남기고 끝냅니다. 티켓 대부분이 그렇습니다.
빈손 비율이 낮게 나오면 반대로 의심하는 이유가 이것입니다.
다음 세션이 받는 것은 위치와 찾는 법입니다
쌓인 카드가 되돌아오는 자리는 세션 프롬프트입니다. 티켓이 디스패치될 때마다 짧은 블록이 하나
붙습니다. 온톨로지가 어디 있는지, 지도가 어느 파일인지(_ontology/SCHEMA.md), 필요한 개념은
티켓의 어휘로 grep해서 열라는 안내입니다. 이게 전부입니다.
본문은 안 실립니다. 그래서 카드가 몇 장이 되든 이 블록은 안 자랍니다. 프로필과 다른 점이 여기입니다. 프로필은 길어진 만큼 매 세션이 그 대가를 치르지만(페르소나) 온톨로지는 몇천 장이 돼도 프롬프트가 그대로입니다. 대신 세션이 필요할 때 직접 찾아 읽습니다.
폴더가 없거나 .md가 한 장도 없으면 블록 자체가 안 붙습니다. 경고도 없습니다.
이미 굴리던 프로젝트라면 - 마이그레이션
설문은 새 프로젝트를 위한 것입니다. 이미 티켓이 쌓인 프로젝트에는 다른 방법이 있습니다. 설정을
열고 트리 첫 그룹 프로젝트 아래에 뜬 이름을 누르세요. 그 패널의 해석 결과 표 밑에
온톨로지 마이그레이션이 있습니다. 프로젝트 목록에서 행의 톱니를 눌러도 같은 자리가 바로
열립니다(화면 소개 §설정 다이얼로그). 설명이 그 자리에 이렇게
적혀 있습니다. 없으면 새로 세우고, 있으면 최신 규약으로 다시 올립니다. 다시 돌려도 안전합니다.
온톨로지 화면에 dira 형식이 아닙니다 카드가 떠 있다면 그 카드의 마이그레이션 시작도 같은
버튼입니다. 두 자리는 프로젝트당 한 장인 같은 티켓을 가리킵니다. 그 티켓이 열려 있는 동안은
두 자리 모두 버튼 대신 같은 해시의 대기 링크가 뜹니다.
다시 돌리는 것이 정상 사용입니다. 손으로 고친 카드는 덮어쓰지 않습니다. 이미 규약에 맞는 것도 건드리지 않습니다. 옛 기록을 버리지도 않습니다. 사실에 해당하는 것만 카드로 추려 내고 판단은 메모리 쪽으로 보냅니다.
마이그레이션 시작은 그 자리에서 도는 버튼이 아닙니다. 위 문제해결과 같습니다 -
큐에 티켓이 한 장 생기고 화면이 그 티켓 상세로 넘어갑니다. 다음은 워커 몫이니 다이얼로그를
닫으셔도, 탭을 닫으셔도 됩니다.
진행을 보는 자리가 그 티켓 상세입니다. 주소는 /p/<프로젝트>/tickets/<해시>이고, 세션이 지금
무엇을 읽고 무엇을 고치는지는 진행 기록에 그대로 올라옵니다. 해시를 못 외우셔도
됩니다. 설정을 다시 열어 같은 노드로 가면 마이그레이션 시작 버튼 자리에
마이그레이션 a1b2c3d4 대기처럼 링크가 대신 떠 있으니까요. 그 티켓이 끝날 때까지 버튼이 안
돌아옵니다. 두 번 눌러도 티켓은 한 장입니다.
완료되면 버튼이 다시 뜹니다. 한 세션에 다 못 훑었다는 신호입니다. 한 번 더 누르세요. 위에서 다시 돌리는 것이 정상 사용이라고 한 게 이 자리입니다.
밖에 있는 폴더를 끌어오기
회의록 폴더, 옛 위키, 받아 둔 자료 더미처럼 프로젝트 밖에 쌓인 것을 카드로 옮기는 방법이
따로 있습니다. 같은 패널의 마이그레이션 바로 아래입니다. 가져올 폴더에 경로를 넣고 가져오기를
누르세요. 폴더 이름이 그대로 출처 이름이 됩니다. Notes를 넣으면 거기서 건진 카드마다
Notes가 따라붙습니다.
여기서 생기는 것도 티켓 한 장입니다. 제목이 온톨로지 import - <폴더 이름>이고 화면은 그
상세로 넘어갑니다. 마이그레이션과 다른 점은 세는 단위 하나입니다. 폴더마다 한 장이라
버튼이 안 사라집니다 - 열린 티켓이 있어도 다른 폴더는 그냥 눌립니다. 대신 도움말 아래로
가져오기 a1b2c3d4 Notes 대기 같은 줄이 폴더 수만큼 쌓입니다. 같은 폴더로 다시 누르면
새 티켓을 만들지 않고 이미 있는 그 티켓으로 데려갑니다.
폴더 하나가 그대로 남습니다
온톨로지는 마크다운 파일 더미입니다. 데이터베이스는 쓰지 않습니다. 기본값이면 큐 폴더 안에 있으니 프로젝트를 옮기면 같이 가고, 앱을 지워도 파일은 남습니다.
카드끼리 거는 링크는 [[이름]] 표기라, 그 폴더를 obsidian vault로 열면 그래프가 그대로
보입니다. 편집기든 grep이든 여는 방법은 마음대로입니다.
한 가지는 미리 아셔야 합니다. 큐는 git에 안 들어갑니다. 이 폴더도 마찬가지입니다. 자리를 옮겨도 같습니다 - 받는 값 자체가 git 작업 트리 밖입니다. 레포를 clone한 사람에게는 카드가 0장이라, 팀과 나누려면 폴더를 따로 옮기셔야 합니다.
다음은 에픽입니다.