factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Turn hundreds of comments into actionable insights with AI
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Smart Aspiration Monitoring and Opinion Summarization Assistant "Mengubah ratusan aspirasi menjadi insight yang mudah dipahami" Platform berbasis AI yang mengubah feedback dan aspirasi terbuka (survey, evaluasi kegiatan, form kepuasan) menjadi laporan terstruktur siap baca: sentimen, topik, kata kunci, dan insight — dari CSV mentah ke laporan siap-print. • Node.js 22 LTS • pnpm 9+ (corepack enable pnpm) • Akses ke sebuah project Supabase (atau Docker untuk Supabase lokal) • OpenAI API keyREADME 전문 보기 ↗
Smart Aspiration Monitoring and Opinion Summarization Assistant
"Mengubah ratusan aspirasi menjadi insight yang mudah dipahami"
Platform berbasis AI yang mengubah feedback dan aspirasi terbuka (survey, evaluasi kegiatan, form kepuasan) menjadi laporan terstruktur siap baca: sentimen, topik, kata kunci, dan insight — dari CSV mentah ke laporan siap-print.
corepack enable pnpm)pnpm install
cp .env.example .env.local # isi nilainya
pnpm db:migrate
pnpm db:seed
pnpm dev # http://localhost:3000
| Perintah | Kegunaan |
|---|---|
pnpm dev | Dev server |
pnpm check | typecheck + lint + format:check |
pnpm test | Vitest watch |
pnpm test:run | Vitest sekali jalan |
pnpm test:coverage | Tes + gerbang coverage 80% (dijalankan CI) |
pnpm test:e2e | Playwright |
pnpm db:types | Regenerate types/database.ts dari schema |
pnpm build | Production build |
app/ Routing + thin route handlers (tanpa business logic)
modules/ Business logic: auth, ingestion, analysis, reporting, shared
components/ UI (shadcn primitives + chart/form/layout)
lib/ Supabase client, env (Zod), utils
types/ Tipe database (generated), domain, kontrak API
supabase/ Migrations, RLS policies, seed
tests/ unit / integration / e2e
docs/ ADR + catatan riset
Aturan dependensi satu arah: app/ → modules/ → lib/. Akses lintas modul
hanya lewat index.ts masing-masing modul; ESLint memaksakan ini lewat
no-restricted-imports.
Upload CSV → POST /api/datasets → ingestion.uploadDataset()
→ POST /api/analysis → analysis.createJob() → { jobId } (202)
→ worker: POST /api/webhooks/inngest → analysis.runJob()
parse → batch 30 → adapter LLM → analysis_results
→ client polling GET /api/analysis/[id]/status
→ GET /api/reports/[id] → reporting.buildReport()
.vN
baru di modules/analysis/prompts/ + entry di registry. Setiap
analysis_result menyimpan prompt_version dan model_id demi
reproducibility riset.openai hanya boleh diimpor di
modules/analysis/adapters/. Ada adapter leksikon lokal untuk tes offline dan
sebagai baseline non-LLM.organization_id.
Service-role key hanya dipakai di file bertanda import 'server-only'. Log
tidak pernah memuat teks responden.lib/env.ts; konfigurasi yang kurang membuat app
gagal saat startup, bukan saat request pertama.| Dokumen | Isi |
|---|---|
| docs/OVERVIEW.md | Source of truth — arsitektur, tech stack, data model, konvensi, DoD |
| CLAUDE.md | Penunjuk ringkas untuk sesi Claude Code |
| docs/adr/ | Architecture Decision Records |
| docs/research/ | Catatan eksperimen prompt & model untuk paper |
| # | Judul | Status |
|---|---|---|
| 0001 | Next.js 15 + Supabase stack | Accepted |
| 0002 | Modular monolith | Accepted |
| 0003 | Async analysis via queued jobs | Accepted |
| 0004 | PDF rendering approach | Proposed |
| 0005 | OpenAI sebagai LLM provider | Accepted |