{"id":50521002,"url":"https://github.com/kimmingul/pk-copilot","last_synced_at":"2026-06-03T04:01:57.736Z","repository":{"id":360221371,"uuid":"1249205514","full_name":"kimmingul/pk-copilot","owner":"kimmingul","description":"Phoenix WinNonlin-compatible PK/PD/NCA/Compartmental analysis copilot for Claude Code — version-aware (WinNonlin 5.3/6.4/8.3), CDISC SDTM/ADaM, 21 CFR Part 11 technical controls","archived":false,"fork":false,"pushed_at":"2026-05-25T14:01:28.000Z","size":612,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T15:25:59.714Z","etag":null,"topics":["cdisc","claude-code","nca","part11","pharmacodynamics","pharmacokinetics","winnonlin"],"latest_commit_sha":null,"homepage":"https://github.com/kimmingul/pk-copilot","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kimmingul.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-25T13:08:20.000Z","updated_at":"2026-05-25T14:01:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kimmingul/pk-copilot","commit_stats":null,"previous_names":["kimmingul/pk-copilot"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/kimmingul/pk-copilot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimmingul%2Fpk-copilot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimmingul%2Fpk-copilot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimmingul%2Fpk-copilot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimmingul%2Fpk-copilot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kimmingul","download_url":"https://codeload.github.com/kimmingul/pk-copilot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimmingul%2Fpk-copilot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33847265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdisc","claude-code","nca","part11","pharmacodynamics","pharmacokinetics","winnonlin"],"created_at":"2026-06-03T04:01:54.927Z","updated_at":"2026-06-03T04:01:57.731Z","avatar_url":"https://github.com/kimmingul.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pk-copilot\n\n\u003e Phoenix WinNonlin과 수치 호환되는 Pharmacokinetics(PK) / Pharmacodynamics(PD) / NCA / Compartmental Analysis 를 Claude Code에서 자연어로 수행하는 AI 코파일럿 플러그인.\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)\n[![Version](https://img.shields.io/badge/version-2.0.2-brightgreen)]()\n[![WinNonlin Compat](https://img.shields.io/badge/WinNonlin-5.3%20%7C%206.4%20%7C%208.3-brightgreen)]()\n\n## 한 줄 정의\n\n**pk-copilot** 은 Claude Code 환경에서 자연어로 약동학·약력학 분석을 수행하면서 **Phoenix WinNonlin과 수치적으로 일치하는** 결정론적 결과를 산출합니다.\n\n## 핵심 가치\n\n- ✅ **WinNonlin 5.3 / 6.4 / 8.3 호환** — `winnonlin_version` 옵션으로 알고리즘 기본값 분기\n- ✅ **AI 가속화** — 자연어로 데이터 클리닝·매핑·단위 변환·보고서 초안\n- ✅ **결정론적 계산** — LLM은 오케스트레이터, MCP 도구가 계산 (환각 없음)\n- ✅ **재현 가능** — JSON-of-record + 실행 스크립트(.py/.R) 자동 생성\n- ✅ **검증 가능** — PKNCA/NonCompart 와 6+ significant figures 일치\n\n## 로드맵\n\n| 버전 | 범위 | 상태 |\n|---|---|---|\n| v0.1 | NCA 단일대상자 (IV/PO) | ✅ 완료 |\n| v0.2 | 다대상자 NCA + BE 통계 | ✅ 완료 |\n| v0.3 | 1/2/3-구획 모델링 | ✅ 완료 |\n| v0.4 | PK/PD 연결 모델 (Emax, IDR) | ✅ 완료 |\n| v0.5 | 리포트 + R 교차검증 | ✅ 완료 |\n| **v1.0** | Production release (검증 가능, 규제 미주장) | ✅ [Released](https://github.com/kimmingul/pk-copilot/releases/tag/v1.0.0) |\n| **v2.0** | **CDISC SDTM/ADaM + Part 11-enabling controls (deterministic path)** | ✅ [Released](https://github.com/kimmingul/pk-copilot/releases/tag/v2.0.0) (현재 — v2.0.1 patch) |\n\n## 빠른 시작\n\n**현재 버전: v2.0.2** (Regulated-Capable Edition — CDISC + Part 11-enabling 기술 통제 포함)\n\n```bash\n# Claude Code plugin (예정)\nclaude plugin install pk-copilot\n\n# 또는 Python 패키지로 직접 설치\ngit clone https://github.com/kimmingul/pk-copilot.git\ncd pk-copilot\nuv venv \u0026\u0026 uv pip install -e \".[dev,mcp,plot,report,cdisc,compliance]\"\nuv run pkplugin --version  # 2.0.2\nuv run pkplugin doctor\n```\n\n## 슬래시 명령어\n\n- `/nca` — 비구획 분석 (Non-Compartmental Analysis)\n- `/pk-fit` — 구획 모델 적합\n- `/pd-fit` — 약력학 모델 적합\n- `/be` — 생물학적동등성 분석\n- `/prep-data` — 데이터 클리닝 / 단위 변환\n- `/diagnose` — 진단 (lambda_z 적합성, hysteresis 등)\n- `/report` — WinNonlin-스타일 리포트 생성\n\n## 문서\n\n전체 개발/알고리즘 사양은 [docs/](docs/) 디렉터리 참조.\n\n- [docs/README.md](docs/README.md) — 문서 인덱스\n- [docs/02-roadmap.md](docs/02-roadmap.md) — 단계별 로드맵\n- [docs/03-algorithms/](docs/03-algorithms/) — 알고리즘 명세\n- [docs/04-winnonlin-version-matrix.md](docs/04-winnonlin-version-matrix.md) — 버전 차이\n- [docs/10-21cfr-part11.md](docs/10-21cfr-part11.md) — v2.0 Part 11 컴플라이언스 계획\n\n## 규제 / 검증 면책\n\n- **v0.x ~ v1.x** : pk-copilot은 *탐색적 분석 + 데이터 전처리 + 보고서 초안* 도구입니다.\n  21 CFR Part 11 또는 GxP 검증 시스템으로 사용하기 위해서는 사용자 조직의 자체 검증/SOP/교육이 필요합니다.\n- **v2.0** : **Part 11-enabling 기술 통제** (audit chain, e-signature, RBAC, WORM lock)를\n  결정론적 CLI/MCP 실행 경로에 제공합니다. LLM/chat orchestration은 기본 exploratory이며,\n  통제 모드 사용 절차는 [docs/10-21cfr-part11.md §17](docs/10-21cfr-part11.md) 참조.\n  **pk-copilot은 21 CFR Part 11 compliant 시스템이 아닙니다.** 실제 준수는 sponsor의\n  predicate-rule 판단, validated deployment, SOP, 교육, 계정 거버넌스에 달려 있으며,\n  이는 사용자 조직의 QMS 책임입니다.\n\n상세 면책은 [docs/10-21cfr-part11.md](docs/10-21cfr-part11.md) §16–17 참조.\n완전한 분리 설계는 [docs/14-llm-boundary-disclosure.md](docs/14-llm-boundary-disclosure.md) 참조.\n\n## Execution Modes\n\npk-copilot은 두 가지 실행 모드를 지원합니다.\n\n| Mode | When | Audit chain emission | Suitable for | Disclaimer |\n|---|---|---|---|---|\n| **Exploratory** | Claude chat (기본값), env 미설정 | Off (transcript log only) | 탐색적 분석, 가설 검증, 보고서 초안 | LLM 출력을 regulatory record로 직접 사용 불가 |\n| **Controlled** | CLI 또는 MCP tool, `PKPLUGIN_PART11_ENABLED=1` + user dict 전달 | On (HMAC hash-chain) | Part 11-controlled workflow (customer QMS 하에서) | 조직의 SOP/validation 필수; [§17](docs/10-21cfr-part11.md) 참조 |\n\n\u003e **참고**: Controlled mode는 \"Part 11 compliant\"가 아닌 \"Part 11-enabling\"입니다.\n\u003e 실제 Part 11 준수는 sponsor 조직의 QMS 전체 운영에 달려 있습니다.\n\n## 기여\n\n[docs/11-development-workflow.md](docs/11-development-workflow.md) 참조. Apache-2.0, DCO sign-off 필수.\n\n## 라이선스\n\n[Apache License 2.0](LICENSE) © 2026 pk-copilot contributors.\n\nPhoenix, WinNonlin은 Certara USA Inc.의 등록상표입니다. pk-copilot은 Certara와 무관하며, WinNonlin의 알고리즘(공개 약동학 방법론)을 참조하나 어떤 WinNonlin proprietary 파일 포맷이나 UI도 복제하지 않습니다.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimmingul%2Fpk-copilot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkimmingul%2Fpk-copilot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimmingul%2Fpk-copilot/lists"}