factcircuit
FactCircuit: an auditable claim-and-evidence verification loop with immutable provenance, staged checks, bounded retrieval, and reproducible evaluation.
Mengubah ratusan aspirasi menjadi insight yang mudah dipahami.
Translation pending
DataTypeScript · JavaScriptGitHub @leshbsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Turn hundreds of comments into actionable insights with AI
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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 keyRead the full 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.
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 |