Skip to content

Scale Platform V2 ingestion, Catalog API, and ISR - #12

Merged
computersciencefreshmen merged 9 commits into
mainfrom
codex/platform-v2-foundation
Aug 7, 2026
Merged

Scale Platform V2 ingestion, Catalog API, and ISR#12
computersciencefreshmen merged 9 commits into
mainfrom
codex/platform-v2-foundation

Conversation

@computersciencefreshmen

@computersciencefreshmen computersciencefreshmen commented Aug 5, 2026

Copy link
Copy Markdown
Owner

What changed

  • establish the Platform V2 Pipeline/Catalog foundation with guarded materialization and release paths
  • extend the normalized Catalog Worker with deterministic current cycles, exact totals/facets, scholarship filters/sorts, publication gating, and query-bound cursors
  • build a read-only SourceManifestV2 cohort for all 144 non-military Double First-Class targets: 140 catalog-linked candidates plus 4 exact-name reconciliation fallbacks, 980 official HTTPS sources, and zero uncovered targets
  • add a checksum-bound, human-reviewed candidate promotion gate that defaults to dry-run and rejects incomplete, pending, discovery, audit-only, duplicate, overwritten, symlinked, or out-of-bound manifests
  • refresh high-priority current facts for Schwarzman Scholars, Guangdong University of Technology, and Guangxi Medical University; re-reconcile Peking Union Medical College and Tianjin Medical University from official sources
  • preserve scholarship list cursors in URLs so adjacent pages do not replay every preceding repository query
  • cap detail-page prebuilds and keep remaining pages available through on-demand ISR
  • publish the platform data-quality scorecard as a Data Health artifact
  • make the heavy SQLite integration gates stable under full-suite concurrency without weakening global timeouts or assertions

Why

The repository already has broad catalog coverage, but the production path was split between static JSON and an incomplete D1 pipeline. This branch strengthens the unique fact chain: official-source candidates remain quarantined until evidence review, formal promotion is explicit and auditable, public API queries scale through pagination, and Vercel builds no longer grow linearly with every locale/entity combination.

Verification

  • lint and TypeScript passed
  • content, D1 migration, source-manifest, Double First-Class, and maintenance-capacity validation passed
  • 96 Vitest files / 501 tests passed under normal concurrency
  • Worker suites passed: ingestion 52, publisher 6, release builder 12, entity materializer 7
  • 144-school candidate dry-run passed; write-and-verify produced 146 checksum-verified files and did not change formal manifests
  • production Next.js build passed in 33.5 seconds with 1,109 generated pages
  • Vercel Preview for b9e59c5 is Ready: https://studyinchina-orkzl87wi-henry-yangs-projects-c9706eac.vercel.app
  • GitHub Actions has not reliably started for the latest SHA during the official GitHub Actions major outage

Safety

  • candidate manifests are disabled, robots-blocked, reconciliation-pending, and written only to an explicit temporary artifact directory
  • reconciliation fallback entries are visibly AUDIT ONLY and the promotion gate rejects them
  • promotion requires an exact artifact/candidate SHA, complete coverage, complete reconciliation, reviewer identity and rationale, and an explicit --write
  • formal content/source-manifests remains unchanged by candidate generation
  • the production alias workflow correctly skips non-main commits
  • no raw harvested evidence or unrelated untracked assets are included

Remaining production gates

  • GitHub Actions must complete successfully after the service incident
  • CLOUDFLARE_API_TOKEN is still missing from GitHub Actions, so real D1 backup/restore acceptance remains blocked
  • only 10 formal institution manifests exist; the 144 candidates still require evidence review before controlled promotion
  • the platform scorecard currently passes 2/14 final data gates; data depth remains the main workstream
  • the university list and global layout still need lightweight institution/release APIs to remove full Catalog Bundle reads from page requests

@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
studyinchina Ready Ready Preview Aug 7, 2026 2:25am

@computersciencefreshmen computersciencefreshmen changed the title Build platform v2 ingestion and catalog foundation Scale Platform V2 ingestion, Catalog API, and ISR Aug 6, 2026
@computersciencefreshmen

Copy link
Copy Markdown
Owner Author

Milestone aed642d: institution catalog pagination is now end-to-end. The university page and Next API use the bounded CatalogRepository list path (24/page, max 100) instead of loading the full compatibility bundle; JSON/D1/Shadow and the Worker share filters, exact totals/facets, query-bound cursors, four sorts, current discipline facts, and current scholarship counts. Legacy projection v3 now materializes the 17-field taxonomy and university summary status. Verification: 528/528 Vitest, 30/30 desktop+mobile Playwright, 77/77 Worker tests, all five Worker dry-runs, lint, typecheck, data/D1/manifest/maintenance validation, production build, and a real browser smoke (257 public universities; 133KB HTML; 1,044 DOM nodes). Remaining production gates: GitHub Actions is in an official major outage and no workflow was triggered for this SHA; Cloudflare backup/restore credentials are still not configured in GitHub Actions, so the PR remains draft and production alias is not promoted.

@computersciencefreshmen
computersciencefreshmen marked this pull request as ready for review August 7, 2026 02:49
@computersciencefreshmen
computersciencefreshmen merged commit df9cc52 into main Aug 7, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant