note
AGENTS
로그 영역 — 작업 원칙
이 문서는 로그 시스템(content/logs/, content/dictionary.md, src/app/logs/, src/app/_lib/logs-fs.ts)에서 작업하는 에이전트의 원칙을 정한다. 로그 영역 작업 시작 전 반드시 읽는다.
로그 md 파일 구조 (템플릿)
---
title: {원문 발췌 문장 또는 주제 한 줄}
slug: {YYMMDD_log 또는 YYMMDD_log_N}
date: YYYY-MM-DD
kind: note | retro | experiment
summary: "{원문 발췌 한 구절 — 목록·카드에 표시됨}"
context: {짧은 한 줄 컨텍스트 — 본문 상단 회색 부연에 표시됨}
# 아래 3개는 녹음 로그만
recordedAt: "HH:MM"
length: "M:SS"
place: {장소}
---
# {slug}
## Hooks
> {원문 발췌 1 — 통찰}
> {원문 발췌 2 — 사태 서술}
> {원문 발췌 3 — 감정·소회}
> ...
(hook은 한 로그에 5~10개. 단순 요약이 아니라: 통찰 한 문장 / 사태 객관 서술 / 세션 한 줄 소개 / 솔직한 감정·소회 중 다양하게.)
## 사용된 개념어
[개념A](/logs/dictionary#개념a) · [개념B](/logs/dictionary#개념b) · ...
## 생각 덩어리
### {덩어리 제목 — 원문 한 줄 발췌}
> {원문 발췌}
> {원문 발췌 추가}
### {다음 덩어리 제목}
...
(덩어리는 **의식의 흐름 순서**. 재배열 금지. 제목은 해당 대목의 원문에서 대표 한 줄 발췌.)
## STT 원문
<details>
<summary>클릭하여 펼치기 (원본 텍스트, {길이})</summary>
{원본 STT 한 글자도 수정 없이 그대로}
</details>
원칙
1. AI 재진술·요약 금지
hook·제목·덩어리 본문·개념어 사전 모두 원문 발췌로만 구성한다. AI가 자기 언어로 재진술하면 질감(사용자 어휘·논리 전개·의식 흐름)이 죽는다.
- 덩어리 제목을 붙여야 탐색 가능하다. 그래서 제목은 그 대목의 원문에서 대표 한 줄 발췌로 한다. 붙인 것이 아니라 고른 것.
- 개념어 사전 표제어의 정의도 마찬가지 — 원문 pull quote만. AI가 "골짜기란 ~이다" 같은 문장 쓰지 않는다.
2. 의식 흐름 순서 유지
덩어리 순서는 STT에 등장한 순서 그대로. 주제별로 묶거나 논리 순서로 재배열하면 사용자 사유의 나선 구조가 평평해진다. 같은 주제가 중간에 끊겼다 재개되면 한 덩어리로 묶되 "→ 중단 → 재개" 표시만 붙여 표현한다.
3. STT 원문은 정본
<details> 접힘 안에 원본 그대로. 한 글자도 수정하지 않는다. 클로바 전사 오타도 그대로 보존 (발화자의 어투를 보여준다).
4. frontmatter 스키마 고정
필드 이름·형식을 바꾸지 않는다. logs-fs.ts 파서, 홈 chip, 사이드바 등이 이 스키마에 의존한다. 새 필드 추가는 OK (기존 필드 옆에 덧붙임), 기존 필드 제거/이름 변경은 금지.
5. dictionary.md 표제어 형식
- 각 표제어는
### {표제어}헤딩 - 본문은 pull quote(
>)만 - 맨 아래
**등장**: [로그1](로그1.md), [로그2](로그2.md)역링크 - 홈의 "개념어 사전" chip은 이
###헤딩을 자동 파싱 (logs-fs.getDictionaryTerms())
새 로그에 기존 개념어가 등장하면 해당 표제어의 **등장**: 라인에 추가. 새 개념어가 등장하면 가나다 순에 맞춰 새 섹션 추가 + 상단 색인도 갱신.
6. 500편 확장 가능
템플릿 따라 md 한 파일 추가하면 목록·사이드바·사전·홈 모두 자동 반영돼야 한다. 하드코딩·특수 케이스 추가 금지.
제목 규칙 (title 필드)
- 녹음 로그: 해당 세션의 주제 문장. 예:
바이브 코딩 4일차. 국가 에이전트 실패 회고 - 정제된 글(설계/실험/회고): 글의 주제 문장. 예:
배포 플랫폼 중립 통합 대시보드 설계. 공개 시점 기준 prior art 선언을 겸함 - slug (파일명 기반,
260414_log_2등)는 frontmatter의slug필드에 따로 유지. URL 안정성·파일 일관성 목적.
summary 필드 규칙
- 원문 발췌 한 구절 (요약 아님)
- 목록 페이지·LogCard에 표시됨
- 충분히 대표성 있으면서도 짧은 것 (1~3 문장)
관련 코드 (건드릴 때 이 원칙과 함께 보기)
- src/app/_lib/logs-fs.ts — 파일 파싱, 표제어 추출, Date 정규화
- src/app/logs/page.tsx — 목록 카드
- src/app/logs/[slug]/page.tsx — 상세 + 사이드바
- src/app/logs/dictionary/page.tsx — 사전
src/app/globals.css의.log-article/.dictionary-article/.dict-chip섹션src/app/page.tsx의 "개념어 사전" 섹션
새 로그 추가 절차 (작업 순서)
- 오디오를 클로바노트로 STT →
.txt다운 ../_raw_audio/{YYMMDD_log}.txt에 원본 보존 (site-v2 바깥의 30.unknownunknowns 레벨)content/logs/{YYMMDD_log}.md새 파일 생성 — 위 템플릿 따라- hook(5~10개) · 사용된 개념어 · 생각 덩어리 · 접힌 STT 채우기
- 새 개념어가 등장했으면
content/dictionary.md에 표제어 추가 + 기존 개념어면 등장 로그 목록에 이 로그 추가 git commit && vercel deploy --prod(이미 메모리에 따라 "변경 즉시 push")