Umumiy ko'rinish
- Bu nima: US healthtech platform ning ichki mahsuloti — "Clinical Validation Bench" (paket nomi
regain-clinical-validation). Bench harness bo'lib, klinik AI tizimlarini (kod nomlari Deutsch / Popper / Hermes) klinik vinyetkalar korpusi ustida ishga tushiradi, javoblarni baholaydi (judge/oracle), ishga tushirishlarni solishtiradi, regressiyalarni kuzatadi va overfittingga qarshi kurashadi (AHA/ACC/ESC yo'riqnomalariga bog'langan qat'iy overfittingga qarshi metodologiya). Vercel AI SDK 6 orqali ko'p provayderli model registri (Cerebras/Vertex/Azure). - Turi / holati / roli: api/platform (monorepo: API + dashboard + navbatlar + runner) / active / contributor (salmoqli). Asosiy muallif — Anton Kim
<anton@US healthtech platform>(154 kommit, klinik dvigatel va metodologiya). Foydalanuvchi Davron — 9 kommit, lekin hajmi bo'yicha juda katta (~32,000 qator): butun ilova qatlamini qurdi (API, auth, navbatlar, dashboard, deploy). - Faoliyat davri: 2026-02-11 → 2026-02-23 (~2 hafta intensiv ish), 163 kommit.
Stek
- Tillar: TypeScript (Bun runtime).
- Monorepo: Turborepo + Bun workspaces (
@workspace/*).apps/: api (Elysia :3001), web (Next.js 16 :3002), runner (CLI bench), queue (BullMQ worker), dashboard (legacy).packages/: db (Drizzle+TimescaleDB), auth (Better Auth), ui (shadcn/Tailwind v4), harness, judge, oracle, analyzer, vignettes, cli. - Freymvorklar/kutubxonalar: Elysia.js (API), Next.js 16 + React 19 (dashboard), Drizzle ORM + pg (PostgreSQL/TimescaleDB), Better Auth (+admin/RBAC), BullMQ + Bun.redis (navbatlar), shadcn/ui + Tailwind v4, Vercel AI SDK 6 (
createProviderRegistry),@regain/hermes2.0. Lint/format — Biome. - Infra/deploy (foydalanuvchi hissasi): multi-arch Docker (ARM64/Graviton), Bun
build --compileorqali standalone binary; GitHub Actions → AWS ECS (regain-production), OIDC role (id-token), 3 ta xizmatni ECR ga chiqarish uchun build matritsasi. - Ma'lumotlar: PostgreSQL/TimescaleDB (Drizzle,
packages/dbsxemasi), Redis (navbatlar), vinyetka korpusi (packages/vignettes,data/,vignettes/), hisobotlar (reports/).
Nima qilindi
Loyiha umuman (Anton): klinik bench dvigateli — harness/judge/oracle/analyzer, vinyetka korpusi, overfittingga qarshi metodologiya, model registri, bench skriptlari (history/compare/baseline/changelog/traces/control-conformance).
Foydalanuvchi hissasi (9 kommit, git log --author orqali tekshirilgan, jami ~32k qator):
dae8dbb(184 fayl, +9679) — autentifikatsiya va eksport bilan Elysia.js API ni amalga oshirdi (aslidaapps/apini noldan ko'tarib qo'ydi).a4d0988(62 fayl, +17816) — kontrollerlarni kengaytirdi + yangi imkoniyatlar (analytics, corpus, export, generalization, improvements, queue, runs, vignettes).e87a280(30 fayl, +5009) — dashboard sahifalari, navbat infratuzilmasi, ARPA maqsadlari.5a11f85— AWS uchun Dockerfile'lar + CI/CD (ECS deploy, ecs-deploy.sh, deploy-us.yml).4d84d5e— auth middleware + dashboard layout yaxshilanishi.c6b6906— cross-subdomain cookie tuzatildi (auth'dagi cheksiz redirect sikli).dc665de— merge'dan keyingi type-error tuzatildi; + 2 ta merge kommit.- Sof hissa: foydalanuvchi butun platforma qatlamiga ega (API + auth/RBAC + navbatlar + dashboard + deploy); Anton — klinik dvigatel/ilm.
Texnik chellenjlar
Kod bilan tasdiqlangan (foydalanuvchining fayllari).
- RBAC Elysia makrosi sifatida (
apps/api/src/lib/rbac.ts) →isAuthenticatedvarbac({permission})makroslariga egarbacPlugin; ruxsat tekshiruvlarini Better Auth ga (auth.api.userHasPermission) topshiradi, toza 401/403. Freymvork darajasida deklarativ route himoyasi. - BullMQ ni Elysia tiplaridan izolyatsiya qilish (
modules/v1/queue/queue-service.ts) → oddiy obyektlarni (JobInfo/JobCounts/JobDetail) qaytaradigan yupqa wrapper, shunda BullMQ tiplari Elysia tip zanjiriga "sizib chiqmaydi". Yetuk arxitektura qarori — TS tiplari API qatlami bo'ylab qanday tarqalishini tushunish. - Graviton uchun standalone binary (
apps/api/Dockerfile) → multi-stage,bun build --compile --minify --target bun-linux-${TARGETARCH}→ productionda runtime'siz yagona binary; barcha workspace paketlari bo'ylab qatlamli dependency keshlash. Senior darajadagi konteynerizatsiya. - AWS ECS ga OIDC deploy (
.github/workflows/deploy-us.yml) → muvaffaqiyatli CI'da ishga tushadi (workflow_run),id-token: write+configure-aws-credentials(uzoq muddatli kalitlarsiz), bench-api/web/worker uchun build matritsasi ECR ga, klasterregain-production. Zamonaviy, xavfsiz CD. - Domain API → 8 ta kontroller (runs, vignettes, analytics, corpus, export, generalization, improvements, queue) — klinik bench ustidagi REST yuzasi.
AI yordamida ishlab chiqish
- Topilgan sessiyalar: bu loyiha uchun Claude Code sessiyalari katalogi mavjud, lekin 0 ta `.jsonl` transkript bor (tozalangan/saqlanmagan).
- Bilvosita: juda batafsil
CLAUDE.md(12 KB) qat'iy qoidalar bilan (faqat Bun, dynamic import yo'q, TanStack Query majburiy, overfittingga qarshi),.cursor-simon konventsiyalar — ishlanma aniq AI yordamida (Cursor/Claude Code). Kanonik dev-mashina yo'li/Users/gsizm/(Anton). - AI vorkflow patternlari: tafsilotlar uchun transkriptlar yo'q; lekin CLAUDE.md muhandislik "AI repo yo'riqnomasi"ning ajoyib namunasi.
Yutuqlar va metrikalar
- Monorepo: 5 app + 11 paket, Turborepo orkestratsiyasi.
- Foydalanuvchi: 9 kommitda ~32k qator — butun backend/infra qatlami.
- API: 8 ta domain kontroller + RBAC + eksport.
- Deploy: AWS ECS'da (Graviton/ARM64) 3 ta konteyner xizmati, OIDC CI/CD.
- Bench: ~29 vinyetkadan iborat korpus (smoke) — bir nechta kardio holatlari (HFrEF/HFpEF/post-MI); ko'p provayderli registr (6+ Cerebras, 6+ Vertex modellari).