factcircuit
FactCircuit: an auditable claim-and-evidence verification loop with immutable provenance, staged checks, bounded retrieval, and reproducible evaluation.
2026 US midterm forecast board (ko/en): chamber control probabilities, battleground polling averages, uncertainty ranges.
Translation pending
DataHTML · TypeScriptGitHub @sechan9999OnlineOwner 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
Google run MVP
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
2026년 11월 3일 미국 중간선거 예측·개표 현황판입니다. 한국 대선 18–21대 대시보드(Electoral Insights Hub) 팀이 같은 데이터 스택(Next.js · BigQuery · Cloud Run)으로 만듭니다. 한국어·영어 이중언어, 로그인 없음, TV에서 훑어보는 용도입니다. 상태: 개발 중 (베타). 현재 화면은 2026-10-01 RCP 평균을 넣은 샘플 데이터로 돌아갑니다. 공개 전 교체해야 할 가정은 아래와 화면의 "공개 전 교체해야 할 가정"에 정리했습니다. • 상원·하원 민주당 과반 확률, 기대 의석, 80% 의석 범위, 의석 분포 히스토그램 • 개표일 실시간 트래커 (개표 전에는 확률과 불확실성 범위만 표시) • 상원 경합주 여론조사 평균 차트 (4pt 기준선, 세로 배치로 라벨 충돌 없음) • 경합주 상세: 후보, RCP 평균, 90% 오차 범위, 레이팅, 승리 확률 • 하원 패널, 방법론, 가정, 출처, 편집 헌장 (docs/EDITORIAL_CHARTER.md) • 헤더의 run ID(us-fc- -)로 같은 숫자를 재현할 수 있습니다.Read the full README ↗
한국어 · English
2026년 11월 3일 미국 중간선거 예측·개표 현황판입니다. 한국 대선 18–21대 대시보드(Electoral Insights Hub) 팀이 같은 데이터 스택(Next.js · BigQuery · Cloud Run)으로 만듭니다. 한국어·영어 이중언어, 로그인 없음, TV에서 훑어보는 용도입니다.
배포: https://us-election-insight-hub-38273401034.us-central1.run.app/us (?lang=en 영어)
상태: 개발 중 (베타). 현재 화면은 2026-10-01 RCP 평균을 넣은 샘플 데이터로 돌아갑니다.
2026 중간선거 예측 플랫폼을 60초로 소개하는 한국어 홍보 영상입니다. 모델 동작 방식(40,000회 몬테카를로 시뮬레이션, 전국+권역 상관 오차, 상원 35석·하원 435지역구 개별 모델링, 3,100+ 카운티 분석)을 시각적으로 설명합니다.
🎬 https://youtu.be/DDS0h9IOusg
🗺️ 카운티 지도 — https://app.ohmycodellc.com/maps 미국 3,100개 카운티를 한눈에. 2024년 대선 득표율 지도, 2020→2024년 스윙 지도, 그리고 주별 학력 격차 지도까지 세 가지 뷰를 오가며 보세요. 대졸 비율과 민주당 득표율의 상관계수 +0.44 — 숫자로 확인하는 미국의 지형.
❓ Ask the Data — https://app.ohmycodellc.com/ask "텍사스에서 공화당으로 가장 많이 이동한 카운티는?" 영어로 질문하면 AI가 SQL을 짜서 답합니다. 3,100개 카운티 데이터를 직접 쿼리하지 않고도, 말로 물어보고 표로 받는 선거 데이터 탐색.
🤖 선거 증거 에이전트 — https://app.ohmycodellc.com/kr/agent 한국 대통령 선거 18대(2012)–21대(2025)에 대해 한국어·영어로 물으면, Meta Muse Spark가 BigQuery 도구(투표율·득표율·스윙·마진)를 호출해 답합니다. 모든 숫자는 도구 호출에서 오며, 출처는 선거별 아카이브 색인 페이지입니다. Meta API가 답을 내놓지 못할 때(크레딧 소진 포함)는 Gemini가 같은 도구로 대신 답하며, 화면에 폴백임이 표시됩니다.
📣 트럼프 트루스소셜 메시지 분석 — https://app.ohmycodellc.com/us?tab=messages 트럼프의 트루스소셜 포스트를 주제별로 분류하고 시간 흐름에 따라 추적합니다. 무슨 말을, 언제, 얼마나 했는지 — 메시지 전략을 데이터로 읽는 탭.
/us, 영어는 /us?lang=en)상단 탭: 예측(기본)과 메시지 분석(?tab=messages). 언어 파라미터와 조합됩니다(?lang=en&tab=messages). 탭 전환은 클라이언트 상태라 40,000회 시뮬레이션을 다시 돌리지 않습니다.
app/us/lib/polls.ts, 표시 전용, 모형 입력 아님)us-fc-<기준일>-<입력 해시>)로 같은 숫자를 재현할 수 있습니다./us?tab=messages, 모형 입력 아님)트럼프 트루스소셜 게시물의 기술적(descriptive) 맥락 레이어입니다. 예측 모형과 분리되어 있고 seed-data.ts·run ID에 영향이 없습니다. 탭 전환은 클라이언트 상태라 시뮬레이션을 다시 돌리지 않습니다.
scripts/export_weekly.py가 주 1회 만드는 message_index_weekly.json. app/us/lib/seed-messages.ts가 체크인 스냅샷(lib/data/)을 먼저 그리고, 게시된 최신 파일로 갱신합니다(운영에서는 BigQuery 등으로 교체 가능). 조인 키는 race id 앞자리(NC-SEN → NC)app/us/components/MessageTab.tsx): 헤더 스트립 / 개입 지수(지지 점유율·민주당 후보 언급 점유율 그룹 막대, amber·teal, KPI 3개, 20건 미만이면 '표본 부족' 배지) / 주제 믹스(월별 누적 영역 + 급증 주석) / 방법론 노트·한계 4개data/polls/README.md/maps)2020·2024년 대선 카운티 개표의 기술적(descriptive) 지도입니다. 예측 모형이 아닙니다. app/maps/page.tsx의 버튼으로 전환하며, 각 지도는 public/*.html을 iframe으로 표시합니다.
파이프라인: fetch_acs.py (Census ACS 2022 5yr) + join_data.py (MEDSL 결합) → make_map.py / make_swing.py → public/map_2024.html, public/swing_map.html. 주별 지도는 county_robustness 분석에서 생성한 public/state_divide_map.html.
app/us/lib/forecast.ts)각 시뮬레이션은 전국 공통 오차 s ~ N(0, τ²)를 하나 뽑아 모든 선거구에 공유하고, 선거구 결과 = mᵢ + s + σᵢ·εᵢ로 계산합니다. 선거구별 공개 확률은 닫힌 식 Φ(mᵢ / √(σᵢ² + τ²)), 의회 과반은 시뮬레이션(상관 때문에 닫힌 식 없음)으로 구합니다.
npm run verify:model (2026-10-11 실행 결과):
| 검사 | 결과 |
|---|---|
| Monte Carlo(20만 회) vs 닫힌 식, 마진 −8~+8 | 최대 차이 0.0017 |
| 같은 seed 재실행 | 결과 동일 |
| 상원 P(민주 과반) | 53.4%, 기대 50.37석, 80% 범위 47–54석 (35석 전수 모델) |
| 하원 P(민주 과반) | 96.6%, 기대 240.2석, 80% 범위 224–258석 (435 지역구 개별 모델) |
| 선거구별 시뮬레이션 vs 닫힌 식 | 35개 레이스 모두 0.01 이내 |
npm run verify:backtest (백테스트, 2010–2022 상원 223개 레이스):
| 검사 | 결과 |
|---|---|
| Brier score | 0.055 (base rate 0.25) |
| 표준화 잔차 | 평균 +0.26 (D 편향), 표준편차 0.99 (분산 보정 정확) |
| Calibration | 접전에서 mild underconfidence — favorite이 예측보다 5–15pt 자주 승리 |
| 한계 | in-sample (파라미터도 동일 기간으로 보정); leave-one-cycle-out은 향후 과제 |
us_polls ──▶ us_poll_averages ──▶ (Vertex AI 커스텀 잡: 시뮬레이션) ──▶ us_forecast_runs
├─▶ us_race_forecasts
└─▶ us_chamber_forecasts
선거일: 집계 기관 피드 ──▶ us_results_live ──▶ 트래커 패널
trump-truth-analysis (주 1회) ──▶ message_index_weekly.json ──▶ 메시지 분석 탭
테이블 정의: bigquery/us_schema.sql. 지금은 app/us/lib/seed-data.ts가 입력이고, 일일 적재가 시작되면 이 파일만 BigQuery에서 생성한 값으로 바꾸면 됩니다. 모델과 화면은 그대로입니다.
npm install
npm run dev # http://localhost:3000/us
npm run verify:model # 모델 검증
npm run build # standalone 빌드 (Dockerfile용)
운영 서비스 us-election-insight-hub는 소스에서 배포합니다:
gcloud run deploy us-election-insight-hub --source . --region us-central1 --project <your-gcp-project>
이미지 기반 스테이징 배포:
export PROJECT=your-gcp-project REGION=us-central1
gcloud builds submit --tag $REGION-docker.pkg.dev/$PROJECT/us-hub/app:staging .
gcloud run deploy us-hub-staging \
--image $REGION-docker.pkg.dev/$PROJECT/us-hub/app:staging \
--region $REGION --allow-unauthenticated \
--port 8080 --cpu 1 --memory 512Mi --min-instances 0 --max-instances 10
공개 트래픽 전 예산 알림을 먼저 걸어 두세요 (gcloud billing budgets create ... --threshold-rule=percent=50/80/100).
| 경로 | 내용 |
|---|---|
app/us/page.tsx | 탭 바를 포함한 보드 (클라이언트 컴포넌트) |
app/us/components/MessageTab.tsx | 메시지 분석 탭 |
app/us/lib/forecast.ts | 상관오차 시뮬레이션, 닫힌 식, seed 고정 난수 |
app/us/lib/seed-data.ts | 샘플 입력 (RCP 2026-10-01), 기준선, 가정 |
app/us/lib/polls.ts | 최신 개별 여론조사 (표시 전용, run ID에 포함 안 됨) |
app/us/lib/seed-messages.ts | 메시지 분석 타입, 스냅샷 로드, 최신 파일 불러오기 |
app/us/lib/data/message_index_weekly.json | 주간 메시지 export 체크인 스냅샷 |
app/us/lib/run.ts | run ID = 기준일 + 입력 해시 |
app/us/lib/live.ts | 개표일 결과 피드 (선거일 전 비어 있음) |
app/us/lib/i18n.ts | 한국어·영어 문자열 |
scripts/verify-model.ts | 모델 검증 스크립트 |
bigquery/us_schema.sql | BigQuery 테이블 |
docs/EDITORIAL_CHARTER.md | 편집 헌장 (한국어·영어) |
Dockerfile | Cloud Run용 멀티스테이지 빌드 |