Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
3c85454
P5 셔플 seed 결과 영/한 반영 + v1 원고 폐기, 포인터를 정본으로 정리
kakyungkim Jul 21, 2026
31f1e62
P5 미추적 파일 정리 — evals 커밋, 실행 부산물 ignore, 연결노트 수치 정정
kakyungkim Jul 21, 2026
dd7a5f0
BIOP01-45 설계 초안 — OpenClaw 계획→실행 배선(P2-P5 runner 자동화). runner_manifes…
kakyungkim Jul 22, 2026
9b0e466
docs: openclaw-claude 가이드에 멀티AI 인계 아키텍처 통합(§3) — ai-handoff-architect…
kakyungkim Jul 22, 2026
e95dc82
docs: AI Scientist 설계 정리 — ai_scientist/ 신설
kakyungkim Jul 22, 2026
a79f328
P5 층② 셔플-seed 반복 봉인감사에 draft 정정(영/한) — F1 BLOCKER 해소
kakyungkim Jul 22, 2026
7d4e991
docs: AI Scientist 설계 HTML 시각화 — ai_scientist/output_v01/
kakyungkim Jul 22, 2026
ee9d836
P5 층② draft 마무리 정정 — 단일 draw 값(+0.004) label 제거(영/한) + seed 재적합 prove…
kakyungkim Jul 22, 2026
a70c274
docs: 하네스 구조↔현재상태 불일치 보고 추가 (BIOP02-100)
Geongyu Jul 26, 2026
d5faf30
harness: 교체용 after 버전 + 정합성 게이트 (BIOP02-100)
Geongyu Jul 26, 2026
41c6f0c
harness: after 버전 산출물 추가 (BIOP01-64/65/66/68/69)
Geongyu Jul 26, 2026
fae9d5a
onboarding: 이건규 1~3주차 과제 회고 완료 (BIOP01-1/15/8)
Geongyu Jul 26, 2026
2b1f389
harness: 2차 전수조사(원본·BIOP02 대조) + doctor 정합성 강화 (BIOP02-100, BIOP01-64…
Geongyu Jul 26, 2026
f54a305
harness: 권고 순서 라이브 스왑 66→65→64→72 + 핸드오프 신설 (BIOP01-64/65/66/71/72/73)
Geongyu Jul 26, 2026
6043149
harness: local_only 개념 도입 — 핸드오프 파일 오검 정정 (BIOP01-66/71/73)
Geongyu Jul 26, 2026
65115c9
harness: skills/ 라우터 복원(41파일) + 규약경로 선언 + 게이트 2단계 승격 (BIOP01-66/71/73)
Geongyu Jul 26, 2026
65eda13
harness: 절대 호스트 경로 ignore 일반화 — CI가 잡은 환경 의존성 (BIOP01-66/73)
Geongyu Jul 26, 2026
82d3cf0
docs: BIOP01-45 설계초안에 선결 경고(BIOP01-71 라우터 유실) — skills/ROUTES.md가 275…
kakyungkim Jul 27, 2026
d728c9f
BIOP01-22 velo-tf GPU fix 기록 — TF 2.13(cu11 빌드)이 cu11 런타임 부재로 GPU 미인식…
kakyungkim Jul 27, 2026
72e43c0
docs(CLAUDE): 활성 지침 3섹션 커밋 정합 — 인프라 포인터 + 방법론주의6(봉인문서 임계 규율) + 완료의 정의…
kakyungkim Jul 27, 2026
cb886ee
Merge PR #5: 하네스 정합성 게이트 + 불일치 스왑 + ROUTES 복원 (BIOP01-64~73, BIOP02-100)
kakyungkim Jul 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/agents/manuscript-writer.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Output is scientific prose + figures. **Research/education only; not clinical.**
## Deliverables
1. **Preprint**: Abstract · Introduction (the gap) · Methods · Results (mirror FINDINGS.md with CIs + significance
tests) · Limitations · Data/Code Availability + Reproducibility. Write to
`pipeline/hspc-velocity-benchmark/manuscript/draft.md` (refs → `manuscript/refs.bib`, supplement → `manuscript/supplementary.md`).
`pipeline/hspc-velocity-benchmark/manuscript/draft_v2.md` **and `draft_v2_ko.md` in the same turn** (refs → `manuscript/refs.bib`, supplement → `manuscript/SUPPLEMENTARY.md`).
2. **Figures** (every performance/proportion figure MUST show 95% CIs and report the paired test;
never visually imply a significant gain the stats don't support). Generate with matplotlib
**from the result files** (never hardcode numbers) into `pipeline/hspc-velocity-benchmark/figures/`.
Expand Down
2 changes: 1 addition & 1 deletion .claude/agents/presenter.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tools: Read, Write, Edit, Bash, Grep, Glob
You build **presentation material from an already-written manuscript** — you are the last mile from paper to talk, not a writer of new science. Project-agnostic but tuned to a project's own conventions.

## Inputs (read first, in this order)
1. The manuscript (`pipeline/hspc-velocity-benchmark/manuscript/draft.md`, and a Korean version if a KO deck is wanted).
1. The manuscript (`pipeline/hspc-velocity-benchmark/manuscript/draft_v2.md`, and `draft_v2_ko.md` if a KO deck is wanted).
2. `pipeline/hspc-velocity-benchmark/results/FINDINGS.md` and the committed result files (`pipeline/hspc-velocity-benchmark/results/*.csv`, `results/*.md` — e.g. `concordance.md`, `concordance_human_brain.md`, `lag_model.md`, `bootstrap_stability.md`) — the source of truth for every number.
3. The existing figures (`pipeline/hspc-velocity-benchmark/figures/*.png`) — REUSE these; do not regenerate or invent new ones (that is the figure skill's job).
4. The existing deck/handout style (project blog prose in Google Drive `blog/`, prior decks) — match this house style unless told otherwise.
Expand Down
19 changes: 19 additions & 0 deletions .claude/agents/venue-reviewer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: venue-reviewer
description: 외부 venue-style 시뮬레이션 리뷰(referee). paper-critic(내부 적대검수) + 결과 검증 게이트 통과 후에만 호출한다. 원고 패키지만 읽고 내부 논의·분석 과정·critic 노트는 보지 않는다(격리).
---

# venue-reviewer (simulated referee)

target venue의 referee처럼 **최종 원고 패키지만** 심사한다.

## 격리 (필수)
- 입력은 `manuscript/draft_v2.md`(+`_ko`), 그림, `refs.bib`, `SUPPLEMENTARY.md` **뿐**. 분석 과정·내부 논의·critic 노트 접근 금지.
- 리뷰 상단에 **사용 모델·입력 범위**를 기록한다. 같은 모델 계열이면 "simulated review (외부 referee 아님)"임을 명시.
- 진짜 리뷰 다양성이 필요하면 **다른 모델 계열**로 실행한다.

## 산출
`manuscript/REVIEW-<venue>-<date>.md` — major/minor 이슈, 재현성·통계·novelty·형식·venue-fit.

## 주의
프로젝트 로컬 후보다(BIOP01-64). **전역(`~/.claude/agents/`) 설치 금지** — 숨은 환경 의존성 방지. 미설치 시 "정식 venue 리뷰" 요청은 건너뛰고 안내한다.
19 changes: 10 additions & 9 deletions .claude/skills/paper-production-orchestrator/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: paper-production-orchestrator
description: 논문 생산 루프의 입구(진행표/팀장). "논문 풀 파이프라인 돌려줘", "프리프린트 업데이트해서 제출 준비", "분석→집필→그림→검수까지 한 번에", "그림만 다시", "리뷰만 다시", "critic 지적 반영해", "최신 결과로 본문 갱신" 같이 분석·집필·그림·검수·검증·발표를 엮는 요청에서 사용한다. 기존 멤버(hspc-velocity-analyst, manuscript-writer, 그림 스크립트, paper-critic, reviewer, presenter)를 정해진 순서로 호출하고 부분 재실행을 처리한다. 새 agent는 만들지 않는다.
description: 논문 생산 루프의 입구(진행표/팀장). "논문 풀 파이프라인 돌려줘", "프리프린트 업데이트해서 제출 준비", "분석→집필→그림→검수까지 한 번에", "그림만 다시", "리뷰만 다시", "critic 지적 반영해", "최신 결과로 본문 갱신" 같이 분석·집필·그림·검수·검증·발표를 엮는 요청에서 사용한다. 기존 멤버(hspc-velocity-analyst, manuscript-writer, 그림 스크립트, paper-critic, venue-reviewer, presenter)를 정해진 순서로 호출하고 부분 재실행을 처리한다. 새 agent는 만들지 않는다.
---

# paper-production-orchestrator (논문 생산 루프 진행표 / 팀장) — HSPC velocity-lag benchmark
Expand All @@ -17,15 +17,15 @@ description: 논문 생산 루프의 입구(진행표/팀장). "논문 풀 파
## 실행 모드 분기 (먼저 확인)
1. 산출물 존재·최신 여부 확인:
- result files: `pipeline/hspc-velocity-benchmark/results/FINDINGS.md` + `results/*.csv` + `results/*.md`
- manuscript files: `pipeline/hspc-velocity-benchmark/manuscript/draft.md` (+ `refs.bib`, `supplementary.md`), figures: `pipeline/hspc-velocity-benchmark/figures/`
- manuscript files: `pipeline/hspc-velocity-benchmark/manuscript/draft_v2.md` + `draft_v2_ko.md` (+ `refs.bib`, `SUPPLEMENTARY.md`), figures: `pipeline/hspc-velocity-benchmark/figures/`
2. 분기:
- **없음 / "풀 파이프라인" / "제출 준비"** → 초기·전체(전 단계).
- **있음 + 특정 부분 요청** → 부분 재실행(해당 단계만, 나머지 기존 파일 재사용).
- **"지적 반영" / "최신 결과로 갱신"** → 변경 지점의 **하류 단계만** 다시.
3. `hspc-velocity-analyst`가 LLM 기반 sub-분석을 쓰는 경우, **offline mock 경로**(API 키 미설정 등)로 돌았는지 확인한다. mock이면 "실 결과 아님 / 데모"를 보고에 명시한다.

## 멤버 구성 (전원 기존 재사용)
`hspc-velocity-analyst`(도메인 분석 슬롯), manuscript-writer(그림 포함 — `figures/figNN_*.py` 스크립트 실행), paper-critic, reviewer, presenter. (기획 단계 선택: research-methodologist, literature-scout, novelty-strategist.)
`hspc-velocity-analyst`(도메인 분석 슬롯), manuscript-writer(그림 포함 — `figures/figNN_*.py` 스크립트 실행), paper-critic, venue-reviewer, presenter. (기획 단계 선택: research-methodologist, literature-scout, novelty-strategist.)

> 참고: 그림 생성은 **agent가 아니라 스크립트**로 둔다. `manuscript-writer`가 `pipeline/hspc-velocity-benchmark/figures/figNN_*.py`(예: `fig01_p2_concordance.py`)를 실행해 결과 파일에서 그림을 만든다. 단순 재생성이면 메인 루프가 직접 그 스크립트를 돌려도 된다(결정론적).

Expand All @@ -45,11 +45,12 @@ description: 논문 생산 루프의 입구(진행표/팀장). "논문 풀 파
- 확증용 신규 데이터 예측은 **결과 전 commit 봉인**(`PREREGISTRATION_*.md`), 임계값 사후조정 금지.
- **2층 융합 금지**: within-method fit 품질을 cross-method 재현성으로 승격 금지.
3. **분석·eval** — `hspc-velocity-analyst` → `results/FINDINGS.md` + result 파일 갱신. mock 경고 확인.
4. **집필 + 그림** — `manuscript-writer` → `manuscript/draft.md`. 그림은 `figures/figNN_*.py` 실행 → `figures/`. 그림만 재실행이면 이 단계만(결정론적, 결과 파일에서 생성).
4. **집필 + 그림** — `manuscript-writer` → `manuscript/draft_v2.md` + `draft_v2_ko.md`(영/한 동시). 그림은 `figures/figNN_*.py` 실행 → `figures/`. 그림만 재실행이면 이 단계만(결정론적, 결과 파일에서 생성).
5. **검수** — `paper-critic`(적대적 + 그림 시각 QA) → 지적 노트. 블로킹이면 6으로, 경미하면 메모만.
6. **수정** — `manuscript-writer`가 critic 지적 반영 → 본문 갱신.
7. **(선택) 정식 리뷰** — 요청 시 `reviewer` → `manuscript/REVIEW-<venue>-<date>.md`.
8. **검증 게이트** — 아래 verify-gate 실행. **실패하면 멈추고 사람에게 보고**, 커밋·발행하지 않는다.
7. **검증 게이트 ①(결과 검증)** — 아래 verify-gate 실행. **실패하면 멈추고 사람에게 보고**, 커밋·발행하지 않는다. 원본 하네스 규칙: *"paper-critic + gate FIRST, then reviewer — reviewer assumes pre-submission QA is done"*(`paper-production-harness/agents/paper-orchestrator.md:23`). 숫자가 검증되지 않은 원고를 리뷰에 보내지 않는다. (BIOP01-72)
8. **(선택) 정식 리뷰** — 요청 시 `venue-reviewer` → `manuscript/REVIEW-<venue>-<date>.md`. **7을 통과한 원고만** 입력한다.
8.5 **검증 게이트 ②(패키지 검증, 공개 직전)** — 원고 본문 숫자 ↔ 결과 파일 재대조 + 그림·표·supplementary 동봉 확인. 리뷰 반영으로 본문이 바뀌었을 수 있으므로 **공개 전 한 번 더** 돌린다.
9. **(선택) 발표** — 요청 시 `presenter` → 덱·발제.

각 단계 산출물은 **파일로 남긴다**. 다음 단계는 그 파일을 읽는다.
Expand All @@ -67,12 +68,12 @@ conda run --no-capture-output -n scv-preprocess python p3_scrambled_null.py
| 단계 | 멤버 | 산출 파일 | 다음이 읽음 |
| --- | --- | --- | --- |
| 분석·eval | hspc-velocity-analyst | `results/FINDINGS.md`, `results/*.csv`, `results/*.md` | 집필·검수 |
| 집필 | manuscript-writer | `manuscript/draft.md`, `refs.bib`, `supplementary.md` | 검수·리뷰·발표 |
| 집필 | manuscript-writer | `manuscript/draft_v2.md` + `draft_v2_ko.md`, `refs.bib`, `SUPPLEMENTARY.md` | 검수·리뷰·발표 |
| 그림 | manuscript-writer (`figures/figNN_*.py`) | `figures/*.png` | 집필·검수 |
| 검수 | paper-critic | 적대 노트 + 그림 QA | 집필(수정) |
| 리뷰 | reviewer | `manuscript/REVIEW-<venue>-<date>.md` | 집필(수정) |
| 리뷰 | venue-reviewer | `manuscript/REVIEW-<venue>-<date>.md` | 집필(수정) |
| 발표 | presenter | 슬라이드/발제 | 사람 |
| 상태 핸드오프 | (전원) | `HANDOFF.md`, `TODO.md`, `SESSION-LOG.md` | 다음 세션 |
| 상태 핸드오프 | (전원) | `HANDOFF.md`, `TODO.md`, `SESSION-LOG.md` — **로컬 전용(.gitignore)**. 없으면 새로 만든다 | 다음 세션 |

## 실패 처리 / 멈춤 조건
- verify 게이트 실패 → **멈춤**, 무엇이 왜 실패했는지 보고.
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/harness-doctor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# 하네스 구성 정합성 게이트 (BIOP01-66).
#
# 2단계 승격 완료 (2026-07-26).
# 1단계 — doctor는 report-only 였다. 팬텀 14건이 남아 전면 blocking이면 모든 PR이 빨간불이었다.
# 2단계(현재) — BIOP01-64(팬텀 에이전트 0) + BIOP01-71(skills/ 복원)로 팬텀 0 달성 →
# 구성 검사도 blocking. 문서가 실재하지 않는 역할·경로를 가리키면 PR이 막힌다.
name: harness-doctor
on:
pull_request:
branches: [ main, kkkim-pipeline, gglee ]
push:
branches: [ gglee ]
jobs:
doctor:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- run: pip install pyyaml

# 게이트 자체의 검증 — 여기는 처음부터 blocking.
# 게이트가 틀리면 잘못된 PASS(놓침)·잘못된 FAIL(오검)이 그대로 팀 판단이 된다.
- name: 게이트 자체 테스트 (harness_doctor 단위·회귀)
run: python harness_after/tests/test_harness_doctor.py

# 하네스 구성 검사 — 1단계에서는 report-only.
- name: 하네스 구성 정합성 검사 (팬텀 역할·경로 drift)
run: python scripts/harness_doctor.py --repo . --manifest harness.yaml
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -130,3 +130,14 @@ blog/
.jupyter_ystore.db
blog_backup_*/
gdrive_auth_qr.png
docs/PROGRAM-PRESENTATION-ROADMAP.md

# 실행 부산물 — 로그·진행 마커·락·smoke 산출 (2026-07-22)
pipeline/hspc-velocity-benchmark/results/logs/
pipeline/hspc-velocity-benchmark/results/sim_pc_logs/
pipeline/hspc-velocity-benchmark/results/*.log
*.smoke.csv
pipeline/hspc-velocity-benchmark/cross_dataset/*_DONE
pipeline/hspc-velocity-benchmark/cross_dataset/*_PROGRESS
*.lock
evals/**/logs/
38 changes: 38 additions & 0 deletions BIOP02_LINK.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# BIOP01 ↔ BIOP02 연결 노트 (positioning cross-ref)

> 작성: 2026-07-10, BIOP02 세션에서 생성한 cross-reference 노트. **정본 아님** — BIOP01 결론의 canonical 원천은
> `pipeline/hspc-velocity-benchmark/results/FINDINGS.md`(★통합 결론) + `manuscript/novelty_strategy.md`.
> 이 파일은 그 결론을 (a) talk-ready 프레이밍으로 요약하고 (b) BIOP02와의 연결을 BIOP01 쪽에도 남기기 위함.
> ⚠️ **요약본이며 정본이 아니다.** 수치가 갱신되면 여기가 먼저 낡는다 — 인용은 반드시 위 정본에서 한다.
> (2026-07-22 커밋. 이때 방향 일치율을 48%에서 정정값 54.6%로 고쳤다.)

## 1. BIOP01 결론 — "벤치마크"가 아니라 반증형 결론 (talk-ready)
> **chromatin→transcription lag은 식별 불가·비재현이고, 전사율 α가 신뢰 가능한 예측 신호다.**

- ① **lag은 method-robust하지 않다** — 4방법 크기 |ρ|≤0.08, 방향 54.6%(정정값, 2026-07-19 — 방향 미정 lag=0 제외 전에는 48%로 읽혔다), permutation-FDR 공집합(CRAK 의존이라 민감도 arm으로 강등). "chromatin이 transcription을 prime한다"는 **분야 가정을 반증**.
- ② **음성대조**: ATAC 셔플(chromatin↔RNA 결합 파괴)해도 lag 불변 → lag은 chromatin 생물학이 아니라 **모델 구조 아티팩트**.
- ③ **건설적 대안**: 전사율 **α는 robust(ρ=0.88)·예측 가능(+0.31)**.
- ④ **메커니즘**: profile-likelihood — 목적함수가 lag을 데이터로 식별 못 함(α가 3.53× 민감, 94.57% 유전자). **관찰을 메커니즘으로 설명.**
- ⑤ **4개 외부 데이터셋 보존**(human_brain·E18 mouse·BMMC·macrophage).
- → **cautionary + 건설적 독립 논문감.** 발표·논문에서 "벤치마크 돌렸다"가 아니라 **"믿던 lag을 반증하고 α를 세웠다"**로 서술.
- 근거: `results/FINDINGS.md` §★통합결론·§1·§2·§8, `results/profile_likelihood_identifiability.md`.

## 2. BIOP02와의 연결 (치료효과 예측 서사)
- **BIOP02** = 정적 병리(H&E→분자아형→치료축 cost-of-substitution 지도). 가장 **불확실한 칸 = ER+/내분비**(H&E 정적으론 안 보이고 세포주 치료증거도 내분비 못 잡음, positive control 1/8).
- **내분비 저항 = 본질적으로 동역학**(상태 전이). 정적으론 원리적 한계 → **동역학 신호로 넘겨야 함.**
- **연결점:** BIOP01이 "**α는 robust·예측 가능·cross-dataset**"임을 증명 → ER+ 저항을 넘길 신뢰 신호가 막연한 velocity가 아니라 **구체적으로 α**. 두 프로젝트가 **ER+ 저항에서 만남.**

## 3. 연결의 위상 — **발표 서사만, 단독 논문/그랜트 아님**
- ⛔ 한 논문으로 묶으면 억지(데이터·생물학·방법 상이) → 심사자 "스테이플".
- ⛔ 그랜트 근거 아님(예비+발표+오픈repo는 그랜트 패키지 아님).
- ❌ **생물학 파이프라인(Paper C) 공개 데이터로 실행 불가**(2026-07-10 스쿱): 최적 데이터 **GSE240112(Genome Medicine 2024)가 이미 tamoxifen-저항 종양에 scVelo 적용** + 저항 환자 **n=3**(예측 태부족), 저항 라벨 있는 paired multiome 없음. → **새 paired-multiome(내분비요법하) 데이터 생성이 전제.**
- ✅ **용도 = 발표 vision 슬라이드**("정적 02가 못 푸는 ER+ 칸을 동역학 α로 넘긴다") + BIOP02 Paper A Discussion future-work 한 줄.

## 4. Target journal (참고, 잠정)
- **BIOP01**(critique+건설 tier): 현실 IF ~8–11 — Cell Systems / Molecular Systems Biology / eLife. Stretch = Genome Biology(~11)/Nature Methods Analysis. drug perturbation arm 붙으면 상승. (velocity 비판 선행 Bergen 2021 등 있으니 multiome chromatin-lag + 식별성 각의 fresh함이 관건.)
- (BIOP02 Paper A: 현실 IF ~6–9, npj Precision Oncology 등.)

## 5. 상호 포인터
- BIOP02 연결 문서(정본): `~/project/BioProject02/research/program-narrative/2026-07-10_biop01-02-static-dynamic.md`
- BIOP02 subtype 치료지도: `~/project/BioProject02/research/paperA-positioning/2026-07-10_subtype-decision-map.md`
- BIOP01 정본 결론: `pipeline/hspc-velocity-benchmark/results/FINDINGS.md`, `manuscript/novelty_strategy.md`
Loading
Loading