feat: track canonical Meta CompleteRegistration - #16
Conversation
b8c45bf to
c4ece7d
Compare
|
Auditoría adicional de consentimiento en
Gates locales: 28/28 tests, build y |
|
Cobertura adicional en commit nuevo:
Suite actual: 30/30 tests + build + diff-check verdes. |
f996750 to
a78f0dd
Compare
|
PR rebaseada e integrada sobre registration-v4 PR #22. El stack explícito queda: #22 (documento/version/hash/cutover) → #16 (CompleteRegistration). Estado combinado: 33/33 tests, build incluyendo artefactos legales, diff-check y hashes source/dist verdes. No se mergeó ni desplegó ninguna de las dos. |
a78f0dd to
cf3eb8b
Compare
|
Browser-runtime verification (Kimi WebBridge + real Chrome, local build, 2026-08-04):
No production registration, Ticket Tailor checkout, participant data or Meta Test Event was created. Local browser session/server were closed after verification. Combined branch remains 33/33 tests + build + diff-check green. |
|
Adversarial dedupe follow-up: head |
|
Latest-main integration gate: merged head |
|
Real-Chrome cross-tab gate on head |
|
Rollout compatibility on head |
|
Final disposable integration gate on landing main |
2f238c8 to
4f0b0d3
Compare
a16d7ce to
2d924e0
Compare
|
Rebased the stacked CompleteRegistration branch onto the updated #22/current landing main. The widget lifecycle is preserved and now has an explicit regression test proving an analytics listener failure cannot block the validated checkout widget. Verification on head 2d924e0: 40/40 tests, build, diff-check, and exact v3/v4 hashes pass. Publication remains blocked on the coordinated Bot dual-allowlist cutover. |
|
Fresh Chrome verification on rebased head 2d924e0: synthetic canonical REGISTERED response produced exactly one PageView and one CompleteRegistration; the event payload contained no synthetic name/email or other PII. The detached official widget mounted with its signed metadata fragment intact and widget/modal_widget removed. A second canonical response with dispatchEvent forced to throw still returned REGISTERED and mounted the validated widget. No production registration, Ticket Tailor checkout, Meta request, or participant record was created. |
|
Added explicit EN coverage on head 93ec1ba: the canonical en-1400-cr selection emits exactly one CompleteRegistration with that content_id and no inferred value/currency. Combined branch is now 41/41 tests + build + diff-check green. |
4f0b0d3 to
8b6dd6c
Compare
93ec1ba to
fbf312f
Compare
|
Rebased the stacked CompleteRegistration branch onto updated #22/current main. Head fbf312f preserves identity prefill and adds a regression assertion that metadata + name/email prefill survive even when analytics dispatch fails. Verification: 43/43 tests, build, diff-check and exact legal hashes pass. |
8b6dd6c to
5ef1005
Compare
fbf312f to
df77ef3
Compare
|
Coordinación de supersesión: el contenido funcional de este stack fue reaplicado sobre el main vigente, preservando la autoría de Nico, revisado y publicado mediante PR #35 (merge 107bb44). La implementación publicada conserva registration-v4, verificación de buzón compatible, CompleteRegistration deduplicado y consentimiento Meta. Para evitar trabajo duplicado, por favor cerrá esta PR apilada; no modificaremos ni eliminaremos su rama. Cualquier evolución posterior debe partir del main actual. |
Outcome
Implements Meta
CompleteRegistrationat the canonical boundary: only after the registration API returns a validregistration.response.v1withregistration_status=REGISTERED, before the official Ticket Tailor widget is mounted.This PR is intentionally stacked on draft #22 (
registration-v4). Merge/deploy #22 first, then this PR, only after Bot accepts the exact v3+v4 allowlist described there. The branch is rebased through current landingmain(b62cd9c) and preserves the official inline widget, checkout identity prefill, email typo and DNS/MX validation, confirmation content, and current registration-page redesign.Behavior
PageView+ oneCompleteRegistration;Verification
Browser evidence: #16 (comment)
Publication blocker
Do not merge/deploy yet. Production is open on
registration-v3; publication requires the coordinatedregistration-v4legal/backend cutover in #22 and SairaAsua/proyecciones-mito#33. Purchase remains fail-closed and out of this PR until #33 exposes authoritative paid facts.Related: #12. Purchase: #11.