Skip to main content

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/v2 YAML.
  • 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_evidence for 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.yaml in that folder.

Research run (v2 YAML only)

  1. Create a run folder:
cd /Users/anton/Documents/GitHub/00-MobilisArchitectureInfo
scripts/migente/mg-congress-new-run.sh europe 2026-05-30-first-pass
  1. Collect into mobilis-research-upload/v2 YAML:
  • 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, description
  • schedule.start_date, schedule.end_date, and timezone when source-backed
  • location.city, location.country, venue fields when source-backed
  • sources[]
  • field_evidence
  • unified_schema_payload
  • media, offers, lodging_blocks, travel_packages, congress_series, edition_metadata, and duplicate_identity_hints when source-backed

Use the canonical YAML shape in Mi Gente Worldwide Congress v2 YAML Template.

  1. 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_view
  • public.migente_public_listings_view
  • public.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.

Supporting docs