尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 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.