factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
브루클린과 로스앤젤레스 다저스 국제 계약에 대한 공개 데이터베이스: 계약 클래스·획득 비용·선수 개발·MLB 결과·거래·조직 가치
Public-data research database of Brooklyn and Los Angeles Dodgers international signings: signing classes, acquisition costs, player development, MLB outcomes, transactions and organizational value.
데이터PLpgSQL · JavaScriptGitHub @seantsck온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A public-data research database of Brooklyn and Los Angeles Dodgers international signings: signing classes, acquisition costs, player development, MLB outcomes, transactions and organizational value. Built with the Next.js App Router on a Supabase (Postgres) database.
The application contains no mock, sample or fallback baseball data. If Supabase is not configured, a view is missing or a query fails, each page shows an explicit data-unavailable state.
| Route | Purpose |
|---|---|
/ | Database status, recent signing records, section index, selected research findings |
/signings | Sortable, filterable, paginated table of every signing record; state lives in the URL |
/players | Player directory with A–Z browsing and filters |
/players/[slug] | Player dossier: biography, acquisition, MLB outcome, bWAR provenance, timeline, transactions, sources |
/markets | Signings, known cost and audited outcomes by country / market and acquisition pathway |
/development | Signing-to-MLB timing where both dates are recorded |
/asset-conversion | Trades and releases with package-level return attribution and competitive context |
/league | Cross-organization signing volume, bonus pools and MLB Pipeline prospect samples |
/research | Class coverage, expected-size source support, research queue and source priority |
/methodology | bWAR definition, data-quality rules, source priority, lineage |
/api/player-search?q= | JSON player search used by the header search box |
q, org_scope (dodgers default, all), year, year_min, year_max, market (__none = unknown), position, pathway, audit, mlb (yes / no / unknown), dodgers_debut, record_scope, coverage, org, sort, dir, page.lib/specs.js; URL parsing, validation and query construction live in lib/table-state.js. Adding a column means adding one spec entry and one cell.An announcement total is not necessarily the full signing-period total. A club's international-class release usually describes the players announced when the signing period opens; the club keeps signing players for the rest of the period. DISI therefore records which population a count describes:
| Population | Meaning | Can be a rate denominator? |
|---|---|---|
| Signing class | The class year a signing is counted in (signings.signing_year). | — |
Announced opening class (OPENING_CLASS) | Players named or counted in the club's opening announcement. | No. Statistics are labelled opening-class cohort rates. |
Full signing period (FULL_SIGNING_PERIOD) | Every international signing in the period (e.g. Jan 15 – Dec 15). | Yes, once complete, fully audited and five years mature. |
Top-prospect sample (TOP_PROSPECT_SAMPLE) | MLB Pipeline Top 30/50 trackers. | No. |
Historical verified set (HISTORICAL_VERIFIED_SET) | Individually verified historical signings. | No. |
Other defined population (OTHER_DEFINED_POPULATION) | E.g. a calendar-year count that spans two periods. | No. |
A player can be announced in a class while the formal MLB transaction is dated later (Eduardo Rojas: announced January 2024, transaction May 30, 2024), so announced_date and formal_transaction_date are separate fields and signing_date is never rewritten.
$0.DODGERS; historical organization names are preserved..env.example to .env.local and set the Supabase Project URL and publishable key.database/sql/ in manifest order in the Supabase SQL Editor (for an existing v0.10 project, run 020_player_identity_and_biography_enrichment.sql).npm installnpm run devNEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=sb_publishable_...
Never put a Supabase secret key or legacy service-role key in a NEXT_PUBLIC_ variable. The browser and server only read through the publishable key; all tables use row-level security with a select-only public policy, and all views are security_invoker.
| Command | What it does |
|---|---|
npm run lint | ESLint (flat config, eslint-config-next/core-web-vitals) |
npm run typecheck | tsc with checkJs over app/, lib/ and tests/ |
npm test | Unit tests plus the database test, which runs every canonical migration in PGlite (in-process Postgres), reruns the latest migration, and checks class totals, population and rate-eligibility rules, provenance and the security model |
npm run research:test | Offline tests for the research scripts (also included in npm test) |
npm run research:queue / research:outcomes / research:costs / research:transactions / research:development / research:readiness / research:progress | Read-only research commands over the persisted product snapshots (public anon role only); research:development also reports the verified MLB coverage, the de-duplicated needs and the pending progression reviews (--mlb-coverage, --needs, --review). See scripts/research/README.md and docs/RESEARCH-METHODOLOGY.md |
npm run build | Production build |
npm run check | All of the above |
database/sql/ — canonical build sequence 001–020 (listed in database/manifest.json).database/research/ — reviewed research artifacts and builders behind data migrations (019 onward).scripts/mlb/ — reproducible MLB Stats API / Baseball-Reference research scripts (see scripts/mlb/README.md). They output review artifacts and never write to a database.database/repairs/ — the 004a–004c troubleshooting scripts from the first manual Supabase build.database/README.md — what each layer does.docs/INGESTION.md — source priority and the workflow for adding classes, players, outcomes and bWAR.docs/RESEARCH-METHODOLOGY.md — maturity, outcome audits, acquisition cost, transaction attribution and prediction-readiness rules (NOT_AUDITED != AUDITED_NO_MLB, UNKNOWN COST != $0).docs/ROADMAP.md — where DISI stands and what the next phases are for.The SQL was applied manually in the Supabase SQL Editor and is kept as analytical provenance. Do not treat it as Supabase CLI migration history without creating a clean baseline first.
See CHANGELOG.md for release history.