MG-CONGRESS-01 Checklist (Global Congress Directory v2)
This is the end-to-end checklist for creating the worldwide Mi Gente multiday congress-family dataset as mobilis-research-upload/v2 YAML, reviewing it, importing it into Supabase after hosted schema compatibility passes, and publishing it safely.
Definition of done
- Supabase is canonical for public records.
- New research output is
mobilis-research-upload/v2YAML. - Every candidate keeps the full raw research payload, source URLs, and field-level evidence.
- Public candidates must have:
- official or clearly authoritative source URL
- multiday
start_date+end_date city+country- dance style data
- public-safe summary and full description
- image URL or an explicit not-found note
- dot/bracket
field_evidencefor public fields
- Bootcamps and single-day events are excluded from core/public rows (kept only as backlog/research if needed).
- Backlog is explicit and reviewable with concrete reasons.
Shard plan
Default shard list:
scripts/migente/mg-congress-shards.v1.json
Run folder convention:
tmp/migente-congress-runs/<shard>/<run-id>/- v2 YAML drafts should be written as
mobilis-research-upload-v2.yamlin that folder.
Research run (v2 YAML only)
- Create a run folder:
cd /Users/anton/Documents/GitHub/00-MobilisArchitectureInfo
scripts/migente/mg-congress-new-run.sh europe 2026-05-30-first-pass
- Collect into
mobilis-research-upload/v2YAML:
tmp/migente-congress-runs/<shard>/<run-id>/mobilis-research-upload-v2.yaml- optional backlog notes for items that should not enter the v2 upload yet
Required v2 fields for each public candidate:
slug,title,listing_type,listing_subtype,summary,descriptionschedule.start_date,schedule.end_date, and timezone when source-backedlocation.city,location.country, venue fields when source-backedsources[]field_evidenceunified_schema_payloadmedia,offers,lodging_blocks,travel_packages,congress_series,edition_metadata, andduplicate_identity_hintswhen source-backed
Use the canonical YAML shape in Mi Gente Worldwide Congress v2 YAML Template.
- Preview the v2 YAML locally without writes:
cd workers/playwright-source-scanner
npm run dev -- mobilis-research-upload-preview \
--file ../../tmp/migente-congress-runs/europe/2026-05-30-first-pass/mobilis-research-upload-v2.yaml
Legacy artifact tools
The older candidate_rows.json, candidate_rows.csv, supabase_import_package.json, and migente-congress-import-write flow are legacy reconciliation tools. Do not use them for new global congress collection because they do not preserve v2 rich facts, field evidence, media, lodging/travel, or flat public routes.
Morning review (no writes)
Run the loopback-only review UI:
cd workers/playwright-source-scanner
npm run dev -- mobilis-research-upload-preview \
--file ../../tmp/migente-congress-runs/europe/2026-05-30-first-pass/mobilis-research-upload-v2.yaml
Review outcomes:
- Fix validation errors before any write.
- Treat unresolved field evidence paths as review warnings.
- Fix duplicates and flat slug collisions before public promotion.
- Capture old Mi Gente URLs in
duplicate_identity_hints.
Import into Supabase (guarded)
Before any hosted write, the compatibility check must pass with zero blockers:
node scripts/ops/check-mobilis-research-upload-v2-hosted-compatibility.mjs --workdir ../mobilis-core
Dry-run (safe default):
cd workers/playwright-source-scanner
npm run dev -- mobilis-research-upload-write \
--file ../../tmp/migente-congress-runs/europe/2026-05-30-first-pass/mobilis-research-upload-v2.yaml
Write drafts only after hosted compatibility passes:
cd workers/playwright-source-scanner
npm run dev -- mobilis-research-upload-write \
--file ../../tmp/migente-congress-runs/europe/2026-05-30-first-pass/mobilis-research-upload-v2.yaml \
--write \
--write-confirmation WRITE_MOBILIS_RESEARCH_UPLOAD_DRAFTS
Publish (Supabase-first)
The public site should read from unified Supabase projections/views (not from artifacts or legacy congress-specific views):
public.migente_public_routes_viewpublic.migente_public_listings_viewpublic.migente_public_listing_details_view
The older public.migente_public_congress_directory_view, public.migente_public_congress_detail_view, and public.migente_worldwide_congress_candidate_view remain service-role-only operational/reconciliation views.
Public detail pages use flat /{slug} routes. Do not generate /congresses/{slug}/{year} detail routes for new records.