Files
llm-wiki/rules/tag-taxonomy.md
T

23 KiB

title, source_type, status, tags, last_reviewed
title source_type status tags last_reviewed
LLM Wiki Tag Taxonomy meta stable
meta
taxonomy
2026-07-28

LLM Wiki Tag Taxonomy

본 문서는 모든 tags: frontmatter 의 허용 어휘(controlled vocabulary) 를 정의한다. Obsidian Tag pane 이 의미를 가지려면 같은 개념에 같은 tag 가 일관 적용되어야 함. 자유 형식 tag 는 결국 분산되어 그래프뷰 분류력을 잃는다.

Layer: templates/ — 메타 규약. 본 문서는 다른 문서의 frontmatter tags: 채울 때 참고하는 정책.

1. 5계층 Tag 모델

각 문서의 tags: 는 최대 5계층에서 골라 5~7개 이내로 작성. 5계층:

계층 의미 예시
L1 Type 문서 종류 (template source_type 와 1:1 거의 일치) branch, daily, daily-task, error, interview-prep, job-posting, blog-topic, lecture, official-doc, company-tech-blog, personal-blog, project-note, project, concept, interview, portfolio, blog, meta, invest-daily, invest-research, invest-ledger, invest-concept, invest-strategy, invest-plan
L2 Project 어떤 프로젝트에 묶이는가 ca-tmpl, ca-skeleton, nplus1-presentation-prep, keycloak-patterns, llm-wiki, personal-invest
L3 Domain 기술 영역 architecture, application, auth, security, observability, persistence, messaging, caching, testing, ci-cd, runtime, networking, data-modeling, api-design, error-handling, tenant-isolation, validation, integration, mapper, learning, infra, frontend, finance, macro, tax-account
L4 Tech 구체 기술 스택 spring-boot, spring-framework, spring-mvc, spring-data, spring-security, gradle, postgresql, kafka, redis, kubernetes, docker, keycloak, oauth2-proxy, nginx, archunit, flyway, hikaricp, micrometer, opentelemetry, lombok, mapstruct, build-tooling, axonframework, json, jakarta, bean-validation, loom, java-21, mdc, google-aip, fetch-spec, ulid, ksuid, aws, nanoid, mysql, stripe, owasp, hibernate, cloudevents, shedlock, twelve-factor, prometheus, junit5, errorprone, calver, semver, istio, oauth2, rfc-7009, chrome, webkit, traefik, react, tailwind, javascript, mdn, ietf, mongodb, liquibase
L5 Concept 일반 개념 (라이브러리·기술과 무관) clean-architecture, hexagonal, idempotency, outbox-pattern, circuit-breaker, rate-limit, gdpr, slsa, cqrs, cap-theorem, transaction-synchronization, transaction-port, domain-event, component-scan, package-structure, multi-module, code-generation, domain-purity, framework-neutral, merge-patch, partial-update, group-sequence, class-level-constraint, anti-corruption-layer, ddd, virtual-threads, thread-local, hands-on-lab, daily-task-template, deliberate-practice, cursor-pagination, offset-pagination, page-token, custom-method, bulk-operation, filtering, api-contract, list-method, pagination, ordering, cors, base32-encoding, resource-identifier, base62-encoding, public-id-separation, clustered-index, uuid-storage, page-split, log-injection, cwe-117, span-event, trace-status, externalized-config, profile-activation, duration-binding, etf, index-fund, diversification, asset-allocation, position-sizing, behavior-gap, dollar-cost-averaging, stop-loss, isa-account, pension-account, clock-skew, jwt-validation, transaction-isolation, mvcc, gap-lock, consistent-read, connection-pool, pool-sizing, auditing, clock-injection, event-schema, exponential-backoff, jitter, retry-policy, dead-letter-queue, security-context-propagation, thread-pool, bounded-queue, graceful-shutdown, sigterm, distributed-lock, lock-lease, advisory-lock, stdout-logging, log-routing, observation-lifecycle, high-cardinality, metric-naming, histogram-quantile, percentile-aggregation, read-only-rootfs, privilege-escalation, drop-capabilities, conditional-test-execution, static-analysis, reproducible-builds, supply-chain, version-scheme, calendar-versioning, artifact-versioning, mtls, security-group, network-policy, pkce, auth-request, token-revocation, refresh-token-rotation, third-party-cookie, csrf, samesite, write-concern, read-preference, least-privilege, replication, change-stream, transaction

2. 권장 조합

문서마다 어느 계층에서 몇 개씩 채울지:

문서 종류 L1 (필수) L2 (필수) L3 (권장 1~2) L4 (해당 시 1~2) L5 (해당 시 1~2)
branch-note branch 프로젝트 슬러그 1~2 1~2 1~2
daily-note daily — (여러 프로젝트 OK)
daily-task daily-task 프로젝트 슬러그 (보통 ca-tmpl/ca-skeleton) 1~2 (트랙 / 도메인) 0~2 0~2
error error 프로젝트 슬러그 1 1~2 0~1
interview-prep interview-prep 프로젝트 슬러그 1~2 0~1 1~2
job-posting job-posting (관련 프로젝트 슬러그) 1~2 0~1 0~1
blog-topic blog-topic 프로젝트 슬러그 1~2 0~1 1~2
lecture lecture (관련 프로젝트 슬러그) 1~2 0~1 1~2
official-doc official-doc (관련 프로젝트 슬러그) 1 1+ (예: spring-boot) 0~1
company-tech-blog company-tech-blog (관련 프로젝트 슬러그) 1 0~1 0~2
project-note project-note 프로젝트 슬러그 자체 0~1 (가장 큰 영역)
project (wiki) project 프로젝트 슬러그 1~2 1~2 1~2
concept (wiki) concept 1 0~1 1+
invest-daily invest-daily personal-invest finance/macro 0~2 0~2
invest-research invest-research personal-invest finance 1~2 0~1 1~2
invest-strategy invest-strategy personal-invest finance 1 0~1 1~2
interview (wiki) interview (관련 프로젝트 슬러그) 1 0~1 1~2
portfolio (wiki) portfolio 프로젝트 슬러그 1~2 1~2 1~2
blog (wiki) blog (관련 프로젝트 슬러그) 1~2 1~2 1~2

총 tag 수는 5~7개 이내. 더 많이 붙이고 싶으면 본문 wikilink 로 표현.

3. 명명 규칙

  • 모두 영문 kebab-case (예: clean-architecture, NOT clean_architecture, NOT CleanArchitecture, NOT 깨끗한-아키텍처)
  • 단수형 권장 (예: error not errors)
  • 약어 풀어쓰기 (예: circuit-breaker not cb)
  • 동의어 통일:
    • auth (not authentication, authn, auth-z)
    • observability (not obs, observable)
    • kubernetes (not k8s)
    • clean-architecture (not clean-arch, ca)
    • 단 약어가 더 일반적인 경우 약어 사용: slsa, gdpr, pci-dss, oauth2, oidc

4. 신규 tag 추가 절차

새 카테고리·기술·개념이 등장하면:

  1. 본 taxonomy 문서에 추가 (해당 L계층 표에 한 줄)
  2. 기존 문서를 grep 해서 동일 의미 다른 tag 가 있는지 확인 — 있으면 통일
  3. last_reviewed 갱신

본 taxonomy 에 없는 tag 를 임의로 사용 금지. 새 개념은 먼저 본 문서를 갱신한 뒤 사용.

5. 동의어·중복 검출 (수동 운영)

주기적으로 다음을 점검:

# 모든 tag 추출 (대략)
grep -h "^tags:" -A 1 raw/**/*.md wiki/**/*.md | grep -oE "\[.*\]" | tr ',' '\n' | sort -u

# 또는 frontmatter 라이브러리 사용

발견된 동의어:

  • keycloak-patternskeycloak: 프로젝트(keycloak-patterns) vs 기술(keycloak) — 두 개 다 허용 (L2 vs L4)
  • (필요 시 여기 추가)

6. 검증 체크리스트

문서 작성 시 self-check:

  • L1 (type) tag 1개 정확 (프론트매터 source_type 과 일치)
  • L2 (project) tag 1개 명시 (project-note 자체와 daily-note 제외)
  • L3L5 합쳐서 35개 이내
  • 모두 영문 kebab-case
  • 동의어 사용 안 함 (본 taxonomy 의 표준 형태로)
  • 본 taxonomy 에 없는 신규 tag 라면 taxonomy 먼저 갱신