EPIC: migrate Mars to enamel's shared user DB + one-email-per-user (Elazar fleet directive 2026-07-26)
Elazar fleet directive 2026-07-26 (via aro:terra, tag elazar-the-user-human-llmmsg-srv-ms2lngekv3fv, relayed by pm-terra-cc): ALL apps use enamel's user DB — one users table for everyone, no separate DBs per role (teacher/student/admin/bedel); ONE email per user (no display/auth/main-email variants, no dotted-vs-dotless dupes; canonicalizeEmail stays a DERIVED comparison key, never a second stored address). Terra ruling: independent Vercel project sharing enamel's DB + auth. 'From now on' for future user-data design; existing-app migration timing NOT specified. pmmaster steers fleet scope + commons codification via maintainer flow. MARS STAKE: (1) email half ALREADY satisfied — single stored email + canonicalizeEmail derived key + partial UNIQUE index on canonicalizeEmail(email) WHERE deletedAt IS NULL; no email variants exist. (2) shared-users-table half is a CROSS-DB RE-PLATFORM, not a schema change: Mars users table is the FK anchor for userRoles (live-DB role gate), studentAssignments, practicas.jtpUserId/ayudanteUserId, archive/forensic attribution across every audited table, supabaseAuthId identity anchoring, genuine-Google gate (EVO-68), access-request/restore-twin (MARS-548). Cross-DB FKs don't exist in PG -> explicit architecture choice needed: Mars domain data moves INTO enamel's DB (full re-platform per Terra's shared-DB+auth model) vs federated identity (enamel=user SSOT, Mars replicates/reads). NO Mars migration action until Elazar sets timing + pmmaster locks scope. Tracking only.
Questions
Activity
-
Superseded before pickup by pmmaster scope ruling (tag pmmaster-evolutiva-cc-ms2loz54h4vx): the BACK HALF (existing-app migration to enamel's user DB) is explicitly UNSCOPED — no app-PM files a migration WI on the strength of the directive; pmmaster is asking Elazar for timing and will relay. Refile the Mars migration epic only when Elazar sets timing + pmmaster locks scope. FORWARD HALF (one users table + one email for NEW user-data design) is in force now and is codified via coder-mars-cc's maintainer flow carried by pm-terra-cc — not a Mars WI.