wiki2 observatory nornen knowledge atlas

contract / schema

Ontology — 분류 계약

Ontology — wiki2 분류 계약

이 문서는 wiki2의 유일한 분류 계약 owner다.
폴더 트리(토폴로지)나 운영 습관보다 이 문서가 우선한다.

AI와 사람은 위키 페이지를 만들거나 바꾸기 전에 이 문서를 따른다.
여기에 없는 corpus / origin / layer / type / domain / project 값을 발명하지 않는다.


0. 목적과 비범위

목적

wiki2는 혼합 도서관이다. 한 저장소 안에서 아래를 함께 유지한다.

  1. project — 내 프로젝트를 기반으로 한 개인 공학·운영 지식
  2. orbit — 웹·SNS·아티클 등 외부 정보를 취합·분류한 궤도 지식
  3. reference — 남이 만든 지식체계를 내가 참조만 하는 층

지식은 질문마다 raw에서 다시 조립하지 않는다.
LLM이 위키 층을 점진적으로 합성·유지하고, 교차참조·모순·종합이 누적된다.
(상위 패턴: Karpathy LLM Wiki — raw / wiki / schema. 이 문서는 schema 중 분류 계약이다.)

비범위

이 문서는 다음을 다루지 않는다.

  • 실제 폴더 배치 (토폴로지) → 루트 README.md, raw/README.md, wiki/README.md
  • ingest / query / lint 절차 → AGENTS.md
  • index / log 포맷 → AGENTS.md §5–§6, 파일은 index.md / log.md
  • 검색 엔진, 배포, CI
  • wiki1 이관 계획

관련 문서

문서 역할
README.md 진입점 · 토폴로지 요약
AGENTS.md 운영 계약 (ontology에 종속)
index.md 페이지 카탈로그
log.md 시간순 기록

1. 순서 원칙

기준 → 계층 → 배치. 계약이 먼저다.

단계 이름 역할 산출
1 온톨로지 무엇을 · 어떤 기준으로 이 문서
2 택소노미 계약이 정한 분류 뼈대(논리) §3 닫힌 집합
3 토폴로지 폴더 트리 + 교차링크(물리) live 디렉터리 · README 체인 (README.md 등)

토폴로지 불변 원칙: 축을 폴더로 복제하지 않는다.
corpus/domain/layer/type 좌표는 frontmatter가 유일 진실이다. wiki 페이지는 flat (wiki/{type}-{slug}.md).

도서관 비유:

  • 온톨로지 = 운영 방침 · 분류법 채택 규칙
  • 택소노미 = 듀이 십진법 같은 번호 체계
  • 토폴로지 = 책이 꽂힌 실제 서가

변경 비용:

  • 온톨로지 변경 → 운영 방식 재설계
  • 택소노미 변경 → 서가 재배치 · 번호 신설/통합
  • 토폴로지 변경 → 책 몇 권 이동

금지: 규정집 없이 서가만 만들기.
AI가 매 세션 분류 기준을 새로 짓게 두지 않는다.


2. 축 정의

페이지 1장 = 아래 축의 좌표 1세트.
축은 직교한다. 한 축의 값을 다른 축 대신 쓰지 않는다.

2.1 corpus — 창고 모드

이 페이지가 어떤 유지 규칙으로 사는가.

의미
project 내 프로젝트에서 나온 공학·운영 지식. 내가 compile한다.
orbit 웹·SNS·아티클·피드 등 외부 정보를 내가 취합·분류한다.
reference 남이 운영하는 지식체계/위키/캐논을 참조만 한다. 본문을 키우지 않는다.

2.2 origin — 소유·혈통

의미
owned 내가 썼거나, 내 소스에서 compile한 지식
external 타인·외부 매체 원저
mixed 외부 재료 위에 내 해석·분류·입장이 얹힘. 기여 구분을 본문 또는 메타에 명시

2.3 layer — 인식 거리

의미 해도 됨 금지
source 단일 원본에 부착된 요약·발췌 raw 대응, 인용, 출처 메타 다소스 종합 단정, 내 결정 선언
model 2개 이상 재료를 묶은 구조 지식 개념·엔티티·비교·테제·맵 raw 없는 신규 사실 창작, 단독 결론(“그래서 나는”)
judgment 내 입장·결정·사후학습 근거 링크 + 이유 근거 없는 선언, source로 위장

2.4 type — 페이지 형태

layer 안의 문서 양식. layer 이름을 type에 다시 쓰지 않는다.

주 layer 한 줄
brief source 단일 원본 브리프/요약
entity model 사람·제품·조직·도구·작품 등 대상
concept model 개념·패턴·메커니즘
comparison model A vs B 구조 비교
thesis model 여러 재료를 묶은 종합 테제
decision judgment 결정과 근거·대안·폐기조건
learning judgment 사후 교훈 (결정과 분리된 배움 단위)
map model 허브/목차/외부 체계 지도 (얇은 모델)
query model 또는 judgment 재사용 질의·답 fileback
template model 형식 템플릿 (status: template)

2.5 domain — 주제 영역

관심 주제 서랍. 프로젝트 코드명이 아니다.
필수. 닫힌 목록(§3.5).

2.6 project — 프로젝트 소속 (선택)

특정 프로젝트에 묶일 때만 사용.
값(또는 목록)은 닫힌 프로젝트 목록(§3.6)의 원소여야 한다.
목록이 비어 있으면 project 필드를 쓸 수 없다 → 먼저 §7 확장 절차로 등록한다.

2.7 status / updated / title

필드 의미
title 표시 제목
status draft | active | deprecated | template
updated 의미 있는 내용 변경일 YYYY-MM-DD

status는 분류 축이 아니라 운영 필드다.


3. 닫힌 집합 (현재 값)

3.1 corpus

project | orbit | reference

3.2 origin

owned | external | mixed

3.3 layer

source | model | judgment

3.4 type

brief | entity | concept | comparison | thesis | decision | learning | map | query | template

3.5 domain

범위
agents LLM 에이전트, 툴, 오케스트레이션, 스키마
knowledge-systems 위키/RAG/온톨로지/메모 체계
game-systems 게임 규칙, 루프, 밸런스, 콘텐츠 파이프라인
runtime-clients Godot/Tauri/클라이언트 셸, 렌더, 입력
backends API, DB, 인증, 배포, 관측
markets 증권/리서치/트레이딩 운영
education 교육 운영, 출결, 학습 경험
creative-prod 아트/시나리오/VN/미디어 생산
personal 건강, 습관, 목표, 자기모형
meta wiki2 운영 자체, 온톨로지, 템플릿
unsorted 임시 대기 (draft 전용)

3.6 project

한 줄
chemical 웹 — CAS 기반 화학 규제 스크리닝 B2B SaaS
pet 앱 — AI 데스크톱 컴패니언 (Hermes Pet / 시메지)
100steps 게임 — 무협 로그라이크 덱빌딩 백보일격
nornen-stock 증권 — LUMINA stocks-ops. 정본=GitHub bluecafe/nornen-stock
timebooks 교육 — 영상↔교재 locator 멀티모달 학습. 정본=GitHub bluecafe/timebooks
nornen-edu 교육 — 학원/학교 출결·시간표 관리. 정본=GitHub bluecafe/nornen-edu
angel 크리에이티브 — VN「루미나의 계절」(Godot 4 .NET). 정본=GitHub bluecafe/angel
ai-nornen 게임/엔진 — AI TRPG (지식그래프·RAG·실플레이). 정본=GitHub bluecafe/ai-nornen

목록 밖 슬러그 사용 금지. 추가·개명은 §7.

3.7 status

draft | active | deprecated | template


4. 결합 불변식

위키 페이지·AI 편집은 아래를 깨면 안 된다. 검증기는 이를 fail-fast로 거부한다.

ID 불변식
I1 모든 wiki 페이지는 필수 필드: title, corpus, origin, layer, type, domain, status, updated
I2 모든 축 값은 §3 닫힌 집합 원소. 집합 밖 값 금지
I3 project가 있으면 §3.6 원소여야 한다. 목록이 비어 있는데 project를 쓰면 거부
I4 domain: unsortedstatus: draft 만 허용. active/deprecated + unsorted 금지
I5 layer: sourcetypebrief
I6 layer: judgmenttype ∈ {decision, learning, query}
I7 layer: modeltype ∈ {entity, concept, comparison, thesis, map, query, template}
I8 origin: externallayer: judgment 금지
I9 corpus: referencetype ∈ {brief, map, entity, concept, query, template}
I10 corpus: referencelayerjudgment
I11 layer: sourceraw_source 필수. 단 corpus: referenceref_system + (ref_pin 또는 source_url) 로 대체 가능
I12 layer: judgment → 본문에 근거 링크 섹션 필수 (1개 이상)
I13 origin: mixed → 본문 또는 frontmatter에 외부/소유 기여 구분 필수
I14 raw/ 는 불변. 변경은 wiki·schema(운영 문서)만
I15 §3에 없는 값 신설 금지. 확장은 §7만
I16 모순을 조용히 덮지 않는다. 페이지 내 contradictions 또는 lint 항목으로 남긴다
I17 type: templatestatus: template
I18 type: maplayer: model

5. corpus × type 허용 표

type project orbit reference
brief O O O
entity O O △ 얇은 카드만
concept O O △ 얇게
comparison O O X
thesis O O X
decision O O X
learning O O X
map O O O (주력)
query O O
template O O O

범례: O 허용 · △ 최소 메타·맵 보조 수준 · X 금지
reference 주력은 map + brief. 남 창고 본문을 우리 위키로 삼키지 않는다.


6. 출처·참조 필드

분류 축이 아닌 혈통 필드. 필요할 때 frontmatter에 둔다.

필드 언제 의미
raw_source layer=source (일반) 불변 raw 파일 상대 경로
source_owner 출처 명시 작성자·조직·프로젝트
source_url 외부 URL 있을 때 원본 URL
source_license 알 수 있으면 라이선스. 모르면 unknown
source_access 알 수 있으면 public | private | internal | restricted | unknown
ref_system corpus=reference 외부 체계 이름
ref_pin corpus=reference 커밋·날짜·버전 핀
projects 다 프로젝트 연결 §3.6 원소 리스트 (단수 project 대신 가능)

frontmatter 최소 예시

---
title: "예제 브리프"
corpus: orbit
origin: external
layer: source
type: brief
domain: agents
status: draft
updated: 2026-07-18
raw_source: "raw/inbox/example.md"
source_url: "https://example.com"
source_license: unknown
---
---
title: "외부 체계 맵"
corpus: reference
origin: external
layer: model
type: map
domain: knowledge-systems
status: active
updated: 2026-07-18
ref_system: "Example Wiki"
ref_pin: "2026-07-01"
source_url: "https://example.org/wiki"
---

7. 확장 절차

닫힌 집합을 바꾸느 것은 태그 추가가 아니라 계약 개정이다.

  1. 변경 이유와 영향 범위를 사용자와 합의한다.
  2. 이 문서 §3 (및 필요 시 §2·§4·§5)를 수정한다.
  3. log.mdontology 항목으로 남긴다. (log 포맷은 운영 문서)
  4. 기존 페이지 마이그레이션이 필요하면 같은 작업 단위에서 처리한다.

비용 감각:

변경 비용
domain / project 값 추가 낮음~중간
type 추가·삭제 중간
layer / corpus / 불변식 변경 높음 — 마이그레이션 계획 없이 금지

AI는 확장을 제안할 수 있다.
사용자 확인 없이 ontology를 수정하지 않는다.


8. AI 의무 / 금지

의무

  • 위키 작성·수정 전 이 문서를 따른다.
  • 새 페이지에 I1 필수 필드를 채운다.
  • 불변식 I2–I18을 지킨다.
  • layer=judgment 이면 근거 링크를 본문에 남긴다.
  • 모순·폐기·대체 관계를 숨기지 않는다.
  • 확장이 필요하면 먼저 제안하고 확인을 받는다.

금지

  • §3에 없는 축 값 발명
  • 폴더가 비어 있다는 이유로 분류 기준을 즉석 창작
  • raw/ 수정
  • reference 본문을 owned 위키처럼 확장·재저술
  • external 재료를 judgment로 위장
  • unsorted 페이지를 active로 승격
  • project 목록이 비어 있는데 project 필드 사용
  • 사용자 확인 없는 ontology 개정

9. 개정 이력

날짜 요약
2026-07-18 초안. 축·닫힌 집합·불변식 V1·T1 허용 표·P0 빈 project 목록 확정
2026-07-18 6C. 비범위 포인터를 AGENTS/README로 고정. 토폴로지 flat 원칙을 §1에 명문화
2026-07-18 project 목록 시드: chemical, pet, 100steps (P0→첫 등록)
2026-07-18 project 추가: nornen-stock (GitHub SSOT bluecafe/nornen-stock)
2026-07-18 project 추가: timebooks, nornen-edu, angel (GitHub SSOT bluecafe/*)
2026-07-18 project 추가: ai-nornen (GitHub SSOT bluecafe/ai-nornen origin/main)

상세 타임라인은 log.mdontology 항목을 따른다.