Office Objects — 문서함 + 휴지통 기능명세
Office 탭의 맵 오브젝트 기능 정의. 핵심 원리: MD 파일 = source of truth, DB = 휘발성 저장소.
핵심 원리
MD 파일 (영속, git 관리) ← source of truth
DB (휘발성, 임시 저장) ← 언제든 비울 수 있음
CLI 컨텍스트 초기화 = DB 휴지통 정리 = 같은 원리
1. MD 파일 최신화
2. 휘발성 저장소 정리 (컨텍스트/DB)
3. MD 파일 보고 바로 이전 작업 추적 → 계속
📂 문서함 (Marketplace)
기존 설계 (rules.md, checklist-sprint.md)
marketplace/ 폴더 = GitHub 레포 자체- 중앙 서버 없이 GitHub Raw URL로 fetch
- 에이전트 프리셋 spec.json 표준 포맷
카테고리
| 폴더 | 내용 | 용도 |
|---|
agent-presets/ | 에이전트 캐릭터 스펙 | 다운로드 → 에이전트 생성 시 적용 |
skills/ | 재사용 스킬 | 에이전트에 스킬 추가 |
rules/ | 코딩 규칙/가이드라인 | 프로젝트 전체 적용 |
tips/ | 바이브코딩 팁 | 학습/참고용 |
checklists/ | 체크리스트 | 보안/아키텍처/마케팅 등 |
모바일 UI 기능
- 브라우징: marketplace 카테고리별 탐색
- 프리셋 미리보기: spec.json 내용 표시 (이름, 역할, 설명)
- 설치: "가져오기" → DB agents 테이블에 INSERT
- 스킬 적용: 에이전트에 스킬 추가
- 규칙 적용: 프로젝트 전체에 규칙 적용
- 검색: 카테고리/태그/이름으로 검색
데이터 소스
GitHub Raw URL:
https://raw.githubusercontent.com/Lee-JuYeon/bigbossos/JUYEON/marketplace/agent-presets/{name}/spec.json
UI 구조
📂 문서함 탭 시 하단에:
┌─────────────────────────────────┐
│ 📂 문서함 │
├─────────────────────────────────┤
│ ▶ 에이전트 프리셋 (12) │
│ ▶ 스킬 (5) │
│ ▶ 규칙 (11) │
│ ▶ 팁 (4) │
│ ▶ 체크리스트 (14) │
├─────────────────────────────────┤
│ 🛡️ 보안 지식 DB (SecurityConsigliere) │
│ ▶ 보안 사고 기록 (47) │ ← 자동 누적
│ ▶ 에러 패턴 (123) │ ← 자동 누적
│ ▶ 취약점 DB (89) │ ← OWASP 매핑
│ ▶ 방어 플레이북 (15) │ ← 에이전트 참조
│ ▶ 비용 최적화 (31) │ ← Before/After
│ 📊 Critical:3 High:8 Med:24 │
├─────────────────────────────────┤
│ 🔍 검색... │
└─────────────────────────────────┘
→ SecurityConsigliere 상세: spec/security-consigliere.md
프리셋 펼침:
│ ▼ 에이전트 프리셋 (12) │
│ ┌─────────────────────────┐ │
│ │ 🍔 푸드 마케터 │ │
│ │ 음식 마케팅 전문가 │ │
│ │ [가져오기] │ │
│ ├─────────────────────────┤ │
│ │ 🔐 보안 감사관 │ │
│ │ 코드 보안 감사 전문 │ │
│ │ [가져오기] │ │
│ └─────────────────────────┘ │
🗑️ 휴지통 (DB 관리)
핵심 흐름
1. DB 용량 확인 (프리티어 500MB)
2. 테이블별 사용량 표시
3. [정리] 버튼 →
4. 먼저 MD 파일 최신화 확인
- CHANGELOG.md 최신?
- DASHBOARD.md 최신?
- rules.md 최신?
- ISSUES.md 최신?
- memory/*.md 최신?
5. 대화 내역 → docs/archive/ MD로 아카이브
6. 모든 문서 업데이트 완료 확인
7. DB 테이블 DELETE 실행
8. DB 비워도 MD가 source of truth → 바로 작업 재개
기존 인프라
| RPC/함수 | migration | 기능 |
|---|
get_table_sizes() | 015 | 테이블별 용량+행수 조회 |
cleanup_old_client_logs() | 024 | 7일 이상 로그 삭제 |
cleanup_expired_pairing_codes() | 010 | 만료 페어링 코드 정리 |
cleanup_rate_limits() | 020 | rate limit 정리 |
정리 대상 테이블
| 테이블 | 정리 기준 | MD 아카이브 필요 |
|---|
| messages | 대화 내역 전체 | ✅ (archive/에 MD) |
| client_logs | 7일 이상 | ❌ |
| pairing_codes | 만료된 것 | ❌ |
| typing_status | 전체 | ❌ |
| directive_queue | 처리 완료된 것 | ❌ |
| agents | ❌ 삭제하면 안 됨 | - |
| channels | ❌ | - |
| projects | ❌ | - |
UI 구조
🗑️ 휴지통 탭 시 하단에:
┌─────────────────────────────────┐
│ 🗑️ DB 관리 142MB/500MB │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ ← 프로그레스 바
├─────────────────────────────────┤
│ messages 1,234행 89MB │
│ client_logs 567행 23MB │
│ pairing_codes 12행 1MB │
│ typing_status 3행 0MB │
│ agents 9행 0MB │ ← 삭제 불가
├─────────────────────────────────┤
│ ⚠️ 정리 전 문서 최신화 필수 │
│ │
│ ☑️ CHANGELOG.md 확인 │
│ ☑️ DASHBOARD.md 확인 │
│ ☑️ rules.md 확인 │
│ ☑️ 대화 아카이브 완료 │
│ │
│ [문서 최신화 + 정리 실행] │
└─────────────────────────────────┘
정리 프로세스 (서버 연동)
모바일 [정리 실행] 탭
→ 서버에 cleanup 요청 (msg_type: 'cleanup_request')
→ Director가 수신:
1. docs/ 파일 전체 읽기 → 최신 상태 확인
2. 대화 내역 → docs/archive/YYYY-MM-DD.md로 저장
3. DASHBOARD.md 갱신
4. CHANGELOG.md에 "DB 정리 실행" 기록
5. DB cleanup RPC 실행
6. 회장에게 "정리 완료. XMB → YMB" 보고