# 소셜 기반 시스템 — 브레인스토밍 로그 (1차)

- **작성**: 2026-07-20
- **성격**: 개발 문서 아님. 제품 당위성·형태·폐기 여부를 정하기 위한 개념 단계 대화의 기록
- **출발 문서**: [`problem-definition.md`](problem-definition.md) · [`available-queries.md`](available-queries.md) · [`schema-structure.md`](schema-structure.md)
- **핵심 질문**: *meme coin trader로서 돈이 되는 정보를 생성할 수 있는가*

이 문서는 **결론집이 아니라 과정의 기록**이다. 철회된 주장도 왜 철회됐는지와 함께 남긴다 — 같은 실수를 반복하지 않기 위함.

---

## 0. 현재 상태 요약

| 항목 | 상태 |
|---|---|
| 제품 폐기 여부 | **미결정** (판단 근거 미확보) |
| 제품 형태 | **미결정** |
| 다음 단계 | 평가축 열거 → 그 전에 외부 조사(엘리트 트레이더 기준 · 성공 토큰 역설계 · 기존 툴 지표) |
| 확정된 것 | 방법론 기준 1개(§3), 구조 진단 1개(§4) |

---

## 1. 대화의 전개 (시간순)

| # | 움직임 | 결과 |
|---|---|---|
| 1 | 설계 문서 3종을 읽고 "제품 A(정적 감별기) vs 제품 B(동적 바이럴 추적기)"로 분해 | 분해 자체는 유효 — §2 |
| 2 | 과거 소셜 실험 결과를 전수 수집해 축별로 KEEP/KILL 판정 시도 | **철회** — §3 |
| 3 | 그 판정을 근거로 "6-컬렉션 폐기 / 얇은 인덱스만 존속" 제품 판정표 제시 | **철회** — §3 |
| 4 | 사용자 정정 3건 유입 | §5 |
| 5 | 본래 질문("이 구조가 다각도·횡단면 평가를 지탱하나")으로 복귀 | §4 |
| 6 | 평가축을 먼저 열거하기로 합의, 그 전에 외부 조사 착수 | 진행 중 |

---

## 2. 유효하게 남은 분해 — 두 개의 제품이 섞여 있다

`problem-definition.md`를 읽으면 요구가 두 종류로 갈린다. 이 분해는 철회하지 않는다.

| | 제품 A — 정적 감별기 | 제품 B — 동적 바이럴 추적기 |
|---|---|---|
| 근거 문장 | "토큰에 연결된 소셜정보는 토큰 발행시점 고정" | "틱톡… 바이럴 초기인지 중기인지 후기인지" / "탕후루는 몇개월째 10M 횡보" |
| 하는 일 | 링크가 *무엇인지* 판별 | 링크된 콘텐츠를 발행 이후 계속 관측 |
| 필요 인프라 | 조회 인덱스 | 시계열 폴링 |
| 미래참조 위험 | 낮음 | 높음 |

`available-queries.md`의 Category B(KOL 승률)·D(velocity)·E(계보)는 전부 B에 속하고, `schema-structure.md`의 시계열 컬렉션 3개는 오직 B를 위해 존재한다.

**함의**: 이 둘은 인프라 비용도 검증 방법도 다르므로, 한 덩어리로 승인/폐기를 결정하면 안 된다. 다만 **B가 증거가 없다는 이유로 B를 잘라내는 것은 §3에 의해 금지된다** — "안 해봤다"와 "안 된다"는 다르다.

### 미래참조 안전성은 절반만 참

`problem-definition.md` 15번 줄의 "미래참조 이슈 없음" 주장을 쪼개면:

| 속성 | 발행시점 고정? |
|---|---|
| 링크 URL 자체 | ✅ |
| 콘텐츠 ID (트윗 ID, 영상 ID) | ✅ |
| 원작자 신원 | ✅ |
| 조회수 / 좋아요 / 팔로워 | ❌ 관측시점 스냅샷 |
| 계정 승률 등 성과 파생값 | ❌ 정의상 미래를 봄 |

→ 링크에 대해서는 참, 링크에서 뽑는 지표 대부분에 대해서는 거짓. 이건 축을 잘라내는 근거가 아니라 **저장 구조가 as-of 되감기를 지원해야 한다는 요구사항**으로 번역돼야 한다.

---

## 3. 철회 — 그리고 그 자리에 남은 방법론 기준

### 무엇을 철회하나

과거 실험 결과(AUC 0.59 천장, 제거비, OOS 붕괴 등)를 근거로 축을 KEEP/KILL로 나누고, 그 위에 "6-컬렉션 폐기 / 시계열 근거 없음 / KOL 축 사망" 판정표를 세운 것 **전부**.

### 왜 틀렸나

**(a) 축의 가치 ≠ 특정 측정의 결과.** "KOL 승률 축이 죽었다"고 말했으나 실제로 있었던 건 *특정 라벨 + 특정 기간 + 특정 정의*의 단일 측정이다. 그 측정이 null인 것과 축에 정보가 없는 것은 다른 명제다.

**(b) 측정 불가를 신호 부재로 번역했다.** 인게이지먼트 지표가 "관측 시각이 진입 2일 후라 역인과"인 것은 **파이프라인 결함**이지 지표 결함이 아니다. 파이프라인을 고치면 되는 것을 축 자체를 지우는 근거로 썼다.

**(c) 개념 설계 단계에 특히 해롭다.** 이 단계의 일은 *무엇을 잴 수 있게 만들 것인가*를 넓히는 것인데, 좁히는 쪽으로 작용했다.

> 이는 기존에 합의된 kill 분류(신호부재 / 측정불가 / 질문결함을 구분하고, 뒤의 둘을 kill이라 부르지 않는다)를 그대로 위반한 것이다.

### 남은 것 — 과거 실험 인용 기준 ✅ 확정

과거 실험이 **이 설계에 대한 증거**로 인용되려면 아래 4개가 전부 일치해야 한다.

| 항목 | 확인 질문 |
|---|---|
| 모집단 | 그 실험의 토큰 집합이 이 제품이 판정할 집합과 같나 |
| 라벨 | 성공의 정의가 이 제품이 개선하려는 것과 같나 |
| 시점 정렬 | 지표를 뽑은 시각이 제품이 판정할 시각과 같나 |
| 축 정의 | 그 실험이 잰 것이 이 축이 재려던 것과 같나 |

하나라도 다르면 **그 구성(configuration)에 대한 증거이지 축에 대한 증거가 아니다.**

기존 소셜 실험 대부분은 **라벨**(MC 도달)과 **시점 정렬**에서 어긋난다 → "안 됨"이 아니라 "**아직 제대로 물어본 적 없음**"으로 분류.

---

## 4. 구조 진단 — 관계 구조는 맞고 평가 구조가 빠졌다 ✅ 유효

`problem-definition.md` 11번 줄이 요구사항이다: *"상대평가의 한 축으로서 판정할 수 있어야 함"*.

### 횡단면(cross-sectional) 평가 성립 요건

1. **비교 대상 집합** — 이 토큰을 누구와 비교하나
2. **시점 정렬** — 토큰마다 발행 시각이 다르므로 "같은 나이"인지 "같은 시각"인지
3. **결측 처리** — 소셜 0개인 토큰과 3개인 토큰을 같은 축에 어떻게 세우나
4. **축 목록** — 무엇을 재서 순위를 매기나

### 적합한 부분

| 설계 요소 | 왜 맞나 |
|---|---|
| `contents.linkedTokenAddresses` 역방향 배열 | **콘텐츠 단위 코호트가 공짜로 나온다.** "같은 콘텐츠에 붙은 토큰들 중 이 토큰의 서열"은 그 자체로 완결된 상대평가 — 요건 1을 구조가 직접 제공. 다른 데이터 구조로는 비싼 연산 |
| 원본 payload 무손실 보존 (다형성 SSOT) | 지금 정의 못 한 축을 나중에 소급 추출 가능. 축이 미확정인 개념 단계에 정확히 맞음 |
| 마스터 / 시계열 물리 분리 | 상태 조회와 변화율 연산의 부하 성격이 실제로 다름 |

### 빠진 부분

| # | 갭 | 왜 문제인가 |
|---|---|---|
| 1 | **as-of 정렬이 1급 시민이 아님** | 시계열 3개가 전부 절대시각 기준. 횡단면 비교는 대개 "발행 후 N분" 같은 **토큰 나이** 정렬이 필요. 스키마가 이를 개념으로 인정하지 않으면 쿼리마다 정렬 기준이 달라짐 → 비교 불가 |
| 2 | **결측의 종류가 표현 안 됨** | `contentRefs: []`가 "소셜 안 달았다" / "달았는데 fetch 실패" / "달았는데 삭제됨"을 한 값으로 뭉갠다. 셋은 개념적으로 다른 상태이며 특히 마지막은 그 자체가 정보일 수 있음 |
| 3 | **비교 모집단 컬렉션 없음** | "누구와 비교하나"가 쿼리문에 즉석으로 박힘. 상대평가가 제품 목적인데 **상대의 정의가 저장되지 않음** → 재현성 없음 |
| 4 | `accounts.quantMetrics.winRate`를 마스터에 저장 | 상태 마스터에 **결과 파생값**을 얹으면 값을 덮어쓰는 순간 이전 값이 사라져 시점 되감기가 원리적으로 불가. 이런 파생은 시계열 쪽에 있어야 함. (구조의 성질이지 과거 실험 얘기가 아님) |
| 5 | **평가축 목록이 없음** | 아래 참조 — 가장 깊은 갭 |

### 갭 5 상술 — 경로(path)와 축(axis)은 다르다

`available-queries.md`는 **탐색 경로 15개**를 열거한다. 경로는 "어떻게 도달하나"이지 "무엇을 재나"가 아니다.

예: Path A-2(콘텐츠→토큰) 하나에서 최소 4개의 서로 다른 축이 나온다.

- 이 토큰이 그 콘텐츠에 붙은 **몇 번째**인가 (서열)
- 그 콘텐츠에 붙은 토큰이 **총 몇 개**인가 (경쟁 밀도)
- 붙은 것들의 성과 **분포에서 이 토큰의 위치**
- 그 콘텐츠가 **얼마나 재활용되는 종류**인가

**"다각도"를 주장하려면 각도의 목록이 있어야 하는데 현재 문서에는 없다.** 그리고 이 목록 없이는 갭 1~3도 못 푼다 — 어떤 축을 재느냐에 따라 필요한 정렬 기준과 결측 처리가 달라지기 때문.

---

## 5. 사용자 도메인 정정 (대화 중 유입)

| # | 정정 | 파급 |
|---|---|---|
| 1 | **KOL 승률은 온체인 KOL 매수자 축과 다른 것.** 내가 둘을 섞어 인용함 | 온체인 KOL 매수자 축의 null은 소셜 KOL 작성자 축에 대한 증거가 아님 |
| 2 | **creator(배포자) 지갑 이력은 의미 없음** — 보통 신규 계정을 씀 | 배포자 이력 축은 분산 부재로 성립 곤란. (내가 이를 "신규 2순위"로 매긴 것은 백로그가 아니라 내 임의 판단이었음 — 철회) |
| 3 | **소셜 없이 크게 간 토큰은 실제로 보면 대부분 스캠** — 가격만 높고 체결 불가. 콘텐츠 없이는 한계가 있으며 가끔 나오는 큰 건은 예외 | ⚠️ 아래 참조 |

### 정정 3의 파급 — 라벨 오염 가능성

기존 소셜 실험 다수가 성공을 **"MC가 특정 값에 도달했나"**로 정의한다. 그런데 소셜 없는 세그먼트의 도달 사례가 체결 불가능한 가격 조작이라면, 그 라벨은 승자가 아니라 **스캠을 세고 있다**.

| 실험군 | 라벨 | 오염 가능성 |
|---|---|---|
| MC 도달 기반 실험들 | 절대 도달 | ⚠️ 있음 |
| 진입 후 실현 손익 기반 실험들 | entry-relative PnL | 낮음 |

**미해결 질문**: "가격만 높은 스캠"을 데이터로 자동 판별할 수 있나? (체결량 / 홀더 수 / 유동성 대비 MC 등) 판별 가능하면 라벨 재정의가 실행 가능해지고, 이는 기존 실험 전체의 재해석으로 이어진다.

> 주의: 이 절은 §3의 인용 기준을 적용받는다. 여기 적힌 것은 "기존 실험이 틀렸다"가 아니라 "**라벨이 이 제품의 목적과 일치하는지 확인이 필요하다**"이다.

---

## 6. 부수 발견 (이 대화의 주제 밖, 별도 처리 필요)

`launch-source-rug` 실험이 문서 4곳(`index.md`·`findings`·`experiment-flow`·`next-work`)에서 **"OOS 미검증"**으로 표기돼 있으나, `results/out-of-sample/`에 두 기간 run 파일이 **실재**한다. 결과 JSONL 직접 집계 시:

| 후보 (제거비 @100k) | IS 06-19_21 | OOS 06-22_24 | OOS 06-24_27 |
|---|---|---|---|
| `image:metadata.j7tracker.io` | 4.92 | 3.57 | 2.11 |
| `created:bare:pump.fun` | 2.83 | 2.22 | 1.89 |
| `image:edge.uxento.io` | 1.50 | 5.16 | 6.51 (역방향) |
| baseRug | 0.769 | 0.869 | 0.886 |

- 헤드라인 후보 2건이 임계 아래로 내려감
- 단 baseRug가 크게 이동한 레짐 변화가 겹쳐 있어 **과적합으로 단정 불가**
- **판정하지 않음.** 문서 상태 갱신이 필요하다는 사실만 기록

---

## 7. 열린 질문

| # | 질문 | 상태 |
|---|---|---|
| Q1 | 평가축의 전체 목록은 무엇인가 | **다음 단계** — 외부 조사 후 착수 |
| Q2 | "가격만 높은 스캠"을 자동 판별 가능한가 | 미답 |
| Q3 | 제품이 개선하려는 목적변수는 무엇인가 (진입 상대 손익 / 절대 도달 / 진입 후보 확장) | 미답 |
| Q4 | 시계열 관측(제품 B)을 실제로 검증하려면 최소 무엇이 필요한가 | 미답 |
| Q5 | 결측(소셜 없음 / fetch 실패 / 삭제됨)을 어떻게 구분해 저장할 것인가 | 미답 |

### 폐기 후보로 기록됐다가 보류된 것

아래는 §3 위반으로 세워졌던 판정이며, **현재는 판정 없음 상태**다. 다시 다루려면 §3의 4항목 기준을 먼저 통과시켜야 한다.

- 6-컬렉션 스키마 전체
- 시계열 컬렉션 3개
- KOL 승률 축
- 내러티브 클러스터링 축

---

## 8. 다음 단계

1. **외부 조사 3건** (진행 중)
   - 엘리트 밈 트레이더가 실제로 무엇을 보는가 (공개 발언 기반)
   - 크게 간 토큰의 역설계 — 출발 시점 공통 요소, 그리고 반례
   - 기존 툴이 노출하는 지표 목록 = 시장이 이미 합의한 축 + 빈 자리
2. 조사 결과로 **평가축 후보 열거**
3. 축이 정해진 뒤 저장 구조 재설계 (갭 1~3은 축에 종속)

### 축 발산용 좌표 (초안 — 검증 필요)

| 기준 | 예시 각도 |
|---|---|
| 콘텐츠 자체의 성질 | 종류 · 신선도 · 재활용 정도 |
| 콘텐츠 ↔ 토큰 관계 | 서열 · 시차 · 경쟁 밀도 |
| 작성자 ↔ 배포자 관계 | 동일인 여부 · 사칭 · 권한 |
| 콘텐츠 ↔ 콘텐츠 관계 | 인용 계보 · 파생 · 내러티브 소속 |
| 시간에 따른 변화 | 성장 · 가속 · 단계 |

마지막 행이 `problem-definition.md` 17번 줄(틱톡 바이럴 단계)이 요구하는 것이며, 시계열 컬렉션이 필요한 유일한 지점이다.
