Pele 1.6.0 · Mermaid 12.1 · 33종

Pele 장표 갤러리

Pele 1.6.0이 그리는 Mermaid 12.1.0 다이어그램 33종. 내용은 CMDS 볼트의 실데이터와 운영 규칙으로 채웠고, DESIGN v4.3 토큰(라이트는 초록, 다크는 분홍)을 --pele-* 변수로 넘겼다. 도식은 이 브라우저에서 Pele가 바로 그린다. 테마를 바꿔도 다시 그리지 않고, 컨테이너를 390px로 줄이면 폭에 맞춰 다시 배치한다.

렌더러 버전 (info 다이어그램 출력)

33다이어그램 타입 (Mermaid 12.1.0 내장 전부)
33/33렌더 통과 · Node와 Chromium, 라이트·다크·390px
-이 브라우저에서 mount · -
775/789볼트 Mermaid 블록 통과 (98.2%)
0Pele만 거부한 블록 · 거부 14개는 Mermaid 11.17.2도 거부

흐름과 구조

누가 무엇을 어떤 순서로 하는가. 볼트 Mermaid의 84%가 flowchart와 graph다.

CMDS Process

flowchart

렌더 대기

Connect, Merge, Develop, Share 네 단계와 위키 가치 판단. 굵은 이름은 Mermaid 마크다운 문자열, 점선은 해석 관계.

자료CLAUDE.md의 CMDS Process 정의

Mermaid 소스
flowchart LR
  I["`**00. Inbox**
수집·미분류`"] --> C["`**Connect**
100 Themes`"]
  C --> M["`**Merge**
200 Literature`"]
  M --> D["`**Develop**
300 ~ 600`"]
  D --> S["`**Share**
700 ~ 800`"]
  S --> W{"위키 가치?"}
  W -->|"예"| K["LLM Wiki 컴파일"]
  W -->|"아니오"| A["마더십에 보존"]
  K -.->|"wikiVaultRelated"| M
  subgraph OPS["900 Divisions · 운영 커맨드"]
    direction TB
    ST["/status"] --> IN["/inbox 라우팅"]
  end
  IN -.-> I

브리프 제작 레인

swimlane-betabeta

렌더 대기

cmds-brief 스킬의 G0~G6 관문을 수행 주체(구요한, Claude, 스크립트, 검증 에이전트)별 레인으로.

자료cmds-brief SKILL.md 작업 순서

Mermaid 소스
swimlane-beta LR
  subgraph yohan["구요한"]
    ask["브리프 요청 (G0)"]
    approve["결재 (G6)"]
  end
  subgraph claude["Claude"]
    master["마스터 노트 작성"]
    route["지면 판정 (V1~V4)"]
    fix["내용 줄이기"]
  end
  subgraph scripts["스크립트"]
    check["brief_check (G1)"]
    build["build_brief"]
    render["render_brief (G4)"]
  end
  subgraph verifier["검증 에이전트"]
    verify["원문 충실도 (G2·G3)"]
  end
  ask --> master --> route --> check --> verify --> build --> render
  render -->|"FAIL"| fix --> build
  render -->|"PASS"| approve

데일리 노트 상태

stateDiagram-v2

렌더 대기

dailyStatus가 pending, filled, final로 바뀌는 하루 3단계와 멱등성 규칙.

자료CLAUDE.md § /daily

Mermaid 소스
stateDiagram-v2
  direction LR
  [*] --> pending : 새벽 skeleton (04시 53분)
  pending --> filled : 저녁 draft (21시 23분)
  filled --> filled : 사람 영역 편집
  filled --> final : 다음날 새벽 finalize
  final --> [*]
  note right of filled
    섹션 단위 패치만
    템플릿 재삽입 금지
  end note

브리프 빌드 시퀀스

sequenceDiagram

렌더 대기

구요한, Claude, 빌더, Pele, 렌더 검사기 사이의 메시지. autonumber, activate, alt 분기.

관찰좁은 폭에서 자기 호출(C->>C) 라벨이 여러 줄로 접히면 다음 메시지 라벨과 겹쳐서 Note로 썼다.

자료cmds-brief 스크립트 4종

Mermaid 소스
sequenceDiagram
  autonumber
  actor Y as 구요한
  participant C as Claude
  participant B as build_brief.py
  participant P as Pele 1.6.0
  participant R as render_brief.py
  Y->>C: 브리프 요청 (CB-NNN)
  Note over C: 마스터 노트와 지면 판정
  C->>B: build (briefLayout + Alt)
  activate B
  B->>P: mount(host, mermaid, zoom:false)
  P-->>B: SVG (--pele-* 변수)
  deactivate B
  C->>R: G4 지면 검사
  alt A4 1쪽, 넘침 0
    R-->>C: PASS (PDF, PNG)
  else 넘침
    R-->>C: FAIL, 내용을 줄인다
  end
  C-->>Y: 산출물과 남은 결재
  Note over Y,R: 한 장, 하나의 질문

V1 Journal 지면 구조

block-betabeta

렌더 대기

A4 한 장의 격자. 3열 기준으로 러닝 헤드, 제목과 메타, Abstract, Figure, 2단 본문과 해석 박스, 각주.

자료brief.css의 .v1 레이아웃

Mermaid 소스
block-beta
  columns 3
  run["러닝 헤드 · CMDSPACE BRIEF · CB-000"]:3
  title["제목 · 부제 · 덱 (1fr)"]:2
  info["메타 (50mm)"]
  abs["Abstract + 용어"]:3
  fig["Figure · Pele SVG (92% 폭)"]:3
  col1["본문 1단"]
  col2["본문 2단"]
  side["해석 박스 (I 등급)"]
  foot["References · 등급 범례 · 워드마크"]:3

9Yohan 작업 흐름

agentflow-betabeta

렌더 대기

prime이 결재 범위를 정하고 kepler.map, goethe.sense가 일한 뒤 생성자와 다른 검증자가 판정. connector는 claude -p.

관찰connector는 노드와 선으로 잇지 않고 따로 그린다. Pele 공식 예제도 같다.

자료9Yohan 헤드리스 실행 규약

Mermaid 소스
agentflow-beta TB
  connector claude["Claude Code"]
  claude@{ protocol: "cli", endpoint: "claude -p --agent <handle>" }

  flow prime["prime · 결재 범위 명시"]
    ask["구요한 요청"]@{ shape: input }
    plan["작업 패킷 분해"]@{ shape: task }
    ask --> plan
  end

  flow kepler["kepler.map · 901 연구"]
    search["볼트·위키 검색"]@{ shape: tool, connectorRef: "claude.run", returns: "Evidence" }
    rules["CLAUDE.md · DESIGN.md"]@{ shape: refdoc }
    search -.- rules
  end

  flow goethe["goethe.sense · 902 글"]
    draft["초안 합성"]@{ shape: tool, connectorRef: "claude.run", returns: "Draft" }
  end

  flow verify["생성자 ≠ 검증자"]
    judge["검증·결재"]@{ shape: action }
  end

  plan --> search
  search --> draft
  draft --> judge

시간

언제 일어났고 어디까지 왔는가.

Pele 도입 연표

timeline

렌더 대기

저장소 생성(10-05)부터 이 갤러리(10-20)까지 실제 날짜.

자료Pele 저장소, LLM Wiki ingest 기록, 기획서

Mermaid 소스
timeline
  title Pele, CMDS에 들어오기까지
  section Pele 측
    2026-10-05 : obsidianmd/pele 저장소 생성
    2026-10-17 : v1.6.0 공개 (Mermaid 12.1.0 33종)
  section CMDS 측
    2026-10-18 : LLM Wiki ingest (commit 458322a) : 전 시스템 도입 기획서 초안
    2026-10-19 : cmds-brief 스킬 첫 사용 : CB-000 도식을 Pele로 렌더
    2026-10-20 : 33종 렌더 실측 : 이 갤러리

Pele 도입 경과

gantt

렌더 대기

같은 사실을 간트로. done, active, milestone, crit 상태와 날짜 범위.

자료위 연표와 동일

Mermaid 소스
gantt
  title Pele 도입 경과 (실제 날짜)
  dateFormat YYYY-MM-DD
  axisFormat %m-%d
  section Pele
    저장소 생성에서 v1.6.0까지   :done, p1, 2026-10-05, 2026-10-17
  section CMDS
    LLM Wiki ingest와 기획서       :done, c1, 2026-10-18, 1d
    cmds-brief 스킬 (Pele 도식)     :done, c2, 2026-10-19, 1d
    33종 렌더 실측 (이 갤러리)      :active, c3, 2026-10-20, 1d
    결정 요청 4건 (기획서 10절)     :milestone, crit, m1, 2026-10-20, 0d

스타터킷 PR 워크플로

gitGraph

렌더 대기

cmds-llm-wiki 같은 스타터킷 레포는 PR로 병합하고 Release 태그를 단다.

관찰45도로 돌린 커밋 라벨이 병합 곡선을 가려서 rotateCommitLabel: false를 줬다.

자료스타터킷 레포 PR 규칙, 현행 v1.12.0

Mermaid 소스
---
config:
  gitGraph:
    rotateCommitLabel: false
---
gitGraph
  commit id: "v1.11.x"
  branch starter-kit
  checkout starter-kit
  commit id: "스타터킷 갱신"
  commit id: "README ko/en"
  checkout main
  commit id: "링크 핫픽스"
  merge starter-kit id: "PR 병합" tag: "v1.12.0"
  commit id: "Release ZIP"

브리프 읽기 여정

journey

렌더 대기

콜드 리더가 한 장을 읽는 순서. 점수는 설계 의도(가정)이며 측정값이 아니다.

자료02-검증-프로세스의 콜드 리더 시험

Mermaid 소스
journey
  title Brief 한 장을 읽는 길 (콜드 리더 시험, 설계 의도)
  section 30초
    제목과 부제로 질문 파악: 5: 독자
    Abstract의 근거 표시 확인: 4: 독자
  section 2분
    Figure의 실선과 점선 구분: 4: 독자, 편집자
    Claim Ledger 등급 대조: 3: 독자
  section 다음 행동
    참고문헌으로 원문 열기: 4: 독자
    결재 항목 확인: 3: 편집자

브리프 발행 이벤트

eventmodeling

렌더 대기

UI, command, event, processor 타임프레임과 data 블록. 발행 필드(publishedUrl, channels)까지.

자료03-발행-프로세스의 기록 필드

Mermaid 소스
eventmodeling

timeframe 01 ui MasterNote
timeframe 02 command BuildBrief [[BuildBrief01]]
timeframe 03 event BriefBuilt [[BriefBuilt]]
timeframe 04 processor RenderCheck
timeframe 05 command Approve
timeframe 06 event BriefPublished [[BriefPublished]]

data BuildBrief01 {
  briefId: 'CB-000'
  layout: 'v1'
}

data BriefBuilt {
  pdf: string
  png: string
}

data BriefPublished {
  publishedUrl: string
  channels: string
}

Pele 도입 보드

kanban

렌더 대기

기획서 10절 결정 요청 4건은 대기, 이 갤러리는 진행, ingest와 스킬 적용은 완료.

관찰폭이 자연 폭(640px)보다 좁으면 세 열을 2+1로 접는다.

자료기획서 §8, §10

Mermaid 소스
kanban
  todo[결정 대기]
    d1[시리즈 팔레트 8색]@{ ticket: '10-1', priority: 'High' }
    d2[CmdMD 로딩: vendored vs CDN]@{ ticket: '10-2' }
    d3[적용 순서: CmdMD 먼저?]@{ ticket: '10-3' }
    d4[cmds-pele 공개 여부]@{ ticket: '10-4' }
  doing[진행]
    g1[33종 렌더 실측 갤러리]@{ assigned: 'Claude', priority: 'High' }
  done[완료]
    w1[LLM Wiki ingest 458322a]
    s1[cmds-brief 도식을 Pele로]
    k1[기획서 초안 1~11절]

수치와 비교

얼마나, 어느 쪽이 큰가. 시리즈 색은 --pele-series-1~8에서 온다.

시리즈 팔레트 (cmds-pele 정본) 12345678

볼트 Mermaid 타입 비율

pie

렌더 대기

마더십 .md 전체에서 뽑은 624개 블록의 첫 키워드 분포. flowchart와 graph가 84%.

관찰카탈로그 한도(조각 6개 이하)에 맞춰 다섯 갈래로 묶었다. 1% 미만 조각은 퍼센트 라벨이 생략된다.

자료census.py 2026-10-20 (예시 펜스 안 블록 제외)

Mermaid 소스
pie showData
  title 마더십 볼트 Mermaid 624블록의 타입
  "flowchart·graph" : 524
  "sequenceDiagram" : 30
  "mindmap" : 27
  "gantt" : 13
  "기타 9종" : 30

Mermaid 블록이 있는 폴더

xychart horizontal

렌더 대기

같은 624개 블록을 최상위 폴더로. Inbox와 Outputs에 82%.

관찰세로 막대에서는 범주 라벨 9개 중 5개만 남아 가로 막대(horizontal)로 바꿨다.

자료census.py 2026-10-20 (예시 펜스 안 블록 제외)

Mermaid 소스
xychart horizontal
  title "마더십 Mermaid 블록 624개가 있는 폴더"
  x-axis ["00 Inbox", "70 Outputs", "40 Docs", "30 Permanent", "50 Assets", "60 Collections", "20 Literature", "90 Settings", "10 Process"]
  y-axis "블록 수" 0 --> 300
  bar [297, 214, 37, 33, 17, 17, 4, 3, 2]

두 볼트의 Mermaid 흐름

sankey

렌더 대기

두 볼트의 블록 789개가 타입별로 Pele 렌더를 통과했는지, 거부된 14개는 왜인지.

관찰노드 이름은 ASCII만 된다(Mermaid sankey 문법). 노드 값은 Pele가 이름 뒤에 붙인다.

자료census.py, corpus.mjs, Mermaid 11.17.2 대조 (report/triage.json)

Mermaid 소스
sankey

Mothership,flowchart graph,524
Mothership,other,30
Mothership,mindmap,27
Mothership,sequence,30
Mothership,gantt,13
LLM Wiki,flowchart graph,162
LLM Wiki,gantt,1
LLM Wiki,other,2
flowchart graph,Pele OK,676
flowchart graph,Pele error,10
sequence,Pele OK,30
mindmap,Pele OK,25
mindmap,Pele error,2
gantt,Pele OK,14
other,Pele OK,30
other,Pele error,2
Pele error,bad example on purpose,1
Pele error,author error,12
Pele error,lowercase gitgraph,1

지면 라우터 점수

radar-betabeta

렌더 대기

CB-000에 route_layout.py를 돌린 특징별 점수. V1이 text와 purpose에서 앞선다.

자료route_layout.py 실행 결과 (V1 9, V3 6, V2 3, V4 1)

Mermaid 소스
radar-beta
  title CB-000 지면 라우터 점수 (route_layout.py)
  axis aud["audience"], pur["purpose"], typ["briefType"]
  axis fig["figure"], evi["evidence"], txt["text"]
  curve v1["V1 Journal (9점)"]{1, 2, 1, 1, 1, 2}
  curve v3["V3 Margin (6점)"]{1, 2, 1, 1, 0, 1}
  curve v2["V2 Visual (3점)"]{2, 0, 1, 0, 0, 0}
  curve v4["V4 Policy (1점)"]{0, 0, 0, 1, 0, 0}
  graticule polygon
  max 2

장표 고르기

quadrantChart

렌더 대기

다이어그램 타입을 두 축(구조 대 수치, 한 시점 대 시간)에 놓은 선택 지도. 위치는 분류 판단.

관찰사분면과 축 라벨에 괄호나 콜론을 쓰면 문법 오류다. Mermaid도 같다.

자료이 갤러리의 분류

Mermaid 소스
quadrantChart
  title 장표 고르기: 무엇을 보여 주나
  x-axis "관계와 구조" --> "수치와 비율"
  y-axis "한 시점" --> "시간의 흐름"
  quadrant-1 "추이, xychart와 gantt"
  quadrant-2 "순서, sequence와 timeline"
  quadrant-3 "구조, flowchart와 class와 mindmap"
  quadrant-4 "비율, pie와 sankey와 treemap"
  flowchart: [0.15, 0.25]
  sequenceDiagram: [0.3, 0.7]
  timeline: [0.4, 0.85]
  gantt: [0.7, 0.8]
  xychart: [0.85, 0.65]
  pie: [0.8, 0.2]
  sankey: [0.65, 0.3]
  mindmap: [0.2, 0.1]

볼트의 저자 조합

venn-betabeta

렌더 대기

구요한, LLM, 외부 독자 세 집합의 교집합에 어느 볼트와 공개물이 놓이는지.

관찰가운데 영역보다 긴 라벨은 원 경계 밖으로 넘쳐서 짧게 썼다.

자료CLAUDE.md § Companion Vaults

Mermaid 소스
venn-beta
  title 누가 쓰고 누가 읽나: 볼트의 저자 조합
  set Y["구요한"]
    text Y1["마더십 CMDSPACE_Local_MBP"]
  set L["LLM"]
  set E["외부 독자"]
  union Y,L["CMDS_LLM_Wiki"]
  union Y,E["cmds-vault 스타터킷"]
  union Y,L,E["공개 시스템 파일"]

볼트 폴더별 노트 수

treemap-betabeta

렌더 대기

최상위 폴더 10개의 .md 수를 네 묶음으로. Inbox가 거의 절반.

관찰390px에서 면적이 작은 "지식" 그룹이 이름과 자식 없이 빈 상자가 된다. 작은 타일 이름은 글자 단위로 잘린다.

자료find 집계 2026-10-20 (.trash 제외)

Mermaid 소스
treemap-beta
"마더십 볼트 .md 12,988개 (2026-10-20 집계)"
    "수집과 처리"
        "00. Inbox": 6069
        "10. CMDS Process": 489
    "지식"
        "20. Literature Notes": 260
        "30. Permanent Notes": 267
    "업무와 자산"
        "40. Docs": 1027
        "50. Assets": 629
        "60. Collections": 1286
        "90. Settings": 326
    "산출과 참조"
        "70. Outputs": 2185
        "80. References": 450

모델과 명세

시스템과 데이터의 구조를 약속된 표기로.

CmdMD 모델

classDiagram

렌더 대기

Document, Frontmatter, Vault, RoutingRule, VaultTemplate의 관계. 합성, 집합, 의존 화살표.

자료CmdMD Sources/Models

Mermaid 소스
classDiagram
  class MarkdownDocument {
    +URL fileURL
    +Frontmatter frontmatter
    +String body
    +fullText() String
  }
  class Frontmatter {
    +Dictionary values
    +typed(key) Value
  }
  class Vault {
    +String name
    +Data bookmark
    +obsidianURL() URL
  }
  class RoutingRule {
    +Int priority
    +Int conditionCount
    +matches(doc) Bool
  }
  class VaultTemplate {
    +String body
    +apply(doc, date) String
  }
  MarkdownDocument *-- Frontmatter
  Vault "1" o-- "*" VaultTemplate
  RoutingRule --> Vault : 보낸다
  RoutingRule ..> MarkdownDocument : 조건 평가

cmds-pele 모듈 구조

architecture-betabeta

렌더 대기

세 표면이 하나의 JS 부트스트랩을 쓰고, CSS가 DESIGN 토큰을 pele 변수로 넘긴다.

관찰선언 순서가 배치를 정한다. css를 먼저 둬서 DESIGN.md 선이 js를 가로지르지 않게 했다.

자료기획서 §4.2

Mermaid 소스
architecture-beta
  group surfaces(cloud)["Markdown 표면"]
    service cmdmd(server)["CmdMD"] in surfaces
    service web(internet)["웹 템플릿 4종"] in surfaces
    service lecture(disk)["강의 HTML"] in surfaces
  group module(server)["cmds-pele 모듈"]
    service css(disk)["pele-cmds.css"] in module
    service js(server)["pele-cmds.js"] in module
  service pele(database)["pele 1.6.0"]
  service design(disk)["DESIGN.md v4.3"]

  cmdmd:B --> T:js
  web:B --> T:js
  lecture:B --> T:js
  design:R --> L:css
  js:B --> T:pele
  css:B --> T:pele

브리프 마스터 노트 모델

erDiagram

렌더 대기

브리프, Claim, Reference, Figure, Layout의 카디널리티와 키.

관찰BRIEF에서 나가는 관계 4개의 마커가 아래쪽 가운데에 몰린다.

자료cmds-brief master-format

Mermaid 소스
erDiagram
  BRIEF ||--|{ CLAIM : "Claim Ledger"
  BRIEF ||--|{ REFERENCE : "인용 번호"
  CLAIM }o--|| REFERENCE : "원문 위치"
  BRIEF ||--o{ FIGURE : "Mermaid를 Pele로"
  BRIEF }o--|| LAYOUT : "briefLayout"
  BRIEF {
    string briefId PK "CB-NNN"
    string type "research, concept, technology, practice"
    string briefGate "G0~G6"
  }
  CLAIM {
    int n PK
    string grade "A, B, C, D, I"
    string location "원문 위치"
  }
  REFERENCE {
    int n PK
    string url
  }
  LAYOUT {
    string id PK "v1~v4"
    int routerScore
  }

Pele 도입 요구사항

requirementDiagram

렌더 대기

기획서 3절 목표 세 개를 요구사항으로, 이 갤러리와 CSS가 무엇을 검증하고 만족하는지.

관찰한글 text는 큰따옴표가 필요하고, test는 예약어라 type 값으로 못 쓴다. Mermaid도 같다.

자료기획서 §3, §7

Mermaid 소스
requirementDiagram
  direction LR
  requirement one_module {
    id: G1
    text: "모든 CMDS 표면이 같은 모듈 하나로 Mermaid를 그린다"
    risk: medium
    verifymethod: inspection
  }
  functionalRequirement tokens {
    id: G2
    text: "다이어그램 색이 DESIGN 토큰(green, pink)을 자동으로 따른다"
    risk: low
    verifymethod: test
  }
  performanceRequirement corpus {
    id: G4
    text: "볼트 Mermaid 소스가 Pele에서 그대로 통과한다 (실측 775/789)"
    risk: high
    verifymethod: analysis
  }
  element gallery {
    type: gallery
    docref: "2026-10-20 pele gallery"
  }
  element css {
    type: stylesheet
    docref: "pele-cmds.css"
  }
  one_module - contains -> tokens
  css - satisfies -> tokens
  gallery - verifies -> corpus

CMDS 표면 컨텍스트

C4Context

렌더 대기

구요한이 쓰는 Obsidian, CmdMD, 웹 사이트가 외부 시스템 Pele와 맺는 관계.

관찰"배포"와 "pele.mount()" 라벨이 붙어서 UpdateRelStyle로 "배포"를 옮겼다.

자료기획서 §5 표면 표

Mermaid 소스
C4Context
  title CMDS 마크다운 표면과 Pele
  Person(yohan, "구요한", "볼트 저자이자 운영자")
  System_Boundary(cmds, "CMDS") {
    System(obsidian, "Obsidian 볼트", "작성, mermaid.js로 미리보기")
    System(cmdmd, "CmdMD", "리뷰 우선 macOS 에디터")
    System(web, "cmdspace.work 사이트", "Vercel, 강의 HTML, 리포트")
  }
  System_Ext(pele, "Pele 1.6.0", "Mermaid를 SVG로, --pele-* 변수")
  Rel(yohan, obsidian, "노트 작성")
  Rel(obsidian, cmdmd, "같은 .md 열기")
  Rel(cmdmd, pele, "pele.mount()")
  Rel(web, pele, "CDN 또는 vendored")
  Rel(yohan, web, "배포")
  UpdateRelStyle(yohan, web, $offsetX="-60", $offsetY="-30")

CmdMD 유스케이스

usecase-betabeta

렌더 대기

미리보기, 보내기, 자동 라우팅, 퀵 캡처, Omnisearch. include 관계 두 개.

자료CmdMD 단축키 표

Mermaid 소스
usecase-beta
direction LR
actor Yohan("구요한")
systemBoundary CmdMD
  Preview("렌더 미리보기")
  Send("볼트로 보내기")
  Route("자동 라우팅")
  Capture("퀵 캡처")
  Search("Omnisearch")
end
Yohan --> Preview
Yohan --> Send
Yohan --> Capture
Yohan --> Search
Route ..> : include Send
Capture ..> : include Route

브리프 식별자 자리

packet-betabeta

렌더 대기

CB-NNN-slug 문자열의 자리 배치를 비트 필드처럼. 비트가 아니라 문자 위치.

자료cmds-brief 번호 규칙

Mermaid 소스
---
title: "Brief 식별자 CB-NNN-slug (문자 위치)"
config:
  packet:
    bitsPerRow: 32
---
packet-beta
0-1: "CB"
2: "-"
3-5: "NNN 일련번호"
6: "-"
7-31: "slug (영문 소문자와 하이픈)"

위키링크 문법

railroad-ebnf-betabeta

렌더 대기

임베드 느낌표, 이모지 접두, 헤딩과 블록 앵커, 별칭까지 볼트 위키링크 규칙을 EBNF로.

관찰한 규칙에 ?를 두 번 쓰면 EBNF 특수 시퀀스(? … ?)로 읽혀서 선택 항목을 [ ]로 썼다.

자료wikilink-rules.md §1

Mermaid 소스
railroad-ebnf-beta
title "Obsidian 위키링크 (wikilink-rules)"

wikilink = [ "!" ] "[[" target [ anchor ] [ "|" alias ] "]]" ;
target = [ prefix ] name ;
prefix = "📜" | "📚" | "🏛" | "🏷" ;
anchor = "#" ( heading | "^" block_id ) ;

볼트 폴더 트리

treeView-betabeta

렌더 대기

마더십 최상위 폴더와 시스템 파일. 주석(##)으로 precedence와 심링크 원본 표시.

자료directory-structure.md

Mermaid 소스
treeView-beta
  CMDSPACE_Local_MBP/
    00. Inbox/
      03. AI Agent/
        03-1. Claude Code (MBP)/
    10. CMDS Process/
      15. Periodic/
    30. Permanent Notes/
    70. Outputs/
      74. Projects/
        CMDSPACE Brief/
    90. Settings/
      94. Agent Settings/
        claude/ ## .claude 심링크의 원본
    CLAUDE.md ## precedence 1
    CMDS.md ## precedence 4
    DESIGN.md ## precedence 9

분석 프레임

원인, 영역, 가치 사슬, 분류. 전략 프레임워크를 다이어그램 문법으로.

CMDS 9 카테고리

mindmap

렌더 대기

100 Themes부터 900 Divisions까지와 대표 하위 카테고리.

관찰자식이 없는 1단계 노드는 상자 없이 글자만 그려서 300과 700에 하위 항목을 붙였다.

자료CMDS.md 아키텍처

Mermaid 소스
mindmap
  root((CMDS 9 카테고리))
    100 Themes
      101 Interests
      104 Terminologies
    200 Literature
      210 Literature Reviews
      220 Personal Insights
    300 Data
      310 Data Management
    400 Methodologies
      492 Prompts
    500 Products
      501 Obsidian
      521 Claude
    600 Specialties
      601 Knowledge Management
      620 Generative AI
    700 Creatives
      701 YouTube
    800 Outputs
      840 Lectures
    900 Divisions
      9Yohan

Obsidian 프리즈 원인

ishikawa-betabeta

렌더 대기

2026-10-14와 10-20에 실제로 진단한 원인들: 이중 동기화, Omnisearch 캐시 OOM, Synaptic 캐시.

자료메모리 노트 2건

Mermaid 소스
ishikawa-beta
  Obsidian 프리즈와 느려짐
  동기화
    osync와 Obsidian Sync 이중 동기화
    symlink를 실체 폴더로 복제
  플러그인
    Omnisearch useCache (힙 4.4GB 한도)
    Synaptic 캐시 77MB
    Lazy Loader에서 안 끈 플러그인
  볼트
    .md 12,988개
    점폴더 캐시 (.smart-env)
  운영
    종료는 pkill -x 로만
    Studio는 SSH로 못 띄움

CMDS 작업의 영역

cynefin-betabeta

렌더 대기

잡으로 고정된 일(clear)부터 당일 복구(chaotic)까지. 전이 화살표는 운영이 성숙하는 방향.

관찰전이 라벨 "스크립트와 잡으로 고정"이 영역 경계 점선과 겹친다.

자료운영 규칙과 사고 기록

Mermaid 소스
cynefin-beta
  title CMDS 작업은 어느 영역에 있나
  clear
    "데일리 노트 생성 (/daily 잡)"
    "시스템 파일 8-way 동기화"
  complicated
    "브리프 지면 판정 (라우터 대조)"
    "Pele 토큰 매핑"
  complex
    "/merge 합성 (정보 손실 판단)"
    "강의 현장의 반응"
  chaotic
    "옵시디언 프리즈 당일 복구"
  chaotic --> complex : "원인 진단 (OOM)"
  complex --> complicated : "패턴을 규칙으로"
  complicated --> clear : "스크립트와 잡으로 고정"

지식 산출 가치 사슬

wardley-betabeta

렌더 대기

독자에서 Pele까지의 의존 사슬. Pele는 신생이라 evolve 화살표로 성숙 방향을 표시.

관찰한글이나 점(.)이 든 이름은 큰따옴표로 감싼다. note는 제목과 같은 굵기로 나온다.

자료구성 (위치는 판단)

Mermaid 소스
wardley-beta
title CMDS 지식 산출의 가치 사슬 (2026-10)

anchor "독자와 수강생" [0.95, 0.70]
component "브리프와 강의" [0.82, 0.55]
component "볼트 노트" [0.66, 0.60]
component "Obsidian" [0.52, 0.85]
component "Claude Code" [0.50, 0.62]
component "Mermaid 문법" [0.36, 0.88]
component "Pele" [0.30, 0.42]
component "mermaid.js" [0.28, 0.82]

"독자와 수강생" -> "브리프와 강의"
"브리프와 강의" -> "볼트 노트"
"볼트 노트" -> "Obsidian"
"볼트 노트" -> "Claude Code"
"Obsidian" -> "Mermaid 문법"
"Mermaid 문법" -> "mermaid.js"
"Mermaid 문법" -> "Pele"

evolve "Pele" 0.70

note "Pele: 신생(10-05)에서 1.6.0(10-17)까지, 1인 메인테이너" [0.18, 0.30]

실측 메모

Mermaid와 같은 판정

  • 두 볼트의 Mermaid 블록 789개 중 775개(98.2%)를 그렸다. 마더십 610/624, LLM Wiki 165/165.
  • 거부한 14개는 Mermaid 11.17.2도 같은 자리에서 거부했다. 작성 오류 12개, 규칙 노트의 일부러 틀린 예시 1개, 소문자 gitgraph 1개다.
  • 작성 오류는 대부분 따옴표 없는 라벨 안의 괄호, 라벨 일부만 감싼 따옴표, [/로 시작하는 라벨, mindmap 안의 classDef였다.
  • 한글 라벨 제약도 Mermaid 문법 그대로다. sankey 노드 이름은 ASCII만, quadrant 라벨에는 괄호를 못 쓰고, requirement의 한글 text와 wardley의 한글 이름은 큰따옴표가 필요하다.
  • 예시 펜스(4-백틱) 안에 든 블록 13개는 Obsidian이 그리지 않아 집계에서 뺐다.
  • 같은 33종을 Obsidian 1.14.4에 내장된 Mermaid 11.13.0으로 그리면 25종이 된다. swimlane, agentflow, eventmodeling, usecase, railroad, treeView, cynefin, wardley는 볼트 미리보기에서 보이지 않고 산출물에서만 보인다.

Pele 1.6.0에서 본 렌더 문제

  • sequence: 좁은 폭에서 자기 호출 라벨이 여러 줄로 접히면 다음 라벨과 겹친다.
  • treemap: 390px에서 작은 그룹이 빈 상자가 되고, 작은 타일 이름은 "80.…"처럼 글자 단위로 잘린다.
  • xychart: 세로 막대에서 라벨이 안 들어가면 하나 건너 하나씩 뺀다. 빠진 범주를 알리는 표시가 없다.
  • gitGraph: 45도로 돌린 커밋 라벨이 병합 곡선을 가린다.
  • mindmap: 자식이 없는 1단계 노드를 상자 없이 그린다. pie: 1% 미만 조각의 퍼센트 라벨을 생략한다.
  • cynefin 전이 라벨이 경계선과 겹치고, wardley note가 제목 굵기로 나오고, er 관계 마커가 한곳에 몰린다.
  • er, requirement, cynefin은 328px을 줘도 760px 넘게 남는다. 좁은 카드에서는 그만큼 작아진다.

테마 토큰

  • Pele는 timeline 헤더와 날짜, gitGraph 브랜치 이름을 --pele-bg 색으로 쓴다. 그래서 시리즈 색은 배경과 4.5:1 이상 대비가 나야 한다.
  • 첫 시안은 라이트에서 브랜드 분홍 #E985A2가 흰 배경 대비 2.52:1이라 흰 글자가 안 읽혔다.
  • 지금 팔레트는 라이트가 진한 초록·분홍·회색(최저 5.15:1), 다크가 밝은 톤(최저 6.12:1)이다. 아직 확정 전 시안이다.
  • 글자 폭을 잰 글꼴과 보여 주는 글꼴이 같아야 라벨이 상자에 맞는다. 도식은 Pretendard 한 가지로 재고 그린다.